Commit b559aad7f6ad362cf23818301c2f46ce3db311f3
1 parent
cc919860
feat: update取消申请开票、仓库编辑
Showing
6 changed files
with
282 additions
and
71 deletions
src/pages/Order/components/CheckModal.tsx
... | ... | @@ -4,7 +4,6 @@ import { |
4 | 4 | postServiceOrderCheckOrder, |
5 | 5 | postServiceOrderFileProcess, |
6 | 6 | postServiceOrderFinanceCheckOrder, |
7 | - postServiceOrderQueryAfterSalesInfoSnapshot, | |
8 | 7 | } from '@/services'; |
9 | 8 | import { ModalForm, ProFormTextArea } from '@ant-design/pro-components'; |
10 | 9 | import { Button, Col, Form, Modal, Row, UploadFile, message } from 'antd'; |
... | ... | @@ -62,21 +61,22 @@ export default ({ |
62 | 61 | } |
63 | 62 | |
64 | 63 | const getOrderAfterSalesInfo = async () => { |
65 | - let res = await postServiceOrderQueryAfterSalesInfoSnapshot({ | |
66 | - data: { subOrderIds: subOrderIds }, | |
67 | - }); | |
64 | + // let res = await postServiceOrderQueryAfterSalesInfoSnapshot({ | |
65 | + // data: { subOrderIds: subOrderIds }, | |
66 | + // }); | |
68 | 67 | |
69 | 68 | //附件 |
70 | - let annex = res?.data[0]?.afterSalesAnnexList; | |
71 | - | |
69 | + let annex = subOrders[0].afterAnnexList; | |
72 | 70 | let annexLinks = annex?.map((f) => { |
73 | 71 | return ( |
74 | - <Button type="link" key="key" href={f}> | |
72 | + <Button className="p-0 pr-1" type="link" key="key" href={f}> | |
75 | 73 | {getAliYunOSSFileNameFromUrl(f)} |
76 | 74 | </Button> |
77 | 75 | ); |
78 | 76 | }); |
79 | 77 | |
78 | + console.log(annexLinks); | |
79 | + | |
80 | 80 | setAfterSalesInfo( |
81 | 81 | <div className="my-5"> |
82 | 82 | <Row gutter={[16, 24]}> |
... | ... | @@ -85,14 +85,14 @@ export default ({ |
85 | 85 | </Col> |
86 | 86 | <Col span={18}> |
87 | 87 | {enumValueToLabel( |
88 | - res?.data[0]?.afterSalesPlan, | |
88 | + subOrders[0]?.afterSalesPlan, | |
89 | 89 | AFTE_SALES_PLAN_OPTIONS, |
90 | 90 | )} |
91 | 91 | </Col> |
92 | 92 | <Col span={6}> |
93 | 93 | <span className="className='text-[#333333]'">售后原因</span> |
94 | 94 | </Col> |
95 | - <Col span={18}>{res?.data[0]?.afterSalesNotes}</Col> | |
95 | + <Col span={18}>{subOrders[0]?.afterSalesNotes}</Col> | |
96 | 96 | <Col span={6}> |
97 | 97 | <span className="className='text-[#333333]'">附件</span> |
98 | 98 | </Col> | ... | ... |
src/pages/Order/components/OrderDrawer.tsx
... | ... | @@ -204,14 +204,15 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
204 | 204 | * 回显金蝶信息 |
205 | 205 | */ |
206 | 206 | async function showKindeeInfo() { |
207 | + console.log(copyData); | |
207 | 208 | //客户信息 |
208 | - if (data.customerId) { | |
209 | + if (copyData.customerId) { | |
209 | 210 | //客户回显 |
210 | - autoFillCustomerContactSelectOptions(data.customerId); | |
211 | + autoFillCustomerContactSelectOptions(copyData.customerId); | |
211 | 212 | } |
212 | 213 | |
213 | 214 | //商品单位回显 |
214 | - let list = data?.subOrderInformationLists; | |
215 | + let list = copyData?.subOrderInformationLists; | |
215 | 216 | if (list) { |
216 | 217 | let newProductUnitOptionsList = [...productUnitOptionsList]; |
217 | 218 | for (let i = 0; i < list.length; i++) { |
... | ... | @@ -276,9 +277,15 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
276 | 277 | } |
277 | 278 | |
278 | 279 | getSalesCodeOptions(); |
279 | - showKindeeInfo(); | |
280 | + if (!optType('after-sales-check')) { | |
281 | + showKindeeInfo(); | |
282 | + } | |
280 | 283 | } |
281 | 284 | |
285 | + /** | |
286 | + * 获取旧订单信息 | |
287 | + * @param id | |
288 | + */ | |
282 | 289 | async function getOldOrderData(id: any) { |
283 | 290 | let res = await postServiceOrderAfterSalesQuerySnapshotOrder({ |
284 | 291 | data: { |
... | ... | @@ -286,11 +293,16 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
286 | 293 | }, |
287 | 294 | }); |
288 | 295 | |
289 | - console.log(res); | |
290 | 296 | copyData = res.data.mainOrder; |
291 | 297 | copyData.subOrderInformationLists = res.data.subOrders; |
292 | 298 | originSubOrders = res.data.subOrders; |
293 | 299 | |
300 | + //客户显示 | |
301 | + form.setFieldValue('erpCustomerId', { | |
302 | + label: copyData.erpCustomerName, | |
303 | + value: copyData.customerId, | |
304 | + }); | |
305 | + | |
294 | 306 | buildOrderData(); |
295 | 307 | } |
296 | 308 | |
... | ... | @@ -503,6 +515,23 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
503 | 515 | form.setFieldValue('totalPayment', totalPayment); |
504 | 516 | } |
505 | 517 | |
518 | + /** | |
519 | + * 检查客户是否可以编辑 | |
520 | + * @returns | |
521 | + */ | |
522 | + const customerEditable = () => { | |
523 | + let erpCustomerId = form.getFieldValue('erpCustomerId'); | |
524 | + if ( | |
525 | + optType('after-sales-check') || | |
526 | + erpCustomerId === null || | |
527 | + erpCustomerId === undefined | |
528 | + ) { | |
529 | + return false; | |
530 | + } | |
531 | + | |
532 | + return true; | |
533 | + }; | |
534 | + | |
506 | 535 | useEffect(() => { |
507 | 536 | if (optType('after-sales-check')) { |
508 | 537 | getOldOrderData(data.id); |
... | ... | @@ -547,6 +576,7 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
547 | 576 | onClick={() => { |
548 | 577 | setSubmitBtnLoading(true); |
549 | 578 | props.submit(); |
579 | + setSubmitBtnLoading(false); | |
550 | 580 | }} |
551 | 581 | > |
552 | 582 | 确定 |
... | ... | @@ -705,12 +735,19 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
705 | 735 | key="erpCustomerId" |
706 | 736 | width="lg" |
707 | 737 | showSearch |
738 | + disabled={optType('after-sales-check')} | |
708 | 739 | label={ |
709 | 740 | <> |
710 | 741 | <span>客户</span> |
711 | 742 | <span |
712 | - className="pl-2 text-xs text-[#1677ff] cursor-pointer" | |
743 | + className={ | |
744 | + 'pl-2 text-xs cursor-pointer ' + | |
745 | + (customerEditable() ? 'text-[#1677ff]' : 'text-gray-400') | |
746 | + } | |
713 | 747 | onClick={() => { |
748 | + if (!customerEditable()) { | |
749 | + return; | |
750 | + } | |
714 | 751 | let customerId = form.getFieldValue('erpCustomerId'); |
715 | 752 | if (typeof customerId === 'string') { |
716 | 753 | setCustomer({ ...customer, id: customerId }); |
... | ... | @@ -728,17 +765,17 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
728 | 765 | rules={[{ required: true, message: '客户必填' }]} |
729 | 766 | onChange={(_, option) => { |
730 | 767 | //新增客户 |
731 | - if (option.type === 'add') { | |
732 | - setCustomer({ name: option.name }); | |
768 | + if (option?.type === 'add') { | |
769 | + setCustomer({ name: option?.name }); | |
733 | 770 | setKingdeeCstomerModalVisible(true); |
734 | 771 | return; |
735 | 772 | } |
736 | - autoFillCustomerContactSelectOptions(option.id); | |
773 | + autoFillCustomerContactSelectOptions(option?.id); | |
737 | 774 | }} |
738 | 775 | initialValue={{ |
739 | - label: data?.erpCustomerName, | |
740 | - value: data?.customerId, | |
741 | - id: data?.customerId, | |
776 | + label: copyData?.erpCustomerName, | |
777 | + value: copyData?.customerId, | |
778 | + id: copyData?.customerId, | |
742 | 779 | }} |
743 | 780 | fieldProps={{ |
744 | 781 | optionItemRender(item) { |
... | ... | @@ -813,6 +850,7 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
813 | 850 | }} |
814 | 851 | initialValue={data.contactAddress} |
815 | 852 | options={productCustomerContactOptions} |
853 | + disabled={optType('after-sales-check')} | |
816 | 854 | /> |
817 | 855 | |
818 | 856 | <ProFormText |
... | ... | @@ -864,13 +902,14 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
864 | 902 | <Button |
865 | 903 | className="rounded-l-none" |
866 | 904 | type="primary" |
905 | + disabled={optType('after-sales-check')} | |
867 | 906 | onClick={computeTotalPayment} |
868 | 907 | > |
869 | 908 | 计算 |
870 | 909 | </Button> |
871 | 910 | ), |
872 | 911 | }} |
873 | - // disabled={mainInfoDisbled} | |
912 | + disabled={optType('after-sales-check')} | |
874 | 913 | /> |
875 | 914 | </div> |
876 | 915 | |
... | ... | @@ -882,7 +921,7 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
882 | 921 | label="支付渠道" |
883 | 922 | options={enumToSelect(PAYMENT_CHANNEL_OPTIONS)} |
884 | 923 | rules={[{ required: true, message: '支付渠道必填' }]} |
885 | - // disabled={mainInfoDisbled} | |
924 | + disabled={optType('after-sales-check')} | |
886 | 925 | /> |
887 | 926 | <ProFormSelect |
888 | 927 | placeholder="请输入支付方式" |
... | ... | @@ -892,7 +931,7 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
892 | 931 | label="支付方式" |
893 | 932 | options={enumToSelect(PAYMENT_METHOD_OPTIONS)} |
894 | 933 | rules={[{ required: true, message: '支付方式必填' }]} |
895 | - // disabled={mainInfoDisbled} | |
934 | + disabled={optType('after-sales-check')} | |
896 | 935 | /> |
897 | 936 | <ProFormSelect |
898 | 937 | placeholder="选择是否需要开票" |
... | ... | @@ -901,7 +940,7 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
901 | 940 | key="invoicingStatus" |
902 | 941 | label="是否需要开票" |
903 | 942 | options={getInvoicingSelect()} |
904 | - // disabled={mainInfoDisbled} | |
943 | + disabled={optType('after-sales-check')} | |
905 | 944 | onChange={(_, option) => { |
906 | 945 | setInvoicingStatus(option.value); |
907 | 946 | if (option.value === 'UN_INVOICE') { |
... | ... | @@ -917,7 +956,7 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
917 | 956 | name="invoiceIdentificationNumber" |
918 | 957 | label="开票信息" |
919 | 958 | key="invoiceIdentificationNumber" |
920 | - // disabled={mainInfoDisbled} | |
959 | + disabled={optType('after-sales-check')} | |
921 | 960 | hidden={invoicingStatus === 'UN_INVOICE'} |
922 | 961 | placeholder="请输入开票信息" |
923 | 962 | rules={[ |
... | ... | @@ -933,7 +972,7 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
933 | 972 | width="lg" |
934 | 973 | key="invoicingTime" |
935 | 974 | name="invoicingTime" |
936 | - // disabled={mainInfoDisbled} | |
975 | + disabled={optType('after-sales-check')} | |
937 | 976 | hidden={invoicingStatus === 'UN_INVOICE'} |
938 | 977 | label="开票时间" |
939 | 978 | placeholder="请输入开票时间" |
... | ... | @@ -946,7 +985,7 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
946 | 985 | name="bank" |
947 | 986 | key="bank" |
948 | 987 | label="开户银行" |
949 | - // disabled={mainInfoDisbled} | |
988 | + disabled={optType('after-sales-check')} | |
950 | 989 | hidden={invoicingStatus === 'UN_INVOICE'} |
951 | 990 | placeholder="请输入开户银行" |
952 | 991 | /> |
... | ... | @@ -956,7 +995,7 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
956 | 995 | name="bankAccountNumber" |
957 | 996 | hidden={invoicingStatus === 'UN_INVOICE'} |
958 | 997 | label="银行账号" |
959 | - // disabled={mainInfoDisbled} | |
998 | + disabled={optType('after-sales-check')} | |
960 | 999 | placeholder="请输入银行账号" |
961 | 1000 | /> |
962 | 1001 | <ProFormTextArea |
... | ... | @@ -964,7 +1003,7 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
964 | 1003 | name="notes" |
965 | 1004 | label="备注" |
966 | 1005 | key="notes" |
967 | - // disabled={mainInfoDisbled} | |
1006 | + disabled={optType('after-sales-check')} | |
968 | 1007 | placeholder="请输入备注" |
969 | 1008 | rules={[ |
970 | 1009 | { |
... | ... | @@ -976,7 +1015,8 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
976 | 1015 | |
977 | 1016 | <h2>商品信息</h2> |
978 | 1017 | <ProFormList |
979 | - creatorButtonProps={{ disabled: false }} | |
1018 | + creatorButtonProps={{ disabled: optType('after-sales-check') }} | |
1019 | + deleteIconProps={!optType('after-sales-check')} | |
980 | 1020 | name="list" |
981 | 1021 | label="" |
982 | 1022 | copyIconProps={false} //复制按钮不显示 |
... | ... | @@ -991,10 +1031,11 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
991 | 1031 | }, |
992 | 1032 | ]} |
993 | 1033 | actionGuard={{ |
994 | - beforeRemoveRow: async (index) => { | |
1034 | + beforeRemoveRow: async () => { | |
995 | 1035 | return new Promise((resolve) => { |
996 | - if (index === 0) { | |
997 | - message.error('第一行数据不能删除'); | |
1036 | + let list = form.getFieldValue('list'); | |
1037 | + if (list && list.length === 1) { | |
1038 | + message.error('至少需要保留一个商品'); | |
998 | 1039 | resolve(false); |
999 | 1040 | return; |
1000 | 1041 | } |
... | ... | @@ -1038,7 +1079,7 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
1038 | 1079 | width="lg" |
1039 | 1080 | showSearch |
1040 | 1081 | name="productName" |
1041 | - // options={options} | |
1082 | + disabled={optType('after-sales-check')} | |
1042 | 1083 | placeholder="请搜索商品" |
1043 | 1084 | rules={[{ required: true, message: '商品名称必填' }]} |
1044 | 1085 | onChange={(_, option) => { |
... | ... | @@ -1119,6 +1160,15 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
1119 | 1160 | }} |
1120 | 1161 | />, |
1121 | 1162 | <ProFormText |
1163 | + key="orderStatus" | |
1164 | + name="orderStatus" | |
1165 | + width="lg" | |
1166 | + disabled | |
1167 | + label="orderStatus" | |
1168 | + placeholder="orderStatus" | |
1169 | + hidden | |
1170 | + />, | |
1171 | + <ProFormText | |
1122 | 1172 | key={'productCode' + listMeta.index} |
1123 | 1173 | width="lg" |
1124 | 1174 | name="productCode" |
... | ... | @@ -1150,7 +1200,7 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
1150 | 1200 | rules={[{ required: true, message: '商品参数必填' }]} |
1151 | 1201 | disabled={ |
1152 | 1202 | productParametersDisabledFlagList[listMeta.index] !== |
1153 | - false | |
1203 | + false || optType('after-sales-check') | |
1154 | 1204 | } |
1155 | 1205 | />, |
1156 | 1206 | <ProFormDigit |
... | ... | @@ -1165,6 +1215,7 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
1165 | 1215 | }, |
1166 | 1216 | }} |
1167 | 1217 | placeholder="请输入商品数量" |
1218 | + disabled={optType('after-sales-check')} | |
1168 | 1219 | rules={[{ required: true, message: '商品数量必填' }]} |
1169 | 1220 | />, |
1170 | 1221 | <ProFormDigit |
... | ... | @@ -1179,6 +1230,7 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
1179 | 1230 | }, |
1180 | 1231 | }} |
1181 | 1232 | placeholder="请输入商品单价" |
1233 | + disabled={optType('after-sales-check')} | |
1182 | 1234 | rules={[{ required: true, message: '商品单价必填' }]} |
1183 | 1235 | />, |
1184 | 1236 | <ProFormText | ... | ... |
src/pages/Order/constant.ts
... | ... | @@ -19,6 +19,7 @@ export const RECEIPTS_RECORD_TYPES = { |
19 | 19 | export const PAYMENT_METHOD_OPTIONS = { |
20 | 20 | UNPAID: '未付款', |
21 | 21 | TAOBAO_ORDER_HAS_BEEN_PAID: '淘宝订单已付款', |
22 | + OFFICIAL_WEBSITE_ORDER_HAS_BEEN_PAID: '官网订单已付款', | |
22 | 23 | PAYMENT_IN_ADVANCE: '预付款', |
23 | 24 | WITHHOLDING_ADVANCE_DEPOSIT: '扣预存', |
24 | 25 | PLATFORM_SETTLEMENT: '平台结算', | ... | ... |
src/pages/Order/index.tsx
... | ... | @@ -8,6 +8,7 @@ import { |
8 | 8 | postServiceOrderProcureOrder, |
9 | 9 | postServiceOrderProcurePrint, |
10 | 10 | postServiceOrderQueryServiceOrder, |
11 | + postServiceOrderSaleCancelInvoicing, | |
11 | 12 | } from '@/services'; |
12 | 13 | import { orderExport } from '@/services/order'; |
13 | 14 | import { |
... | ... | @@ -717,6 +718,27 @@ const OrderPage = () => { |
717 | 718 | </div> |
718 | 719 | </Flex> |
719 | 720 | <Flex className="w-[18%]" wrap="wrap" gap="small"> |
721 | + {optRecord.subPath?.includes('saleCancelInvoicing') ? ( | |
722 | + <ButtonConfirm | |
723 | + className="p-0" | |
724 | + title="确认取消申请开票?" | |
725 | + text="取消申请" | |
726 | + onConfirm={async () => { | |
727 | + let res = await postServiceOrderSaleCancelInvoicing({ | |
728 | + data: { | |
729 | + subOrderIds: [optRecord.id], | |
730 | + }, | |
731 | + }); | |
732 | + | |
733 | + if (res && res.result === RESPONSE_CODE.SUCCESS) { | |
734 | + message.success(res.message); | |
735 | + refreshTable(); | |
736 | + } | |
737 | + }} | |
738 | + /> | |
739 | + ) : ( | |
740 | + '' | |
741 | + )} | |
720 | 742 | {optRecord.subPath?.includes('noNeedInvoicingEdit') ? ( |
721 | 743 | <Button |
722 | 744 | className="p-0" |
... | ... | @@ -1662,6 +1684,7 @@ const OrderPage = () => { |
1662 | 1684 | type="link" |
1663 | 1685 | onClick={() => { |
1664 | 1686 | //勾选的子订单:如果有勾选,后面只校验有勾选的 |
1687 | + | |
1665 | 1688 | let selectedSubOrders = selectedRowObj[record.id]; |
1666 | 1689 | if ( |
1667 | 1690 | selectedSubOrders === undefined || |
... | ... | @@ -1676,15 +1699,31 @@ const OrderPage = () => { |
1676 | 1699 | ) { |
1677 | 1700 | let orderStatus = |
1678 | 1701 | selectedSubOrders[index].orderStatus; |
1679 | - //是审核通过及之后的订单 | |
1702 | + //仓库管理员在审核之后的任何时候都可以编辑 | |
1680 | 1703 | if ( |
1681 | - orderStatus !== 'UNAUDITED' && | |
1682 | - orderStatus !== 'AUDIT_FAILED' | |
1704 | + userInfo.roleSmallVO.code !== 'warehouseKeeper' && | |
1705 | + userInfo.roleSmallVO.code !== 'admin' | |
1683 | 1706 | ) { |
1684 | - message.error( | |
1685 | - '请选择未审核或者审核失败的订单进行编辑', | |
1686 | - ); | |
1687 | - return; | |
1707 | + //是审核通过及之后的订单 | |
1708 | + if ( | |
1709 | + orderStatus !== 'UNAUDITED' && | |
1710 | + orderStatus !== 'AUDIT_FAILED' | |
1711 | + ) { | |
1712 | + message.error( | |
1713 | + '请选择未审核或者审核失败的订单进行编辑', | |
1714 | + ); | |
1715 | + return; | |
1716 | + } | |
1717 | + } else { | |
1718 | + //仓库管理员只能编辑是还未审核的订单 | |
1719 | + if ( | |
1720 | + userInfo.roleSmallVO.code !== 'admin' && | |
1721 | + (orderStatus === 'UNAUDITED' || | |
1722 | + orderStatus === 'AUDIT_FAILED') | |
1723 | + ) { | |
1724 | + message.error('请选择已审核的订单进行编辑'); | |
1725 | + return; | |
1726 | + } | |
1688 | 1727 | } |
1689 | 1728 | } |
1690 | 1729 | setOrderDrawerVisible(true); |
... | ... | @@ -1830,6 +1869,46 @@ const OrderPage = () => { |
1830 | 1869 | '' |
1831 | 1870 | )} |
1832 | 1871 | |
1872 | + {record.mainPath?.includes('saleCancelInvoicing') ? ( | |
1873 | + <ButtonConfirm | |
1874 | + className="p-0" | |
1875 | + title="确认取消申请开票?" | |
1876 | + text="取消申请" | |
1877 | + onConfirm={async () => { | |
1878 | + let selectedSubOrders = selectedRowObj[record.id]; | |
1879 | + if (selectedSubOrders === undefined) { | |
1880 | + selectedSubOrders = record.subOrderInformationLists; | |
1881 | + } | |
1882 | + setSelectedRows(selectedSubOrders); | |
1883 | + for (let i = 0; i < selectedSubOrders.length; i++) { | |
1884 | + if ( | |
1885 | + selectedSubOrders[i].afterInvoicingStatus !== | |
1886 | + 'APPLY_FOR_INVOICING' | |
1887 | + ) { | |
1888 | + message.error( | |
1889 | + '请选择已[申请开票]的子订单进行取消申请', | |
1890 | + ); | |
1891 | + return; | |
1892 | + } | |
1893 | + } | |
1894 | + let res = await postServiceOrderSaleCancelInvoicing({ | |
1895 | + data: { | |
1896 | + subOrderIds: selectedSubOrders.map((item) => { | |
1897 | + return item.id; | |
1898 | + }), | |
1899 | + }, | |
1900 | + }); | |
1901 | + | |
1902 | + if (res && res.result === RESPONSE_CODE.SUCCESS) { | |
1903 | + message.success(res.message); | |
1904 | + refreshTable(); | |
1905 | + } | |
1906 | + }} | |
1907 | + /> | |
1908 | + ) : ( | |
1909 | + '' | |
1910 | + )} | |
1911 | + | |
1833 | 1912 | {/* 财务审核:主订单暂无 */} |
1834 | 1913 | {record.mainPath?.includes('financeCheckOrder') ? ( |
1835 | 1914 | <Button | ... | ... |
src/services/definition.ts
... | ... | @@ -1600,12 +1600,7 @@ export interface View { |
1600 | 1600 | export interface Dto { |
1601 | 1601 | /** |
1602 | 1602 | * @description |
1603 | - * 审核备注 | |
1604 | - */ | |
1605 | - checkNotes?: string; | |
1606 | - /** | |
1607 | - * @description | |
1608 | 1603 | * 子订单id集合 |
1609 | 1604 | */ |
1610 | - subIds?: Array<number>; | |
1605 | + subOrderIds?: Array<number>; | |
1611 | 1606 | } | ... | ... |
src/services/request.ts
... | ... | @@ -39,7 +39,6 @@ import type { |
39 | 39 | MaterialStockRes, |
40 | 40 | MaterialUnitListRes, |
41 | 41 | MeasureUnitListRes, |
42 | - ModelAndView, | |
43 | 42 | OrderAddVO, |
44 | 43 | OrderAuditLogQueryVO, |
45 | 44 | OrderBaseInfoQueryVO, |
... | ... | @@ -248,7 +247,9 @@ export interface GetErrorResponse { |
248 | 247 | * @description |
249 | 248 | * OK |
250 | 249 | */ |
251 | - 200: ModelAndView; | |
250 | + 200: { | |
251 | + [propertyName: string]: any; | |
252 | + }; | |
252 | 253 | /** |
253 | 254 | * @description |
254 | 255 | * Unauthorized |
... | ... | @@ -269,9 +270,9 @@ export interface GetErrorResponse { |
269 | 270 | export type GetErrorResponseSuccess = GetErrorResponse[200]; |
270 | 271 | /** |
271 | 272 | * @description |
272 | - * errorHtml | |
273 | + * error | |
273 | 274 | * @tags basic-error-controller |
274 | - * @produces text/html | |
275 | + * @produces * | |
275 | 276 | */ |
276 | 277 | export const getError = /* #__PURE__ */ (() => { |
277 | 278 | const method = 'get'; |
... | ... | @@ -295,7 +296,9 @@ export interface PutErrorResponse { |
295 | 296 | * @description |
296 | 297 | * OK |
297 | 298 | */ |
298 | - 200: ModelAndView; | |
299 | + 200: { | |
300 | + [propertyName: string]: any; | |
301 | + }; | |
299 | 302 | /** |
300 | 303 | * @description |
301 | 304 | * Created |
... | ... | @@ -321,9 +324,9 @@ export interface PutErrorResponse { |
321 | 324 | export type PutErrorResponseSuccess = PutErrorResponse[200]; |
322 | 325 | /** |
323 | 326 | * @description |
324 | - * errorHtml | |
327 | + * error | |
325 | 328 | * @tags basic-error-controller |
326 | - * @produces text/html | |
329 | + * @produces * | |
327 | 330 | * @consumes application/json |
328 | 331 | */ |
329 | 332 | export const putError = /* #__PURE__ */ (() => { |
... | ... | @@ -348,7 +351,9 @@ export interface PostErrorResponse { |
348 | 351 | * @description |
349 | 352 | * OK |
350 | 353 | */ |
351 | - 200: ModelAndView; | |
354 | + 200: { | |
355 | + [propertyName: string]: any; | |
356 | + }; | |
352 | 357 | /** |
353 | 358 | * @description |
354 | 359 | * Created |
... | ... | @@ -374,9 +379,9 @@ export interface PostErrorResponse { |
374 | 379 | export type PostErrorResponseSuccess = PostErrorResponse[200]; |
375 | 380 | /** |
376 | 381 | * @description |
377 | - * errorHtml | |
382 | + * error | |
378 | 383 | * @tags basic-error-controller |
379 | - * @produces text/html | |
384 | + * @produces * | |
380 | 385 | * @consumes application/json |
381 | 386 | */ |
382 | 387 | export const postError = /* #__PURE__ */ (() => { |
... | ... | @@ -401,7 +406,9 @@ export interface DeleteErrorResponse { |
401 | 406 | * @description |
402 | 407 | * OK |
403 | 408 | */ |
404 | - 200: ModelAndView; | |
409 | + 200: { | |
410 | + [propertyName: string]: any; | |
411 | + }; | |
405 | 412 | /** |
406 | 413 | * @description |
407 | 414 | * No Content |
... | ... | @@ -422,9 +429,9 @@ export interface DeleteErrorResponse { |
422 | 429 | export type DeleteErrorResponseSuccess = DeleteErrorResponse[200]; |
423 | 430 | /** |
424 | 431 | * @description |
425 | - * errorHtml | |
432 | + * error | |
426 | 433 | * @tags basic-error-controller |
427 | - * @produces text/html | |
434 | + * @produces * | |
428 | 435 | */ |
429 | 436 | export const deleteError = /* #__PURE__ */ (() => { |
430 | 437 | const method = 'delete'; |
... | ... | @@ -448,7 +455,9 @@ export interface OptionsErrorResponse { |
448 | 455 | * @description |
449 | 456 | * OK |
450 | 457 | */ |
451 | - 200: ModelAndView; | |
458 | + 200: { | |
459 | + [propertyName: string]: any; | |
460 | + }; | |
452 | 461 | /** |
453 | 462 | * @description |
454 | 463 | * No Content |
... | ... | @@ -469,9 +478,9 @@ export interface OptionsErrorResponse { |
469 | 478 | export type OptionsErrorResponseSuccess = OptionsErrorResponse[200]; |
470 | 479 | /** |
471 | 480 | * @description |
472 | - * errorHtml | |
481 | + * error | |
473 | 482 | * @tags basic-error-controller |
474 | - * @produces text/html | |
483 | + * @produces * | |
475 | 484 | * @consumes application/json |
476 | 485 | */ |
477 | 486 | export const optionsError = /* #__PURE__ */ (() => { |
... | ... | @@ -496,7 +505,9 @@ export interface HeadErrorResponse { |
496 | 505 | * @description |
497 | 506 | * OK |
498 | 507 | */ |
499 | - 200: ModelAndView; | |
508 | + 200: { | |
509 | + [propertyName: string]: any; | |
510 | + }; | |
500 | 511 | /** |
501 | 512 | * @description |
502 | 513 | * No Content |
... | ... | @@ -517,9 +528,9 @@ export interface HeadErrorResponse { |
517 | 528 | export type HeadErrorResponseSuccess = HeadErrorResponse[200]; |
518 | 529 | /** |
519 | 530 | * @description |
520 | - * errorHtml | |
531 | + * error | |
521 | 532 | * @tags basic-error-controller |
522 | - * @produces text/html | |
533 | + * @produces * | |
523 | 534 | * @consumes application/json |
524 | 535 | */ |
525 | 536 | export const headError = /* #__PURE__ */ (() => { |
... | ... | @@ -544,7 +555,9 @@ export interface PatchErrorResponse { |
544 | 555 | * @description |
545 | 556 | * OK |
546 | 557 | */ |
547 | - 200: ModelAndView; | |
558 | + 200: { | |
559 | + [propertyName: string]: any; | |
560 | + }; | |
548 | 561 | /** |
549 | 562 | * @description |
550 | 563 | * No Content |
... | ... | @@ -565,9 +578,9 @@ export interface PatchErrorResponse { |
565 | 578 | export type PatchErrorResponseSuccess = PatchErrorResponse[200]; |
566 | 579 | /** |
567 | 580 | * @description |
568 | - * errorHtml | |
581 | + * error | |
569 | 582 | * @tags basic-error-controller |
570 | - * @produces text/html | |
583 | + * @produces * | |
571 | 584 | * @consumes application/json |
572 | 585 | */ |
573 | 586 | export const patchError = /* #__PURE__ */ (() => { |
... | ... | @@ -9294,6 +9307,77 @@ export const postServiceOrderQuerySupplier = /* #__PURE__ */ (() => { |
9294 | 9307 | return request; |
9295 | 9308 | })(); |
9296 | 9309 | |
9310 | +/** @description request parameter type for postServiceOrderSaleCancelInvoicing */ | |
9311 | +export interface PostServiceOrderSaleCancelInvoicingOption { | |
9312 | + /** | |
9313 | + * @description | |
9314 | + * dto | |
9315 | + */ | |
9316 | + body: { | |
9317 | + /** | |
9318 | + @description | |
9319 | + dto */ | |
9320 | + dto: Dto; | |
9321 | + }; | |
9322 | +} | |
9323 | + | |
9324 | +/** @description response type for postServiceOrderSaleCancelInvoicing */ | |
9325 | +export interface PostServiceOrderSaleCancelInvoicingResponse { | |
9326 | + /** | |
9327 | + * @description | |
9328 | + * OK | |
9329 | + */ | |
9330 | + 200: ServerResult; | |
9331 | + /** | |
9332 | + * @description | |
9333 | + * Created | |
9334 | + */ | |
9335 | + 201: any; | |
9336 | + /** | |
9337 | + * @description | |
9338 | + * Unauthorized | |
9339 | + */ | |
9340 | + 401: any; | |
9341 | + /** | |
9342 | + * @description | |
9343 | + * Forbidden | |
9344 | + */ | |
9345 | + 403: any; | |
9346 | + /** | |
9347 | + * @description | |
9348 | + * Not Found | |
9349 | + */ | |
9350 | + 404: any; | |
9351 | +} | |
9352 | + | |
9353 | +export type PostServiceOrderSaleCancelInvoicingResponseSuccess = | |
9354 | + PostServiceOrderSaleCancelInvoicingResponse[200]; | |
9355 | +/** | |
9356 | + * @description | |
9357 | + * 销售取消申请开票 | |
9358 | + * @tags 内部订单 | |
9359 | + * @produces * | |
9360 | + * @consumes application/json | |
9361 | + */ | |
9362 | +export const postServiceOrderSaleCancelInvoicing = /* #__PURE__ */ (() => { | |
9363 | + const method = 'post'; | |
9364 | + const url = '/service/order/saleCancelInvoicing'; | |
9365 | + function request( | |
9366 | + option: PostServiceOrderSaleCancelInvoicingOption, | |
9367 | + ): Promise<PostServiceOrderSaleCancelInvoicingResponseSuccess> { | |
9368 | + return requester(request.url, { | |
9369 | + method: request.method, | |
9370 | + ...option, | |
9371 | + }) as unknown as Promise<PostServiceOrderSaleCancelInvoicingResponseSuccess>; | |
9372 | + } | |
9373 | + | |
9374 | + /** http method */ | |
9375 | + request.method = method; | |
9376 | + /** request url */ | |
9377 | + request.url = url; | |
9378 | + return request; | |
9379 | +})(); | |
9380 | + | |
9297 | 9381 | /** @description request parameter type for postServiceOrderSendProduct */ |
9298 | 9382 | export interface PostServiceOrderSendProductOption { |
9299 | 9383 | /** | ... | ... |