Commit 619f1ac4abb82ab00ad32708ce4ece697b0badcf

Authored by zhongnanhuang
1 parent 895ac433

feat: update

package-lock.json
... ... @@ -16,7 +16,8 @@
16 16 "axios": "^1.6.1",
17 17 "base-64": "^1.0.0",
18 18 "lodash": "^4.17.21",
19   - "print-js": "^1.6.0"
  19 + "print-js": "^1.6.0",
  20 + "react-infinite-scroll-component": "^6.1.0"
20 21 },
21 22 "devDependencies": {
22 23 "@inspir/pluto": "^1.0.5",
... ... @@ -19752,6 +19753,25 @@
19752 19753 "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0"
19753 19754 }
19754 19755 },
  19756 + "node_modules/react-infinite-scroll-component": {
  19757 + "version": "6.1.0",
  19758 + "resolved": "https://registry.npmjs.org/react-infinite-scroll-component/-/react-infinite-scroll-component-6.1.0.tgz",
  19759 + "integrity": "sha512-SQu5nCqy8DxQWpnUVLx7V7b7LcA37aM7tvoWjTLZp1dk6EJibM5/4EJKzOnl07/BsM1Y40sKLuqjCwwH/xV0TQ==",
  19760 + "dependencies": {
  19761 + "throttle-debounce": "^2.1.0"
  19762 + },
  19763 + "peerDependencies": {
  19764 + "react": ">=16.0.0"
  19765 + }
  19766 + },
  19767 + "node_modules/react-infinite-scroll-component/node_modules/throttle-debounce": {
  19768 + "version": "2.3.0",
  19769 + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-2.3.0.tgz",
  19770 + "integrity": "sha512-H7oLPV0P7+jgvrk+6mwwwBDmxTaxnu9HMXmloNLXwnNO0ZxZ31Orah2n8lU1eMPvsaowP2CX+USCgyovXfdOFQ==",
  19771 + "engines": {
  19772 + "node": ">=8"
  19773 + }
  19774 + },
19755 19775 "node_modules/react-is": {
19756 19776 "version": "16.13.1",
19757 19777 "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
... ... @@ -40196,6 +40216,21 @@
40196 40216 "shallowequal": "^1.1.0"
40197 40217 }
40198 40218 },
  40219 + "react-infinite-scroll-component": {
  40220 + "version": "6.1.0",
  40221 + "resolved": "https://registry.npmjs.org/react-infinite-scroll-component/-/react-infinite-scroll-component-6.1.0.tgz",
  40222 + "integrity": "sha512-SQu5nCqy8DxQWpnUVLx7V7b7LcA37aM7tvoWjTLZp1dk6EJibM5/4EJKzOnl07/BsM1Y40sKLuqjCwwH/xV0TQ==",
  40223 + "requires": {
  40224 + "throttle-debounce": "^2.1.0"
  40225 + },
  40226 + "dependencies": {
  40227 + "throttle-debounce": {
  40228 + "version": "2.3.0",
  40229 + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-2.3.0.tgz",
  40230 + "integrity": "sha512-H7oLPV0P7+jgvrk+6mwwwBDmxTaxnu9HMXmloNLXwnNO0ZxZ31Orah2n8lU1eMPvsaowP2CX+USCgyovXfdOFQ=="
  40231 + }
  40232 + }
  40233 + },
