Commit 052b61de6086a863f5a7f9085d8b2399c2b2fa72
1 parent
e3479f50
feat: update 供应商复制信息功能,申请修改订单
Showing
6 changed files
with
333 additions
and
96 deletions
src/pages/Order/components/CheckModal.tsx
... | ... | @@ -326,20 +326,6 @@ export default ({ |
326 | 326 | } |
327 | 327 | } |
328 | 328 | |
329 | - /** | |
330 | - * | |
331 | - * @param body 后置审核 | |
332 | - */ | |
333 | - async function doPostAudit(body: object) { | |
334 | - const data = await postServiceOrderAudit({ | |
335 | - data: body, | |
336 | - }); | |
337 | - if (data.result === RESPONSE_CODE.SUCCESS) { | |
338 | - message.success(data.message); | |
339 | - onClose(); | |
340 | - } | |
341 | - } | |
342 | - | |
343 | 329 | return ( |
344 | 330 | <> |
345 | 331 | <ModalForm<{ |
... | ... | @@ -366,16 +352,6 @@ export default ({ |
366 | 352 | <Button |
367 | 353 | key="驳回" |
368 | 354 | onClick={async () => { |
369 | - if (checkType(CHECK_TYPE.WEARHOUSE_KEEPER)) { | |
370 | - doCheck({ | |
371 | - pass: false, | |
372 | - subOrderIds: subOrderIds, | |
373 | - type: 'warehouse_audit', | |
374 | - notes: form.getFieldValue('name'), | |
375 | - }); | |
376 | - return; | |
377 | - } | |
378 | - | |
379 | 355 | if (checkType(CHECK_TYPE.AFTER_SALES)) { |
380 | 356 | doAfterSalesCheck({ |
381 | 357 | applyType: 'after-sales', |
... | ... | @@ -411,14 +387,25 @@ export default ({ |
411 | 387 | return; |
412 | 388 | } |
413 | 389 | |
390 | + let type = ''; | |
391 | + if (checkType(CHECK_TYPE.WEARHOUSE_KEEPER)) { | |
392 | + type = 'warehouse_audit'; | |
393 | + } | |
414 | 394 | if (checkType(CHECK_TYPE.WAITING_FOR_POST_AUDIT)) { |
415 | - return doPostAudit({ | |
416 | - pass: false, | |
417 | - notes: form.getFieldValue('name'), | |
418 | - type: 'post_audit', | |
419 | - subOrderIds: subOrderIds, | |
420 | - }); | |
395 | + type = 'post_audit'; | |
396 | + } | |
397 | + if (checkType(CHECK_TYPE.NODE_OPERATING_AUDIT)) { | |
398 | + type = 'node_operating_audit'; | |
421 | 399 | } |
400 | + if (checkType(CHECK_TYPE.MODIFY_LEADER_AUDIT)) { | |
401 | + type = 'modify_leader_audit'; | |
402 | + } | |
403 | + doCheck({ | |
404 | + pass: false, | |
405 | + subOrderIds: subOrderIds, | |
406 | + type: type, | |
407 | + notes: form.getFieldValue('name'), | |
408 | + }); | |
422 | 409 | }} |
423 | 410 | > |
424 | 411 | 驳回 |
... | ... | @@ -455,16 +442,6 @@ export default ({ |
455 | 442 | }} |
456 | 443 | submitTimeout={2000} |
457 | 444 | onFinish={async (values) => { |
458 | - if (checkType(CHECK_TYPE.WEARHOUSE_KEEPER)) { | |
459 | - //审核通过mainOrderId | |
460 | - return doCheck({ | |
461 | - pass: true, | |
462 | - subOrderIds: subOrderIds, | |
463 | - type: 'warehouse_audit', | |
464 | - notes: form.getFieldValue('name'), | |
465 | - }); | |
466 | - } | |
467 | - | |
468 | 445 | if (checkType(CHECK_TYPE.AFTER_SALES)) { |
469 | 446 | //审核通过 |
470 | 447 | return doAfterSalesCheck({ |
... | ... | @@ -499,14 +476,25 @@ export default ({ |
499 | 476 | }); |
500 | 477 | } |
501 | 478 | |
479 | + let type = ''; | |
480 | + if (checkType(CHECK_TYPE.WEARHOUSE_KEEPER)) { | |
481 | + type = 'warehouse_audit'; | |
482 | + } | |
502 | 483 | if (checkType(CHECK_TYPE.WAITING_FOR_POST_AUDIT)) { |
503 | - return doPostAudit({ | |
504 | - pass: true, | |
505 | - notes: values.name, | |
506 | - type: 'post_audit', | |
507 | - subOrderIds: subOrderIds, | |
508 | - }); | |
484 | + type = 'post_audit'; | |
485 | + } | |
486 | + if (checkType(CHECK_TYPE.NODE_OPERATING_AUDIT)) { | |
487 | + type = 'node_operating_audit'; | |
488 | + } | |
489 | + if (checkType(CHECK_TYPE.MODIFY_LEADER_AUDIT)) { | |
490 | + type = 'modify_leader_audit'; | |
509 | 491 | } |
492 | + doCheck({ | |
493 | + pass: true, | |
494 | + subOrderIds: subOrderIds, | |
495 | + type: type, | |
496 | + notes: form.getFieldValue('name'), | |
497 | + }); | |
510 | 498 | }} |
511 | 499 | onOpenChange={setCheckVisible} |
512 | 500 | > | ... | ... |
src/pages/Order/components/OrderDrawer.tsx
... | ... | @@ -8,6 +8,7 @@ import { |
8 | 8 | postServiceOrderAddOrder, |
9 | 9 | postServiceOrderAfterSalesQuerySnapshotOrder, |
10 | 10 | postServiceOrderApplyAfterSales, |
11 | + postServiceOrderApplyModify, | |
11 | 12 | postServiceOrderQuerySalesCode, |
12 | 13 | postServiceOrderUpdateOrder, |
13 | 14 | } from '@/services'; |
... | ... | @@ -676,12 +677,19 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
676 | 677 | } |
677 | 678 | |
678 | 679 | values.applyType = orderOptType; |
679 | - if (optType('after-sales') || optType('order-change-normal')) { | |
680 | + if (optType('after-sales')) { | |
680 | 681 | values.filePaths = values.filePaths?.map((file) => { |
681 | 682 | return { url: file.response.data[0] }; |
682 | 683 | }); |
683 | 684 | res = await postServiceOrderApplyAfterSales({ data: values }); |
684 | 685 | } |
686 | + | |
687 | + if (optType('order-change-normal')) { | |
688 | + values.filePaths = values.filePaths?.map((file) => { | |
689 | + return { url: file.response.data[0] }; | |
690 | + }); | |
691 | + res = await postServiceOrderApplyModify({ data: values }); | |
692 | + } | |
685 | 693 | } |
686 | 694 | |
687 | 695 | if (res.result === RESPONSE_CODE.SUCCESS) { | ... | ... |
src/pages/Order/constant.ts
... | ... | @@ -97,6 +97,8 @@ export const CHECK_TYPE = { |
97 | 97 | LEADER_AUDIT: 'LEADER_AUDIT', |
98 | 98 | MODIFY_APPLY_WAIT_FOR_AUDIT: 'MODIFY_APPLY_WAIT_FOR_AUDIT', |
99 | 99 | WAITING_FOR_POST_AUDIT: 'WAITING_FOR_POST_AUDIT', |
100 | + NODE_OPERATING_AUDIT: 'NODE_OPERATING_AUDIT', | |
101 | + MODIFY_LEADER_AUDIT: 'MODIFY_LEADER_AUDIT', | |
100 | 102 | }; |
101 | 103 | |
102 | 104 | /** |
... | ... | @@ -169,10 +171,10 @@ export const ORDER_STATUS_OPTIONS = { |
169 | 171 | }; |
170 | 172 | |
171 | 173 | export const MODIFIED_AUDIT_STATUS_OPTIONS = { |
172 | - AUDIT_FAILURE: '审核成功', | |
173 | - PENDING_AUDIT_FOR_CURRENT_NODE_PERSONNEL: '当前节点人员待审核', | |
174 | + AUDIT_FAILURE: '修改审核失败', | |
175 | + PENDING_AUDIT_FOR_CURRENT_NODE_PERSONNEL: '节点待审核', | |
174 | 176 | LEADER_PENDING_AUDIT: '领导待审核', |
175 | - AUDIT_SUCCESS: '审核成功', | |
177 | + AUDIT_SUCCESS: '修改审核成功', | |
176 | 178 | }; |
177 | 179 | |
178 | 180 | /** |
... | ... | @@ -360,6 +362,7 @@ export const HISTORY_OPT_TYPE = new Map<string, string>([ |
360 | 362 | ['order-change-normal-CHECK', '申请修改审核'], |
361 | 363 | ['warehouse_audit', '仓库审核'], |
362 | 364 | ['post_audit', '后置审核'], |
365 | + ['applyModify', '申请修改订单信息'], | |
363 | 366 | ]); |
364 | 367 | |
365 | 368 | export const MAIN_ORDER_COLUMNS = [ |
... | ... | @@ -488,6 +491,13 @@ export const MAIN_ORDER_COLUMNS = [ |
488 | 491 | valueEnum: enumToProTableEnumValue(ORDER_STATUS_OPTIONS), |
489 | 492 | }, |
490 | 493 | { |
494 | + title: '修改审核状态', | |
495 | + dataIndex: 'modifiedAuditStatus', | |
496 | + valueType: 'select', | |
497 | + hideInTable: true, | |
498 | + valueEnum: enumToProTableEnumValue(MODIFIED_AUDIT_STATUS_OPTIONS), | |
499 | + }, | |
500 | + { | |
491 | 501 | title: '支付方式', |
492 | 502 | dataIndex: 'paymentMethod', |
493 | 503 | valueType: 'select', | ... | ... |
src/pages/Order/index.tsx
... | ... | @@ -762,7 +762,11 @@ const OrderPage = () => { |
762 | 762 | {/* 商品名称 */} |
763 | 763 | <div> |
764 | 764 | <div |
765 | - className="overflow-hidden whitespace-no-wrap overflow-ellipsis" | |
765 | + className="overflow-hidden whitespace-no-wrap overflow-ellipsis hover:cursor-pointer" | |
766 | + onClick={() => { | |
767 | + copyToClipboard(optRecord.productName); | |
768 | + message.info('商品名称复制成功:' + optRecord.productName); | |
769 | + }} | |
766 | 770 | title={optRecord.productName} |
767 | 771 | > |
768 | 772 | <span className="font-medium text-black "> |
... | ... | @@ -786,6 +790,16 @@ const OrderPage = () => { |
786 | 790 | ) : ( |
787 | 791 | '' |
788 | 792 | )} |
793 | + {optRecord.modifiedOptFlag !== null ? ( | |
794 | + <span className="text-[#f44e4e] cursor-pointer"> | |
795 | + {optRecord.modifiedOptFlag === 'MODIFY' ? '(修改中)' : ''} | |
796 | + {optRecord.modifiedOptFlag === 'DELETE' ? '(删除中)' : ''} | |
797 | + {optRecord.modifiedOptFlag === 'INSERT' ? '(新增中)' : ''} | |
798 | + </span> | |
799 | + ) : ( | |
800 | + '' | |
801 | + )} | |
802 | + | |
789 | 803 | {optRecord.modified ? ( |
790 | 804 | <Tooltip title="点击查看详情"> |
791 | 805 | <span |
... | ... | @@ -795,7 +809,7 @@ const OrderPage = () => { |
795 | 809 | setModifiedDiffModalVisible(true); |
796 | 810 | }} |
797 | 811 | > |
798 | - (修改过) | |
812 | + (内容有变化) | |
799 | 813 | </span> |
800 | 814 | </Tooltip> |
801 | 815 | ) : ( |
... | ... | @@ -810,23 +824,32 @@ const OrderPage = () => { |
810 | 824 | </div> |
811 | 825 | |
812 | 826 | <div |
813 | - className="overflow-hidden whitespace-no-wrap overflow-ellipsis" | |
827 | + className="overflow-hidden whitespace-no-wrap overflow-ellipsis hover:cursor-pointer" | |
814 | 828 | title={optRecord.parameters} |
829 | + onClick={() => { | |
830 | + copyToClipboard(optRecord.parameters); | |
831 | + message.info('商品名称复制成功:' + optRecord.parameters); | |
832 | + }} | |
815 | 833 | > |
816 | 834 | <span className="text-[#8C8C8C]"> |
817 | 835 | 参数:{optRecord.parameters} |
818 | 836 | </span> |
819 | 837 | </div> |
820 | 838 | |
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 | - {/* 编辑备注按钮 */} | |
839 | + <Flex title={optRecord.notes}> | |
840 | + <div | |
841 | + className="max-w-[375px] whitespace-no-wrap overflow-hidden overflow-ellipsis hover:cursor-pointer" | |
842 | + onClick={() => { | |
843 | + copyToClipboard(optRecord.notes); | |
844 | + message.info('备注复制成功:' + optRecord.notes); | |
845 | + }} | |
846 | + > | |
847 | + <span className="text-[#8C8C8C]"> | |
848 | + 备注: | |
849 | + {optRecord.notes === null ? '暂无备注' : optRecord.notes} | |
850 | + </span> | |
851 | + </div> | |
852 | + {userInfo.username !== '首能' ? ( | |
830 | 853 | <EditTwoTone |
831 | 854 | className="pl-1 hover:curcor-pointer" |
832 | 855 | onClick={() => { |
... | ... | @@ -836,10 +859,10 @@ const OrderPage = () => { |
836 | 859 | setNotesType(1); |
837 | 860 | }} |
838 | 861 | /> |
839 | - </Flex> | |
840 | - ) : ( | |
841 | - '' | |
842 | - )} | |
862 | + ) : ( | |
863 | + '' | |
864 | + )} | |
865 | + </Flex> | |
843 | 866 | |
844 | 867 | {(roleCode === 'procure' || |
845 | 868 | roleCode === 'warehouseKeeper' || |
... | ... | @@ -1163,7 +1186,8 @@ const OrderPage = () => { |
1163 | 1186 | )} |
1164 | 1187 | |
1165 | 1188 | {/* 修改审核状态 */} |
1166 | - {optRecord.modifiedAuditStatus !== null ? ( | |
1189 | + {optRecord.modifiedAuditStatus !== null && | |
1190 | + optRecord.modifiedAuditStatus !== 'AUDIT_FAILURE' ? ( | |
1167 | 1191 | <div className="overflow-hidden whitespace-no-wrap overflow-ellipsis"> |
1168 | 1192 | <Tooltip |
1169 | 1193 | title={enumValueToLabel( |
... | ... | @@ -1182,6 +1206,29 @@ const OrderPage = () => { |
1182 | 1206 | ) : ( |
1183 | 1207 | '' |
1184 | 1208 | )} |
1209 | + | |
1210 | + {optRecord.modifiedAuditStatus === 'AUDIT_FAILURE' ? ( | |
1211 | + <MyToolTip | |
1212 | + key="key" | |
1213 | + title={optRecord.modifiedAuditNotes} | |
1214 | + content={ | |
1215 | + <> | |
1216 | + <Tag | |
1217 | + color={TAGS_COLOR.get(optRecord.modifiedAuditNotes)} | |
1218 | + style={{ marginRight: '4px' }} | |
1219 | + > | |
1220 | + {enumValueToLabel( | |
1221 | + optRecord.modifiedAuditStatus, | |
1222 | + MODIFIED_AUDIT_STATUS_OPTIONS, | |
1223 | + )} | |
1224 | + </Tag> | |
1225 | + <QuestionCircleOutlined style={{ color: '#C1C1C1' }} /> | |
1226 | + </> | |
1227 | + } | |
1228 | + /> | |
1229 | + ) : ( | |
1230 | + '' | |
1231 | + )} | |
1185 | 1232 | </div> |
1186 | 1233 | </Flex> |
1187 | 1234 | <Flex className="w-[18%]" wrap="wrap" gap="small"> |
... | ... | @@ -1226,10 +1273,42 @@ const OrderPage = () => { |
1226 | 1273 | onClick={() => { |
1227 | 1274 | createOptObject(optRecord.id, record.id); |
1228 | 1275 | setCheckVisible(true); |
1229 | - setOrderCheckType(CHECK_TYPE.WAITING_FOR_POST_AUDIT); | |
1276 | + setOrderCheckType(CHECK_TYPE.NODE_OPERATING_AUDIT); | |
1277 | + }} | |
1278 | + > | |
1279 | + 节点修改审核 | |
1280 | + </Button> | |
1281 | + ) : ( | |
1282 | + '' | |
1283 | + )} | |
1284 | + | |
1285 | + {optRecord.subPath?.includes('applyModify') ? ( | |
1286 | + <Button | |
1287 | + className="p-0" | |
1288 | + type="link" | |
1289 | + onClick={() => { | |
1290 | + createOptObject(optRecord.id, record.id); | |
1291 | + setOrderDrawerVisible(true); | |
1292 | + setOrderOptType('order-change-normal'); | |
1230 | 1293 | }} |
1231 | 1294 | > |
1232 | - 修改审核 | |
1295 | + 申请修改 | |
1296 | + </Button> | |
1297 | + ) : ( | |
1298 | + '' | |
1299 | + )} | |
1300 | + | |
1301 | + {optRecord.subPath?.includes('modifiedLeaderAuditRequest') ? ( | |
1302 | + <Button | |
1303 | + className="p-0" | |
1304 | + type="link" | |
1305 | + onClick={() => { | |
1306 | + createOptObject(optRecord.id, record.id); | |
1307 | + setCheckVisible(true); | |
1308 | + setOrderCheckType(CHECK_TYPE.MODIFY_LEADER_AUDIT); | |
1309 | + }} | |
1310 | + > | |
1311 | + 领导修改审核 | |
1233 | 1312 | </Button> |
1234 | 1313 | ) : ( |
1235 | 1314 | '' |
... | ... | @@ -1333,7 +1412,7 @@ const OrderPage = () => { |
1333 | 1412 | setOrderCheckType(CHECK_TYPE.PROCURE); |
1334 | 1413 | }} |
1335 | 1414 | > |
1336 | - 采购发货 | |
1415 | + {userInfo.username === '首能' ? '发货' : '采购发货'} | |
1337 | 1416 | </Button> |
1338 | 1417 | ) : ( |
1339 | 1418 | '' |
... | ... | @@ -1950,14 +2029,18 @@ const OrderPage = () => { |
1950 | 2029 | <span>{formatDateTime(record.createTime)}</span> |
1951 | 2030 | <Divider type="vertical" /> |
1952 | 2031 | <Space split={<Divider type="vertical" />}> |
2032 | + <div | |
2033 | + className="hover:cursor-pointer" | |
2034 | + onClick={() => { | |
2035 | + copyToClipboard(record.salesCode); | |
2036 | + message.info('代表复制成功:' + record.salesCode); | |
2037 | + }} | |
2038 | + > | |
2039 | + <span className="text-[#8C8C8C]">代表:</span> | |
2040 | + <span className="text-slate-700">{record.salesCode}</span> | |
2041 | + </div> | |
1953 | 2042 | {userInfo?.username !== '首能' ? ( |
1954 | 2043 | <> |
1955 | - <div> | |
1956 | - <span className="text-[#8C8C8C]">代表:</span> | |
1957 | - <span className="text-slate-700"> | |
1958 | - {record.salesCode} | |
1959 | - </span> | |
1960 | - </div> | |
1961 | 2044 | <div |
1962 | 2045 | title={record.institution} |
1963 | 2046 | className="whitespace-no-wrap overflow-hidden overflow-ellipsis max-w-[150px]" |
... | ... | @@ -1977,7 +2060,13 @@ const OrderPage = () => { |
1977 | 2060 | ) : ( |
1978 | 2061 | '' |
1979 | 2062 | )} |
1980 | - <span> | |
2063 | + <span | |
2064 | + className="hover:cursor-pointer" | |
2065 | + onClick={() => { | |
2066 | + copyToClipboard(record.customerName); | |
2067 | + message.info('收货人复制成功:' + record.customerName); | |
2068 | + }} | |
2069 | + > | |
1981 | 2070 | <span className="text-[#8C8C8C]">收货人:</span> |
1982 | 2071 | <span className="text-slate-700"> |
1983 | 2072 | {record.customerName + ' '} |
... | ... | @@ -2000,7 +2089,13 @@ const OrderPage = () => { |
2000 | 2089 | {userInfo?.username === '首能' ? ( |
2001 | 2090 | <div |
2002 | 2091 | title={record.customerShippingAddress} |
2003 | - className="whitespace-no-wrap overflow-hidden overflow-ellipsis max-w-[500px]" | |
2092 | + className="whitespace-no-wrap overflow-hidden overflow-ellipsis max-w-[500px] hover:cursor-pointer" | |
2093 | + onClick={() => { | |
2094 | + copyToClipboard(record.customerShippingAddress); | |
2095 | + message.info( | |
2096 | + '收货地址复制成功:' + record.customerShippingAddress, | |
2097 | + ); | |
2098 | + }} | |
2004 | 2099 | > |
2005 | 2100 | <span className="text-[#8C8C8C]">收货地址:</span> |
2006 | 2101 | <span className="text-slate-700"> |
... | ... | @@ -2039,24 +2134,35 @@ const OrderPage = () => { |
2039 | 2134 | {roleCode === 'finance' ? <Divider type="vertical" /> : ''} |
2040 | 2135 | |
2041 | 2136 | <div title={record.notes}> |
2042 | - <div className="max-w-md overflow-hidden whitespace-no-wrap overflow-ellipsis"> | |
2137 | + <div | |
2138 | + className="max-w-md overflow-hidden whitespace-no-wrap overflow-ellipsis hover:cursor-pointer" | |
2139 | + onClick={() => { | |
2140 | + copyToClipboard(record.notes); | |
2141 | + message.info('备注复制成功:' + record.notes); | |
2142 | + }} | |
2143 | + > | |
2043 | 2144 | <span className="text-[#8C8C8C]">备注:</span> |
2044 | 2145 | <span className="ml-2"> |
2045 | 2146 | {record.notes === null ? '暂无备注' : record.notes} |
2046 | 2147 | </span> |
2047 | 2148 | </div> |
2048 | 2149 | </div> |
2049 | - <Tooltip title="编辑"> | |
2050 | - <EditTwoTone | |
2051 | - className="pl-1 hover:curcor-pointer" | |
2052 | - onClick={() => { | |
2053 | - setNotesEditVisible(true); | |
2054 | - setSelectedRows([record.id]); | |
2055 | - setNotes(record.notes); | |
2056 | - setNotesType(0); | |
2057 | - }} | |
2058 | - /> | |
2059 | - </Tooltip> | |
2150 | + | |
2151 | + {userInfo.username !== '首能' ? ( | |
2152 | + <Tooltip title="编辑"> | |
2153 | + <EditTwoTone | |
2154 | + className="pl-1 hover:curcor-pointer" | |
2155 | + onClick={() => { | |
2156 | + setNotesEditVisible(true); | |
2157 | + setSelectedRows([record.id]); | |
2158 | + setNotes(record.notes); | |
2159 | + setNotesType(0); | |
2160 | + }} | |
2161 | + /> | |
2162 | + </Tooltip> | |
2163 | + ) : ( | |
2164 | + '' | |
2165 | + )} | |
2060 | 2166 | </Flex> |
2061 | 2167 | </Flex> |
2062 | 2168 | <Flex wrap="wrap" gap="middle" vertical> |
... | ... | @@ -2115,6 +2221,38 @@ const OrderPage = () => { |
2115 | 2221 | <Flex justify="flex-end"> |
2116 | 2222 | <Space.Compact direction="vertical" align="end"> |
2117 | 2223 | <Space wrap> |
2224 | + {record.mainPath?.includes('modifiedAuditRequest') ? ( | |
2225 | + <Button | |
2226 | + className="p-0" | |
2227 | + type="link" | |
2228 | + onClick={() => { | |
2229 | + createOptObject(null, record.id); | |
2230 | + setCheckVisible(true); | |
2231 | + setOrderCheckType(CHECK_TYPE.NODE_OPERATING_AUDIT); | |
2232 | + }} | |
2233 | + > | |
2234 | + 节点修改审核 | |
2235 | + </Button> | |
2236 | + ) : ( | |
2237 | + '' | |
2238 | + )} | |
2239 | + | |
2240 | + {record.mainPath?.includes('modifiedLeaderAuditRequest') ? ( | |
2241 | + <Button | |
2242 | + className="p-0" | |
2243 | + type="link" | |
2244 | + onClick={() => { | |
2245 | + createOptObject(null, record.id); | |
2246 | + setCheckVisible(true); | |
2247 | + setOrderCheckType(CHECK_TYPE.MODIFY_LEADER_AUDIT); | |
2248 | + }} | |
2249 | + > | |
2250 | + 领导修改审核 | |
2251 | + </Button> | |
2252 | + ) : ( | |
2253 | + '' | |
2254 | + )} | |
2255 | + | |
2118 | 2256 | {false ? ( |
2119 | 2257 | <Button |
2120 | 2258 | className="p-0" |
... | ... | @@ -2212,7 +2350,7 @@ const OrderPage = () => { |
2212 | 2350 | '' |
2213 | 2351 | )} |
2214 | 2352 | |
2215 | - {record.mainPath?.includes('orderChangeRequest') ? ( | |
2353 | + {record.mainPath?.includes('applyModify') ? ( | |
2216 | 2354 | <Button |
2217 | 2355 | className="p-0" |
2218 | 2356 | type="link" |
... | ... | @@ -2396,7 +2534,7 @@ const OrderPage = () => { |
2396 | 2534 | setOrderCheckType(CHECK_TYPE.PROCURE); |
2397 | 2535 | }} |
2398 | 2536 | > |
2399 | - 采购发货 | |
2537 | + {userInfo.username === '首能' ? '发货' : '采购发货'} | |
2400 | 2538 | </Button> |
2401 | 2539 | ) : ( |
2402 | 2540 | '' |
... | ... | @@ -3101,6 +3239,14 @@ const OrderPage = () => { |
3101 | 3239 | // 主订单列表 |
3102 | 3240 | const mainOrdersColumns: ProColumns<OrderType>[] = MAIN_ORDER_COLUMNS.map( |
3103 | 3241 | (item) => { |
3242 | + //首能账号只能搜索订单编号 | |
3243 | + let canSearchIndex = ['id', 'salesCode', 'subNotes', 'orderStatus']; | |
3244 | + if ( | |
3245 | + userInfo.username === '首能' && | |
3246 | + !canSearchIndex.includes(item.dataIndex) | |
3247 | + ) { | |
3248 | + item.search = false; | |
3249 | + } | |
3104 | 3250 | if (item.dataIndex === 'name') { |
3105 | 3251 | return { |
3106 | 3252 | ...item, |
... | ... | @@ -3126,7 +3272,10 @@ const OrderPage = () => { |
3126 | 3272 | /** |
3127 | 3273 | * 采购可以筛选供应商备注 |
3128 | 3274 | */ |
3129 | - if (roleCode === 'procure' || roleCode === 'admin') { | |
3275 | + if ( | |
3276 | + (roleCode === 'procure' || roleCode === 'admin') && | |
3277 | + userInfo.username !== '首能' | |
3278 | + ) { | |
3130 | 3279 | mainOrdersColumns.push({ |
3131 | 3280 | title: '供应商备注', |
3132 | 3281 | width: 120, |
... | ... | @@ -3139,7 +3288,10 @@ const OrderPage = () => { |
3139 | 3288 | /** |
3140 | 3289 | * 采购可以筛选其他采购 |
3141 | 3290 | */ |
3142 | - if (roleCode === 'procure' || roleCode === 'admin') { | |
3291 | + if ( | |
3292 | + (roleCode === 'procure' || roleCode === 'admin') && | |
3293 | + userInfo.username !== '首能' | |
3294 | + ) { | |
3143 | 3295 | mainOrdersColumns.push({ |
3144 | 3296 | title: '采购名称', |
3145 | 3297 | width: 120, |
... | ... | @@ -3200,7 +3352,7 @@ const OrderPage = () => { |
3200 | 3352 | } |
3201 | 3353 | |
3202 | 3354 | //采购可以筛选出需要处理的订单 |
3203 | - if (roleCode === 'procure') { | |
3355 | + if (roleCode === 'procure' && userInfo.username !== '首能') { | |
3204 | 3356 | radios.push(<Radio value={60}>其他采购</Radio>); |
3205 | 3357 | radios.push(<Radio value={10}>待处理</Radio>); |
3206 | 3358 | } | ... | ... |
src/services/definition.ts
... | ... | @@ -313,8 +313,16 @@ export interface AdminUserVO { |
313 | 313 | |
314 | 314 | export interface AuditDto { |
315 | 315 | notes?: string; |
316 | + /** | |
317 | + * @description | |
318 | + * 是否通过 | |
319 | + */ | |
316 | 320 | pass?: boolean; |
317 | 321 | subOrderIds?: Array<number>; |
322 | + /** | |
323 | + * @description | |
324 | + * 审核类型:post_audit 后置审核、node_operating_audit 节点操作人审核、warehouse_audit 仓库审核 | |
325 | + */ | |
318 | 326 | type?: string; |
319 | 327 | } |
320 | 328 | ... | ... |
src/services/request.ts
... | ... | @@ -6398,7 +6398,7 @@ export type PostServiceOrderAfterSalesCheckResponseSuccess = |
6398 | 6398 | PostServiceOrderAfterSalesCheckResponse[200]; |
6399 | 6399 | /** |
6400 | 6400 | * @description |
6401 | - * 修改订单审核 | |
6401 | + * 修改审核 | |
6402 | 6402 | * @tags 内部订单 |
6403 | 6403 | * @produces * |
6404 | 6404 | * @consumes application/json |
... | ... | @@ -6636,6 +6636,77 @@ export const postServiceOrderApplyInvoicing = /* #__PURE__ */ (() => { |
6636 | 6636 | return request; |
6637 | 6637 | })(); |
6638 | 6638 | |
6639 | +/** @description request parameter type for postServiceOrderApplyModify */ | |
6640 | +export interface PostServiceOrderApplyModifyOption { | |
6641 | + /** | |
6642 | + * @description | |
6643 | + * dto | |
6644 | + */ | |
6645 | + body: { | |
6646 | + /** | |
6647 | + @description | |
6648 | + dto */ | |
6649 | + dto: Dto; | |
6650 | + }; | |
6651 | +} | |
6652 | + | |
6653 | +/** @description response type for postServiceOrderApplyModify */ | |
6654 | +export interface PostServiceOrderApplyModifyResponse { | |
6655 | + /** | |
6656 | + * @description | |
6657 | + * OK | |
6658 | + */ | |
6659 | + 200: ServerResult; | |
6660 | + /** | |
6661 | + * @description | |
6662 | + * Created | |
6663 | + */ | |
6664 | + 201: any; | |
6665 | + /** | |
6666 | + * @description | |
6667 | + * Unauthorized | |
6668 | + */ | |
6669 | + 401: any; | |
6670 | + /** | |
6671 | + * @description | |
6672 | + * Forbidden | |
6673 | + */ | |
6674 | + 403: any; | |
6675 | + /** | |
6676 | + * @description | |
6677 | + * Not Found | |
6678 | + */ | |
6679 | + 404: any; | |
6680 | +} | |
6681 | + | |
6682 | +export type PostServiceOrderApplyModifyResponseSuccess = | |
6683 | + PostServiceOrderApplyModifyResponse[200]; | |
6684 | +/** | |
6685 | + * @description | |
6686 | + * 申请修改订单信息 | |
6687 | + * @tags 内部订单 | |
6688 | + * @produces * | |
6689 | + * @consumes application/json | |
6690 | + */ | |
6691 | +export const postServiceOrderApplyModify = /* #__PURE__ */ (() => { | |
6692 | + const method = 'post'; | |
6693 | + const url = '/service/order/applyModify'; | |
6694 | + function request( | |
6695 | + option: PostServiceOrderApplyModifyOption, | |
6696 | + ): Promise<PostServiceOrderApplyModifyResponseSuccess> { | |
6697 | + return requester(request.url, { | |
6698 | + method: request.method, | |
6699 | + ...option, | |
6700 | + }) as unknown as Promise<PostServiceOrderApplyModifyResponseSuccess>; | |
6701 | + } | |
6702 | + | |
6703 | + /** http method */ | |
6704 | + request.method = method; | |
6705 | + /** request url */ | |
6706 | + request.url = url; | |
6707 | + return request; | |
6708 | +})(); | |
6709 | + | |
6639 | 6710 | /** @description request parameter type for postServiceOrderAudit */ |
6640 | 6711 | export interface PostServiceOrderAuditOption { |
6641 | 6712 | /** | ... | ... |