Commit e3479f505b75434dc424f9e47f18bbd9f194c5f2

Authored by zhongnanhuang
1 parent 69baaa5e

feat: update供应商账号信息显示调整

src/pages/Order/components/ModifiedDiffModal.tsx
1 import { postServiceOrderModifiedDiff } from '@/services'; 1 import { postServiceOrderModifiedDiff } from '@/services';
2 import { enumValueToLabel, getAliYunOSSFileNameFromUrl } from '@/utils'; 2 import { enumValueToLabel, getAliYunOSSFileNameFromUrl } from '@/utils';
3 -import { Button, Modal, Space, Table, TableProps } from 'antd'; 3 +import { getReceivingCompanyOptions } from '@/utils/order';
  4 +import { Button, Divider, Modal, Space, Table, TableProps } from 'antd';
4 import Base64 from 'base-64'; 5 import Base64 from 'base-64';
5 import { useEffect, useState } from 'react'; 6 import { useEffect, useState } from 'react';
6 import { 7 import {
  8 + PAYEE_OPTIONS,
7 PRODUCT_BELONG_DEPARTMENT_OPTIONS, 9 PRODUCT_BELONG_DEPARTMENT_OPTIONS,
8 SHIPPING_WAREHOUSE_OPTIONS, 10 SHIPPING_WAREHOUSE_OPTIONS,
9 } from '../constant'; 11 } from '../constant';
10 import '../table.less'; 12 import '../table.less';
11 13
12 -export default ({ setVisible, subOrders, onClose }) => {  
13 - let ids = subOrders?.map((item: any) => { 14 +export default ({ setVisible, subOrders, mainOrder, onClose }) => {
  15 + let subIds = subOrders?.map((item: any) => {
14 return item.id; 16 return item.id;
15 }); 17 });
16 18
17 - const [diffDatas, setDiffDatas] = useState([]); 19 + let mainId = mainOrder?.id;
  20 +
  21 + const [subOrderDiffs, setSubOrderDiffs] = useState([]);
  22 + const [mainOrderDiffs, setMainOrderDiffs] = useState([]);
18 23
19 async function loadData() { 24 async function loadData() {
20 let res = await postServiceOrderModifiedDiff({ 25 let res = await postServiceOrderModifiedDiff({
21 data: { 26 data: {
22 - subOrderIds: ids, 27 + subOrderIds: subIds,
  28 + mainOrderId: mainId,
23 }, 29 },
24 }); 30 });
25 - let datas = res?.data;  
26 - setDiffDatas(datas); 31 + setSubOrderDiffs(res?.data?.subOrderDiffs);
  32 + setMainOrderDiffs(res?.data?.mainOrderDiffs);
27 } 33 }
28 34
29 useEffect(() => { 35 useEffect(() => {
@@ -41,6 +47,12 @@ export default ({ setVisible, subOrders, onClose }) => { @@ -41,6 +47,12 @@ export default ({ setVisible, subOrders, onClose }) => {
41 if (key === '单价' || key === '合计') { 47 if (key === '单价' || key === '合计') {
42 newText = '¥' + newText; 48 newText = '¥' + newText;
43 } 49 }
  50 + if (key === '开票收款单位') {
  51 + newText = enumValueToLabel(
  52 + text,
  53 + getReceivingCompanyOptions(PAYEE_OPTIONS),
  54 + );
  55 + }
44 return newText; 56 return newText;
45 } 57 }
46 58
@@ -73,7 +85,7 @@ export default ({ setVisible, subOrders, onClose }) => { @@ -73,7 +85,7 @@ export default ({ setVisible, subOrders, onClose }) => {
73 return ( 85 return (
74 <div 86 <div
75 title={toChineseName(record.fieldName, value)} 87 title={toChineseName(record.fieldName, value)}
76 - className="max-w-[300px] whitespace-no-wrap overflow-hidden overflow-ellipsis" 88 + className="max-w-[250px] whitespace-no-wrap overflow-hidden overflow-ellipsis"
77 > 89 >
78 <span className={record.isDiff ? 'text-[red]' : ''}> 90 <span className={record.isDiff ? 'text-[red]' : ''}>
79 {toChineseName(record.fieldName, value)} 91 {toChineseName(record.fieldName, value)}
@@ -94,6 +106,16 @@ export default ({ setVisible, subOrders, onClose }) =&gt; { @@ -94,6 +106,16 @@ export default ({ setVisible, subOrders, onClose }) =&gt; {
94 title: '字段名', 106 title: '字段名',
95 dataIndex: 'fieldName', 107 dataIndex: 'fieldName',
96 key: 'fieldName', 108 key: 'fieldName',
  109 + render(value) {
  110 + return (
  111 + <div
  112 + title={value}
  113 + className="max-w-[80px] whitespace-no-wrap overflow-hidden overflow-ellipsis"
  114 + >
  115 + {value}
  116 + </div>
  117 + );
  118 + },
97 }, 119 },
98 { 120 {
99 title: '修改前字段值', 121 title: '修改前字段值',
@@ -113,6 +135,97 @@ export default ({ setVisible, subOrders, onClose }) =&gt; { @@ -113,6 +135,97 @@ export default ({ setVisible, subOrders, onClose }) =&gt; {
113 }, 135 },
114 ]; 136 ];
115 137
  138 + function loadSubOrderDiffTable(item: any, index: any) {
  139 + //转换为表格数据
  140 + let oldDatas = item[0];
  141 + let curDatas = item[1];
  142 + let diffFiledNames = oldDatas?.diffFieldsName;
  143 +
  144 + let tableData = [];
  145 + let visibleFields = [
  146 + ['productName', '商品名称'],
  147 + ['productCode', '商品编码'],
  148 + ['parameters', '商品参数'],
  149 + ['quantity', '数量'],
  150 + ['productPrice', '单价'],
  151 + ['unit', '单位'],
  152 + ['subOrderPayment', '合计'],
  153 + ['productBelongBusiness', '所属事业部'],
  154 + ['shippingWarehouse', '发货仓库'],
  155 + ['notes', '备注'],
  156 + ['listAnnex', '附件'],
  157 + ];
  158 + for (let field of visibleFields) {
  159 + let filedKey = field[0];
  160 + let filedName = field[1];
  161 + tableData.push({
  162 + fieldName: filedName,
  163 + oldValue: oldDatas[filedKey],
  164 + newValue: curDatas[filedKey],
  165 + isDiff: diffFiledNames?.includes(filedKey),
  166 + });
  167 + }
  168 + return (
  169 + <>
  170 + <Divider orientation="left">商品{index + 1}:</Divider>
  171 + <Table
  172 + className="myTable"
  173 + size="small"
  174 + pagination={false}
  175 + key={index}
  176 + columns={columns}
  177 + dataSource={tableData}
  178 + />
  179 + </>
  180 + );
  181 + }
  182 +
  183 + function loadMainOrderDiffTable(item: any, index: any) {
  184 + if (!item || item.length <= 0) {
  185 + return;
  186 + }
  187 + //转换为表格数据
  188 + let oldDatas = item[0];
  189 + let curDatas = item[1];
  190 + let diffFiledNames = oldDatas?.diffFieldsName;
  191 +
  192 + let tableData = [];
  193 + let visibleFields = [
  194 + ['salesCode', '销售代号'],
  195 + ['customerName', '收货人姓名'],
  196 + ['customerContactNumber', '收货人联系手机号'],
  197 + ['customerShippingAddress', '收货人地址信息'],
  198 + ['institutionContactName', '单位联系人'],
  199 + ['institution', '单位'],
  200 + ['totalPayment', '支付总金额'],
  201 + ['notes', '备注'],
  202 + ['bank', '开户银行'],
  203 + ['bankAccountNumber', '银行账号'],
  204 + ['invoiceIdentificationNumber', '开票识别号'],
  205 + ['receivingCompany', '开票收款单位'],
  206 + ];
  207 + for (let field of visibleFields) {
  208 + let filedKey = field[0];
  209 + let filedName = field[1];
  210 + tableData.push({
  211 + fieldName: filedName,
  212 + oldValue: oldDatas[filedKey],
  213 + newValue: curDatas[filedKey],
  214 + isDiff: diffFiledNames?.includes(filedKey),
  215 + });
  216 + }
  217 + return (
  218 + <Table
  219 + className="myTable"
  220 + size="small"
  221 + pagination={false}
  222 + key={index}
  223 + columns={columns}
  224 + dataSource={tableData}
  225 + />
  226 + );
  227 + }
  228 +
116 return ( 229 return (
117 <> 230 <>
118 <Modal 231 <Modal
@@ -125,48 +238,20 @@ export default ({ setVisible, subOrders, onClose }) =&gt; { @@ -125,48 +238,20 @@ export default ({ setVisible, subOrders, onClose }) =&gt; {
125 setVisible(false); 238 setVisible(false);
126 onClose(); 239 onClose();
127 }} 240 }}
  241 + onCancel={() => {
  242 + setVisible(false);
  243 + }}
  244 + cancelButtonProps={{
  245 + hidden: true,
  246 + }}
128 destroyOnClose={true} 247 destroyOnClose={true}
129 > 248 >
130 - {diffDatas?.map((item: any, index) => {  
131 - //转换为表格数据  
132 - let oldDatas = item[0];  
133 - let curDatas = item[1];  
134 - let diffFiledNames = oldDatas?.diffFieldsName; 249 + <Divider>主订单信息:</Divider>
  250 + {loadMainOrderDiffTable(mainOrderDiffs, 0)}
135 251
136 - let tableData = [];  
137 - let visibleFields = [  
138 - ['productName', '商品名称'],  
139 - ['productCode', '商品编码'],  
140 - ['parameters', '商品参数'],  
141 - ['quantity', '数量'],  
142 - ['productPrice', '单价'],  
143 - ['unit', '单位'],  
144 - ['subOrderPayment', '合计'],  
145 - ['productBelongBusiness', '所属事业部'],  
146 - ['shippingWarehouse', '发货仓库'],  
147 - ['notes', '备注'],  
148 - ['listAnnex', '附件'],  
149 - ];  
150 - for (let field of visibleFields) {  
151 - let filedKey = field[0];  
152 - let filedName = field[1];  
153 - tableData.push({  
154 - fieldName: filedName,  
155 - oldValue: oldDatas[filedKey],  
156 - newValue: curDatas[filedKey],  
157 - isDiff: diffFiledNames?.includes(filedKey),  
158 - });  
159 - }  
160 - return (  
161 - <Table  
162 - className="myTable"  
163 - size="small"  
164 - pagination={false}  
165 - key={index}  
166 - columns={columns}  
167 - dataSource={tableData}  
168 - />  
169 - ); 252 + <Divider>子订单信息:</Divider>
  253 + {subOrderDiffs?.map((item: any, index) => {
  254 + return loadSubOrderDiffTable(item, index);
170 })} 255 })}
171 </Modal> 256 </Modal>
172 </> 257 </>
src/pages/Order/components/ProcureCheckModal.tsx
@@ -13,9 +13,10 @@ import { Button, Form, Input, Popconfirm, message } from &#39;antd&#39;; @@ -13,9 +13,10 @@ import { Button, Form, Input, Popconfirm, message } from &#39;antd&#39;;
13 import { useState } from 'react'; 13 import { useState } from 'react';
14 export default ({ setCheckVisible, isMainOrder, orders, onClose }) => { 14 export default ({ setCheckVisible, isMainOrder, orders, onClose }) => {
15 const [form] = Form.useForm<{ supplier: string }>(); 15 const [form] = Form.useForm<{ supplier: string }>();
16 - console.log(isMainOrder);  
17 const [checkNotes, setCheckNotes] = useState<string>(''); 16 const [checkNotes, setCheckNotes] = useState<string>('');
18 17
  18 + console.log(isMainOrder);
  19 +
19 let ids: any[] = orders.map((order: any) => order.id); 20 let ids: any[] = orders.map((order: any) => order.id);
20 async function doCheck(body: object) { 21 async function doCheck(body: object) {
21 const data = await postServiceOrderProcureCheckOrder({ 22 const data = await postServiceOrderProcureCheckOrder({
src/pages/Order/components/ProcureConvertModal.tsx
@@ -16,15 +16,7 @@ export default ({ setVisible, subOrders, onClose }) =&gt; { @@ -16,15 +16,7 @@ export default ({ setVisible, subOrders, onClose }) =&gt; {
16 procureConvertNotes: string; 16 procureConvertNotes: string;
17 }>(); 17 }>();
18 18
19 - // const [checkNotes, setCheckNotes] = useState<string>('');  
20 -  
21 - let subOrderIds: any[] = [];  
22 - //是单条子订单审核  
23 - if (subOrders === undefined) {  
24 - subOrderIds = [data.id];  
25 - } else {  
26 - subOrderIds = subOrders.map((subOrder) => subOrder.id);  
27 - } 19 + let subOrderIds: any[] = subOrders?.map((subOrder) => subOrder.id);
28 20
29 return ( 21 return (
30 <ModalForm<{ 22 <ModalForm<{
@@ -100,7 +92,6 @@ export default ({ setVisible, subOrders, onClose }) =&gt; { @@ -100,7 +92,6 @@ export default ({ setVisible, subOrders, onClose }) =&gt; {
100 label="转发备注" 92 label="转发备注"
101 width="lg" 93 width="lg"
102 name="procureConvertNotes" 94 name="procureConvertNotes"
103 - // options={options}  
104 placeholder="请填写转发备注" 95 placeholder="请填写转发备注"
105 /> 96 />
106 </ModalForm> 97 </ModalForm>
src/pages/Order/constant.ts
@@ -168,6 +168,13 @@ export const ORDER_STATUS_OPTIONS = { @@ -168,6 +168,13 @@ export const ORDER_STATUS_OPTIONS = {
168 PROCURE_CONVERT_WAREHOUSE_KEEPER: '采购转仓库', 168 PROCURE_CONVERT_WAREHOUSE_KEEPER: '采购转仓库',
169 }; 169 };
170 170
  171 +export const MODIFIED_AUDIT_STATUS_OPTIONS = {
  172 + AUDIT_FAILURE: '审核成功',
  173 + PENDING_AUDIT_FOR_CURRENT_NODE_PERSONNEL: '当前节点人员待审核',
  174 + LEADER_PENDING_AUDIT: '领导待审核',
  175 + AUDIT_SUCCESS: '审核成功',
  176 +};
  177 +
171 /** 178 /**
172 * 采购筛选订单的主要订单状态 179 * 采购筛选订单的主要订单状态
173 */ 180 */
@@ -198,6 +205,10 @@ export const AFTER_INVOICING_STATUS = { @@ -198,6 +205,10 @@ export const AFTER_INVOICING_STATUS = {
198 }; 205 };
199 206
200 export const TAGS_COLOR = new Map<string, string>([ 207 export const TAGS_COLOR = new Map<string, string>([
  208 + ['AUDIT_FAILURE', 'error'],
  209 + ['PENDING_AUDIT_FOR_CURRENT_NODE_PERSONNEL', 'processing'],
  210 + ['LEADER_PENDING_AUDIT', 'processing'],
  211 + ['AUDIT_SUCCESS', 'success'],
201 ['UN_INVOICE', 'success'], 212 ['UN_INVOICE', 'success'],
202 ['LEADER_PROCESS', 'processing'], 213 ['LEADER_PROCESS', 'processing'],
203 ['MODIFY_APPLY_WAIT_FOR_AUDIT', 'processing'], 214 ['MODIFY_APPLY_WAIT_FOR_AUDIT', 'processing'],
src/pages/Order/index.tsx
@@ -89,6 +89,7 @@ import { @@ -89,6 +89,7 @@ import {
89 CHECK_TYPE, 89 CHECK_TYPE,
90 LOGISTICS_STATUS_OPTIONS, 90 LOGISTICS_STATUS_OPTIONS,
91 MAIN_ORDER_COLUMNS, 91 MAIN_ORDER_COLUMNS,
  92 + MODIFIED_AUDIT_STATUS_OPTIONS,
92 ORDER_STATUS_OPTIONS, 93 ORDER_STATUS_OPTIONS,
93 PAYEE_OPTIONS, 94 PAYEE_OPTIONS,
94 PAYMENT_CHANNEL_OPTIONS, 95 PAYMENT_CHANNEL_OPTIONS,
@@ -275,6 +276,7 @@ const OrderPage = () =&gt; { @@ -275,6 +276,7 @@ const OrderPage = () =&gt; {
275 function clearOptObject() { 276 function clearOptObject() {
276 setCurrentMainId(undefined); 277 setCurrentMainId(undefined);
277 setCurretnOptSubId(undefined); 278 setCurretnOptSubId(undefined);
  279 + setIsMainOrder(false);
278 } 280 }
279 281
280 /** 282 /**
@@ -541,12 +543,20 @@ const OrderPage = () =&gt; { @@ -541,12 +543,20 @@ const OrderPage = () =&gt; {
541 <Flex className="w-[13%]"> 543 <Flex className="w-[13%]">
542 <span className="font-medium">交易金额</span> 544 <span className="font-medium">交易金额</span>
543 </Flex> 545 </Flex>
544 - <Flex className="w-[10%]">  
545 - <span className="font-medium">支付</span>  
546 - </Flex>  
547 - <Flex className="w-[12%]">  
548 - <span className="font-medium">其他</span>  
549 - </Flex> 546 +
  547 + {userInfo.username !== '首能' ? (
  548 + <>
  549 + <Flex className="w-[10%]">
  550 + <span className="font-medium">支付</span>
  551 + </Flex>
  552 + <Flex className="w-[12%]">
  553 + <span className="font-medium">其他</span>
  554 + </Flex>
  555 + </>
  556 + ) : (
  557 + ''
  558 + )}
  559 +
550 <Flex className="w-[10%]"> 560 <Flex className="w-[10%]">
551 <span className="font-medium">交易状态</span> 561 <span className="font-medium">交易状态</span>
552 </Flex> 562 </Flex>
@@ -777,15 +787,17 @@ const OrderPage = () =&gt; { @@ -777,15 +787,17 @@ const OrderPage = () =&gt; {
777 '' 787 ''
778 )} 788 )}
779 {optRecord.modified ? ( 789 {optRecord.modified ? (
780 - <span  
781 - className="text-[#f44e4e] cursor-pointer"  
782 - onClick={async () => {  
783 - createOptObject(optRecord.id, record.id);  
784 - setModifiedDiffModalVisible(true);  
785 - }}  
786 - >  
787 - (修改过)  
788 - </span> 790 + <Tooltip title="点击查看详情">
  791 + <span
  792 + className="text-[#f44e4e] cursor-pointer"
  793 + onClick={async () => {
  794 + createOptObject(optRecord.id, record.id);
  795 + setModifiedDiffModalVisible(true);
  796 + }}
  797 + >
  798 + (修改过)
  799 + </span>
  800 + </Tooltip>
789 ) : ( 801 ) : (
790 '' 802 ''
791 )} 803 )}
@@ -805,27 +817,34 @@ const OrderPage = () =&gt; { @@ -805,27 +817,34 @@ const OrderPage = () =&gt; {
805 参数:{optRecord.parameters} 817 参数:{optRecord.parameters}
806 </span> 818 </span>
807 </div> 819 </div>
808 - <Flex title={optRecord.notes}>  
809 - <div className="max-w-[375px] whitespace-no-wrap overflow-hidden overflow-ellipsis">  
810 - <span className="text-[#8C8C8C]">  
811 - 备注:  
812 - {optRecord.notes === null ? '暂无备注' : optRecord.notes}  
813 - </span>  
814 - </div>  
815 - {/* 编辑备注按钮 */}  
816 - <EditTwoTone  
817 - className="pl-1 hover:curcor-pointer"  
818 - onClick={() => {  
819 - setNotesEditVisible(true);  
820 - setSelectedRows([optRecord.id]);  
821 - setNotes(optRecord.notes);  
822 - setNotesType(1);  
823 - }}  
824 - />  
825 - </Flex>  
826 - {roleCode === 'procure' ||  
827 - roleCode === 'warehouseKeeper' ||  
828 - roleCode === 'admin' ? ( 820 +
  821 + {userInfo.username !== '首能' ? (
  822 + <Flex title={optRecord.notes}>
  823 + <div className="max-w-[375px] whitespace-no-wrap overflow-hidden overflow-ellipsis">
  824 + <span className="text-[#8C8C8C]">
  825 + 备注:
  826 + {optRecord.notes === null ? '暂无备注' : optRecord.notes}
  827 + </span>
  828 + </div>
  829 + {/* 编辑备注按钮 */}
  830 + <EditTwoTone
  831 + className="pl-1 hover:curcor-pointer"
  832 + onClick={() => {
  833 + setNotesEditVisible(true);
  834 + setSelectedRows([optRecord.id]);
  835 + setNotes(optRecord.notes);
  836 + setNotesType(1);
  837 + }}
  838 + />
  839 + </Flex>
  840 + ) : (
  841 + ''
  842 + )}
  843 +
  844 + {(roleCode === 'procure' ||
  845 + roleCode === 'warehouseKeeper' ||
  846 + roleCode === 'admin') &&
  847 + userInfo.username !== '首能' ? (
829 <> 848 <>
830 <Flex title={optRecord.supplierName}> 849 <Flex title={optRecord.supplierName}>
831 <div className="max-w-[90%] whitespace-no-wrap overflow-hidden overflow-ellipsis"> 850 <div className="max-w-[90%] whitespace-no-wrap overflow-hidden overflow-ellipsis">
@@ -899,13 +918,22 @@ const OrderPage = () =&gt; { @@ -899,13 +918,22 @@ const OrderPage = () =&gt; {
899 )} */} 918 )} */}
900 </Flex> 919 </Flex>
901 <Flex className="w-[13%]" vertical gap="small"> 920 <Flex className="w-[13%]" vertical gap="small">
902 - <div  
903 - className="overflow-hidden whitespace-no-wrap overflow-ellipsis"  
904 - title={optRecord.productPrice}  
905 - >  
906 - <span className="text-[#8C8C8C]">单价:</span>  
907 - <span className="text-slate-700">¥{optRecord.productPrice}</span>  
908 - </div> 921 + {userInfo.username !== '首能' ? (
  922 + <>
  923 + <div
  924 + className="overflow-hidden whitespace-no-wrap overflow-ellipsis"
  925 + title={optRecord.productPrice}
  926 + >
  927 + <span className="text-[#8C8C8C]">单价:</span>
  928 + <span className="text-slate-700">
  929 + ¥{optRecord.productPrice}
  930 + </span>
  931 + </div>
  932 + </>
  933 + ) : (
  934 + ''
  935 + )}
  936 +
909 <div 937 <div
910 className="overflow-hidden whitespace-no-wrap overflow-ellipsis" 938 className="overflow-hidden whitespace-no-wrap overflow-ellipsis"
911 title={optRecord.quantity} 939 title={optRecord.quantity}
@@ -916,143 +944,166 @@ const OrderPage = () =&gt; { @@ -916,143 +944,166 @@ const OrderPage = () =&gt; {
916 </span> 944 </span>
917 <span className="text-[#8C8C8C]">{optRecord.unit}</span> 945 <span className="text-[#8C8C8C]">{optRecord.unit}</span>
918 </div> 946 </div>
919 - <div  
920 - className="overflow-hidden whitespace-no-wrap overflow-ellipsis"  
921 - title={optRecord.subOrderPayment}  
922 - >  
923 - <span className="text-[#8C8C8C]">合计:</span>  
924 - <span className="text-slate-700">  
925 - ¥{optRecord.subOrderPayment}  
926 - </span>  
927 - </div>  
928 - </Flex>  
929 - <Flex className="w-[10%]" vertical gap="small">  
930 - {/* 支付方式 */}  
931 - <div className="overflow-hidden whitespace-no-wrap overflow-ellipsis">  
932 - <span className="text-slate-700">  
933 - {enumValueToLabel(  
934 - optRecord.paymentMethod,  
935 - PAYMENT_METHOD_OPTIONS,  
936 - )}  
937 - </span>  
938 - </div>  
939 - {/* 支付渠道 */}  
940 - <div className="overflow-hidden whitespace-no-wrap overflow-ellipsis">  
941 - <span className="text-slate-700">  
942 - {enumValueToLabel(  
943 - optRecord.paymentChannel,  
944 - PAYMENT_CHANNEL_OPTIONS,  
945 - )}  
946 - </span>  
947 - </div>  
948 - </Flex>  
949 - <Flex className="w-[13%]" vertical gap="small">  
950 - {/* 所属部门 */}  
951 - <div  
952 - className="overflow-hidden whitespace-no-wrap overflow-ellipsis"  
953 - title={enumValueToLabel(  
954 - optRecord.productBelongBusiness,  
955 - PRODUCT_BELONG_DEPARTMENT_OPTIONS,  
956 - )}  
957 - >  
958 - <span className="text-slate-700">  
959 - {enumValueToLabel(  
960 - optRecord.productBelongBusiness,  
961 - PRODUCT_BELONG_DEPARTMENT_OPTIONS,  
962 - )}  
963 - </span>  
964 - </div>  
965 947
966 - {/* 开票类型 */}  
967 - {optRecord.invoicingStatus !== null ? (  
968 - <div className="overflow-hidden whitespace-no-wrap overflow-ellipsis"> 948 + {userInfo.username !== '首能' ? (
  949 + <div
  950 + className="overflow-hidden whitespace-no-wrap overflow-ellipsis"
  951 + title={optRecord.subOrderPayment}
  952 + >
  953 + <span className="text-[#8C8C8C]">合计:</span>
969 <span className="text-slate-700"> 954 <span className="text-slate-700">
970 - {getInvoicingType(optRecord)} 955 + ¥{optRecord.subOrderPayment}
971 </span> 956 </span>
972 </div> 957 </div>
973 ) : ( 958 ) : (
974 '' 959 ''
975 )} 960 )}
  961 + </Flex>
976 962
977 - {/* 开票状态 */}  
978 - <div className="overflow-hidden whitespace-no-wrap overflow-ellipsis">  
979 - <span className="text-slate-700">  
980 - {enumValueToLabel(  
981 - optRecord.afterInvoicingStatus,  
982 - AFTER_INVOICING_STATUS,  
983 - )}  
984 - </span>  
985 - </div>  
986 -  
987 - {/* 是否加急图标显示 */}  
988 - {optRecord.isUrgent ? (  
989 - <div className="overflow-hidden whitespace-no-wrap overflow-ellipsis">  
990 - <Tooltip  
991 - title={'期望开票时间:' + formatdate(optRecord.deadline)}  
992 - >  
993 - <Tag color="red">加急开票</Tag>  
994 - </Tooltip>  
995 - </div> 963 + <Flex className="w-[10%]" vertical gap="small">
  964 + {userInfo.username !== '首能' ? (
  965 + <>
  966 + {/* 支付方式 */}
  967 + <div className="overflow-hidden whitespace-no-wrap overflow-ellipsis">
  968 + <span className="text-slate-700">
  969 + {enumValueToLabel(
  970 + optRecord.paymentMethod,
  971 + PAYMENT_METHOD_OPTIONS,
  972 + )}
  973 + </span>
  974 + </div>
  975 + {/* 支付渠道 */}
  976 + <div className="overflow-hidden whitespace-no-wrap overflow-ellipsis">
  977 + <span className="text-slate-700">
  978 + {enumValueToLabel(
  979 + optRecord.paymentChannel,
  980 + PAYMENT_CHANNEL_OPTIONS,
  981 + )}
  982 + </span>
  983 + </div>
  984 + </>
996 ) : ( 985 ) : (
997 '' 986 ''
998 )} 987 )}
  988 + </Flex>
  989 + <Flex className="w-[13%]" vertical gap="small">
  990 + {userInfo.username !== '首能' ? (
  991 + <>
  992 + {/* 所属部门 */}
  993 + <div
  994 + className="overflow-hidden whitespace-no-wrap overflow-ellipsis"
  995 + title={enumValueToLabel(
  996 + optRecord.productBelongBusiness,
  997 + PRODUCT_BELONG_DEPARTMENT_OPTIONS,
  998 + )}
  999 + >
  1000 + <span className="text-slate-700">
  1001 + {enumValueToLabel(
  1002 + optRecord.productBelongBusiness,
  1003 + PRODUCT_BELONG_DEPARTMENT_OPTIONS,
  1004 + )}
  1005 + </span>
  1006 + </div>
999 1007
1000 - {(roleCode === 'warehouseKeeper' || roleCode === 'admin') &&  
1001 - optRecord.shippingWarehouse !== null ? (  
1002 - <div  
1003 - className="overflow-hidden whitespace-no-wrap overflow-ellipsis"  
1004 - title={enumValueToLabel(  
1005 - optRecord.shippingWarehouse,  
1006 - SHIPPING_WAREHOUSE_OPTIONS, 1008 + {/* 开票类型 */}
  1009 + {optRecord.invoicingStatus !== null ? (
  1010 + <div className="overflow-hidden whitespace-no-wrap overflow-ellipsis">
  1011 + <span className="text-slate-700">
  1012 + {getInvoicingType(optRecord)}
  1013 + </span>
  1014 + </div>
  1015 + ) : (
  1016 + ''
1007 )} 1017 )}
1008 - >  
1009 - <span className="text-slate-700">  
1010 - {enumValueToLabel(  
1011 - optRecord.shippingWarehouse,  
1012 - SHIPPING_WAREHOUSE_OPTIONS, 1018 +
  1019 + {/* 开票状态 */}
  1020 + <div className="overflow-hidden whitespace-no-wrap overflow-ellipsis">
  1021 + <span className="text-slate-700">
  1022 + {enumValueToLabel(
  1023 + optRecord.afterInvoicingStatus,
  1024 + AFTER_INVOICING_STATUS,
  1025 + )}
  1026 + </span>
  1027 + </div>
  1028 +
  1029 + {/* 是否加急图标显示 */}
  1030 + {optRecord.isUrgent ? (
  1031 + <div className="overflow-hidden whitespace-no-wrap overflow-ellipsis">
  1032 + <Tooltip
  1033 + title={'期望开票时间:' + formatdate(optRecord.deadline)}
  1034 + >
  1035 + <Tag color="red">加急开票</Tag>
  1036 + </Tooltip>
  1037 + </div>
  1038 + ) : (
  1039 + ''
  1040 + )}
  1041 +
  1042 + {(roleCode === 'warehouseKeeper' || roleCode === 'admin') &&
  1043 + optRecord.shippingWarehouse !== null ? (
  1044 + <div
  1045 + className="overflow-hidden whitespace-no-wrap overflow-ellipsis"
  1046 + title={enumValueToLabel(
  1047 + optRecord.shippingWarehouse,
  1048 + SHIPPING_WAREHOUSE_OPTIONS,
  1049 + )}
  1050 + >
  1051 + <span className="text-slate-700">
  1052 + {enumValueToLabel(
  1053 + optRecord.shippingWarehouse,
  1054 + SHIPPING_WAREHOUSE_OPTIONS,
  1055 + )}
  1056 + </span>
  1057 + </div>
  1058 + ) : (
  1059 + ''
  1060 + )}
  1061 +
  1062 + {/* 生产时间 */}
  1063 + <div className="overflow-hidden whitespace-no-wrap overflow-ellipsis">
  1064 + {optRecord.productionStartTime !== null ||
  1065 + optRecord.productionEndTime !== null ? (
  1066 + <MyToolTip
  1067 + title={
  1068 + formatdate(optRecord.productionStartTime) +
  1069 + ' 至 ' +
  1070 + formatdate(optRecord.productionEndTime)
  1071 + }
  1072 + content={
  1073 + <Button type="link" size="small" style={{ padding: 0 }}>
  1074 + 生产时间
  1075 + </Button>
  1076 + }
  1077 + />
  1078 + ) : (
  1079 + ''
1013 )} 1080 )}
1014 - </span>  
1015 - </div> 1081 + </div>
  1082 + </>
1016 ) : ( 1083 ) : (
1017 '' 1084 ''
1018 )} 1085 )}
1019 -  
1020 - {/* 生产时间 */}  
1021 - <div className="overflow-hidden whitespace-no-wrap overflow-ellipsis">  
1022 - {optRecord.productionStartTime !== null ||  
1023 - optRecord.productionEndTime !== null ? (  
1024 - <MyToolTip  
1025 - title={  
1026 - formatdate(optRecord.productionStartTime) +  
1027 - ' 至 ' +  
1028 - formatdate(optRecord.productionEndTime)  
1029 - }  
1030 - content={  
1031 - <Button type="link" size="small" style={{ padding: 0 }}>  
1032 - 生产时间  
1033 - </Button>  
1034 - }  
1035 - />  
1036 - ) : (  
1037 - ''  
1038 - )}  
1039 - </div>  
1040 </Flex> 1086 </Flex>
1041 1087
1042 <Flex className="w-[10%]" vertical gap="small"> 1088 <Flex className="w-[10%]" vertical gap="small">
1043 {/* 开票状态 */} 1089 {/* 开票状态 */}
1044 - <div className="overflow-hidden whitespace-no-wrap overflow-ellipsis">  
1045 - <Tag  
1046 - color={  
1047 - optRecord.invoicingTime === null ||  
1048 - optRecord.invoicingTime === undefined  
1049 - ? TAGS_COLOR.get(optRecord.invoicingStatus)  
1050 - : 'success'  
1051 - }  
1052 - >  
1053 - {getNeedInvoicing(optRecord)}  
1054 - </Tag>  
1055 - </div> 1090 + {userInfo.username !== '首能' ? (
  1091 + <div className="overflow-hidden whitespace-no-wrap overflow-ellipsis">
  1092 + <Tag
  1093 + color={
  1094 + optRecord.invoicingTime === null ||
  1095 + optRecord.invoicingTime === undefined
  1096 + ? TAGS_COLOR.get(optRecord.invoicingStatus)
  1097 + : 'success'
  1098 + }
  1099 + >
  1100 + {getNeedInvoicing(optRecord)}
  1101 + </Tag>
  1102 + </div>
  1103 + ) : (
  1104 + ''
  1105 + )}
  1106 +
1056 {/* 订单状态 */} 1107 {/* 订单状态 */}
1057 <div className="overflow-hidden whitespace-no-wrap overflow-ellipsis"> 1108 <div className="overflow-hidden whitespace-no-wrap overflow-ellipsis">
1058 {getOrderStatusTag(optRecord)} 1109 {getOrderStatusTag(optRecord)}
@@ -1110,6 +1161,27 @@ const OrderPage = () =&gt; { @@ -1110,6 +1161,27 @@ const OrderPage = () =&gt; {
1110 ) : ( 1161 ) : (
1111 '' 1162 ''
1112 )} 1163 )}
  1164 +
  1165 + {/* 修改审核状态 */}
  1166 + {optRecord.modifiedAuditStatus !== null ? (
  1167 + <div className="overflow-hidden whitespace-no-wrap overflow-ellipsis">
  1168 + <Tooltip
  1169 + title={enumValueToLabel(
  1170 + optRecord.modifiedAuditStatus,
  1171 + MODIFIED_AUDIT_STATUS_OPTIONS,
  1172 + )}
  1173 + >
  1174 + <Tag color={TAGS_COLOR.get(optRecord.modifiedAuditStatus)}>
  1175 + {enumValueToLabel(
  1176 + optRecord.modifiedAuditStatus,
  1177 + MODIFIED_AUDIT_STATUS_OPTIONS,
  1178 + )}
  1179 + </Tag>
  1180 + </Tooltip>
  1181 + </div>
  1182 + ) : (
  1183 + ''
  1184 + )}
1113 </div> 1185 </div>
1114 </Flex> 1186 </Flex>
1115 <Flex className="w-[18%]" wrap="wrap" gap="small"> 1187 <Flex className="w-[18%]" wrap="wrap" gap="small">
@@ -1136,8 +1208,7 @@ const OrderPage = () =&gt; { @@ -1136,8 +1208,7 @@ const OrderPage = () =&gt; {
1136 className="p-0" 1208 className="p-0"
1137 type="link" 1209 type="link"
1138 onClick={() => { 1210 onClick={() => {
1139 - setCurrentMainId(record.id);  
1140 - setCurretnOptSubId(optRecord.id); 1211 + createOptObject(optRecord.id, record.id);
1141 setCheckVisible(true); 1212 setCheckVisible(true);
1142 setOrderCheckType(CHECK_TYPE.WAITING_FOR_POST_AUDIT); 1213 setOrderCheckType(CHECK_TYPE.WAITING_FOR_POST_AUDIT);
1143 }} 1214 }}
@@ -1148,6 +1219,22 @@ const OrderPage = () =&gt; { @@ -1148,6 +1219,22 @@ const OrderPage = () =&gt; {
1148 '' 1219 ''
1149 )} 1220 )}
1150 1221
  1222 + {optRecord.subPath?.includes('modifiedAuditRequest') ? (
  1223 + <Button
  1224 + className="p-0"
  1225 + type="link"
  1226 + onClick={() => {
  1227 + createOptObject(optRecord.id, record.id);
  1228 + setCheckVisible(true);
  1229 + setOrderCheckType(CHECK_TYPE.WAITING_FOR_POST_AUDIT);
  1230 + }}
  1231 + >
  1232 + 修改审核
  1233 + </Button>
  1234 + ) : (
  1235 + ''
  1236 + )}
  1237 +
1151 {optRecord.subPath?.includes('shippingWarehouseChangeRequest') ? ( 1238 {optRecord.subPath?.includes('shippingWarehouseChangeRequest') ? (
1152 <Button 1239 <Button
1153 className="p-0" 1240 className="p-0"
@@ -1486,7 +1573,7 @@ const OrderPage = () =&gt; { @@ -1486,7 +1573,7 @@ const OrderPage = () =&gt; {
1486 className="p-0" 1573 className="p-0"
1487 type="link" 1574 type="link"
1488 onClick={() => { 1575 onClick={() => {
1489 - setSelectedRows([optRecord]); 1576 + createOptObject(optRecord.id, record.id);
1490 setOrderCheckType(CHECK_TYPE.PROCURE); 1577 setOrderCheckType(CHECK_TYPE.PROCURE);
1491 setProcureConvertModalVisible(true); 1578 setProcureConvertModalVisible(true);
1492 }} 1579 }}
@@ -1831,6 +1918,21 @@ const OrderPage = () =&gt; { @@ -1831,6 +1918,21 @@ const OrderPage = () =&gt; {
1831 <div> 1918 <div>
1832 <span className="text-[#8C8C8C]">订单号:</span> 1919 <span className="text-[#8C8C8C]">订单号:</span>
1833 <span className="text-slate-700">{record.id}</span> 1920 <span className="text-slate-700">{record.id}</span>
  1921 + {record.modified ? (
  1922 + <Tooltip title="点击查看详情">
  1923 + <span
  1924 + className="text-[#f44e4e] cursor-pointer"
  1925 + onClick={async () => {
  1926 + createOptObject(null, record.id);
  1927 + setModifiedDiffModalVisible(true);
  1928 + }}
  1929 + >
  1930 + (修改过)
  1931 + </span>
  1932 + </Tooltip>
  1933 + ) : (
  1934 + ''
  1935 + )}
1834 </div> 1936 </div>
1835 </Space> 1937 </Space>
1836 </Checkbox> 1938 </Checkbox>
@@ -1848,38 +1950,66 @@ const OrderPage = () =&gt; { @@ -1848,38 +1950,66 @@ const OrderPage = () =&gt; {
1848 <span>{formatDateTime(record.createTime)}</span> 1950 <span>{formatDateTime(record.createTime)}</span>
1849 <Divider type="vertical" /> 1951 <Divider type="vertical" />
1850 <Space split={<Divider type="vertical" />}> 1952 <Space split={<Divider type="vertical" />}>
1851 - <div>  
1852 - <span className="text-[#8C8C8C]">代表:</span>  
1853 - <span className="text-slate-700">{record.salesCode}</span>  
1854 - </div>  
1855 - <div  
1856 - title={record.institution}  
1857 - className="whitespace-no-wrap overflow-hidden overflow-ellipsis max-w-[150px]"  
1858 - >  
1859 - <span className="text-[#8C8C8C]">单位:</span>  
1860 - <span className="text-slate-700">{record.institution}</span>  
1861 - </div>  
1862 - <span>  
1863 - <span className="text-[#8C8C8C]">联系人:</span>  
1864 - <span className="text-slate-700">  
1865 - {record.institutionContactName + ' '}  
1866 - </span>  
1867 - </span> 1953 + {userInfo?.username !== '首能' ? (
  1954 + <>
  1955 + <div>
  1956 + <span className="text-[#8C8C8C]">代表:</span>
  1957 + <span className="text-slate-700">
  1958 + {record.salesCode}
  1959 + </span>
  1960 + </div>
  1961 + <div
  1962 + title={record.institution}
  1963 + className="whitespace-no-wrap overflow-hidden overflow-ellipsis max-w-[150px]"
  1964 + >
  1965 + <span className="text-[#8C8C8C]">单位:</span>
  1966 + <span className="text-slate-700">
  1967 + {record.institution}
  1968 + </span>
  1969 + </div>
  1970 + <span>
  1971 + <span className="text-[#8C8C8C]">联系人:</span>
  1972 + <span className="text-slate-700">
  1973 + {record.institutionContactName + ' '}
  1974 + </span>
  1975 + </span>
  1976 + </>
  1977 + ) : (
  1978 + ''
  1979 + )}
1868 <span> 1980 <span>
1869 <span className="text-[#8C8C8C]">收货人:</span> 1981 <span className="text-[#8C8C8C]">收货人:</span>
1870 <span className="text-slate-700"> 1982 <span className="text-slate-700">
1871 {record.customerName + ' '} 1983 {record.customerName + ' '}
1872 - <Tooltip className="order-tooltip" title="详情">  
1873 - <ContainerTwoTone  
1874 - className="hover:curcor-pointer"  
1875 - onClick={() => {  
1876 - createOptObject(null, record.id);  
1877 - setDeliverInfoDrawerVisible(true);  
1878 - }}  
1879 - />  
1880 - </Tooltip> 1984 +
  1985 + {userInfo?.username !== '首能' ? (
  1986 + <Tooltip className="order-tooltip" title="详情">
  1987 + <ContainerTwoTone
  1988 + className="hover:curcor-pointer"
  1989 + onClick={() => {
  1990 + createOptObject(null, record.id);
  1991 + setDeliverInfoDrawerVisible(true);
  1992 + }}
  1993 + />
  1994 + </Tooltip>
  1995 + ) : (
  1996 + ''
  1997 + )}
1881 </span> 1998 </span>
1882 </span> 1999 </span>
  2000 + {userInfo?.username === '首能' ? (
  2001 + <div
  2002 + title={record.customerShippingAddress}
  2003 + className="whitespace-no-wrap overflow-hidden overflow-ellipsis max-w-[500px]"
  2004 + >
  2005 + <span className="text-[#8C8C8C]">收货地址:</span>
  2006 + <span className="text-slate-700">
  2007 + {record.customerShippingAddress}
  2008 + </span>
  2009 + </div>
  2010 + ) : (
  2011 + ''
  2012 + )}
1883 </Space> 2013 </Space>
1884 </Flex> 2014 </Flex>
1885 </Flex> 2015 </Flex>
@@ -1932,48 +2062,54 @@ const OrderPage = () =&gt; { @@ -1932,48 +2062,54 @@ const OrderPage = () =&gt; {
1932 <Flex wrap="wrap" gap="middle" vertical> 2062 <Flex wrap="wrap" gap="middle" vertical>
1933 <Flex justify="flex-end"> 2063 <Flex justify="flex-end">
1934 <Flex wrap="wrap" gap="middle" align="center"> 2064 <Flex wrap="wrap" gap="middle" align="center">
1935 - <div>  
1936 - <span className="text-[#8C8C8C]">总金额:¥</span>  
1937 - <span className="text-lg font-medium">  
1938 - {record.totalPayment}  
1939 - </span>  
1940 - </div>  
1941 - {rolePath?.includes('addOrder') ? (  
1942 - <Tooltip title="复制">  
1943 - <CopyTwoTone  
1944 - className="hover:cursor-pointer"  
1945 - onClick={() => {  
1946 - createOptObject(null, record.id);  
1947 - copyOrderToClipboard(record);  
1948 - setOrderOptType('copy');  
1949 - setOrderDrawerVisible(true);  
1950 - }}  
1951 - />  
1952 - </Tooltip> 2065 + {userInfo.username !== '首能' ? (
  2066 + <>
  2067 + <div>
  2068 + <span className="text-[#8C8C8C]">总金额:¥</span>
  2069 + <span className="text-lg font-medium">
  2070 + {record.totalPayment}
  2071 + </span>
  2072 + </div>
  2073 + {rolePath?.includes('addOrder') ? (
  2074 + <Tooltip title="复制">
  2075 + <CopyTwoTone
  2076 + className="hover:cursor-pointer"
  2077 + onClick={() => {
  2078 + createOptObject(null, record.id);
  2079 + copyOrderToClipboard(record);
  2080 + setOrderOptType('copy');
  2081 + setOrderDrawerVisible(true);
  2082 + }}
  2083 + />
  2084 + </Tooltip>
  2085 + ) : (
  2086 + <Tooltip title="复制文本">
  2087 + <CopyTwoTone
  2088 + className="hover:cursor-pointer"
  2089 + onClick={() => {
  2090 + copyOrderToClipboard(record);
  2091 + }}
  2092 + />
  2093 + </Tooltip>
  2094 + )}
  2095 +
  2096 + <Tooltip title="历史">
  2097 + <ClockCircleTwoTone
  2098 + className="hover:cursor-pointer"
  2099 + onClick={() => {
  2100 + setHistoryModalVisible(true);
  2101 + if (subOrderSelectedMap.get(record.id)?.length) {
  2102 + setSelectedRows(subOrderSelectedMap.get(record.id));
  2103 + } else {
  2104 + setSelectedRows(record.subOrderInformationLists);
  2105 + }
  2106 + }}
  2107 + />
  2108 + </Tooltip>
  2109 + </>
1953 ) : ( 2110 ) : (
1954 - <Tooltip title="复制文本">  
1955 - <CopyTwoTone  
1956 - className="hover:cursor-pointer"  
1957 - onClick={() => {  
1958 - copyOrderToClipboard(record);  
1959 - }}  
1960 - />  
1961 - </Tooltip> 2111 + ''
1962 )} 2112 )}
1963 -  
1964 - <Tooltip title="历史">  
1965 - <ClockCircleTwoTone  
1966 - className="hover:cursor-pointer"  
1967 - onClick={() => {  
1968 - setHistoryModalVisible(true);  
1969 - if (subOrderSelectedMap.get(record.id)?.length) {  
1970 - setSelectedRows(subOrderSelectedMap.get(record.id));  
1971 - } else {  
1972 - setSelectedRows(record.subOrderInformationLists);  
1973 - }  
1974 - }}  
1975 - />  
1976 - </Tooltip>  
1977 </Flex> 2113 </Flex>
1978 </Flex> 2114 </Flex>
1979 <Flex justify="flex-end"> 2115 <Flex justify="flex-end">
@@ -2185,7 +2321,6 @@ const OrderPage = () =&gt; { @@ -2185,7 +2321,6 @@ const OrderPage = () =&gt; {
2185 selectedSubOrders = record.subOrderInformationLists; 2321 selectedSubOrders = record.subOrderInformationLists;
2186 } 2322 }
2187 2323
2188 - setSelectedRows(selectedSubOrders);  
2189 for (let i = 0; i < selectedSubOrders.length; i++) { 2324 for (let i = 0; i < selectedSubOrders.length; i++) {
2190 if ( 2325 if (
2191 !selectedSubOrders[i].subPath.includes( 2326 !selectedSubOrders[i].subPath.includes(
@@ -2196,7 +2331,7 @@ const OrderPage = () =&gt; { @@ -2196,7 +2331,7 @@ const OrderPage = () =&gt; {
2196 return; 2331 return;
2197 } 2332 }
2198 } 2333 }
2199 - setSelectedRows(selectedSubOrders); 2334 + createOptObject(null, record.id);
2200 setOrderCheckType(CHECK_TYPE.PROCURE); 2335 setOrderCheckType(CHECK_TYPE.PROCURE);
2201 setProcureConvertModalVisible(true); 2336 setProcureConvertModalVisible(true);
2202 }} 2337 }}
@@ -3464,6 +3599,7 @@ const OrderPage = () =&gt; { @@ -3464,6 +3599,7 @@ const OrderPage = () =&gt; {
3464 let orderIds = mainTableFormRef.current?.getFieldValue('id'); 3599 let orderIds = mainTableFormRef.current?.getFieldValue('id');
3465 params.id = params.id || orderIds; 3600 params.id = params.id || orderIds;
3466 if (params.id !== '') { 3601 if (params.id !== '') {
  3602 + params.id = params.id?.replace(/ /g, '');
3467 if (params.id?.indexOf(',')) { 3603 if (params.id?.indexOf(',')) {
3468 params.id = params.id.split(','); 3604 params.id = params.id.split(',');
3469 params.id = params.id.filter((id) => { 3605 params.id = params.id.filter((id) => {
@@ -3526,7 +3662,7 @@ const OrderPage = () =&gt; { @@ -3526,7 +3662,7 @@ const OrderPage = () =&gt; {
3526 subOrders={orderOptType === 'add' ? [] : buildSubOrders()} 3662 subOrders={orderOptType === 'add' ? [] : buildSubOrders()}
3527 onClose={(isSuccess: boolean) => { 3663 onClose={(isSuccess: boolean) => {
3528 setOrderDrawerVisible(false); 3664 setOrderDrawerVisible(false);
3529 - // clearOptObject(); 3665 + clearOptObject();
3530 if (isSuccess) { 3666 if (isSuccess) {
3531 refreshTable(); 3667 refreshTable();
3532 } 3668 }
@@ -3537,7 +3673,12 @@ const OrderPage = () =&gt; { @@ -3537,7 +3673,12 @@ const OrderPage = () =&gt; {
3537 3673
3538 {checkVisible && ( 3674 {checkVisible && (
3539 <CheckModal 3675 <CheckModal
3540 - setCheckVisible={setCheckVisible} 3676 + setCheckVisible={(val: boolean) => {
  3677 + setCheckVisible(val);
  3678 + if (!val) {
  3679 + clearOptObject();
  3680 + }
  3681 + }}
3541 data={isMainOrder ? getFirstMainOrder() : buildMainOrder()} 3682 data={isMainOrder ? getFirstMainOrder() : buildMainOrder()}
3542 subOrders={ 3683 subOrders={
3543 isMainOrder 3684 isMainOrder
@@ -3560,7 +3701,12 @@ const OrderPage = () =&gt; { @@ -3560,7 +3701,12 @@ const OrderPage = () =&gt; {
3560 3701
3561 {applyForInvoicingVisible && ( 3702 {applyForInvoicingVisible && (
3562 <ApplyForInvoicingModal 3703 <ApplyForInvoicingModal
3563 - setCheckVisible={setApplyForInvoicingVisible} 3704 + setCheckVisible={(val: boolean) => {
  3705 + setApplyForInvoicingVisible(val);
  3706 + if (!val) {
  3707 + clearOptObject();
  3708 + }
  3709 + }}
3564 subOrders={ 3710 subOrders={
3565 isMainOrder 3711 isMainOrder
3566 ? [...subOrderSelectedMap.values()].flat() 3712 ? [...subOrderSelectedMap.values()].flat()
@@ -3579,7 +3725,12 @@ const OrderPage = () =&gt; { @@ -3579,7 +3725,12 @@ const OrderPage = () =&gt; {
3579 3725
3580 {notesEditVisible && ( 3726 {notesEditVisible && (
3581 <OrderNotesEditModal 3727 <OrderNotesEditModal
3582 - setNotesEditVisible={setNotesEditVisible} 3728 + setNotesEditVisible={(val: boolean) => {
  3729 + setNotesEditVisible(val);
  3730 + if (!val) {
  3731 + clearOptObject();
  3732 + }
  3733 + }}
3583 ids={selectedRows} 3734 ids={selectedRows}
3584 notesType={notesType} 3735 notesType={notesType}
3585 notes={notes} 3736 notes={notes}
@@ -3597,8 +3748,11 @@ const OrderPage = () =&gt; { @@ -3597,8 +3748,11 @@ const OrderPage = () =&gt; {
3597 <DeliverModal 3748 <DeliverModal
3598 data={buildSubOrders()} 3749 data={buildSubOrders()}
3599 isSendProduct={isSendProduct} 3750 isSendProduct={isSendProduct}
3600 - setVisible={(b: boolean) => {  
3601 - setDeliverVisible(b); 3751 + setVisible={(val: boolean) => {
  3752 + setDeliverVisible(val);
  3753 + if (!val) {
  3754 + clearOptObject();
  3755 + }
3602 }} 3756 }}
3603 sendType={orderCheckType} 3757 sendType={orderCheckType}
3604 onClose={() => { 3758 onClose={() => {
@@ -3643,7 +3797,7 @@ const OrderPage = () =&gt; { @@ -3643,7 +3797,7 @@ const OrderPage = () =&gt; {
3643 isMainOrder={isMainOrder} 3797 isMainOrder={isMainOrder}
3644 setVisible={() => { 3798 setVisible={() => {
3645 setFinancialEditVisible(false); 3799 setFinancialEditVisible(false);
3646 - setIsMainOrder(false); 3800 + clearOptObject();
3647 }} 3801 }}
3648 onClose={() => { 3802 onClose={() => {
3649 setFinancialEditVisible(false); 3803 setFinancialEditVisible(false);
@@ -3659,8 +3813,11 @@ const OrderPage = () =&gt; { @@ -3659,8 +3813,11 @@ const OrderPage = () =&gt; {
3659 mainOrder={buildMainOrder()} 3813 mainOrder={buildMainOrder()}
3660 subOrders={buildSubOrders()} 3814 subOrders={buildSubOrders()}
3661 isRePrint={isRePrintOrder} 3815 isRePrint={isRePrintOrder}
3662 - setVisible={(b: boolean) => {  
3663 - setOrderPrintVisible(b); 3816 + setVisible={(val: boolean) => {
  3817 + setOrderPrintVisible(val);
  3818 + if (!val) {
  3819 + clearOptObject();
  3820 + }
3664 }} 3821 }}
3665 printOptType={orderCheckType} 3822 printOptType={orderCheckType}
3666 onClose={() => { 3823 onClose={() => {
@@ -3685,7 +3842,12 @@ const OrderPage = () =&gt; { @@ -3685,7 +3842,12 @@ const OrderPage = () =&gt; {
3685 3842
3686 {subOrderConfirmReceiptImagesVisible && ( 3843 {subOrderConfirmReceiptImagesVisible && (
3687 <SubOrderComfirmReceiptImagesModal 3844 <SubOrderComfirmReceiptImagesModal
3688 - setVisible={setSubOrderConfirmReceiptImagesVisible} 3845 + setVisible={(val: boolean) => {
  3846 + setSubOrderConfirmReceiptImagesVisible(val);
  3847 + if (!val) {
  3848 + clearOptObject();
  3849 + }
  3850 + }}
3689 onClose={() => { 3851 onClose={() => {
3690 setSubOrderConfirmReceiptImagesVisible(false); 3852 setSubOrderConfirmReceiptImagesVisible(false);
3691 }} 3853 }}
@@ -3719,6 +3881,7 @@ const OrderPage = () =&gt; { @@ -3719,6 +3881,7 @@ const OrderPage = () =&gt; {
3719 onClose={() => { 3881 onClose={() => {
3720 setHistoryModalVisible(false); 3882 setHistoryModalVisible(false);
3721 setSelectedRows({}); 3883 setSelectedRows({});
  3884 + clearOptObject();
3722 }} 3885 }}
3723 /> 3886 />
3724 )} 3887 )}
@@ -3745,7 +3908,12 @@ const OrderPage = () =&gt; { @@ -3745,7 +3908,12 @@ const OrderPage = () =&gt; {
3745 3908
3746 {procureCheckModalVisible && ( 3909 {procureCheckModalVisible && (
3747 <ProcureCheckModal 3910 <ProcureCheckModal
3748 - setCheckVisible={setProcureCheckModalVisible} 3911 + setCheckVisible={(val: boolean) => {
  3912 + setProcureCheckModalVisible(val);
  3913 + if (!val) {
  3914 + clearOptObject();
  3915 + }
  3916 + }}
3749 isMainOrder={isMainOrder} 3917 isMainOrder={isMainOrder}
3750 orders={ 3918 orders={
3751 isMainOrder 3919 isMainOrder
@@ -3763,7 +3931,12 @@ const OrderPage = () =&gt; { @@ -3763,7 +3931,12 @@ const OrderPage = () =&gt; {
3763 3931
3764 {afterSalesDrawerVisible && ( 3932 {afterSalesDrawerVisible && (
3765 <AfterSalesDrawer 3933 <AfterSalesDrawer
3766 - setVisible={setAfterSalesDrawerVisible} 3934 + setVisible={(val: boolean) => {
  3935 + setAfterSalesDrawerVisible(val);
  3936 + if (!val) {
  3937 + clearOptObject();
  3938 + }
  3939 + }}
3767 mainOrder={buildMainOrder()} 3940 mainOrder={buildMainOrder()}
3768 subOrders={buildSubOrders()} 3941 subOrders={buildSubOrders()}
3769 onClose={() => { 3942 onClose={() => {
@@ -3776,11 +3949,16 @@ const OrderPage = () =&gt; { @@ -3776,11 +3949,16 @@ const OrderPage = () =&gt; {
3776 3949
3777 {procureConvertModalVisible && ( 3950 {procureConvertModalVisible && (
3778 <ProcureConvertModal 3951 <ProcureConvertModal
3779 - setVisible={setProcureConvertModalVisible}  
3780 - subOrders={selectedRows} 3952 + setVisible={(val: boolean) => {
  3953 + setProcureConvertModalVisible(val);
  3954 + if (!val) {
  3955 + clearOptObject();
  3956 + }
  3957 + }}
  3958 + subOrders={buildSubOrders()}
3781 onClose={() => { 3959 onClose={() => {
3782 setProcureConvertModalVisible(false); 3960 setProcureConvertModalVisible(false);
3783 - setSelectedRows({}); 3961 + clearOptObject();
3784 refreshTable(); 3962 refreshTable();
3785 }} 3963 }}
3786 /> 3964 />
@@ -3788,7 +3966,12 @@ const OrderPage = () =&gt; { @@ -3788,7 +3966,12 @@ const OrderPage = () =&gt; {
3788 3966
3789 {financialMergeDrawerVisible && ( 3967 {financialMergeDrawerVisible && (
3790 <FinancialMergeDrawer 3968 <FinancialMergeDrawer
3791 - setVisible={setFinancialMergeDrawerVisible} 3969 + setVisible={(val: boolean) => {
  3970 + setFinancialMergeDrawerVisible(val);
  3971 + if (!val) {
  3972 + clearOptObject();
  3973 + }
  3974 + }}
3792 dataList={ 3975 dataList={
3793 isMainOrder 3976 isMainOrder
3794 ? [...subOrderSelectedMap.values()].flat() 3977 ? [...subOrderSelectedMap.values()].flat()
@@ -3805,7 +3988,12 @@ const OrderPage = () =&gt; { @@ -3805,7 +3988,12 @@ const OrderPage = () =&gt; {
3805 3988
3806 {financialReceiptsModalVisible && ( 3989 {financialReceiptsModalVisible && (
3807 <FinancialReceiptsModal 3990 <FinancialReceiptsModal
3808 - setVisible={setFinancialReceiptsModalVisible} 3991 + setVisible={(val: boolean) => {
  3992 + setFinancialReceiptsModalVisible(val);
  3993 + if (!val) {
  3994 + clearOptObject();
  3995 + }
  3996 + }}
3809 datas={selectedRows} 3997 datas={selectedRows}
3810 onClose={() => { 3998 onClose={() => {
3811 setFinancialReceiptsModalVisible(false); 3999 setFinancialReceiptsModalVisible(false);
@@ -3817,7 +4005,12 @@ const OrderPage = () =&gt; { @@ -3817,7 +4005,12 @@ const OrderPage = () =&gt; {
3817 4005
3818 {shippingWarehouseChangeModalVisible && ( 4006 {shippingWarehouseChangeModalVisible && (
3819 <ShippingWarehouseChangeModal 4007 <ShippingWarehouseChangeModal
3820 - setVisible={setShippingWarehouseChangeModalVisible} 4008 + setVisible={(val: boolean) => {
  4009 + setShippingWarehouseChangeModalVisible(val);
  4010 + if (!val) {
  4011 + clearOptObject();
  4012 + }
  4013 + }}
3821 subOrderIds={ids} 4014 subOrderIds={ids}
3822 originShippingWarehouse={buildSubOrders()[0].shippingWarehouse} 4015 originShippingWarehouse={buildSubOrders()[0].shippingWarehouse}
3823 onClose={() => { 4016 onClose={() => {
@@ -3831,7 +4024,12 @@ const OrderPage = () =&gt; { @@ -3831,7 +4024,12 @@ const OrderPage = () =&gt; {
3831 4024
3832 {productionTimeModalVisible && ( 4025 {productionTimeModalVisible && (
3833 <ProductionTimeModal 4026 <ProductionTimeModal
3834 - setVisible={setProductionTimeModalVisible} 4027 + setVisible={(val: boolean) => {
  4028 + setProductionTimeModalVisible(val);
  4029 + if (!val) {
  4030 + clearOptObject();
  4031 + }
  4032 + }}
3835 subOrders={buildSubOrders()} 4033 subOrders={buildSubOrders()}
3836 onClose={() => { 4034 onClose={() => {
3837 setProductionTimeModalVisible(false); 4035 setProductionTimeModalVisible(false);
@@ -3843,8 +4041,14 @@ const OrderPage = () =&gt; { @@ -3843,8 +4041,14 @@ const OrderPage = () =&gt; {
3843 4041
3844 {modifiedDiffModalVisible && ( 4042 {modifiedDiffModalVisible && (
3845 <ModifiedDiffModal 4043 <ModifiedDiffModal
3846 - setVisible={setModifiedDiffModalVisible} 4044 + setVisible={(val: boolean) => {
  4045 + setModifiedDiffModalVisible(val);
  4046 + if (!val) {
  4047 + clearOptObject();
  4048 + }
  4049 + }}
3847 subOrders={buildSubOrders()} 4050 subOrders={buildSubOrders()}
  4051 + mainOrder={buildMainOrder()}
3848 onClose={() => { 4052 onClose={() => {
3849 setModifiedDiffModalVisible(false); 4053 setModifiedDiffModalVisible(false);
3850 clearOptObject(); 4054 clearOptObject();
src/pages/Order/type.d.ts
@@ -15,6 +15,8 @@ export interface OrderType { @@ -15,6 +15,8 @@ export interface OrderType {
15 } 15 }
16 16
17 export interface OrderListItemType { 17 export interface OrderListItemType {
  18 + receivingCompany: any;
  19 + modified: any;
18 mainPath: any; 20 mainPath: any;
19 totalPayment: ReactNode; 21 totalPayment: ReactNode;
20 notes: ReactNode; 22 notes: ReactNode;