40199 40234 "react-is": {
40200 40235 "version": "16.13.1",
40201 40236 "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
... ...
package.json
... ... @@ -21,7 +21,8 @@
21 21 "axios": "^1.6.1",
22 22 "base-64": "^1.0.0",
23 23 "lodash": "^4.17.21",
24   - "print-js": "^1.6.0"
  24 + "print-js": "^1.6.0",
  25 + "react-infinite-scroll-component": "^6.1.0"
25 26 },
26 27 "devDependencies": {
27 28 "@inspir/pluto": "^1.0.5",
... ...
src/pages/Order/components/MessageListDrawer.tsx 0 → 100644
  1 +import { RESPONSE_CODE } from '@/constants/enum';
  2 +import { postOrderErpMessageQueryMyMessage } from '@/services';
  3 +import { formatDateTime, getUserInfo } from '@/utils';
  4 +import { UserOutlined } from '@ant-design/icons';
  5 +import { Avatar, Badge, Divider, Drawer, Flex, List, Skeleton } from 'antd';
  6 +import { useEffect, useState } from 'react';
  7 +import InfiniteScroll from 'react-infinite-scroll-component';
  8 +
  9 +export default ({ setVisible }) => {
  10 + const userInfo = getUserInfo();
  11 + const current = useState<number>(1); //当前页码
  12 + const [total, setTotal] = useState(0);
  13 + const [messageListData, setMessageListData] = useState<any[]>([]); //列表数据
  14 +
  15 + /**
  16 + * 获取消息列表
  17 + */
  18 + async function getMessageListData() {
  19 + let res = await postOrderErpMessageQueryMyMessage({
  20 + data: { username: userInfo.username, current: current[0] },
  21 + });
  22 + if (res && res.result === RESPONSE_CODE.SUCCESS) {
  23 + setMessageListData([...messageListData, ...res?.data?.data]);
  24 + setTotal(res?.data?.total);
  25 + }
  26 + }
  27 +
  28 + /**
  29 + * 跳转到订单列表
  30 + */
  31 + function toOrderList(mainOrderId: any) {
  32 + window.open('/order?id=' + mainOrderId, '_blank');
  33 + }
  34 +
  35 + function renderTarget() {
  36 + document.getElementsByClassName('ant-drawer-body')[0].id = 'scrollableDiv';
  37 + return document.getElementsByClassName('ant-drawer-body')[0];
  38 + }
  39 +
  40 + useEffect(() => {
  41 + getMessageListData();
  42 + }, []);
  43 +
  44 + return (
  45 + <>
  46 + <Drawer
  47 + title="消息列表"
  48 + onClose={() => {
  49 + setVisible(false);
  50 + }}
  51 + open={true}
  52 + width={450}
  53 + styles={{ body: { paddingTop: 0 } }}
  54 + >
  55 + <InfiniteScroll
  56 + dataLength={messageListData.length}
  57 + next={getMessageListData}
  58 + hasMore={messageListData.length < total}
  59 + loader={<Skeleton avatar paragraph={{ rows: 1 }} active />}
  60 + endMessage={<Divider plain>没有更多消息了 🤐</Divider>}
  61 + scrollableTarget={renderTarget}
  62 + >
  63 + <List
  64 + dataSource={messageListData}
  65 + renderItem={(item) => (
  66 + <List.Item key={item.id}>
  67 + <List.Item.Meta
  68 + avatar={
  69 + <Badge dot={item.unreadNum > 0}>
  70 + <Avatar shape="square" icon={<UserOutlined />} />
  71 + </Badge>
  72 + }
  73 + />
  74 + <Flex
  75 + vertical
  76 + className="hover:cursor-pointer"
  77 + onClick={() => {
  78 + toOrderList(item.mainOrderId);
  79 + }}
  80 + >
  81 + <Flex>
  82 + <div>
  83 + {item.content}
  84 + <span className="text-[#8C8C8C]">
  85 + (点击跳转到对应主订单)
  86 + </span>
  87 + </div>
  88 + </Flex>
  89 + <Flex>
  90 + <span className="text-xs text-[#8C8C8C] pt-1">
  91 + {formatDateTime(item.createTime)}
  92 + </span>
  93 + </Flex>
  94 + </Flex>
  95 + </List.Item>
  96 + )}
  97 + />
  98 + </InfiniteScroll>
  99 + </Drawer>
  100 + </>
  101 + );
  102 +};
... ...
src/pages/Order/index.tsx
... ... @@ -3,6 +3,7 @@ import { RESPONSE_CODE } from &#39;@/constants/enum&#39;;
3 3 import {
4 4 postKingdeeRepSalBillOutbound,
5 5 postKingdeeRepSalOrderSave,
  6 + postOrderErpMessageGetUnreadNum,
6 7 postServiceOrderCancelSend,
7 8 postServiceOrderNoNeedSend,
8 9 postServiceOrderOrderCancel,
... ... @@ -25,6 +26,7 @@ import {
25 26 import { getReceivingCompanyOptions } from '@/utils/order';
26 27 import { getUserInfo } from '@/utils/user';
27 28 import {
  29 + BellOutlined,
28 30 ClockCircleTwoTone,
29 31 ContainerTwoTone,
30 32 CopyOutlined,
... ... @@ -44,6 +46,7 @@ import {
44 46 import { history } from '@umijs/max';
45 47 import {
46 48 Avatar,
  49 + Badge,
47 50 Button,
48 51 Checkbox,
49 52 Divider,
... ... @@ -76,6 +79,7 @@ import FinancialMergeDrawer from &#39;./components/FinancialMergeDrawer&#39;;
76 79 import FinancialReceiptsModal from './components/FinancialReceiptsModal';
77 80 import HistoryModal from './components/HistoryModal';
78 81 import ImportModal from './components/ImportModal';
  82 +import MessageListDrawer from './components/MessageListDrawer';
79 83 import ModifiedDiffModal from './components/ModifiedDiffModal';
80 84 import OrderDrawer from './components/OrderDrawer';
81 85 import OrderNotesEditModal from './components/OrderNotesEditModal';
... ... @@ -146,6 +150,8 @@ const OrderPage = () =&gt; {
146 150 useState<boolean>(false);
147 151 const [productionTimeModalVisible, setProductionTimeModalVisible] =
148 152 useState<boolean>(false);
  153 + const [messageListDrawerVisible, setMessageListDrawerVisible] =
  154 + useState<boolean>(false);
149 155 const [deliverVisible, setDeliverVisible] = useState<boolean>(false);
150 156 const [deliverInfoDrawerVisible, setDeliverInfoDrawerVisible] =
151 157 useState<boolean>(false);
... ... @@ -170,6 +176,7 @@ const OrderPage = () =&gt; {
170 176 const [currentOptMainId, setCurrentMainId] = useState<any>(undefined); //当前操作对象的主订单id
171 177 const [curretnOptSubId, setCurretnOptSubId] = useState<any>(undefined); //当前操作对象的子订单id
172 178 const [subOrderCount, setSubOrderCount] = useState(0);
  179 + const [unreadMsgNum, setUnreadMsgNum] = useState(0);
173 180 const [sorted, setSorted] = useState(false);
174 181 const mainTableRef = useRef<ActionType>();
175 182 const mainTableFormRef = useRef<ProFormInstance>();
... ... @@ -261,6 +268,13 @@ const OrderPage = () =&gt; {
261 268 }
262 269  
263 270 /**
  271 + * 打开消息弹窗
  272 + */
  273 + function openMessageDrawer() {
  274 + setMessageListDrawerVisible(true);
  275 + }
  276 +
  277 + /**
264 278 * 财务是否选中排序
265 279 * @param e
266 280 */
... ... @@ -3411,7 +3425,7 @@ const OrderPage = () =&gt; {
3411 3425 message.error('请选择订单');
3412 3426 return;
3413 3427 }
3414   - let body = { flag: 30, ids: selectedMainOrderKeys };
  3428 + let body = { flag: 30, id: selectedMainOrderKeys };
3415 3429 exportLoading();
3416 3430 orderExport('/api/service/order/export', body, exportLoadingDestory);
3417 3431 },
... ... @@ -3642,6 +3656,16 @@ const OrderPage = () =&gt; {
3642 3656 return toolBtns;
3643 3657 }
3644 3658  
  3659 + /**
  3660 + * 获取当前用户未读消息条数
  3661 + */
  3662 + async function getUnreadMessageNum() {
  3663 + let res = await postOrderErpMessageGetUnreadNum();
  3664 + if (res && res.result === RESPONSE_CODE.SUCCESS) {
  3665 + setUnreadMsgNum(res.data);
  3666 + }
  3667 + }
  3668 +
3645 3669 useEffect(() => {
3646 3670 // 使用URLSearchParams来解析查询参数
3647 3671 const params = new URLSearchParams(location.search);
... ... @@ -3649,6 +3673,9 @@ const OrderPage = () =&gt; {
3649 3673 if (id) {
3650 3674 mainTableFormRef.current?.setFieldValue('id', id);
3651 3675 }
  3676 +
  3677 + //未读消息条数
  3678 + getUnreadMessageNum();
3652 3679 }, []);
3653 3680  
3654 3681 return (
... ... @@ -3657,7 +3684,21 @@ const OrderPage = () =&gt; {
3657 3684 header={{
3658 3685 title: '订单管理',
3659 3686 extra: [
3660   - <Avatar key="0" style={{ verticalAlign: 'middle' }} size="large">
  3687 + <Badge
  3688 + key="message"
  3689 + count={unreadMsgNum}
  3690 + className="hover:cursor-pointer"
  3691 + >
  3692 + <BellOutlined
  3693 + style={{ fontSize: '24px' }}
  3694 + onClick={openMessageDrawer}
  3695 + />
  3696 + </Badge>,
  3697 + <Avatar
  3698 + key="0"
  3699 + style={{ verticalAlign: 'middle', marginLeft: '10px' }}
  3700 + size="large"
  3701 + >
3661 3702 {userInfo?.username}
3662 3703 </Avatar>,
3663 3704 <Tag key="nickName">{userInfo?.nickName}</Tag>,
... ... @@ -4207,6 +4248,10 @@ const OrderPage = () =&gt; {
4207 4248 }}
4208 4249 />
4209 4250 )}
  4251 +
  4252 + {messageListDrawerVisible && (
  4253 + <MessageListDrawer setVisible={setMessageListDrawerVisible} />
  4254 + )}
4210 4255 {contextHolder}
4211 4256 </PageContainer>
4212 4257 );
... ...
src/services/definition.ts
... ... @@ -805,6 +805,16 @@ export interface MeasureUnitListResRow {
805 805 precision?: string;
806 806 }
807 807  
  808 +export interface MessageQueryDTO {
  809 + /** @format int32 */
  810 + current?: number;
  811 + /** @format int32 */
  812 + pageSize?: number;
  813 + /** @format int32 */
  814 + total?: number;
  815 + username?: string;
  816 +}
  817 +
808 818 export interface ModelAndView {
809 819 empty?: boolean;
810 820 model?: any;
... ...
src/services/request.ts
... ... @@ -41,7 +41,7 @@ import type {
41 41 MaterialStockRes,
42 42 MaterialUnitListRes,
43 43 MeasureUnitListRes,
44   - ModelAndView,
  44 + MessageQueryDTO,
45 45 OrderAddVO,
46 46 OrderAuditLogQueryVO,
47 47 OrderBaseInfoQueryVO,
... ... @@ -253,7 +253,9 @@ export interface GetErrorResponse {
253 253 * @description
254 254 * OK
255 255 */
256   - 200: ModelAndView;
  256 + 200: {
  257 + [propertyName: string]: any;
  258 + };
257 259 /**
258 260 * @description
259 261 * Unauthorized
... ... @@ -274,9 +276,9 @@ export interface GetErrorResponse {
274 276 export type GetErrorResponseSuccess = GetErrorResponse[200];
275 277 /**
276 278 * @description
277   - * errorHtml
  279 + * error
278 280 * @tags basic-error-controller
279   - * @produces text/html
  281 + * @produces *
280 282 */
281 283 export const getError = /* #__PURE__ */ (() => {
282 284 const method = 'get';
... ... @@ -300,7 +302,9 @@ export interface PutErrorResponse {
300 302 * @description
301 303 * OK
302 304 */
303   - 200: ModelAndView;
  305 + 200: {
  306 + [propertyName: string]: any;
  307 + };
304 308 /**
305 309 * @description
306 310 * Created
... ... @@ -326,9 +330,9 @@ export interface PutErrorResponse {
326 330 export type PutErrorResponseSuccess = PutErrorResponse[200];
327 331 /**
328 332 * @description
329   - * errorHtml
  333 + * error
330 334 * @tags basic-error-controller
331   - * @produces text/html
  335 + * @produces *
332 336 * @consumes application/json
333 337 */
334 338 export const putError = /* #__PURE__ */ (() => {
... ... @@ -353,7 +357,9 @@ export interface PostErrorResponse {
353 357 * @description
354 358 * OK
355 359 */
356   - 200: ModelAndView;
  360 + 200: {
  361 + [propertyName: string]: any;
  362 + };
357 363 /**
358 364 * @description
359 365 * Created
... ... @@ -379,9 +385,9 @@ export interface PostErrorResponse {
379 385 export type PostErrorResponseSuccess = PostErrorResponse[200];
380 386 /**
381 387 * @description
382   - * errorHtml
  388 + * error
383 389 * @tags basic-error-controller
384   - * @produces text/html
  390 + * @produces *
385 391 * @consumes application/json
386 392 */
387 393 export const postError = /* #__PURE__ */ (() => {
... ... @@ -406,7 +412,9 @@ export interface DeleteErrorResponse {
406 412 * @description
407 413 * OK
408 414 */
409   - 200: ModelAndView;
  415 + 200: {
  416 + [propertyName: string]: any;
  417 + };
410 418 /**
411 419 * @description
412 420 * No Content
... ... @@ -427,9 +435,9 @@ export interface DeleteErrorResponse {
427 435 export type DeleteErrorResponseSuccess = DeleteErrorResponse[200];
428 436 /**
429 437 * @description
430   - * errorHtml
  438 + * error
431 439 * @tags basic-error-controller
432   - * @produces text/html
  440 + * @produces *
433 441 */
434 442 export const deleteError = /* #__PURE__ */ (() => {
435 443 const method = 'delete';
... ... @@ -453,7 +461,9 @@ export interface OptionsErrorResponse {
453 461 * @description
454 462 * OK
455 463 */
456   - 200: ModelAndView;
  464 + 200: {
  465 + [propertyName: string]: any;
  466 + };
457 467 /**
458 468 * @description
459 469 * No Content
... ... @@ -474,9 +484,9 @@ export interface OptionsErrorResponse {
474 484 export type OptionsErrorResponseSuccess = OptionsErrorResponse[200];
475 485 /**
476 486 * @description
477   - * errorHtml
  487 + * error
478 488 * @tags basic-error-controller
479   - * @produces text/html
  489 + * @produces *
480 490 * @consumes application/json
481 491 */
482 492 export const optionsError = /* #__PURE__ */ (() => {
... ... @@ -501,7 +511,9 @@ export interface HeadErrorResponse {
501 511 * @description
502 512 * OK
503 513 */
504   - 200: ModelAndView;
  514 + 200: {
  515 + [propertyName: string]: any;
  516 + };
505 517 /**
506 518 * @description
507 519 * No Content
... ... @@ -522,9 +534,9 @@ export interface HeadErrorResponse {
522 534 export type HeadErrorResponseSuccess = HeadErrorResponse[200];
523 535 /**
524 536 * @description
525   - * errorHtml
  537 + * error
526 538 * @tags basic-error-controller
527   - * @produces text/html
  539 + * @produces *
528 540 * @consumes application/json
529 541 */
530 542 export const headError = /* #__PURE__ */ (() => {
... ... @@ -549,7 +561,9 @@ export interface PatchErrorResponse {
549 561 * @description
550 562 * OK
551 563 */
552   - 200: ModelAndView;
  564 + 200: {
  565 + [propertyName: string]: any;
  566 + };
553 567 /**
554 568 * @description
555 569 * No Content
... ... @@ -570,9 +584,9 @@ export interface PatchErrorResponse {
570 584 export type PatchErrorResponseSuccess = PatchErrorResponse[200];
571 585 /**
572 586 * @description
573   - * errorHtml
  587 + * error
574 588 * @tags basic-error-controller
575   - * @produces text/html
  589 + * @produces *
576 590 * @consumes application/json
577 591 */
578 592 export const patchError = /* #__PURE__ */ (() => {
... ... @@ -3949,6 +3963,202 @@ export const postOrderErpMenusTree = /* #__PURE__ */ (() =&gt; {
3949 3963 return request;
3950 3964 })();
3951 3965  
  3966 +/** @description response type for postOrderErpMessageGetUnreadNum */
  3967 +export interface PostOrderErpMessageGetUnreadNumResponse {
  3968 + /**
  3969 + * @description
  3970 + * OK
  3971 + */
  3972 + 200: ServerResult;
  3973 + /**
  3974 + * @description
  3975 + * Created
  3976 + */
  3977 + 201: any;
  3978 + /**
  3979 + * @description
  3980 + * Unauthorized
  3981 + */
  3982 + 401: any;
  3983 + /**
  3984 + * @description
  3985 + * Forbidden
  3986 + */
  3987 + 403: any;
  3988 + /**
  3989 + * @description
  3990 + * Not Found
  3991 + */
  3992 + 404: any;
  3993 +}
  3994 +
  3995 +export type PostOrderErpMessageGetUnreadNumResponseSuccess =
  3996 + PostOrderErpMessageGetUnreadNumResponse[200];
  3997 +/**
  3998 + * @description
  3999 + * getUnreadNum
  4000 + * @tags message-controller
  4001 + * @produces *
  4002 + * @consumes application/json
  4003 + */
  4004 +export const postOrderErpMessageGetUnreadNum = /* #__PURE__ */ (() => {
  4005 + const method = 'post';
  4006 + const url = '/order/erp/message/getUnreadNum';
  4007 + function request(): Promise<PostOrderErpMessageGetUnreadNumResponseSuccess> {
  4008 + return requester(request.url, {
  4009 + method: request.method,
  4010 + }) as unknown as Promise<PostOrderErpMessageGetUnreadNumResponseSuccess>;
  4011 + }
  4012 +
  4013 + /** http method */
  4014 + request.method = method;
  4015 + /** request url */
  4016 + request.url = url;
  4017 + return request;
  4018 +})();
  4019 +
  4020 +/** @description request parameter type for postOrderErpMessageQueryMyMessage */
  4021 +export interface PostOrderErpMessageQueryMyMessageOption {
  4022 + /**
  4023 + * @description
  4024 + * messageQueryDTO
  4025 + */
  4026 + body: {
  4027 + /**
  4028 + @description
  4029 + messageQueryDTO */
  4030 + messageQueryDTO: MessageQueryDTO;
  4031 + };
  4032 +}
  4033 +
  4034 +/** @description response type for postOrderErpMessageQueryMyMessage */
  4035 +export interface PostOrderErpMessageQueryMyMessageResponse {
  4036 + /**
  4037 + * @description
  4038 + * OK
  4039 + */
  4040 + 200: ServerResult;
  4041 + /**
  4042 + * @description
  4043 + * Created
  4044 + */
  4045 + 201: any;
  4046 + /**
  4047 + * @description
  4048 + * Unauthorized
  4049 + */
  4050 + 401: any;
  4051 + /**
  4052 + * @description
  4053 + * Forbidden
  4054 + */
  4055 + 403: any;
  4056 + /**
  4057 + * @description
  4058 + * Not Found
  4059 + */
  4060 + 404: any;
  4061 +}
  4062 +
  4063 +export type PostOrderErpMessageQueryMyMessageResponseSuccess =
  4064 + PostOrderErpMessageQueryMyMessageResponse[200];
  4065 +/**
  4066 + * @description
  4067 + * queryMyMessage
  4068 + * @tags message-controller
  4069 + * @produces *
  4070 + * @consumes application/json
  4071 + */
  4072 +export const postOrderErpMessageQueryMyMessage = /* #__PURE__ */ (() => {
  4073 + const method = 'post';
  4074 + const url = '/order/erp/message/queryMyMessage';
  4075 + function request(
  4076 + option: PostOrderErpMessageQueryMyMessageOption,
  4077 + ): Promise<PostOrderErpMessageQueryMyMessageResponseSuccess> {
  4078 + return requester(request.url, {
  4079 + method: request.method,
  4080 + ...option,
  4081 + }) as unknown as Promise<PostOrderErpMessageQueryMyMessageResponseSuccess>;
  4082 + }
  4083 +
  4084 + /** http method */
  4085 + request.method = method;
  4086 + /** request url */
  4087 + request.url = url;
  4088 + return request;
  4089 +})();
  4090 +
  4091 +/** @description request parameter type for postOrderErpMessageRead */
  4092 +export interface PostOrderErpMessageReadOption {
  4093 + /**
  4094 + * @description
  4095 + * ids
  4096 + */
  4097 + body: {
  4098 + /**
  4099 + @description
  4100 + ids */
  4101 + ids: Array<number>;
  4102 + };
  4103 +}
  4104 +
  4105 +/** @description response type for postOrderErpMessageRead */
  4106 +export interface PostOrderErpMessageReadResponse {
  4107 + /**
  4108 + * @description
  4109 + * OK
  4110 + */
  4111 + 200: ServerResult;
  4112 + /**
  4113 + * @description
  4114 + * Created
  4115 + */
  4116 + 201: any;
  4117 + /**
  4118 + * @description
  4119 + * Unauthorized
  4120 + */
  4121 + 401: any;
  4122 + /**
  4123 + * @description
  4124 + * Forbidden
  4125 + */
  4126 + 403: any;
  4127 + /**
  4128 + * @description
  4129 + * Not Found
  4130 + */
  4131 + 404: any;
  4132 +}
  4133 +
  4134 +export type PostOrderErpMessageReadResponseSuccess =
  4135 + PostOrderErpMessageReadResponse[200];
  4136 +/**
  4137 + * @description
  4138 + * queryMyMessage
  4139 + * @tags message-controller
  4140 + * @produces *
  4141 + * @consumes application/json
  4142 + */
  4143 +export const postOrderErpMessageRead = /* #__PURE__ */ (() => {
  4144 + const method = 'post';
  4145 + const url = '/order/erp/message/read';
  4146 + function request(
  4147 + option: PostOrderErpMessageReadOption,
  4148 + ): Promise<PostOrderErpMessageReadResponseSuccess> {
  4149 + return requester(request.url, {
  4150 + method: request.method,
  4151 + ...option,
  4152 + }) as unknown as Promise<PostOrderErpMessageReadResponseSuccess>;
  4153 + }
  4154 +
  4155 + /** http method */
  4156 + request.method = method;
  4157 + /** request url */
  4158 + request.url = url;
  4159 + return request;
  4160 +})();
  4161 +
3952 4162 /** @description request parameter type for postOrderErpOptLogListByPage */
3953 4163 export interface PostOrderErpOptLogListByPageOption {
3954 4164 /**
... ...