Commit 2505974c47062ab1bddae81fa8ccb92a577d8cde

Authored by zhongnanhuang
1 parent f7393b09

feat: update

src/components/ButtomConfirm/index.tsx
1 import { Button, Popconfirm } from 'antd'; 1 import { Button, Popconfirm } from 'antd';
  2 +import { TooltipPlacement } from 'antd/lib/tooltip';
2 3
3 const ButtonConfirm = ({ 4 const ButtonConfirm = ({
4 title, 5 title,
@@ -6,16 +7,18 @@ const ButtonConfirm = ({ @@ -6,16 +7,18 @@ const ButtonConfirm = ({
6 text, 7 text,
7 className, 8 className,
8 onConfirm, 9 onConfirm,
  10 + placement,
9 }: { 11 }: {
10 title: string; 12 title: string;
11 text: string; 13 text: string;
12 description?: string; 14 description?: string;
13 className?: string; 15 className?: string;
14 onConfirm?: () => void; 16 onConfirm?: () => void;
  17 + placement?: TooltipPlacement;
15 }) => { 18 }) => {
16 return ( 19 return (
17 <Popconfirm 20 <Popconfirm
18 - placement="topLeft" 21 + placement={placement ? placement : 'topLeft'}
19 title={title} 22 title={title}
20 description={description} 23 description={description}
21 onConfirm={onConfirm} 24 onConfirm={onConfirm}
src/pages/Order/components/ApplyForInvoicingModal.tsx
1 import { RESPONSE_CODE } from '@/constants/enum'; 1 import { RESPONSE_CODE } from '@/constants/enum';
2 import { postServiceOrderApplyInvoicing } from '@/services'; 2 import { postServiceOrderApplyInvoicing } from '@/services';
3 -import { FloatAdd, enumToSelect, getAliYunOSSFileNameFromUrl } from '@/utils'; 3 +import { enumToSelect, getAliYunOSSFileNameFromUrl } from '@/utils';
4 import { 4 import {
5 ModalForm, 5 ModalForm,
6 ProFormDatePicker, 6 ProFormDatePicker,
@@ -16,13 +16,13 @@ export default ({ @@ -16,13 +16,13 @@ export default ({
16 isEdit, 16 isEdit,
17 subOrders, 17 subOrders,
18 isMainOrder, 18 isMainOrder,
  19 + totalPayment,
19 onClose, 20 onClose,
20 }) => { 21 }) => {
21 const [isUrgent, setIsUrgent] = useState(''); 22 const [isUrgent, setIsUrgent] = useState('');
22 - let sumPrice = 0; 23 + let sumPrice = totalPayment;
23 24
24 let ids = subOrders?.map((item) => { 25 let ids = subOrders?.map((item) => {
25 - sumPrice = FloatAdd(item.subOrderPayment, sumPrice);  
26 return item.id; 26 return item.id;
27 }); 27 });
28 28
@@ -180,6 +180,14 @@ export default ({ @@ -180,6 +180,14 @@ export default ({
180 hidden={isUrgent !== 'true'} 180 hidden={isUrgent !== 'true'}
181 /> 181 />
182 182
  183 + <ProFormTextArea
  184 + key="invoicingUrgentCause"
  185 + label="加急开票原因"
  186 + name="invoicingUrgentCause"
  187 + rules={[{ required: isUrgent === 'true', message: '加急开票原因' }]}
  188 + hidden={isUrgent !== 'true'}
  189 + />
  190 +
183 <ProFormUploadDragger 191 <ProFormUploadDragger
184 key="2" 192 key="2"
185 label={ 193 label={
src/pages/Order/components/CheckModal.tsx
@@ -402,6 +402,9 @@ export default ({ @@ -402,6 +402,9 @@ export default ({
402 if (checkType(CHECK_TYPE.MODIFY_LEADER_AUDIT)) { 402 if (checkType(CHECK_TYPE.MODIFY_LEADER_AUDIT)) {
403 type = 'modify_leader_audit'; 403 type = 'modify_leader_audit';
404 } 404 }
  405 + if (checkType(CHECK_TYPE.URGENT_INVOICE_AUDITING)) {
  406 + type = 'urgent_invoice_audit';
  407 + }
405 doCheck({ 408 doCheck({
406 pass: false, 409 pass: false,
407 subOrderIds: subOrderIds, 410 subOrderIds: subOrderIds,
@@ -493,6 +496,9 @@ export default ({ @@ -493,6 +496,9 @@ export default ({
493 if (checkType(CHECK_TYPE.MODIFY_LEADER_AUDIT)) { 496 if (checkType(CHECK_TYPE.MODIFY_LEADER_AUDIT)) {
494 type = 'modify_leader_audit'; 497 type = 'modify_leader_audit';
495 } 498 }
  499 + if (checkType(CHECK_TYPE.URGENT_INVOICE_AUDITING)) {
  500 + type = 'urgent_invoice_audit';
  501 + }
496 doCheck({ 502 doCheck({
497 pass: true, 503 pass: true,
498 subOrderIds: subOrderIds, 504 subOrderIds: subOrderIds,
src/pages/Order/components/DeliverModal.tsx
@@ -15,6 +15,7 @@ import { @@ -15,6 +15,7 @@ import {
15 import { 15 import {
16 Button, 16 Button,
17 Col, 17 Col,
  18 + Flex,
18 Input, 19 Input,
19 InputNumber, 20 InputNumber,
20 Modal, 21 Modal,
@@ -66,16 +67,19 @@ const DeliverModal = ({ @@ -66,16 +67,19 @@ const DeliverModal = ({
66 { 67 {
67 title: 'ID', 68 title: 'ID',
68 dataIndex: 'id', 69 dataIndex: 'id',
  70 + width: 120,
69 render: (_, record) => <Input value={record.id} disabled />, 71 render: (_, record) => <Input value={record.id} disabled />,
70 }, 72 },
71 { 73 {
72 title: '商品编号', 74 title: '商品编号',
73 dataIndex: 'productCode', 75 dataIndex: 'productCode',
  76 + width: 120,
74 render: (_, record) => <Input value={record.productCode} disabled />, 77 render: (_, record) => <Input value={record.productCode} disabled />,
75 }, 78 },
76 { 79 {
77 title: '商品名称', 80 title: '商品名称',
78 dataIndex: 'productName', 81 dataIndex: 'productName',
  82 + width: 120,
79 render: (_, record) => <Input value={record.productName} disabled />, 83 render: (_, record) => <Input value={record.productName} disabled />,
80 }, 84 },
81 { 85 {
@@ -149,7 +153,7 @@ const DeliverModal = ({ @@ -149,7 +153,7 @@ const DeliverModal = ({
149 return ( 153 return (
150 <Modal 154 <Modal
151 open 155 open
152 - width={900} 156 + width={1000}
153 title={isSendProduct ? '发货' : '修改发货信息'} 157 title={isSendProduct ? '发货' : '修改发货信息'}
154 onOk={async () => { 158 onOk={async () => {
155 //请求体封装 159 //请求体封装
@@ -202,7 +206,13 @@ const DeliverModal = ({ @@ -202,7 +206,13 @@ const DeliverModal = ({
202 setVisible(false); 206 setVisible(false);
203 }} 207 }}
204 > 208 >
205 - <strong>将物流方式和物流单号更新到下方所有订单</strong> 209 + <Flex vertical>
  210 + <strong>将物流方式和物流单号更新到下方所有订单</strong>
  211 + <span className="text-[red] py-1">
  212 + 选择【其他物流方式】时,需要将对应的物流方式填写在备注中。例如:如果发圆通快递,系统上没有这个选项,就需要选【其他物流方式】,然后把“圆通快递”填在备注上。
  213 + </span>
  214 + </Flex>
  215 +
206 <ProForm 216 <ProForm
207 layout="inline" 217 layout="inline"
208 submitter={false} 218 submitter={false}
src/pages/Order/components/MessageListDrawer.tsx
  1 +import ButtonConfirm from '@/components/ButtomConfirm';
1 import { RESPONSE_CODE } from '@/constants/enum'; 2 import { RESPONSE_CODE } from '@/constants/enum';
2 import { 3 import {
3 postOrderErpMessageQueryMyMessage, 4 postOrderErpMessageQueryMyMessage,
4 postOrderErpMessageRead, 5 postOrderErpMessageRead,
  6 + postOrderErpMessageReadAll,
5 } from '@/services'; 7 } from '@/services';
6 import { formatDateTime, getUserInfo } from '@/utils'; 8 import { formatDateTime, getUserInfo } from '@/utils';
7 import { UserOutlined } from '@ant-design/icons'; 9 import { UserOutlined } from '@ant-design/icons';
@@ -25,7 +27,7 @@ export default ({ setVisible }) =&gt; { @@ -25,7 +27,7 @@ export default ({ setVisible }) =&gt; {
25 const [loading, setLoading] = useState(false); 27 const [loading, setLoading] = useState(false);
26 const [initLoading, setInitLoading] = useState(true); 28 const [initLoading, setInitLoading] = useState(true);
27 const [onlyUnread, setOnlyUnread] = useState(false); 29 const [onlyUnread, setOnlyUnread] = useState(false);
28 - const [unreadNumList, setUnreadNumList] = useState<any[]>([]); //消息未读标识 30 + const [readFlagList, setReadFlagList] = useState<any[]>([]); //消息未读标识
29 31
30 /** 32 /**
31 * 获取消息列表 33 * 获取消息列表
@@ -36,7 +38,7 @@ export default ({ setVisible }) =&gt; { @@ -36,7 +38,7 @@ export default ({ setVisible }) =&gt; {
36 data: { 38 data: {
37 username: userInfo.username, 39 username: userInfo.username,
38 current: current, 40 current: current,
39 - isReaded: onlyUnread, 41 + isReaded: onlyUnread ? onlyUnread : null,
40 }, 42 },
41 }).finally(() => { 43 }).finally(() => {
42 setLoading(false); 44 setLoading(false);
@@ -44,9 +46,10 @@ export default ({ setVisible }) =&gt; { @@ -44,9 +46,10 @@ export default ({ setVisible }) =&gt; {
44 if (res && res.result === RESPONSE_CODE.SUCCESS) { 46 if (res && res.result === RESPONSE_CODE.SUCCESS) {
45 setMessageListData([...messageListData, ...res?.data?.data]); 47 setMessageListData([...messageListData, ...res?.data?.data]);
46 let reqReadNumList = res?.data?.data?.map((item: any) => { 48 let reqReadNumList = res?.data?.data?.map((item: any) => {
47 - return item.unreadNum; 49 + return item.isReaded;
48 }); 50 });
49 - setUnreadNumList([...unreadNumList, ...reqReadNumList]); 51 +
  52 + setReadFlagList([...readFlagList, ...reqReadNumList]);
50 setTotal(res?.data?.total); 53 setTotal(res?.data?.total);
51 } 54 }
52 } 55 }
@@ -65,7 +68,7 @@ export default ({ setVisible }) =&gt; { @@ -65,7 +68,7 @@ export default ({ setVisible }) =&gt; {
65 setOnlyUnread(!onlyUnread); 68 setOnlyUnread(!onlyUnread);
66 setCurrent(1); 69 setCurrent(1);
67 setMessageListData([]); 70 setMessageListData([]);
68 - setUnreadNumList([]); 71 + setReadFlagList([]);
69 } 72 }
70 73
71 /** 74 /**
@@ -84,6 +87,18 @@ export default ({ setVisible }) =&gt; { @@ -84,6 +87,18 @@ export default ({ setVisible }) =&gt; {
84 return false; 87 return false;
85 } 88 }
86 89
  90 + /**
  91 + * 全部标记为已读
  92 + */
  93 + async function readAll() {
  94 + let res = await postOrderErpMessageReadAll();
  95 + if (res && res.result === RESPONSE_CODE.SUCCESS) {
  96 + message.success(res.message);
  97 + let newReadFlagList = readFlagList.map(() => true);
  98 + setReadFlagList(newReadFlagList);
  99 + }
  100 + }
  101 +
87 const loadMore = 102 const loadMore =
88 !initLoading && !loading && messageListData.length < total ? ( 103 !initLoading && !loading && messageListData.length < total ? (
89 <div 104 <div
@@ -102,7 +117,7 @@ export default ({ setVisible }) =&gt; { @@ -102,7 +117,7 @@ export default ({ setVisible }) =&gt; {
102 加载更多 117 加载更多
103 </Button> 118 </Button>
104 </div> 119 </div>
105 - ) : messageListData.length >= total ? ( 120 + ) : messageListData.length > 0 && messageListData.length >= total ? (
106 <span>没有更多消息了</span> 121 <span>没有更多消息了</span>
107 ) : null; 122 ) : null;
108 123
@@ -130,9 +145,13 @@ export default ({ setVisible }) =&gt; { @@ -130,9 +145,13 @@ export default ({ setVisible }) =&gt; {
130 </Checkbox> 145 </Checkbox>
131 </div> 146 </div>
132 147
133 - <Button className="p-0" type="link">  
134 - 全部标为已读  
135 - </Button> 148 + <ButtonConfirm
  149 + title={'是否全部标记为已读?'}
  150 + text={'全部标记为已读'}
  151 + className="p-0"
  152 + onConfirm={readAll}
  153 + placement="bottomLeft"
  154 + />
136 </Flex> 155 </Flex>
137 156
138 <List 157 <List
@@ -145,7 +164,7 @@ export default ({ setVisible }) =&gt; { @@ -145,7 +164,7 @@ export default ({ setVisible }) =&gt; {
145 <List.Item key={item.id}> 164 <List.Item key={item.id}>
146 <List.Item.Meta 165 <List.Item.Meta
147 avatar={ 166 avatar={
148 - <Badge dot={unreadNumList[index] > 0}> 167 + <Badge dot={!readFlagList[index]}>
149 <Avatar shape="square" icon={<UserOutlined />} /> 168 <Avatar shape="square" icon={<UserOutlined />} />
150 </Badge> 169 </Badge>
151 } 170 }
@@ -156,11 +175,11 @@ export default ({ setVisible }) =&gt; { @@ -156,11 +175,11 @@ export default ({ setVisible }) =&gt; {
156 onClick={async () => { 175 onClick={async () => {
157 toOrderList(item.mainOrderId); 176 toOrderList(item.mainOrderId);
158 177
159 - let readSuccess = await read([item.id]); 178 + let readSuccess = await read([item.mesUsrRelId]);
160 if (readSuccess) { 179 if (readSuccess) {
161 - let newUnreadNumList = [...unreadNumList];  
162 - newUnreadNumList[index] = 0;  
163 - setUnreadNumList([...newUnreadNumList]); 180 + let newUnreadNumList = [...readFlagList];
  181 + newUnreadNumList[index] = true;
  182 + setReadFlagList([...newUnreadNumList]);
164 } 183 }
165 }} 184 }}
166 > 185 >
src/pages/Order/components/ModifiedDiffModal.tsx
1 import { postServiceOrderModifiedDiff } from '@/services'; 1 import { postServiceOrderModifiedDiff } from '@/services';
2 -import { enumValueToLabel, getAliYunOSSFileNameFromUrl } from '@/utils'; 2 +import {
  3 + enumValueToLabel,
  4 + getAliYunOSSFileNameFromUrl,
  5 + getUserInfo,
  6 +} from '@/utils';
3 import { getReceivingCompanyOptions } from '@/utils/order'; 7 import { getReceivingCompanyOptions } from '@/utils/order';
4 import { Button, Divider, Modal, Space, Table, TableProps } from 'antd'; 8 import { Button, Divider, Modal, Space, Table, TableProps } from 'antd';
5 import Base64 from 'base-64'; 9 import Base64 from 'base-64';
@@ -12,6 +16,7 @@ import { @@ -12,6 +16,7 @@ import {
12 import '../table.less'; 16 import '../table.less';
13 17
14 export default ({ setVisible, subOrders, mainOrder, onClose }) => { 18 export default ({ setVisible, subOrders, mainOrder, onClose }) => {
  19 + const userInfo = getUserInfo();
15 let subIds = subOrders?.map((item: any) => { 20 let subIds = subOrders?.map((item: any) => {
16 return item.id; 21 return item.id;
17 }); 22 });
@@ -21,6 +26,31 @@ export default ({ setVisible, subOrders, mainOrder, onClose }) =&gt; { @@ -21,6 +26,31 @@ export default ({ setVisible, subOrders, mainOrder, onClose }) =&gt; {
21 const [subOrderDiffs, setSubOrderDiffs] = useState([]); 26 const [subOrderDiffs, setSubOrderDiffs] = useState([]);
22 const [mainOrderDiffs, setMainOrderDiffs] = useState([]); 27 const [mainOrderDiffs, setMainOrderDiffs] = useState([]);
23 28
  29 + function isSupplierUnvisibleField(field: any) {
  30 + //主订单字段
  31 + let unvisibleFields = [
  32 + 'receivingCompany',
  33 + 'invoiceIdentificationNumber',
  34 + 'bankAccountNumber',
  35 + 'bank',
  36 + 'totalPayment',
  37 + 'institution',
  38 + 'institutionContactName',
  39 + ];
  40 + //子订单字段
  41 + unvisibleFields.push(
  42 + ...[
  43 + 'listAnnex',
  44 + 'shippingWarehouse',
  45 + 'productBelongBusiness',
  46 + 'subOrderPayment',
  47 + 'productPrice',
  48 + ],
  49 + );
  50 +
  51 + return userInfo?.username === '首能' && unvisibleFields.includes(field);
  52 + }
  53 +
24 async function loadData() { 54 async function loadData() {
25 let res = await postServiceOrderModifiedDiff({ 55 let res = await postServiceOrderModifiedDiff({
26 data: { 56 data: {
@@ -28,8 +58,11 @@ export default ({ setVisible, subOrders, mainOrder, onClose }) =&gt; { @@ -28,8 +58,11 @@ export default ({ setVisible, subOrders, mainOrder, onClose }) =&gt; {
28 mainOrderId: mainId, 58 mainOrderId: mainId,
29 }, 59 },
30 }); 60 });
31 - setSubOrderDiffs(res?.data?.subOrderDiffs);  
32 - setMainOrderDiffs(res?.data?.mainOrderDiffs); 61 + let subOrderDiffs = res?.data?.subOrderDiffs;
  62 + let mainOrderDiffs = res?.data?.mainOrderDiffs;
  63 +
  64 + setSubOrderDiffs(subOrderDiffs);
  65 + setMainOrderDiffs(mainOrderDiffs);
33 } 66 }
34 67
35 useEffect(() => { 68 useEffect(() => {
@@ -158,12 +191,15 @@ export default ({ setVisible, subOrders, mainOrder, onClose }) =&gt; { @@ -158,12 +191,15 @@ export default ({ setVisible, subOrders, mainOrder, onClose }) =&gt; {
158 for (let field of visibleFields) { 191 for (let field of visibleFields) {
159 let filedKey = field[0]; 192 let filedKey = field[0];
160 let filedName = field[1]; 193 let filedName = field[1];
161 - tableData.push({  
162 - fieldName: filedName,  
163 - oldValue: oldDatas[filedKey],  
164 - newValue: curDatas[filedKey],  
165 - isDiff: diffFiledNames?.includes(filedKey),  
166 - }); 194 +
  195 + if (!isSupplierUnvisibleField(filedKey)) {
  196 + tableData.push({
  197 + fieldName: filedName,
  198 + oldValue: oldDatas[filedKey],
  199 + newValue: curDatas[filedKey],
  200 + isDiff: diffFiledNames?.includes(filedKey),
  201 + });
  202 + }
167 } 203 }
168 return ( 204 return (
169 <> 205 <>
@@ -207,12 +243,15 @@ export default ({ setVisible, subOrders, mainOrder, onClose }) =&gt; { @@ -207,12 +243,15 @@ export default ({ setVisible, subOrders, mainOrder, onClose }) =&gt; {
207 for (let field of visibleFields) { 243 for (let field of visibleFields) {
208 let filedKey = field[0]; 244 let filedKey = field[0];
209 let filedName = field[1]; 245 let filedName = field[1];
210 - tableData.push({  
211 - fieldName: filedName,  
212 - oldValue: oldDatas[filedKey],  
213 - newValue: curDatas[filedKey],  
214 - isDiff: diffFiledNames?.includes(filedKey),  
215 - }); 246 +
  247 + if (!isSupplierUnvisibleField(filedKey)) {
  248 + tableData.push({
  249 + fieldName: filedName,
  250 + oldValue: oldDatas[filedKey],
  251 + newValue: curDatas[filedKey],
  252 + isDiff: diffFiledNames?.includes(filedKey),
  253 + });
  254 + }
216 } 255 }
217 return ( 256 return (
218 <Table 257 <Table
src/pages/Order/constant.ts
1 import { postServiceOrderQueryCustomerInformation } from '@/services'; 1 import { postServiceOrderQueryCustomerInformation } from '@/services';
2 -import { enumToProTableEnumValue } from '@/utils'; 2 +import { enumToProTableEnumValue, getUserInfo } from '@/utils';
3 import { getReceivingCompanyOptions } from '@/utils/order'; 3 import { getReceivingCompanyOptions } from '@/utils/order';
4 export const COMFIR_RECEIPT_IMAGES_NUMBER = 3; 4 export const COMFIR_RECEIPT_IMAGES_NUMBER = 3;
5 5
@@ -99,6 +99,7 @@ export const CHECK_TYPE = { @@ -99,6 +99,7 @@ export const CHECK_TYPE = {
99 WAITING_FOR_POST_AUDIT: 'WAITING_FOR_POST_AUDIT', 99 WAITING_FOR_POST_AUDIT: 'WAITING_FOR_POST_AUDIT',
100 NODE_OPERATING_AUDIT: 'NODE_OPERATING_AUDIT', 100 NODE_OPERATING_AUDIT: 'NODE_OPERATING_AUDIT',
101 MODIFY_LEADER_AUDIT: 'MODIFY_LEADER_AUDIT', 101 MODIFY_LEADER_AUDIT: 'MODIFY_LEADER_AUDIT',
  102 + URGENT_INVOICE_AUDITING: 'URGENT_INVOICE_AUDITING',
102 }; 103 };
103 104
104 /** 105 /**
@@ -157,7 +158,8 @@ export const ORDER_STATUS_OPTIONS = { @@ -157,7 +158,8 @@ export const ORDER_STATUS_OPTIONS = {
157 PROCURE_UN_PROCESS: '采购待审核', 158 PROCURE_UN_PROCESS: '采购待审核',
158 PROCURE_PROCESS: '采购已审核', 159 PROCURE_PROCESS: '采购已审核',
159 PROCURE_PROCESS_FOR_MINE: '采购待打印', 160 PROCURE_PROCESS_FOR_MINE: '采购待打印',
160 - PROCURE_WAIT_SHIP: '采购待发货', 161 + PROCURE_WAIT_SHIP:
  162 + getUserInfo()?.username === '首能' ? '待发货' : '采购待发货',
161 SUPPLIER_WAIT_SHIP: '供应商待发货', 163 SUPPLIER_WAIT_SHIP: '供应商待发货',
162 WAIT_SHIP: '待发货', 164 WAIT_SHIP: '待发货',
163 SHIPPED: '已发货', 165 SHIPPED: '已发货',
@@ -202,6 +204,7 @@ export const FINANCIAL_STATUS_OPTIONS = { @@ -202,6 +204,7 @@ export const FINANCIAL_STATUS_OPTIONS = {
202 export const AFTER_INVOICING_STATUS = { 204 export const AFTER_INVOICING_STATUS = {
203 NOT_YET_INVOICED: '尚未开票', 205 NOT_YET_INVOICED: '尚未开票',
204 APPLY_FOR_INVOICING: '申请开票', 206 APPLY_FOR_INVOICING: '申请开票',
  207 + URGENT_INVOICE_AUDITING: '加急待审核',
205 PARTIAL_INVOICING: '部分开票', 208 PARTIAL_INVOICING: '部分开票',
206 COMPLETE_INVOICING: '完全开票', 209 COMPLETE_INVOICING: '完全开票',
207 }; 210 };
@@ -239,7 +242,10 @@ export const TAGS_COLOR = new Map&lt;string, string&gt;([ @@ -239,7 +242,10 @@ export const TAGS_COLOR = new Map&lt;string, string&gt;([
239 ['AFTER_SALES_FAILURE', 'red'], 242 ['AFTER_SALES_FAILURE', 'red'],
240 ['WAITING_FOR_POST_AUDIT', 'purple'], 243 ['WAITING_FOR_POST_AUDIT', 'purple'],
241 ['POST_AUDITED', 'success'], 244 ['POST_AUDITED', 'success'],
242 - ['POST_AUDIT_FAIL', 'error'], 245 + ['COMPLETE_INVOICING', 'success'],
  246 + ['PARTIAL_INVOICING', 'processing'],
  247 + ['URGENT_INVOICE_AUDITING', 'warning'],
  248 + ['APPLY_FOR_INVOICING', 'processing'],
243 ]); 249 ]);
244 export const SALES_CODE_OPTIONS = [ 250 export const SALES_CODE_OPTIONS = [
245 { label: 'D-Linda', value: 'D-Linda' }, 251 { label: 'D-Linda', value: 'D-Linda' },
src/pages/Order/index.tsx
@@ -15,6 +15,7 @@ import { @@ -15,6 +15,7 @@ import {
15 } from '@/services'; 15 } from '@/services';
16 import { orderExport } from '@/services/order'; 16 import { orderExport } from '@/services/order';
17 import { 17 import {
  18 + FloatAdd,
18 copyToClipboard, 19 copyToClipboard,
19 enumToProTableEnumValue, 20 enumToProTableEnumValue,
20 enumValueToLabel, 21 enumValueToLabel,
@@ -217,17 +218,24 @@ const OrderPage = () =&gt; { @@ -217,17 +218,24 @@ const OrderPage = () =&gt; {
217 text += record?.id; 218 text += record?.id;
218 text += ',' + record?.salesCode; 219 text += ',' + record?.salesCode;
219 text += ',' + record?.customerName; 220 text += ',' + record?.customerName;
  221 +
220 text += ',' + record?.customerContactNumber; 222 text += ',' + record?.customerContactNumber;
  223 +
221 text += ',' + record?.customerShippingAddress; 224 text += ',' + record?.customerShippingAddress;
222 - text += ',' + record?.institutionContactName;  
223 - text += ',' + record?.institution; 225 +
  226 + if (userInfo.username !== '首能') {
  227 + text += ',' + record?.institutionContactName;
  228 + text += ',' + record?.institution;
  229 + }
224 record?.subOrderInformationLists?.forEach((item) => { 230 record?.subOrderInformationLists?.forEach((item) => {
225 text += '\n'; 231 text += '\n';
226 text += item?.productName; 232 text += item?.productName;
227 text += ' ' + item?.parameters; 233 text += ' ' + item?.parameters;
228 text += ' ' + item?.quantity; 234 text += ' ' + item?.quantity;
229 text += ' ' + item?.unit; 235 text += ' ' + item?.unit;
230 - text += ' ¥' + item?.subOrderPayment; 236 + if (userInfo.username !== '首能') {
  237 + text += ' ¥' + item?.subOrderPayment;
  238 + }
231 text += ' ' + item?.id; 239 text += ' ' + item?.id;
232 }); 240 });
233 if (copyToClipboard(text)) { 241 if (copyToClipboard(text)) {
@@ -373,7 +381,6 @@ const OrderPage = () =&gt; { @@ -373,7 +381,6 @@ const OrderPage = () =&gt; {
373 * 返回当前操作的子订单集合 381 * 返回当前操作的子订单集合
374 */ 382 */
375 function buildSubOrders() { 383 function buildSubOrders() {
376 - console.log('here');  
377 if (currentOptMainId === undefined || currentOptMainId === null) { 384 if (currentOptMainId === undefined || currentOptMainId === null) {
378 message.error('页面错误:当前操作的主订单id不存在,请联系系统管理员'); 385 message.error('页面错误:当前操作的主订单id不存在,请联系系统管理员');
379 return; 386 return;
@@ -421,12 +428,41 @@ const OrderPage = () =&gt; { @@ -421,12 +428,41 @@ const OrderPage = () =&gt; {
421 return; 428 return;
422 } 429 }
423 430
424 - console.log(cloneSubOrders);  
425 -  
426 return cloneSubOrders; 431 return cloneSubOrders;
427 } 432 }
428 433
429 /** 434 /**
  435 + * 获取当前操作申请开票的订单总金额
  436 + */
  437 + function getApplyInvoicingTotalPayment() {
  438 + let subOrders = isMainOrder
  439 + ? [...subOrderSelectedMap.values()].flat()
  440 + : buildSubOrders();
  441 +
  442 + let totalPayment = 0;
  443 + if (subOrders && subOrders.length > 0) {
  444 + let mainIds = subOrders?.map((item: any) => {
  445 + return item.mainOrderId;
  446 + });
  447 +
  448 + let uniqueMainIds = [...new Set(mainIds)];
  449 +
  450 + let dataMap = data.reduce((map, obj: any) => {
  451 + map.set(obj.id, obj);
  452 + return map;
  453 + }, new Map());
  454 +
  455 + uniqueMainIds.forEach((id: any) => {
  456 + let o = dataMap.get(id);
  457 + if (o) {
  458 + totalPayment = FloatAdd(totalPayment, o.totalPayment);
  459 + }
  460 + });
  461 + }
  462 + return totalPayment;
  463 + }
  464 +
  465 + /**
430 * 根据主订单id,将该主订单下的所有子订单取消选中 466 * 根据主订单id,将该主订单下的所有子订单取消选中
431 */ 467 */
432 const removeSelectedSubOrderKeysByMainOrderId = (id: any) => { 468 const removeSelectedSubOrderKeysByMainOrderId = (id: any) => {
@@ -497,9 +533,6 @@ const OrderPage = () =&gt; { @@ -497,9 +533,6 @@ const OrderPage = () =&gt; {
497 } 533 }
498 } 534 }
499 setSelectedMainOrderKeys(newSelectedMainOrderKeys); 535 setSelectedMainOrderKeys(newSelectedMainOrderKeys);
500 -  
501 - console.log(mainOrderSelectedMap);  
502 - console.log(subOrderSelectedMap);  
503 }; 536 };
504 // const handleTableExpand = (mainOrderIds: any) => { 537 // const handleTableExpand = (mainOrderIds: any) => {
505 // setExpandedRowKeys(mainOrderIds); 538 // setExpandedRowKeys(mainOrderIds);
@@ -1055,12 +1088,25 @@ const OrderPage = () =&gt; { @@ -1055,12 +1088,25 @@ const OrderPage = () =&gt; {
1055 1088
1056 {/* 开票状态 */} 1089 {/* 开票状态 */}
1057 <div className="overflow-hidden whitespace-no-wrap overflow-ellipsis"> 1090 <div className="overflow-hidden whitespace-no-wrap overflow-ellipsis">
1058 - <span className="text-slate-700">  
1059 - {enumValueToLabel(  
1060 - optRecord.afterInvoicingStatus,  
1061 - AFTER_INVOICING_STATUS,  
1062 - )}  
1063 - </span> 1091 + <Tooltip
  1092 + title={
  1093 + optRecord.invoicingUrgentCause !== null &&
  1094 + optRecord.afterInvoicingStatus ===
  1095 + 'URGENT_INVOICE_AUDITING'
  1096 + ? optRecord.invoicingUrgentCause
  1097 + : enumValueToLabel(
  1098 + optRecord.afterInvoicingStatus,
  1099 + AFTER_INVOICING_STATUS,
  1100 + )
  1101 + }
  1102 + >
  1103 + <Tag color={TAGS_COLOR.get(optRecord.afterInvoicingStatus)}>
  1104 + {enumValueToLabel(
  1105 + optRecord.afterInvoicingStatus,
  1106 + AFTER_INVOICING_STATUS,
  1107 + )}
  1108 + </Tag>
  1109 + </Tooltip>
1064 </div> 1110 </div>
1065 1111
1066 {/* 是否加急图标显示 */} 1112 {/* 是否加急图标显示 */}
@@ -1264,6 +1310,25 @@ const OrderPage = () =&gt; { @@ -1264,6 +1310,25 @@ const OrderPage = () =&gt; {
1264 '' 1310 ''
1265 )} 1311 )}
1266 1312
  1313 + {/* 加急审核 */}
  1314 + {optRecord.subPath?.includes('URGENT_INVOICE_AUDITING') ? (
  1315 + <Button
  1316 + className="p-0"
  1317 + type="link"
  1318 + onClick={() => {
  1319 + console.log('here');
  1320 + setCurrentMainId(record.id);
  1321 + setCurretnOptSubId(optRecord.id);
  1322 + setCheckVisible(true);
  1323 + setOrderCheckType(CHECK_TYPE.URGENT_INVOICE_AUDITING);
  1324 + }}
  1325 + >
  1326 + 加急审核
  1327 + </Button>
  1328 + ) : (
  1329 + ''
  1330 + )}
  1331 +
1267 {optRecord.subPath?.includes('postAudit') ? ( 1332 {optRecord.subPath?.includes('postAudit') ? (
1268 <Button 1333 <Button
1269 className="p-0" 1334 className="p-0"
@@ -2122,6 +2187,28 @@ const OrderPage = () =&gt; { @@ -2122,6 +2187,28 @@ const OrderPage = () =&gt; {
2122 </Space> 2187 </Space>
2123 </Flex> 2188 </Flex>
2124 </Flex> 2189 </Flex>
  2190 +
  2191 + {userInfo.username === '首能' ? (
  2192 + <Flex className="pl-6" align="center">
  2193 + <Flex
  2194 + className="hover:cursor-pointer"
  2195 + onClick={() => {
  2196 + copyToClipboard(record.customerContactNumber);
  2197 + message.info(
  2198 + '联系电话复制成功:' + record.customerContactNumber,
  2199 + );
  2200 + }}
  2201 + >
  2202 + <span className="text-[#8C8C8C]">联系电话:</span>
  2203 + <span className="text-slate-700">
  2204 + {record.customerContactNumber + ' '}
  2205 + </span>
  2206 + </Flex>
  2207 + </Flex>
  2208 + ) : (
  2209 + ''
  2210 + )}
  2211 +
2125 <Flex className="pl-6" align="center"> 2212 <Flex className="pl-6" align="center">
2126 {roleCode === 'finance' ? ( 2213 {roleCode === 'finance' ? (
2127 <div 2214 <div
@@ -2183,50 +2270,52 @@ const OrderPage = () =&gt; { @@ -2183,50 +2270,52 @@ const OrderPage = () =&gt; {
2183 <Flex justify="flex-end"> 2270 <Flex justify="flex-end">
2184 <Flex wrap="wrap" gap="middle" align="center"> 2271 <Flex wrap="wrap" gap="middle" align="center">
2185 {userInfo.username !== '首能' ? ( 2272 {userInfo.username !== '首能' ? (
2186 - <>  
2187 - <div>  
2188 - <span className="text-[#8C8C8C]">总金额:¥</span>  
2189 - <span className="text-lg font-medium">  
2190 - {record.totalPayment}  
2191 - </span>  
2192 - </div>  
2193 - {rolePath?.includes('addOrder') ? (  
2194 - <Tooltip title="复制">  
2195 - <CopyTwoTone  
2196 - className="hover:cursor-pointer"  
2197 - onClick={() => {  
2198 - createOptObject(null, record.id);  
2199 - copyOrderToClipboard(record);  
2200 - setOrderOptType('copy');  
2201 - setOrderDrawerVisible(true);  
2202 - }}  
2203 - />  
2204 - </Tooltip>  
2205 - ) : (  
2206 - <Tooltip title="复制文本">  
2207 - <CopyTwoTone  
2208 - className="hover:cursor-pointer"  
2209 - onClick={() => {  
2210 - copyOrderToClipboard(record);  
2211 - }}  
2212 - />  
2213 - </Tooltip>  
2214 - )} 2273 + <div>
  2274 + <span className="text-[#8C8C8C]">总金额:¥</span>
  2275 + <span className="text-lg font-medium">
  2276 + {record.totalPayment}
  2277 + </span>
  2278 + </div>
  2279 + ) : (
  2280 + ''
  2281 + )}
2215 2282
2216 - <Tooltip title="历史">  
2217 - <ClockCircleTwoTone  
2218 - className="hover:cursor-pointer"  
2219 - onClick={() => {  
2220 - setHistoryModalVisible(true);  
2221 - if (subOrderSelectedMap.get(record.id)?.length) {  
2222 - setSelectedRows(subOrderSelectedMap.get(record.id));  
2223 - } else {  
2224 - setSelectedRows(record.subOrderInformationLists);  
2225 - }  
2226 - }}  
2227 - />  
2228 - </Tooltip>  
2229 - </> 2283 + {rolePath?.includes('addOrder') ? (
  2284 + <Tooltip title="复制">
  2285 + <CopyTwoTone
  2286 + className="hover:cursor-pointer"
  2287 + onClick={() => {
  2288 + createOptObject(null, record.id);
  2289 + copyOrderToClipboard(record);
  2290 + setOrderOptType('copy');
  2291 + setOrderDrawerVisible(true);
  2292 + }}
  2293 + />
  2294 + </Tooltip>
  2295 + ) : (
  2296 + <Tooltip title="复制文本">
  2297 + <CopyTwoTone
  2298 + className="hover:cursor-pointer"
  2299 + onClick={() => {
  2300 + copyOrderToClipboard(record);
  2301 + }}
  2302 + />
  2303 + </Tooltip>
  2304 + )}
  2305 + {userInfo.username !== '首能' ? (
  2306 + <Tooltip title="历史">
  2307 + <ClockCircleTwoTone
  2308 + className="hover:cursor-pointer"
  2309 + onClick={() => {
  2310 + setHistoryModalVisible(true);
  2311 + if (subOrderSelectedMap.get(record.id)?.length) {
  2312 + setSelectedRows(subOrderSelectedMap.get(record.id));
  2313 + } else {
  2314 + setSelectedRows(record.subOrderInformationLists);
  2315 + }
  2316 + }}
  2317 + />
  2318 + </Tooltip>
2230 ) : ( 2319 ) : (
2231 '' 2320 ''
2232 )} 2321 )}
@@ -2251,6 +2340,22 @@ const OrderPage = () =&gt; { @@ -2251,6 +2340,22 @@ const OrderPage = () =&gt; {
2251 '' 2340 ''
2252 )} 2341 )}
2253 2342
  2343 + {record.mainPath?.includes('URGENT_INVOICE_AUDITING') ? (
  2344 + <Button
  2345 + className="p-0"
  2346 + type="link"
  2347 + onClick={() => {
  2348 + createOptObject(null, record.id);
  2349 + setCheckVisible(true);
  2350 + setOrderCheckType(CHECK_TYPE.URGENT_INVOICE_AUDITING);
  2351 + }}
  2352 + >
  2353 + 加急审核
  2354 + </Button>
  2355 + ) : (
  2356 + ''
  2357 + )}
  2358 +
2254 {record.mainPath?.includes('modifiedLeaderAuditRequest') ? ( 2359 {record.mainPath?.includes('modifiedLeaderAuditRequest') ? (
2255 <Button 2360 <Button
2256 className="p-0" 2361 className="p-0"
@@ -3905,6 +4010,7 @@ const OrderPage = () =&gt; { @@ -3905,6 +4010,7 @@ const OrderPage = () =&gt; {
3905 ? [...subOrderSelectedMap.values()].flat() 4010 ? [...subOrderSelectedMap.values()].flat()
3906 : buildSubOrders() 4011 : buildSubOrders()
3907 } 4012 }
  4013 + totalPayment={getApplyInvoicingTotalPayment()}
3908 isMainOrder={isMainOrder} 4014 isMainOrder={isMainOrder}
3909 isEdit={isEdit} 4015 isEdit={isEdit}
3910 onClose={() => { 4016 onClose={() => {
@@ -4250,7 +4356,12 @@ const OrderPage = () =&gt; { @@ -4250,7 +4356,12 @@ const OrderPage = () =&gt; {
4250 )} 4356 )}
4251 4357
4252 {messageListDrawerVisible && ( 4358 {messageListDrawerVisible && (
4253 - <MessageListDrawer setVisible={setMessageListDrawerVisible} /> 4359 + <MessageListDrawer
  4360 + setVisible={(val: any) => {
  4361 + setMessageListDrawerVisible(val);
  4362 + getUnreadMessageNum();
  4363 + }}
  4364 + />
4254 )} 4365 )}
4255 {contextHolder} 4366 {contextHolder}
4256 </PageContainer> 4367 </PageContainer>
src/pages/OrderReport/index.tsx
1 -import { postServiceOrderQueryReportFormsInformation } from '@/services'; 1 +import {
  2 + postServiceOrderQueryReportFormsInformation,
  3 + postServiceOrderQuerySalesCode,
  4 +} from '@/services';
2 import { enumToSelect } from '@/utils'; 5 import { enumToSelect } from '@/utils';
3 import { getUserInfo } from '@/utils/user'; 6 import { getUserInfo } from '@/utils/user';
4 import { EllipsisOutlined } from '@ant-design/icons'; 7 import { EllipsisOutlined } from '@ant-design/icons';
@@ -21,16 +24,30 @@ import { @@ -21,16 +24,30 @@ import {
21 Tag, 24 Tag,
22 } from 'antd'; 25 } from 'antd';
23 import { useEffect, useState } from 'react'; 26 import { useEffect, useState } from 'react';
24 -import {  
25 - PRODUCT_BELONG_DEPARTMENT_OPTIONS,  
26 - SALES_CODE_OPTIONS,  
27 -} from '../Order/constant'; 27 +import { PRODUCT_BELONG_DEPARTMENT_OPTIONS } from '../Order/constant';
28 import OrderDualAxes from './components/OrderDualAxes'; 28 import OrderDualAxes from './components/OrderDualAxes';
29 import OrderStatisticCard from './components/OrderStatisticCard'; 29 import OrderStatisticCard from './components/OrderStatisticCard';
30 import './index.less'; 30 import './index.less';
31 const userInfo = getUserInfo(); 31 const userInfo = getUserInfo();
32 32
33 const OrderReportPage = () => { 33 const OrderReportPage = () => {
  34 + const [salesCodeOptions, setSalesCodeOptions] = useState([]);
  35 +
  36 + /**
  37 + * 获取销售代码枚举,在复制和编辑的时候判断是否为旧的代码
  38 + */
  39 + const getSalesCodeOptions = async () => {
  40 + const res = await postServiceOrderQuerySalesCode();
  41 + let options = res.data?.map((item) => {
  42 + return {
  43 + label: item.userName,
  44 + value: item.userName,
  45 + number: item.number,
  46 + };
  47 + });
  48 + setSalesCodeOptions(options);
  49 + };
  50 +
34 const [form] = Form.useForm<{ 51 const [form] = Form.useForm<{
35 salesCode: ''; 52 salesCode: '';
36 productBelongBusiness: ''; 53 productBelongBusiness: '';
@@ -91,6 +108,7 @@ const OrderReportPage = () =&gt; { @@ -91,6 +108,7 @@ const OrderReportPage = () =&gt; {
91 108
92 useEffect(() => { 109 useEffect(() => {
93 loadData(); 110 loadData();
  111 + getSalesCodeOptions();
94 }, []); 112 }, []);
95 113
96 // const items: TabsProps['items'] = [ 114 // const items: TabsProps['items'] = [
@@ -165,10 +183,11 @@ const OrderReportPage = () =&gt; { @@ -165,10 +183,11 @@ const OrderReportPage = () =&gt; {
165 <ProFormSelect 183 <ProFormSelect
166 name="salesCode" 184 name="salesCode"
167 key="salesCode" 185 key="salesCode"
  186 + width="lg"
168 showSearch 187 showSearch
169 label="销售代表" 188 label="销售代表"
170 - placeholder="请输入销售代表"  
171 - options={SALES_CODE_OPTIONS} 189 + placeholder="请选择销售代表"
  190 + options={salesCodeOptions}
172 /> 191 />
173 <ProFormSelect 192 <ProFormSelect
174 key="productBelongBusiness" 193 key="productBelongBusiness"
src/services/definition.ts
@@ -808,6 +808,7 @@ export interface MeasureUnitListResRow { @@ -808,6 +808,7 @@ export interface MeasureUnitListResRow {
808 export interface MessageQueryDTO { 808 export interface MessageQueryDTO {
809 /** @format int32 */ 809 /** @format int32 */
810 current?: number; 810 current?: number;
  811 + isReaded?: string;
811 /** @format int32 */ 812 /** @format int32 */
812 pageSize?: number; 813 pageSize?: number;
813 /** @format int32 */ 814 /** @format int32 */
src/services/request.ts
@@ -42,6 +42,7 @@ import type { @@ -42,6 +42,7 @@ import type {
42 MaterialUnitListRes, 42 MaterialUnitListRes,
43 MeasureUnitListRes, 43 MeasureUnitListRes,
44 MessageQueryDTO, 44 MessageQueryDTO,
  45 + ModelAndView,
45 OrderAddVO, 46 OrderAddVO,
46 OrderAuditLogQueryVO, 47 OrderAuditLogQueryVO,
47 OrderBaseInfoQueryVO, 48 OrderBaseInfoQueryVO,
@@ -253,9 +254,7 @@ export interface GetErrorResponse { @@ -253,9 +254,7 @@ export interface GetErrorResponse {
253 * @description 254 * @description
254 * OK 255 * OK
255 */ 256 */
256 - 200: {  
257 - [propertyName: string]: any;  
258 - }; 257 + 200: ModelAndView;
259 /** 258 /**
260 * @description 259 * @description
261 * Unauthorized 260 * Unauthorized
@@ -276,9 +275,9 @@ export interface GetErrorResponse { @@ -276,9 +275,9 @@ export interface GetErrorResponse {
276 export type GetErrorResponseSuccess = GetErrorResponse[200]; 275 export type GetErrorResponseSuccess = GetErrorResponse[200];
277 /** 276 /**
278 * @description 277 * @description
279 - * error 278 + * errorHtml
280 * @tags basic-error-controller 279 * @tags basic-error-controller
281 - * @produces * 280 + * @produces text/html
282 */ 281 */
283 export const getError = /* #__PURE__ */ (() => { 282 export const getError = /* #__PURE__ */ (() => {
284 const method = 'get'; 283 const method = 'get';
@@ -302,9 +301,7 @@ export interface PutErrorResponse { @@ -302,9 +301,7 @@ export interface PutErrorResponse {
302 * @description 301 * @description
303 * OK 302 * OK
304 */ 303 */
305 - 200: {  
306 - [propertyName: string]: any;  
307 - }; 304 + 200: ModelAndView;
308 /** 305 /**
309 * @description 306 * @description
310 * Created 307 * Created
@@ -330,9 +327,9 @@ export interface PutErrorResponse { @@ -330,9 +327,9 @@ export interface PutErrorResponse {
330 export type PutErrorResponseSuccess = PutErrorResponse[200]; 327 export type PutErrorResponseSuccess = PutErrorResponse[200];
331 /** 328 /**
332 * @description 329 * @description
333 - * error 330 + * errorHtml
334 * @tags basic-error-controller 331 * @tags basic-error-controller
335 - * @produces * 332 + * @produces text/html
336 * @consumes application/json 333 * @consumes application/json
337 */ 334 */
338 export const putError = /* #__PURE__ */ (() => { 335 export const putError = /* #__PURE__ */ (() => {
@@ -357,9 +354,7 @@ export interface PostErrorResponse { @@ -357,9 +354,7 @@ export interface PostErrorResponse {
357 * @description 354 * @description
358 * OK 355 * OK
359 */ 356 */
360 - 200: {  
361 - [propertyName: string]: any;  
362 - }; 357 + 200: ModelAndView;
363 /** 358 /**
364 * @description 359 * @description
365 * Created 360 * Created
@@ -385,9 +380,9 @@ export interface PostErrorResponse { @@ -385,9 +380,9 @@ export interface PostErrorResponse {
385 export type PostErrorResponseSuccess = PostErrorResponse[200]; 380 export type PostErrorResponseSuccess = PostErrorResponse[200];
386 /** 381 /**
387 * @description 382 * @description
388 - * error 383 + * errorHtml
389 * @tags basic-error-controller 384 * @tags basic-error-controller
390 - * @produces * 385 + * @produces text/html
391 * @consumes application/json 386 * @consumes application/json
392 */ 387 */
393 export const postError = /* #__PURE__ */ (() => { 388 export const postError = /* #__PURE__ */ (() => {
@@ -412,9 +407,7 @@ export interface DeleteErrorResponse { @@ -412,9 +407,7 @@ export interface DeleteErrorResponse {
412 * @description 407 * @description
413 * OK 408 * OK
414 */ 409 */
415 - 200: {  
416 - [propertyName: string]: any;  
417 - }; 410 + 200: ModelAndView;
418 /** 411 /**
419 * @description 412 * @description
420 * No Content 413 * No Content
@@ -435,9 +428,9 @@ export interface DeleteErrorResponse { @@ -435,9 +428,9 @@ export interface DeleteErrorResponse {
435 export type DeleteErrorResponseSuccess = DeleteErrorResponse[200]; 428 export type DeleteErrorResponseSuccess = DeleteErrorResponse[200];
436 /** 429 /**
437 * @description 430 * @description
438 - * error 431 + * errorHtml
439 * @tags basic-error-controller 432 * @tags basic-error-controller
440 - * @produces * 433 + * @produces text/html
441 */ 434 */
442 export const deleteError = /* #__PURE__ */ (() => { 435 export const deleteError = /* #__PURE__ */ (() => {
443 const method = 'delete'; 436 const method = 'delete';
@@ -461,9 +454,7 @@ export interface OptionsErrorResponse { @@ -461,9 +454,7 @@ export interface OptionsErrorResponse {
461 * @description 454 * @description
462 * OK 455 * OK
463 */ 456 */
464 - 200: {  
465 - [propertyName: string]: any;  
466 - }; 457 + 200: ModelAndView;
467 /** 458 /**
468 * @description 459 * @description
469 * No Content 460 * No Content
@@ -484,9 +475,9 @@ export interface OptionsErrorResponse { @@ -484,9 +475,9 @@ export interface OptionsErrorResponse {
484 export type OptionsErrorResponseSuccess = OptionsErrorResponse[200]; 475 export type OptionsErrorResponseSuccess = OptionsErrorResponse[200];
485 /** 476 /**
486 * @description 477 * @description
487 - * error 478 + * errorHtml
488 * @tags basic-error-controller 479 * @tags basic-error-controller
489 - * @produces * 480 + * @produces text/html
490 * @consumes application/json 481 * @consumes application/json
491 */ 482 */
492 export const optionsError = /* #__PURE__ */ (() => { 483 export const optionsError = /* #__PURE__ */ (() => {
@@ -511,9 +502,7 @@ export interface HeadErrorResponse { @@ -511,9 +502,7 @@ export interface HeadErrorResponse {
511 * @description 502 * @description
512 * OK 503 * OK
513 */ 504 */
514 - 200: {  
515 - [propertyName: string]: any;  
516 - }; 505 + 200: ModelAndView;
517 /** 506 /**
518 * @description 507 * @description
519 * No Content 508 * No Content
@@ -534,9 +523,9 @@ export interface HeadErrorResponse { @@ -534,9 +523,9 @@ export interface HeadErrorResponse {
534 export type HeadErrorResponseSuccess = HeadErrorResponse[200]; 523 export type HeadErrorResponseSuccess = HeadErrorResponse[200];
535 /** 524 /**
536 * @description 525 * @description
537 - * error 526 + * errorHtml
538 * @tags basic-error-controller 527 * @tags basic-error-controller
539 - * @produces * 528 + * @produces text/html
540 * @consumes application/json 529 * @consumes application/json
541 */ 530 */
542 export const headError = /* #__PURE__ */ (() => { 531 export const headError = /* #__PURE__ */ (() => {
@@ -561,9 +550,7 @@ export interface PatchErrorResponse { @@ -561,9 +550,7 @@ export interface PatchErrorResponse {
561 * @description 550 * @description
562 * OK 551 * OK
563 */ 552 */
564 - 200: {  
565 - [propertyName: string]: any;  
566 - }; 553 + 200: ModelAndView;
567 /** 554 /**
568 * @description 555 * @description
569 * No Content 556 * No Content
@@ -584,9 +571,9 @@ export interface PatchErrorResponse { @@ -584,9 +571,9 @@ export interface PatchErrorResponse {
584 export type PatchErrorResponseSuccess = PatchErrorResponse[200]; 571 export type PatchErrorResponseSuccess = PatchErrorResponse[200];
585 /** 572 /**
586 * @description 573 * @description
587 - * error 574 + * errorHtml
588 * @tags basic-error-controller 575 * @tags basic-error-controller
589 - * @produces * 576 + * @produces text/html
590 * @consumes application/json 577 * @consumes application/json
591 */ 578 */
592 export const patchError = /* #__PURE__ */ (() => { 579 export const patchError = /* #__PURE__ */ (() => {
@@ -4159,6 +4146,60 @@ export const postOrderErpMessageRead = /* #__PURE__ */ (() =&gt; { @@ -4159,6 +4146,60 @@ export const postOrderErpMessageRead = /* #__PURE__ */ (() =&gt; {
4159 return request; 4146 return request;
4160 })(); 4147 })();
4161 4148
  4149 +/** @description response type for postOrderErpMessageReadAll */
  4150 +export interface PostOrderErpMessageReadAllResponse {
  4151 + /**
  4152 + * @description
  4153 + * OK
  4154 + */
  4155 + 200: ServerResult;
  4156 + /**
  4157 + * @description
  4158 + * Created
  4159 + */
  4160 + 201: any;
  4161 + /**
  4162 + * @description
  4163 + * Unauthorized
  4164 + */
  4165 + 401: any;
  4166 + /**
  4167 + * @description
  4168 + * Forbidden
  4169 + */
  4170 + 403: any;
  4171 + /**
  4172 + * @description
  4173 + * Not Found
  4174 + */
  4175 + 404: any;
  4176 +}
  4177 +
  4178 +export type PostOrderErpMessageReadAllResponseSuccess =
  4179 + PostOrderErpMessageReadAllResponse[200];
  4180 +/**
  4181 + * @description
  4182 + * queryMyMessage
  4183 + * @tags message-controller
  4184 + * @produces *
  4185 + * @consumes application/json
  4186 + */
  4187 +export const postOrderErpMessageReadAll = /* #__PURE__ */ (() => {
  4188 + const method = 'post';
  4189 + const url = '/order/erp/message/readAll';
  4190 + function request(): Promise<PostOrderErpMessageReadAllResponseSuccess> {
  4191 + return requester(request.url, {
  4192 + method: request.method,
  4193 + }) as unknown as Promise<PostOrderErpMessageReadAllResponseSuccess>;
  4194 + }
  4195 +
  4196 + /** http method */
  4197 + request.method = method;
  4198 + /** request url */
  4199 + request.url = url;
  4200 + return request;
  4201 +})();
  4202 +
4162 /** @description request parameter type for postOrderErpOptLogListByPage */ 4203 /** @description request parameter type for postOrderErpOptLogListByPage */
4163 export interface PostOrderErpOptLogListByPageOption { 4204 export interface PostOrderErpOptLogListByPageOption {
4164 /** 4205 /**