Commit 1f90f26b3b951622e263a2b3d9d13faf824e0512
1 parent
7bd04f86
feat: update 售后审核
Showing
5 changed files
with
223 additions
and
87 deletions
src/pages/Order/components/CheckModal.tsx
1 | import { RESPONSE_CODE } from '@/constants/enum'; | 1 | import { RESPONSE_CODE } from '@/constants/enum'; |
2 | import { | 2 | import { |
3 | + postServiceOrderAfterSalesCheck, | ||
3 | postServiceOrderCheckOrder, | 4 | postServiceOrderCheckOrder, |
4 | postServiceOrderFileProcess, | 5 | postServiceOrderFileProcess, |
5 | postServiceOrderFinanceCheckOrder, | 6 | postServiceOrderFinanceCheckOrder, |
7 | + postServiceOrderQueryAfterSalesInfoSnapshot, | ||
6 | } from '@/services'; | 8 | } from '@/services'; |
7 | import { ModalForm, ProFormTextArea } from '@ant-design/pro-components'; | 9 | import { ModalForm, ProFormTextArea } from '@ant-design/pro-components'; |
8 | -import { Button, Form, Modal, UploadFile, message } from 'antd'; | 10 | +import { Button, Descriptions, Form, Modal, UploadFile, message } from 'antd'; |
9 | import Upload, { RcFile, UploadProps } from 'antd/es/upload'; | 11 | import Upload, { RcFile, UploadProps } from 'antd/es/upload'; |
10 | import { useEffect, useRef, useState } from 'react'; | 12 | import { useEffect, useRef, useState } from 'react'; |
11 | import { CHECK_TYPE, COMFIR_RECEIPT_IMAGES_NUMBER } from '../constant'; | 13 | import { CHECK_TYPE, COMFIR_RECEIPT_IMAGES_NUMBER } from '../constant'; |
@@ -34,6 +36,28 @@ export default ({ | @@ -34,6 +36,28 @@ export default ({ | ||
34 | const [fileList, setFileList] = useState<UploadFile[]>([]); | 36 | const [fileList, setFileList] = useState<UploadFile[]>([]); |
35 | const handleCancel = () => setPreviewOpen(false); | 37 | const handleCancel = () => setPreviewOpen(false); |
36 | const [messageApi, contextHolder] = message.useMessage(); | 38 | const [messageApi, contextHolder] = message.useMessage(); |
39 | + const [afterSalesItems, setAfterSalesItems] = useState<any[]>([]); | ||
40 | + const [form] = Form.useForm<{ name: string; company: string }>(); | ||
41 | + let subOrderIds: any[] = subOrders.map((subOrder) => subOrder.id); | ||
42 | + | ||
43 | + /** | ||
44 | + * 审核类型 | ||
45 | + */ | ||
46 | + function checkType(check: string) { | ||
47 | + if (orderCheckType === check) { | ||
48 | + return true; | ||
49 | + } | ||
50 | + return false; | ||
51 | + } | ||
52 | + | ||
53 | + const getOrderAfterSalesInfo = async () => { | ||
54 | + let res = await postServiceOrderQueryAfterSalesInfoSnapshot({ | ||
55 | + data: { subOrderIds: subOrderIds }, | ||
56 | + }); | ||
57 | + setAfterSalesItems([]); | ||
58 | + console.log(res); | ||
59 | + }; | ||
60 | + | ||
37 | const handleChange: UploadProps['onChange'] = ({ fileList: newFileList }) => { | 61 | const handleChange: UploadProps['onChange'] = ({ fileList: newFileList }) => { |
38 | //fileListObj得在change里变化,change的参数是已经处理过的file数组 | 62 | //fileListObj得在change里变化,change的参数是已经处理过的file数组 |
39 | //beforeUpload中的参数file是未处理过,还需要Base64拿到文件数据处理 | 63 | //beforeUpload中的参数file是未处理过,还需要Base64拿到文件数据处理 |
@@ -96,6 +120,11 @@ export default ({ | @@ -96,6 +120,11 @@ export default ({ | ||
96 | message.info('您的剪贴板中没有照片'); | 120 | message.info('您的剪贴板中没有照片'); |
97 | }; | 121 | }; |
98 | useEffect(() => { | 122 | useEffect(() => { |
123 | + //回显售后信息 | ||
124 | + if (checkType(CHECK_TYPE.AFTER_SALES)) { | ||
125 | + getOrderAfterSalesInfo(); | ||
126 | + } | ||
127 | + | ||
99 | document.addEventListener('paste', onPaste); | 128 | document.addEventListener('paste', onPaste); |
100 | return () => { | 129 | return () => { |
101 | document.removeEventListener('paste', onPaste); | 130 | document.removeEventListener('paste', onPaste); |
@@ -143,15 +172,6 @@ export default ({ | @@ -143,15 +172,6 @@ export default ({ | ||
143 | headers: { Authorization: localStorage.getItem('token') }, | 172 | headers: { Authorization: localStorage.getItem('token') }, |
144 | }; | 173 | }; |
145 | 174 | ||
146 | - const [form] = Form.useForm<{ name: string; company: string }>(); | ||
147 | - let subOrderIds: any[] = []; | ||
148 | - //是单条子订单审核 | ||
149 | - if (subOrders === undefined) { | ||
150 | - subOrderIds = [data.id]; | ||
151 | - } else { | ||
152 | - subOrderIds = subOrders.map((subOrder) => subOrder.id); | ||
153 | - } | ||
154 | - | ||
155 | async function doCheck(body: object) { | 175 | async function doCheck(body: object) { |
156 | const data = await postServiceOrderCheckOrder({ | 176 | const data = await postServiceOrderCheckOrder({ |
157 | data: body, | 177 | data: body, |
@@ -224,7 +244,7 @@ export default ({ | @@ -224,7 +244,7 @@ export default ({ | ||
224 | * @param body 售后审核 | 244 | * @param body 售后审核 |
225 | */ | 245 | */ |
226 | async function doAfterSalesCheck(body: object) { | 246 | async function doAfterSalesCheck(body: object) { |
227 | - const data = await postServiceOrderFinanceCheckOrder({ | 247 | + const data = await postServiceOrderAfterSalesCheck({ |
228 | data: body, | 248 | data: body, |
229 | }); | 249 | }); |
230 | if (data.result === RESPONSE_CODE.SUCCESS) { | 250 | if (data.result === RESPONSE_CODE.SUCCESS) { |
@@ -233,16 +253,6 @@ export default ({ | @@ -233,16 +253,6 @@ export default ({ | ||
233 | } | 253 | } |
234 | } | 254 | } |
235 | 255 | ||
236 | - /** | ||
237 | - * 审核类型 | ||
238 | - */ | ||
239 | - function checkType(check: string) { | ||
240 | - if (orderCheckType === check) { | ||
241 | - return true; | ||
242 | - } | ||
243 | - return false; | ||
244 | - } | ||
245 | - | ||
246 | return ( | 256 | return ( |
247 | <> | 257 | <> |
248 | <ModalForm<{ | 258 | <ModalForm<{ |
@@ -281,10 +291,10 @@ export default ({ | @@ -281,10 +291,10 @@ export default ({ | ||
281 | 291 | ||
282 | if (checkType(CHECK_TYPE.AFTER_SALES)) { | 292 | if (checkType(CHECK_TYPE.AFTER_SALES)) { |
283 | doAfterSalesCheck({ | 293 | doAfterSalesCheck({ |
284 | - flag: false, | ||
285 | - ids: subOrderIds, | ||
286 | - externalProcurement: 0, | ||
287 | - checkNotes: form.getFieldValue('name'), | 294 | + isAfterSalesSuccess: false, |
295 | + subOrderIds: subOrderIds, | ||
296 | + mainId: data.id, | ||
297 | + afterSalesRejectionNotes: form.getFieldValue('name'), | ||
288 | }); | 298 | }); |
289 | return; | 299 | return; |
290 | } | 300 | } |
@@ -338,10 +348,10 @@ export default ({ | @@ -338,10 +348,10 @@ export default ({ | ||
338 | if (checkType(CHECK_TYPE.AFTER_SALES)) { | 348 | if (checkType(CHECK_TYPE.AFTER_SALES)) { |
339 | //审核通过 | 349 | //审核通过 |
340 | return doAfterSalesCheck({ | 350 | return doAfterSalesCheck({ |
341 | - flag: true, | ||
342 | - ids: subOrderIds, | ||
343 | - externalProcurement: 0, | ||
344 | - checkNotes: values.name, | 351 | + isAfterSalesSuccess: true, |
352 | + subOrderIds: subOrderIds, | ||
353 | + mainId: data.id, | ||
354 | + afterSalesRejectionNotes: values.name, | ||
345 | }); | 355 | }); |
346 | } | 356 | } |
347 | 357 | ||
@@ -351,6 +361,20 @@ export default ({ | @@ -351,6 +361,20 @@ export default ({ | ||
351 | }} | 361 | }} |
352 | onOpenChange={setCheckVisible} | 362 | onOpenChange={setCheckVisible} |
353 | > | 363 | > |
364 | + {checkType(CHECK_TYPE.AFTER_SALES) ? ( | ||
365 | + <Descriptions | ||
366 | + className="mb-5" | ||
367 | + labelStyle={{ textAlign: 'center' }} | ||
368 | + column={1} | ||
369 | + bordered | ||
370 | + title={<span className="text-sm font-medium">售后信息</span>} | ||
371 | + size="small" | ||
372 | + items={afterSalesItems} | ||
373 | + /> | ||
374 | + ) : ( | ||
375 | + '' | ||
376 | + )} | ||
377 | + | ||
354 | <div>请特别注意订单总金额与订单金额。</div> | 378 | <div>请特别注意订单总金额与订单金额。</div> |
355 | <ProFormTextArea | 379 | <ProFormTextArea |
356 | width="lg" | 380 | width="lg" |
@@ -359,7 +383,9 @@ export default ({ | @@ -359,7 +383,9 @@ export default ({ | ||
359 | /> | 383 | /> |
360 | {checkType(CHECK_TYPE.FINALCIAL) ? ( | 384 | {checkType(CHECK_TYPE.FINALCIAL) ? ( |
361 | <> | 385 | <> |
362 | - {/* <div className="pb-4 text-xs decoration-gray-50">可复制照片粘贴</div> */} | 386 | + <div className="pb-4 text-xs decoration-gray-50"> |
387 | + 可复制照片粘贴 | ||
388 | + </div> | ||
363 | <Upload {...props}> | 389 | <Upload {...props}> |
364 | {fileList.length < COMFIR_RECEIPT_IMAGES_NUMBER | 390 | {fileList.length < COMFIR_RECEIPT_IMAGES_NUMBER |
365 | ? uploadButton | 391 | ? uploadButton |
src/pages/Order/constant.ts
@@ -119,6 +119,7 @@ export const ORDER_STATUS_OPTIONS = { | @@ -119,6 +119,7 @@ export const ORDER_STATUS_OPTIONS = { | ||
119 | AUDIT_FAILED: '审核失败', | 119 | AUDIT_FAILED: '审核失败', |
120 | IN_AFTER_SALES: '售后中', | 120 | IN_AFTER_SALES: '售后中', |
121 | AFTER_SALES_COMPLETION: '售后完成', | 121 | AFTER_SALES_COMPLETION: '售后完成', |
122 | + AFTER_SALES_FAILURE: '售后失败', | ||
122 | NO_NEED_SEND: '无需发货', | 123 | NO_NEED_SEND: '无需发货', |
123 | PROCURE_CONVERT_WAREHOUSE_KEEPER: '采购转仓库', | 124 | PROCURE_CONVERT_WAREHOUSE_KEEPER: '采购转仓库', |
124 | }; | 125 | }; |
@@ -165,6 +166,7 @@ export const TAGS_COLOR = new Map<string, string>([ | @@ -165,6 +166,7 @@ export const TAGS_COLOR = new Map<string, string>([ | ||
165 | ['PROCURE_WAIT_SHIP', 'processing'], | 166 | ['PROCURE_WAIT_SHIP', 'processing'], |
166 | ['NO_NEED_SEND', 'success'], | 167 | ['NO_NEED_SEND', 'success'], |
167 | ['PROCURE_CONVERT_WAREHOUSE_KEEPER', 'processing'], | 168 | ['PROCURE_CONVERT_WAREHOUSE_KEEPER', 'processing'], |
169 | + ['AFTER_SALES_FAILURE', 'red'], | ||
168 | ]); | 170 | ]); |
169 | export const SALES_CODE_OPTIONS = [ | 171 | export const SALES_CODE_OPTIONS = [ |
170 | { label: 'D-Linda', value: 'D-Linda' }, | 172 | { label: 'D-Linda', value: 'D-Linda' }, |
src/pages/Order/index.tsx
@@ -66,7 +66,6 @@ import ProcureConvertModal from './components/ProcureConvertModal'; | @@ -66,7 +66,6 @@ import ProcureConvertModal from './components/ProcureConvertModal'; | ||
66 | import SubOrderComfirmReceiptImagesModal from './components/SubOrderComfirmReceiptImagesModal'; | 66 | import SubOrderComfirmReceiptImagesModal from './components/SubOrderComfirmReceiptImagesModal'; |
67 | import { | 67 | import { |
68 | AFTER_INVOICING_STATUS, | 68 | AFTER_INVOICING_STATUS, |
69 | - AFTE_SALES_PLAN_OPTIONS, | ||
70 | CHECK_TYPE, | 69 | CHECK_TYPE, |
71 | LOGISTICS_STATUS_OPTIONS, | 70 | LOGISTICS_STATUS_OPTIONS, |
72 | MAIN_ORDER_COLUMNS, | 71 | MAIN_ORDER_COLUMNS, |
@@ -357,31 +356,37 @@ const OrderPage = () => { | @@ -357,31 +356,37 @@ const OrderPage = () => { | ||
357 | orderStatus === 'IN_AFTER_SALES' | 356 | orderStatus === 'IN_AFTER_SALES' |
358 | ) { | 357 | ) { |
359 | return ( | 358 | return ( |
360 | - <MyToolTip | ||
361 | - key="key" | ||
362 | - title={ | ||
363 | - enumValueToLabel( | ||
364 | - optRecord.afterSalesPlan, | ||
365 | - AFTE_SALES_PLAN_OPTIONS, | ||
366 | - ) + | ||
367 | - ' ' + | ||
368 | - optRecord.afterSalesNotes | ||
369 | - } | ||
370 | - content={ | ||
371 | - <> | ||
372 | - <Tag | ||
373 | - color={TAGS_COLOR.get(optRecord.orderStatus)} | ||
374 | - style={{ marginRight: '4px' }} | ||
375 | - > | ||
376 | - {enumValueToLabel( | ||
377 | - optRecord.orderStatus, | ||
378 | - ORDER_STATUS_OPTIONS, | ||
379 | - )} | ||
380 | - </Tag> | ||
381 | - <QuestionCircleOutlined style={{ color: '#C1C1C1' }} /> | ||
382 | - </> | ||
383 | - } | ||
384 | - /> | 359 | + // <MyToolTip |
360 | + // key="key" | ||
361 | + // title={ | ||
362 | + // enumValueToLabel( | ||
363 | + // optRecord.afterSalesPlan, | ||
364 | + // AFTE_SALES_PLAN_OPTIONS, | ||
365 | + // ) + | ||
366 | + // ' ' + | ||
367 | + // optRecord.afterSalesNotes | ||
368 | + // } | ||
369 | + // content={ | ||
370 | + // <> | ||
371 | + // <Tag | ||
372 | + // color={TAGS_COLOR.get(optRecord.orderStatus)} | ||
373 | + // style={{ marginRight: '4px' }} | ||
374 | + // > | ||
375 | + // {enumValueToLabel( | ||
376 | + // optRecord.orderStatus, | ||
377 | + // ORDER_STATUS_OPTIONS, | ||
378 | + // )} | ||
379 | + // </Tag> | ||
380 | + // <QuestionCircleOutlined style={{ color: '#C1C1C1' }} /> | ||
381 | + // </> | ||
382 | + // } | ||
383 | + // /> | ||
384 | + <Tag | ||
385 | + color={TAGS_COLOR.get(optRecord.orderStatus)} | ||
386 | + style={{ marginRight: '4px' }} | ||
387 | + > | ||
388 | + {enumValueToLabel(optRecord.orderStatus, ORDER_STATUS_OPTIONS)} | ||
389 | + </Tag> | ||
385 | ); | 390 | ); |
386 | } | 391 | } |
387 | 392 | ||
@@ -436,7 +441,6 @@ const OrderPage = () => { | @@ -436,7 +441,6 @@ const OrderPage = () => { | ||
436 | //财务审核附件处理 | 441 | //财务审核附件处理 |
437 | const getInvoicingCheckAnnexList = () => { | 442 | const getInvoicingCheckAnnexList = () => { |
438 | let invoicingCheckAnnexList = optRecord.invoicingCheckAnnexList; | 443 | let invoicingCheckAnnexList = optRecord.invoicingCheckAnnexList; |
439 | - | ||
440 | return ( | 444 | return ( |
441 | <div> | 445 | <div> |
442 | <Image.PreviewGroup | 446 | <Image.PreviewGroup |
@@ -883,7 +887,7 @@ const OrderPage = () => { | @@ -883,7 +887,7 @@ const OrderPage = () => { | ||
883 | className="p-0" | 887 | className="p-0" |
884 | type="link" | 888 | type="link" |
885 | onClick={() => { | 889 | onClick={() => { |
886 | - setOrderRow(optRecord); | 890 | + setOrderRow(record); |
887 | setCheckVisible(true); | 891 | setCheckVisible(true); |
888 | setSelectedRows([optRecord]); | 892 | setSelectedRows([optRecord]); |
889 | setOrderCheckType(CHECK_TYPE.NORMAL); | 893 | setOrderCheckType(CHECK_TYPE.NORMAL); |
@@ -900,7 +904,7 @@ const OrderPage = () => { | @@ -900,7 +904,7 @@ const OrderPage = () => { | ||
900 | className="p-0" | 904 | className="p-0" |
901 | type="link" | 905 | type="link" |
902 | onClick={() => { | 906 | onClick={() => { |
903 | - setOrderRow(optRecord); | 907 | + setOrderRow(record); |
904 | setCheckVisible(true); | 908 | setCheckVisible(true); |
905 | setSelectedRows([optRecord]); | 909 | setSelectedRows([optRecord]); |
906 | setOrderCheckType(CHECK_TYPE.AFTER_SALES); | 910 | setOrderCheckType(CHECK_TYPE.AFTER_SALES); |
@@ -917,7 +921,7 @@ const OrderPage = () => { | @@ -917,7 +921,7 @@ const OrderPage = () => { | ||
917 | className="p-0" | 921 | className="p-0" |
918 | type="link" | 922 | type="link" |
919 | onClick={() => { | 923 | onClick={() => { |
920 | - setOrderRow(optRecord); | 924 | + setOrderRow(record); |
921 | setCheckVisible(true); | 925 | setCheckVisible(true); |
922 | setSelectedRows([optRecord]); | 926 | setSelectedRows([optRecord]); |
923 | setOrderCheckType(CHECK_TYPE.FINALCIAL); | 927 | setOrderCheckType(CHECK_TYPE.FINALCIAL); |
@@ -934,7 +938,7 @@ const OrderPage = () => { | @@ -934,7 +938,7 @@ const OrderPage = () => { | ||
934 | className="p-0" | 938 | className="p-0" |
935 | type="link" | 939 | type="link" |
936 | onClick={() => { | 940 | onClick={() => { |
937 | - setOrderRow(optRecord); | 941 | + setOrderRow(record); |
938 | setSelectedRows([optRecord]); | 942 | setSelectedRows([optRecord]); |
939 | setOrderCheckType(CHECK_TYPE.PROCURE); | 943 | setOrderCheckType(CHECK_TYPE.PROCURE); |
940 | setProcureCheckModalVisible(true); | 944 | setProcureCheckModalVisible(true); |
@@ -1645,12 +1649,13 @@ const OrderPage = () => { | @@ -1645,12 +1649,13 @@ const OrderPage = () => { | ||
1645 | let selectedSubOrders = selectedRowObj[record.id]; | 1649 | let selectedSubOrders = selectedRowObj[record.id]; |
1646 | setSelectedRows(selectedSubOrders); | 1650 | setSelectedRows(selectedSubOrders); |
1647 | if (selectedSubOrders === undefined) { | 1651 | if (selectedSubOrders === undefined) { |
1648 | - setSelectedRows(record.subOrderInformationLists); | 1652 | + selectedSubOrders = record.subOrderInformationLists; |
1649 | } | 1653 | } |
1650 | - for (let i = 0; i < selectedRows.length; i++) { | 1654 | + for (let i = 0; i < selectedSubOrders.length; i++) { |
1651 | if ( | 1655 | if ( |
1652 | - selectedRows[i].orderStatus !== 'UNAUDITED' && | ||
1653 | - selectedRows[i].orderStatus !== 'FINANCE_PROCESS' | 1656 | + selectedSubOrders[i].orderStatus !== 'UNAUDITED' && |
1657 | + selectedSubOrders[i].orderStatus !== | ||
1658 | + 'FINANCE_PROCESS' | ||
1654 | ) { | 1659 | ) { |
1655 | message.error('请选择未审核的子订单进行审核'); | 1660 | message.error('请选择未审核的子订单进行审核'); |
1656 | return; | 1661 | return; |
@@ -1658,6 +1663,7 @@ const OrderPage = () => { | @@ -1658,6 +1663,7 @@ const OrderPage = () => { | ||
1658 | } | 1663 | } |
1659 | setOrderRow(record); | 1664 | setOrderRow(record); |
1660 | setCheckVisible(true); | 1665 | setCheckVisible(true); |
1666 | + setSelectedRows(selectedSubOrders); | ||
1661 | setOrderCheckType(CHECK_TYPE.NORMAL); | 1667 | setOrderCheckType(CHECK_TYPE.NORMAL); |
1662 | }} | 1668 | }} |
1663 | > | 1669 | > |
@@ -1675,11 +1681,12 @@ const OrderPage = () => { | @@ -1675,11 +1681,12 @@ const OrderPage = () => { | ||
1675 | let selectedSubOrders = selectedRowObj[record.id]; | 1681 | let selectedSubOrders = selectedRowObj[record.id]; |
1676 | setSelectedRows(selectedSubOrders); | 1682 | setSelectedRows(selectedSubOrders); |
1677 | if (selectedSubOrders === undefined) { | 1683 | if (selectedSubOrders === undefined) { |
1678 | - setSelectedRows(record.subOrderInformationLists); | 1684 | + selectedSubOrders = record.subOrderInformationLists; |
1679 | } | 1685 | } |
1680 | - for (let i = 0; i < selectedRows.length; i++) { | 1686 | + for (let i = 0; i < selectedSubOrders.length; i++) { |
1681 | if ( | 1687 | if ( |
1682 | - selectedRows[i].orderStatus !== 'IN_AFTER_SALES' | 1688 | + selectedSubOrders[i].orderStatus !== |
1689 | + 'IN_AFTER_SALES' | ||
1683 | ) { | 1690 | ) { |
1684 | message.error('请选择售后中的子订单进行审核'); | 1691 | message.error('请选择售后中的子订单进行审核'); |
1685 | return; | 1692 | return; |
@@ -1687,6 +1694,7 @@ const OrderPage = () => { | @@ -1687,6 +1694,7 @@ const OrderPage = () => { | ||
1687 | } | 1694 | } |
1688 | setOrderRow(record); | 1695 | setOrderRow(record); |
1689 | setCheckVisible(true); | 1696 | setCheckVisible(true); |
1697 | + setSelectedRows(selectedSubOrders); | ||
1690 | setOrderCheckType(CHECK_TYPE.AFTER_SALES); | 1698 | setOrderCheckType(CHECK_TYPE.AFTER_SALES); |
1691 | }} | 1699 | }} |
1692 | > | 1700 | > |
@@ -1753,12 +1761,13 @@ const OrderPage = () => { | @@ -1753,12 +1761,13 @@ const OrderPage = () => { | ||
1753 | let selectedSubOrders = selectedRowObj[record.id]; | 1761 | let selectedSubOrders = selectedRowObj[record.id]; |
1754 | setSelectedRows(selectedSubOrders); | 1762 | setSelectedRows(selectedSubOrders); |
1755 | if (selectedSubOrders === undefined) { | 1763 | if (selectedSubOrders === undefined) { |
1756 | - setSelectedRows(record.subOrderInformationLists); | 1764 | + selectedSubOrders = record.subOrderInformationLists; |
1757 | } | 1765 | } |
1758 | - for (let i = 0; i < selectedRows.length; i++) { | 1766 | + for (let i = 0; i < selectedSubOrders.length; i++) { |
1759 | if ( | 1767 | if ( |
1760 | - selectedRows[i].orderStatus !== 'UNAUDITED' && | ||
1761 | - selectedRows[i].orderStatus !== 'FINANCE_PROCESS' | 1768 | + selectedSubOrders[i].orderStatus !== 'UNAUDITED' && |
1769 | + selectedSubOrders[i].orderStatus !== | ||
1770 | + 'FINANCE_PROCESS' | ||
1762 | ) { | 1771 | ) { |
1763 | message.error('请选择未审核的子订单进行审核'); | 1772 | message.error('请选择未审核的子订单进行审核'); |
1764 | return; | 1773 | return; |
@@ -1766,6 +1775,7 @@ const OrderPage = () => { | @@ -1766,6 +1775,7 @@ const OrderPage = () => { | ||
1766 | } | 1775 | } |
1767 | setOrderRow(record); | 1776 | setOrderRow(record); |
1768 | setCheckVisible(true); | 1777 | setCheckVisible(true); |
1778 | + setSelectedRows(selectedSubOrders); | ||
1769 | setOrderCheckType(CHECK_TYPE.FINALCIAL); | 1779 | setOrderCheckType(CHECK_TYPE.FINALCIAL); |
1770 | }} | 1780 | }} |
1771 | > | 1781 | > |
@@ -1784,11 +1794,12 @@ const OrderPage = () => { | @@ -1784,11 +1794,12 @@ const OrderPage = () => { | ||
1784 | let selectedSubOrders = selectedRowObj[record.id]; | 1794 | let selectedSubOrders = selectedRowObj[record.id]; |
1785 | setSelectedRows(selectedSubOrders); | 1795 | setSelectedRows(selectedSubOrders); |
1786 | if (selectedSubOrders === undefined) { | 1796 | if (selectedSubOrders === undefined) { |
1787 | - setSelectedRows(record.subOrderInformationLists); | 1797 | + selectedSubOrders = record.subOrderInformationLists; |
1788 | } | 1798 | } |
1789 | - for (let i = 0; i < selectedRows.length; i++) { | 1799 | + for (let i = 0; i < selectedSubOrders.length; i++) { |
1790 | if ( | 1800 | if ( |
1791 | - selectedRows[i].orderStatus !== 'PROCURE_UN_PROCESS' | 1801 | + selectedSubOrders[i].orderStatus !== |
1802 | + 'PROCURE_UN_PROCESS' | ||
1792 | ) { | 1803 | ) { |
1793 | message.error('请选择未审核的子订单进行审核'); | 1804 | message.error('请选择未审核的子订单进行审核'); |
1794 | return; | 1805 | return; |
@@ -1796,6 +1807,7 @@ const OrderPage = () => { | @@ -1796,6 +1807,7 @@ const OrderPage = () => { | ||
1796 | } | 1807 | } |
1797 | setOrderRow(record); | 1808 | setOrderRow(record); |
1798 | setProcureCheckModalVisible(true); | 1809 | setProcureCheckModalVisible(true); |
1810 | + setSelectedRows(selectedSubOrders); | ||
1799 | setOrderCheckType(CHECK_TYPE.PROCURE); | 1811 | setOrderCheckType(CHECK_TYPE.PROCURE); |
1800 | }} | 1812 | }} |
1801 | > | 1813 | > |
src/services/definition.ts
@@ -712,6 +712,11 @@ export interface ProcureCheckOrderDto { | @@ -712,6 +712,11 @@ export interface ProcureCheckOrderDto { | ||
712 | export interface ProcureConvertProcureDto { | 712 | export interface ProcureConvertProcureDto { |
713 | /** | 713 | /** |
714 | * @description | 714 | * @description |
715 | + * 采购转发备注 | ||
716 | + */ | ||
717 | + procureConvertNotes?: string; | ||
718 | + /** | ||
719 | + * @description | ||
715 | * 采购人名称 | 720 | * 采购人名称 |
716 | */ | 721 | */ |
717 | procureName?: string; | 722 | procureName?: string; |
@@ -764,6 +769,14 @@ export interface ProductInformationDto { | @@ -764,6 +769,14 @@ export interface ProductInformationDto { | ||
764 | productName?: string; | 769 | productName?: string; |
765 | } | 770 | } |
766 | 771 | ||
772 | +export interface QueryAfterSalesInfoSnapshotDto { | ||
773 | + /** | ||
774 | + * @description | ||
775 | + * 子订单id集合 | ||
776 | + */ | ||
777 | + subOrderIds?: Array<number>; | ||
778 | +} | ||
779 | + | ||
767 | export interface QueryAnnexDto { | 780 | export interface QueryAnnexDto { |
768 | /** | 781 | /** |
769 | * @description | 782 | * @description |
@@ -881,6 +894,16 @@ export interface View { | @@ -881,6 +894,16 @@ export interface View { | ||
881 | contentType?: string; | 894 | contentType?: string; |
882 | } | 895 | } |
883 | 896 | ||
897 | +export interface YearMonth { | ||
898 | + leapYear?: boolean; | ||
899 | + /** @format int32 */ | ||
900 | + month?: number; | ||
901 | + /** @format int32 */ | ||
902 | + monthValue?: number; | ||
903 | + /** @format int32 */ | ||
904 | + year?: number; | ||
905 | +} | ||
906 | + | ||
884 | export interface Dto { | 907 | export interface Dto { |
885 | /** | 908 | /** |
886 | * @description | 909 | * @description |
src/services/request.ts
@@ -41,6 +41,7 @@ import type { | @@ -41,6 +41,7 @@ import type { | ||
41 | ProcureOrderDto, | 41 | ProcureOrderDto, |
42 | ProcurePrintDto, | 42 | ProcurePrintDto, |
43 | ProductInformationDto, | 43 | ProductInformationDto, |
44 | + QueryAfterSalesInfoSnapshotDto, | ||
44 | QueryAnnexDto, | 45 | QueryAnnexDto, |
45 | QueryCustomerInformationDto, | 46 | QueryCustomerInformationDto, |
46 | QueryHistoryRecordDto, | 47 | QueryHistoryRecordDto, |
@@ -4847,8 +4848,8 @@ export const postServiceOrderAddOrder = /* #__PURE__ */ (() => { | @@ -4847,8 +4848,8 @@ export const postServiceOrderAddOrder = /* #__PURE__ */ (() => { | ||
4847 | return request; | 4848 | return request; |
4848 | })(); | 4849 | })(); |
4849 | 4850 | ||
4850 | -/** @description request parameter type for postServiceOrderAfterSalesCompletion */ | ||
4851 | -export interface PostServiceOrderAfterSalesCompletionOption { | 4851 | +/** @description request parameter type for postServiceOrderAfterSalesCheck */ |
4852 | +export interface PostServiceOrderAfterSalesCheckOption { | ||
4852 | /** | 4853 | /** |
4853 | * @description | 4854 | * @description |
4854 | * dto | 4855 | * dto |
@@ -4861,8 +4862,8 @@ export interface PostServiceOrderAfterSalesCompletionOption { | @@ -4861,8 +4862,8 @@ export interface PostServiceOrderAfterSalesCompletionOption { | ||
4861 | }; | 4862 | }; |
4862 | } | 4863 | } |
4863 | 4864 | ||
4864 | -/** @description response type for postServiceOrderAfterSalesCompletion */ | ||
4865 | -export interface PostServiceOrderAfterSalesCompletionResponse { | 4865 | +/** @description response type for postServiceOrderAfterSalesCheck */ |
4866 | +export interface PostServiceOrderAfterSalesCheckResponse { | ||
4866 | /** | 4867 | /** |
4867 | * @description | 4868 | * @description |
4868 | * OK | 4869 | * OK |
@@ -4890,25 +4891,25 @@ export interface PostServiceOrderAfterSalesCompletionResponse { | @@ -4890,25 +4891,25 @@ export interface PostServiceOrderAfterSalesCompletionResponse { | ||
4890 | 404: any; | 4891 | 404: any; |
4891 | } | 4892 | } |
4892 | 4893 | ||
4893 | -export type PostServiceOrderAfterSalesCompletionResponseSuccess = | ||
4894 | - PostServiceOrderAfterSalesCompletionResponse[200]; | 4894 | +export type PostServiceOrderAfterSalesCheckResponseSuccess = |
4895 | + PostServiceOrderAfterSalesCheckResponse[200]; | ||
4895 | /** | 4896 | /** |
4896 | * @description | 4897 | * @description |
4897 | - * 售后完成 | 4898 | + * 售后审核 |
4898 | * @tags 内部订单 | 4899 | * @tags 内部订单 |
4899 | * @produces * | 4900 | * @produces * |
4900 | * @consumes application/json | 4901 | * @consumes application/json |
4901 | */ | 4902 | */ |
4902 | -export const postServiceOrderAfterSalesCompletion = /* #__PURE__ */ (() => { | 4903 | +export const postServiceOrderAfterSalesCheck = /* #__PURE__ */ (() => { |
4903 | const method = 'post'; | 4904 | const method = 'post'; |
4904 | - const url = '/service/order/afterSalesCompletion'; | 4905 | + const url = '/service/order/afterSalesCheck'; |
4905 | function request( | 4906 | function request( |
4906 | - option: PostServiceOrderAfterSalesCompletionOption, | ||
4907 | - ): Promise<PostServiceOrderAfterSalesCompletionResponseSuccess> { | 4907 | + option: PostServiceOrderAfterSalesCheckOption, |
4908 | + ): Promise<PostServiceOrderAfterSalesCheckResponseSuccess> { | ||
4908 | return requester(request.url, { | 4909 | return requester(request.url, { |
4909 | method: request.method, | 4910 | method: request.method, |
4910 | ...option, | 4911 | ...option, |
4911 | - }) as unknown as Promise<PostServiceOrderAfterSalesCompletionResponseSuccess>; | 4912 | + }) as unknown as Promise<PostServiceOrderAfterSalesCheckResponseSuccess>; |
4912 | } | 4913 | } |
4913 | 4914 | ||
4914 | /** http method */ | 4915 | /** http method */ |
@@ -6990,6 +6991,78 @@ export const getServiceOrderProvideToken = /* #__PURE__ */ (() => { | @@ -6990,6 +6991,78 @@ export const getServiceOrderProvideToken = /* #__PURE__ */ (() => { | ||
6990 | return request; | 6991 | return request; |
6991 | })(); | 6992 | })(); |
6992 | 6993 | ||
6994 | +/** @description request parameter type for postServiceOrderQueryAfterSalesInfoSnapshot */ | ||
6995 | +export interface PostServiceOrderQueryAfterSalesInfoSnapshotOption { | ||
6996 | + /** | ||
6997 | + * @description | ||
6998 | + * dto | ||
6999 | + */ | ||
7000 | + body: { | ||
7001 | + /** | ||
7002 | + @description | ||
7003 | + dto */ | ||
7004 | + dto: QueryAfterSalesInfoSnapshotDto; | ||
7005 | + }; | ||
7006 | +} | ||
7007 | + | ||
7008 | +/** @description response type for postServiceOrderQueryAfterSalesInfoSnapshot */ | ||
7009 | +export interface PostServiceOrderQueryAfterSalesInfoSnapshotResponse { | ||
7010 | + /** | ||
7011 | + * @description | ||
7012 | + * OK | ||
7013 | + */ | ||
7014 | + 200: ServerResult; | ||
7015 | + /** | ||
7016 | + * @description | ||
7017 | + * Created | ||
7018 | + */ | ||
7019 | + 201: any; | ||
7020 | + /** | ||
7021 | + * @description | ||
7022 | + * Unauthorized | ||
7023 | + */ | ||
7024 | + 401: any; | ||
7025 | + /** | ||
7026 | + * @description | ||
7027 | + * Forbidden | ||
7028 | + */ | ||
7029 | + 403: any; | ||
7030 | + /** | ||
7031 | + * @description | ||
7032 | + * Not Found | ||
7033 | + */ | ||
7034 | + 404: any; | ||
7035 | +} | ||
7036 | + | ||
7037 | +export type PostServiceOrderQueryAfterSalesInfoSnapshotResponseSuccess = | ||
7038 | + PostServiceOrderQueryAfterSalesInfoSnapshotResponse[200]; | ||
7039 | +/** | ||
7040 | + * @description | ||
7041 | + * 查询售后信息快照 | ||
7042 | + * @tags 内部订单 | ||
7043 | + * @produces * | ||
7044 | + * @consumes application/json | ||
7045 | + */ | ||
7046 | +export const postServiceOrderQueryAfterSalesInfoSnapshot = | ||
7047 | + /* #__PURE__ */ (() => { | ||
7048 | + const method = 'post'; | ||
7049 | + const url = '/service/order/queryAfterSalesInfoSnapshot'; | ||
7050 | + function request( | ||
7051 | + option: PostServiceOrderQueryAfterSalesInfoSnapshotOption, | ||
7052 | + ): Promise<PostServiceOrderQueryAfterSalesInfoSnapshotResponseSuccess> { | ||
7053 | + return requester(request.url, { | ||
7054 | + method: request.method, | ||
7055 | + ...option, | ||
7056 | + }) as unknown as Promise<PostServiceOrderQueryAfterSalesInfoSnapshotResponseSuccess>; | ||
7057 | + } | ||
7058 | + | ||
7059 | + /** http method */ | ||
7060 | + request.method = method; | ||
7061 | + /** request url */ | ||
7062 | + request.url = url; | ||
7063 | + return request; | ||
7064 | + })(); | ||
7065 | + | ||
6993 | /** @description request parameter type for postServiceOrderQueryCustomerInformation */ | 7066 | /** @description request parameter type for postServiceOrderQueryCustomerInformation */ |
6994 | export interface PostServiceOrderQueryCustomerInformationOption { | 7067 | export interface PostServiceOrderQueryCustomerInformationOption { |
6995 | /** | 7068 | /** |