Commit 63da310826287739027647fa054aa90dd8e94c01

Authored by 曾国涛
1 parent 0371e839

feat(Order): add urgent invoice auditing and reissue functionality

- Implement new check types for urgent invoice auditing and confirmation of reissue.
- Add associated constants and services for the new functionalities.
- Modify the InvoicingDrawerForm to include new fields and improve the UI/UX.
- Refactor the CheckModal to handle the new check types gracefully.
- Remove deprecated research group interfaces and clean up the codebase.

BREAKING CHANGE: The addition of new check types and related changes may affect existing
clients relying on the previous API structure.
.idea/.name deleted 100644 → 0
1 -front_project  
src/pages/Order/components/CheckModal.tsx
@@ -410,6 +410,12 @@ export default ({ @@ -410,6 +410,12 @@ export default ({
410 if (checkType(CHECK_TYPE.CREDIT_AUDIT)) { 410 if (checkType(CHECK_TYPE.CREDIT_AUDIT)) {
411 type = 'credit_audit'; 411 type = 'credit_audit';
412 } 412 }
  413 + if (checkType(CHECK_TYPE.URGENT_INVOICE_AUDITING_OLD)) {
  414 + type = 'urgent_invoice_audit_old';
  415 + }
  416 + if (checkType(CHECK_TYPE.CONFIRM_REISSUE_OLD)) {
  417 + type = 'confirm_reissue_old';
  418 + }
413 return type; 419 return type;
414 } 420 }
415 421
src/pages/Order/components/InvoicingDrawerForm.tsx
@@ -6,6 +6,7 @@ import { @@ -6,6 +6,7 @@ import {
6 postServiceConstInvoicingType, 6 postServiceConstInvoicingType,
7 postServiceConstListInvoiceDetailNames, 7 postServiceConstListInvoiceDetailNames,
8 postServiceInvoiceApplyInvoice, 8 postServiceInvoiceApplyInvoice,
  9 + postServiceInvoiceQueryCompanyInfo,
9 } from '@/services'; 10 } from '@/services';
10 import { enumToSelect } from '@/utils'; 11 import { enumToSelect } from '@/utils';
11 import { 12 import {
@@ -19,7 +20,7 @@ import { @@ -19,7 +20,7 @@ import {
19 ProFormText, 20 ProFormText,
20 ProFormTextArea, 21 ProFormTextArea,
21 } from '@ant-design/pro-components'; 22 } from '@ant-design/pro-components';
22 -import { Button, Form } from 'antd'; 23 +import { Button, Divider, Form, Tag } from 'antd';
23 import { useEffect } from 'react'; 24 import { useEffect } from 'react';
24 25
25 export default ({ dataList, mainOrder, setVisible, onClose }) => { 26 export default ({ dataList, mainOrder, setVisible, onClose }) => {
@@ -99,6 +100,66 @@ export default ({ dataList, mainOrder, setVisible, onClose }) => { @@ -99,6 +100,66 @@ export default ({ dataList, mainOrder, setVisible, onClose }) => {
99 initialValue={mainOrder.institution} 100 initialValue={mainOrder.institution}
100 placeholder="请输入名称" 101 placeholder="请输入名称"
101 /> 102 />
  103 + <ProFormSelect
  104 + key="key"
  105 + label="购方名称"
  106 + width="lg"
  107 + showSearch
  108 + name="partyAName"
  109 + placeholder="请搜索购方"
  110 + rules={[{ required: true, message: '购方名称必填' }]}
  111 + onChange={(_, option) => {
  112 + form.setFieldValue('partyATaxid', option.taxId);
  113 + }}
  114 + fieldProps={{
  115 + optionItemRender(item) {
  116 + if (item.type === 'add') {
  117 + return (
  118 + <>
  119 + <Tag key={item.name}>{item.name}</Tag>
  120 + <Divider type="vertical" />
  121 + <Tag key={item.id}>新增</Tag>
  122 + </>
  123 + );
  124 + }
  125 + return (
  126 + <>
  127 + <Tag key={item.name}>{item.name}</Tag>
  128 + <Divider type="vertical" />
  129 + <Tag key={item.taxId}>{item.taxId}</Tag>
  130 + </>
  131 + );
  132 + },
  133 + }}
  134 + debounceTime={1000}
  135 + request={async (value) => {
  136 + const keywords = value.keyWords;
  137 + const res = await postServiceInvoiceQueryCompanyInfo({
  138 + data: { nameLike: keywords },
  139 + });
  140 + let options = res?.data?.map((company) => {
  141 + return {
  142 + ...company,
  143 + label: company.name,
  144 + value: company.name + '|' + company.taxId,
  145 + key: company.id,
  146 + };
  147 + });
  148 +
  149 + //第一个商品默认为要新增的商品
  150 + if (keywords.trim() !== '') {
  151 + options.unshift({
  152 + name: keywords,
  153 + type: 'add',
  154 + label: keywords,
  155 + value: keywords,
  156 + key: keywords,
  157 + });
  158 + }
  159 + return options;
  160 + }}
  161 + />
  162 + ,
102 <ProFormText 163 <ProFormText
103 width="md" 164 width="md"
104 name="partyATaxid" 165 name="partyATaxid"
@@ -295,6 +356,16 @@ export default ({ dataList, mainOrder, setVisible, onClose }) =&gt; { @@ -295,6 +356,16 @@ export default ({ dataList, mainOrder, setVisible, onClose }) =&gt; {
295 key={'specification' + listMeta.index} 356 key={'specification' + listMeta.index}
296 name="specification" 357 name="specification"
297 label="规格型号" 358 label="规格型号"
  359 + rules={[
  360 + {
  361 + message: '规格型号不能超过20个字符!',
  362 + max: 20,
  363 + },
  364 + {
  365 + message: '规格型号不能为空!',
  366 + required: true,
  367 + },
  368 + ]}
298 placeholder="请输入名称" 369 placeholder="请输入名称"
299 /> 370 />
300 <ProFormText 371 <ProFormText
src/pages/Order/components/ReissueModal_old.tsx 0 → 100644
  1 +import { RESPONSE_CODE } from '@/constants/enum';
  2 +import {
  3 + postServiceInvoiceFindInvoiceOld,
  4 + postServiceInvoiceReissueOld,
  5 + postServiceOrderFindServiceOrder,
  6 +} from '@/services';
  7 +import {
  8 + ModalForm,
  9 + ProFormSelect,
  10 + ProFormText,
  11 + ProFormTextArea,
  12 +} from '@ant-design/pro-components';
  13 +import { Form } from 'antd';
  14 +import { useEffect, useState } from 'react';
  15 +
  16 +export default ({ setVisible, mainOrder, onClose }) => {
  17 + const [invoiceSelectList, setInvoiceSelectList] = useState([]);
  18 + const [mainOrders, setMainOrders] = useState('');
  19 + const [submitting, setSubmitting] = useState(false);
  20 +
  21 + const [form] = Form.useForm<{ invoiceId: string; notes: string }>();
  22 +
  23 + let getInvoiceSelectList = async () => {
  24 + console.log(mainOrder);
  25 + const res = await postServiceInvoiceFindInvoiceOld({
  26 + data: {
  27 + mainOrderId: mainOrder.id,
  28 + },
  29 + });
  30 + setInvoiceSelectList([]);
  31 + if (res && res.result === RESPONSE_CODE.SUCCESS) {
  32 + let temInvoiceSelectList = [];
  33 + res.data.forEach((item) => {
  34 + temInvoiceSelectList.push({
  35 + label: item.invoiceNumber,
  36 + value: item.id,
  37 + });
  38 + });
  39 + setInvoiceSelectList(temInvoiceSelectList);
  40 + }
  41 + };
  42 + useEffect(() => {
  43 + getInvoiceSelectList();
  44 + }, []);
  45 + return (
  46 + <ModalForm<{
  47 + invoiceId: string;
  48 + notes: string;
  49 + }>
  50 + title="重新开票(旧)"
  51 + form={form}
  52 + width={500}
  53 + open
  54 + autoFocusFirstInput
  55 + initialValues={{}}
  56 + modalProps={{
  57 + okText: '确认',
  58 + cancelText: '取消',
  59 + destroyOnClose: true,
  60 + onCancel: () => {
  61 + setVisible(false);
  62 + },
  63 + }}
  64 + submitting={submitting}
  65 + onFinish={async (values) => {
  66 + setSubmitting(true);
  67 + postServiceInvoiceReissueOld({
  68 + data: values,
  69 + });
  70 + setVisible(false);
  71 + onClose();
  72 + }}
  73 + submitTimeout={2000}
  74 + >
  75 + <ProFormSelect
  76 + width="lg"
  77 + name="invoiceId"
  78 + label="选择要重新开的发票"
  79 + options={invoiceSelectList}
  80 + onChange={async (value) => {
  81 + console.log(value);
  82 + let result = await postServiceOrderFindServiceOrder({
  83 + data: {
  84 + invoiceId: value,
  85 + },
  86 + });
  87 + if (result && result.result === RESPONSE_CODE.SUCCESS) {
  88 + //对data里面每个元素的id用,进行拼接
  89 + let map = result.data.map((item) => item.id);
  90 + let str = map.join(',');
  91 + setMainOrders(str);
  92 + }
  93 + }}
  94 + />
  95 + <ProFormText
  96 + width="lg"
  97 + name="purchaser"
  98 + label="抬头名称"
  99 + key="purchaser"
  100 + placeholder="请输入抬头名称"
  101 + rules={[{ required: true, message: '抬头名称必填' }]}
  102 + />
  103 + <ProFormText
  104 + width="md"
  105 + name="关联订单"
  106 + label="发票关联订单号"
  107 + readonly={true}
  108 + value={mainOrders}
  109 + />
  110 + <ProFormTextArea
  111 + width="lg"
  112 + name="notes"
  113 + rules={[
  114 + {
  115 + required: true, // 设置为必填
  116 + message: '必须填写重新开票原因', // 当未填写时显示的提示信息
  117 + },
  118 + ]}
  119 + placeholder="请填写订单重新开票的原因"
  120 + />
  121 + </ModalForm>
  122 + );
  123 +};
src/pages/Order/constant.ts
@@ -105,8 +105,10 @@ export const CHECK_TYPE = { @@ -105,8 +105,10 @@ export const CHECK_TYPE = {
105 NODE_OPERATING_AUDIT: 'NODE_OPERATING_AUDIT', 105 NODE_OPERATING_AUDIT: 'NODE_OPERATING_AUDIT',
106 MODIFY_LEADER_AUDIT: 'MODIFY_LEADER_AUDIT', 106 MODIFY_LEADER_AUDIT: 'MODIFY_LEADER_AUDIT',
107 URGENT_INVOICE_AUDITING: 'URGENT_INVOICE_AUDITING', 107 URGENT_INVOICE_AUDITING: 'URGENT_INVOICE_AUDITING',
  108 + URGENT_INVOICE_AUDITING_OLD: 'URGENT_INVOICE_AUDITING_OLD',
108 PAYMENT_RECEIPTS_AUDIT: 'PAYMENT_RECEIPTS_AUDIT', 109 PAYMENT_RECEIPTS_AUDIT: 'PAYMENT_RECEIPTS_AUDIT',
109 CONFIRM_REISSUE: 'CONFIRM_REISSUE', 110 CONFIRM_REISSUE: 'CONFIRM_REISSUE',
  111 + CONFIRM_REISSUE_OLD: 'CONFIRM_REISSUE_OLD',
110 PREPAID_AUDIT: 'PREPAID_AUDIT', 112 PREPAID_AUDIT: 'PREPAID_AUDIT',
111 CREDIT_AUDIT: 'CREDIT_AUDIT', 113 CREDIT_AUDIT: 'CREDIT_AUDIT',
112 }; 114 };
src/pages/Order/index.tsx
@@ -3,6 +3,7 @@ import { RESPONSE_CODE } from &#39;@/constants/enum&#39;; @@ -3,6 +3,7 @@ import { RESPONSE_CODE } from &#39;@/constants/enum&#39;;
3 import ImportExpressBillModal from '@/pages/Order/components/ImportExpressBillModal'; 3 import ImportExpressBillModal from '@/pages/Order/components/ImportExpressBillModal';
4 import InvoicingDrawerForm from '@/pages/Order/components/InvoicingDrawerForm'; 4 import InvoicingDrawerForm from '@/pages/Order/components/InvoicingDrawerForm';
5 import ReissueModal from '@/pages/Order/components/ReissueModal'; 5 import ReissueModal from '@/pages/Order/components/ReissueModal';
  6 +import ReissueModal_old from '@/pages/Order/components/ReissueModal_old';
6 import { 7 import {
7 postKingdeeRepSalBillOutbound, 8 postKingdeeRepSalBillOutbound,
8 postKingdeeRepSalOrderSave, 9 postKingdeeRepSalOrderSave,
@@ -153,6 +154,7 @@ const OrderPage = () =&gt; { @@ -153,6 +154,7 @@ const OrderPage = () =&gt; {
153 const [isMainOrder, setIsMainOrder] = useState<boolean>(false); 154 const [isMainOrder, setIsMainOrder] = useState<boolean>(false);
154 const [importModalVisible, setImportModalVisible] = useState<boolean>(false); 155 const [importModalVisible, setImportModalVisible] = useState<boolean>(false);
155 const [reissueVisible, setReissueVisible] = useState<boolean>(false); 156 const [reissueVisible, setReissueVisible] = useState<boolean>(false);
  157 + const [reissueVisibleOld, setReissueVisibleOld] = useState<boolean>(false);
156 const [applyForInvoicingVisible, setApplyForInvoicingVisible] = 158 const [applyForInvoicingVisible, setApplyForInvoicingVisible] =
157 useState<boolean>(false); 159 useState<boolean>(false);
158 const [procureCheckModalVisible, setProcureCheckModalVisible] = 160 const [procureCheckModalVisible, setProcureCheckModalVisible] =
@@ -1314,6 +1316,23 @@ const OrderPage = () =&gt; { @@ -1314,6 +1316,23 @@ const OrderPage = () =&gt; {
1314 ) : ( 1316 ) : (
1315 '' 1317 ''
1316 )} 1318 )}
  1319 + {optRecord.subPath?.includes('URGENT_INVOICE_AUDITING') ? (
  1320 + <Button
  1321 + className="p-0"
  1322 + type="link"
  1323 + onClick={() => {
  1324 + console.log('here');
  1325 + setCurrentMainId(record.id);
  1326 + setCurretnOptSubId(optRecord.id);
  1327 + setCheckVisible(true);
  1328 + setOrderCheckType(CHECK_TYPE.URGENT_INVOICE_AUDITING_OLD);
  1329 + }}
  1330 + >
  1331 + 加急审核(旧)
  1332 + </Button>
  1333 + ) : (
  1334 + ''
  1335 + )}
1317 {optRecord.subPath?.includes('salesConfirm') && ( 1336 {optRecord.subPath?.includes('salesConfirm') && (
1318 <ButtonConfirm 1337 <ButtonConfirm
1319 className="p-0" 1338 className="p-0"
@@ -1347,6 +1366,22 @@ const OrderPage = () =&gt; { @@ -1347,6 +1366,22 @@ const OrderPage = () =&gt; {
1347 ) : ( 1366 ) : (
1348 '' 1367 ''
1349 )} 1368 )}
  1369 + {optRecord.subPath?.includes('reissue_old') ? (
  1370 + /*optRecord.afterInvoicingStatus==='PARTIAL_INVOICING'||
  1371 + optRecord.afterInvoicingStatus==='COMPLETE_INVOICING'*/
  1372 + <Button
  1373 + className="p-0"
  1374 + type="link"
  1375 + onClick={() => {
  1376 + setCurrentMainId(record.id);
  1377 + setReissueVisibleOld(true);
  1378 + }}
  1379 + >
  1380 + 重新开票(旧)
  1381 + </Button>
  1382 + ) : (
  1383 + ''
  1384 + )}
1350 {optRecord.subPath?.includes('reissue') ? ( 1385 {optRecord.subPath?.includes('reissue') ? (
1351 /*optRecord.afterInvoicingStatus==='PARTIAL_INVOICING'|| 1386 /*optRecord.afterInvoicingStatus==='PARTIAL_INVOICING'||
1352 optRecord.afterInvoicingStatus==='COMPLETE_INVOICING'*/ 1387 optRecord.afterInvoicingStatus==='COMPLETE_INVOICING'*/
@@ -1373,6 +1408,22 @@ const OrderPage = () =&gt; { @@ -1373,6 +1408,22 @@ const OrderPage = () =&gt; {
1373 setCurrentMainId(record.id); 1408 setCurrentMainId(record.id);
1374 setCurretnOptSubId(optRecord.id); 1409 setCurretnOptSubId(optRecord.id);
1375 setCheckVisible(true); 1410 setCheckVisible(true);
  1411 + setOrderCheckType(CHECK_TYPE.CONFIRM_REISSUE_OLD);
  1412 + }}
  1413 + >
  1414 + 重新开票审核(旧)
  1415 + </Button>
  1416 + ) : (
  1417 + ''
  1418 + )}
  1419 + {optRecord.subPath?.includes('confirmReissue') ? (
  1420 + <Button
  1421 + className="p-0"
  1422 + type="link"
  1423 + onClick={() => {
  1424 + setCurrentMainId(record.id);
  1425 + setCurretnOptSubId(optRecord.id);
  1426 + setCheckVisible(true);
1376 setOrderCheckType(CHECK_TYPE.CONFIRM_REISSUE); 1427 setOrderCheckType(CHECK_TYPE.CONFIRM_REISSUE);
1377 }} 1428 }}
1378 > 1429 >
@@ -1496,11 +1547,11 @@ const OrderPage = () =&gt; { @@ -1496,11 +1547,11 @@ const OrderPage = () =&gt; {
1496 '' 1547 ''
1497 )} 1548 )}
1498 1549
1499 - {/*{optRecord.subPath?.includes('saleCancelInvoicing') ? ( 1550 + {optRecord.subPath?.includes('saleCancelInvoicing') ? (
1500 <ButtonConfirm 1551 <ButtonConfirm
1501 className="p-0" 1552 className="p-0"
1502 title="确认取消申请开票?" 1553 title="确认取消申请开票?"
1503 - text="取消申请" 1554 + text="取消申请(旧)"
1504 onConfirm={async () => { 1555 onConfirm={async () => {
1505 let res = await postServiceOrderSaleCancelInvoicing({ 1556 let res = await postServiceOrderSaleCancelInvoicing({
1506 data: { 1557 data: {
@@ -1516,7 +1567,7 @@ const OrderPage = () =&gt; { @@ -1516,7 +1567,7 @@ const OrderPage = () =&gt; {
1516 /> 1567 />
1517 ) : ( 1568 ) : (
1518 '' 1569 ''
1519 - )}*/} 1570 + )}
1520 {optRecord.subPath?.includes('saleCancelInvoicing') ? ( 1571 {optRecord.subPath?.includes('saleCancelInvoicing') ? (
1521 <ButtonConfirm 1572 <ButtonConfirm
1522 className="p-0" 1573 className="p-0"
@@ -1786,6 +1837,23 @@ const OrderPage = () =&gt; { @@ -1786,6 +1837,23 @@ const OrderPage = () =&gt; {
1786 '' 1837 ''
1787 )} 1838 )}
1788 1839
  1840 + {optRecord.subPath?.includes('applyInvoicing') ? (
  1841 + <Button
  1842 + className="p-0"
  1843 + type="link"
  1844 + onClick={() => {
  1845 + setApplyForInvoicingVisible(true);
  1846 + createOptObject(optRecord.id, record.id);
  1847 + setIsEdit(false);
  1848 + setIsMainOrder(false);
  1849 + }}
  1850 + >
  1851 + 申请开票(旧)
  1852 + </Button>
  1853 + ) : (
  1854 + ''
  1855 + )}
  1856 +
1789 {optRecord.subPath?.includes('checkOrder') ? ( 1857 {optRecord.subPath?.includes('checkOrder') ? (
1790 <Button 1858 <Button
1791 className="p-0" 1859 className="p-0"
@@ -2657,6 +2725,23 @@ const OrderPage = () =&gt; { @@ -2657,6 +2725,23 @@ const OrderPage = () =&gt; {
2657 ) : ( 2725 ) : (
2658 '' 2726 ''
2659 )} 2727 )}
  2728 + {record.mainPath?.includes('URGENT_INVOICE_AUDITING') ? (
  2729 + <Button
  2730 + className="p-0"
  2731 + type="link"
  2732 + onClick={() => {
  2733 + createOptObject(null, record.id);
  2734 + setCheckVisible(true);
  2735 + setOrderCheckType(
  2736 + CHECK_TYPE.URGENT_INVOICE_AUDITING_OLD,
  2737 + );
  2738 + }}
  2739 + >
  2740 + 加急审核(旧)
  2741 + </Button>
  2742 + ) : (
  2743 + ''
  2744 + )}
2660 {record.mainPath?.includes('salesConfirm') && ( 2745 {record.mainPath?.includes('salesConfirm') && (
2661 <ButtonConfirm 2746 <ButtonConfirm
2662 className="p-0" 2747 className="p-0"
@@ -2767,6 +2852,41 @@ const OrderPage = () =&gt; { @@ -2767,6 +2852,41 @@ const OrderPage = () =&gt; {
2767 '' 2852 ''
2768 )} 2853 )}
2769 2854
  2855 + {record.mainPath?.includes('reissue_old') ? (
  2856 + /*optRecord.afterInvoicingStatus==='PARTIAL_INVOICING'||
  2857 + optRecord.afterInvoicingStatus==='COMPLETE_INVOICING'*/
  2858 + <Button
  2859 + className="p-0"
  2860 + type="link"
  2861 + onClick={() => {
  2862 + setCurrentMainId(record.id);
  2863 + setReissueVisibleOld(true);
  2864 + console.log(reissueVisible);
  2865 + }}
  2866 + >
  2867 + 重新开票(旧)
  2868 + </Button>
  2869 + ) : (
  2870 + ''
  2871 + )}
  2872 +
  2873 + {record.mainPath?.includes('confirmReissue') ? (
  2874 + <Button
  2875 + className="p-0"
  2876 + type="link"
  2877 + onClick={() => {
  2878 + setCurrentMainId(record.id);
  2879 + setCurretnOptSubId(null);
  2880 + setCheckVisible(true);
  2881 + setOrderCheckType(CHECK_TYPE.CONFIRM_REISSUE_OLD);
  2882 + }}
  2883 + >
  2884 + 重新开票审核(旧)
  2885 + </Button>
  2886 + ) : (
  2887 + ''
  2888 + )}
  2889 +
2770 {record.mainPath?.includes('reissue') ? ( 2890 {record.mainPath?.includes('reissue') ? (
2771 /*optRecord.afterInvoicingStatus==='PARTIAL_INVOICING'|| 2891 /*optRecord.afterInvoicingStatus==='PARTIAL_INVOICING'||
2772 optRecord.afterInvoicingStatus==='COMPLETE_INVOICING'*/ 2892 optRecord.afterInvoicingStatus==='COMPLETE_INVOICING'*/
@@ -3214,7 +3334,7 @@ const OrderPage = () =&gt; { @@ -3214,7 +3334,7 @@ const OrderPage = () =&gt; {
3214 '' 3334 ''
3215 )} 3335 )}
3216 3336
3217 - {/*{record.mainPath?.includes('applyInvoicing') ? ( 3337 + {record.mainPath?.includes('applyInvoicing') ? (
3218 <Button 3338 <Button
3219 type="link" 3339 type="link"
3220 className="p-0" 3340 className="p-0"
@@ -3245,11 +3365,11 @@ const OrderPage = () =&gt; { @@ -3245,11 +3365,11 @@ const OrderPage = () =&gt; {
3245 setIsMainOrder(false); 3365 setIsMainOrder(false);
3246 }} 3366 }}
3247 > 3367 >
3248 - 申请开票 3368 + 申请开票(旧)
3249 </Button> 3369 </Button>
3250 ) : ( 3370 ) : (
3251 '' 3371 ''
3252 - )}*/} 3372 + )}
3253 3373
3254 {record.mainPath?.includes('applyInvoicing') ? ( 3374 {record.mainPath?.includes('applyInvoicing') ? (
3255 <Button 3375 <Button
@@ -3494,7 +3614,7 @@ const OrderPage = () =&gt; { @@ -3494,7 +3614,7 @@ const OrderPage = () =&gt; {
3494 <ButtonConfirm 3614 <ButtonConfirm
3495 className="p-0" 3615 className="p-0"
3496 title="确认取消申请开票?" 3616 title="确认取消申请开票?"
3497 - text="取消申请" 3617 + text="取消申请(旧)"
3498 onConfirm={async () => { 3618 onConfirm={async () => {
3499 let selectedSubOrders = subOrderSelectedMap.get( 3619 let selectedSubOrders = subOrderSelectedMap.get(
3500 record.id, 3620 record.id,
@@ -3503,6 +3623,7 @@ const OrderPage = () =&gt; { @@ -3503,6 +3623,7 @@ const OrderPage = () =&gt; {
3503 selectedSubOrders = record.subOrderInformationLists; 3623 selectedSubOrders = record.subOrderInformationLists;
3504 } 3624 }
3505 3625
  3626 + console.log(selectedSubOrders);
3506 for (let i = 0; i < selectedSubOrders.length; i++) { 3627 for (let i = 0; i < selectedSubOrders.length; i++) {
3507 if ( 3628 if (
3508 selectedSubOrders[i].afterInvoicingStatus !== 3629 selectedSubOrders[i].afterInvoicingStatus !==
@@ -3531,7 +3652,6 @@ const OrderPage = () =&gt; { @@ -3531,7 +3652,6 @@ const OrderPage = () =&gt; {
3531 ) : ( 3652 ) : (
3532 '' 3653 ''
3533 )} 3654 )}
3534 -  
3535 {/* 财务审核:主订单暂无 */} 3655 {/* 财务审核:主订单暂无 */}
3536 {record.mainPath?.includes('financeCheckOrder') ? ( 3656 {record.mainPath?.includes('financeCheckOrder') ? (
3537 <Button 3657 <Button
@@ -4099,12 +4219,12 @@ const OrderPage = () =&gt; { @@ -4099,12 +4219,12 @@ const OrderPage = () =&gt; {
4099 }, 4219 },
4100 }, 4220 },
4101 { 4221 {
4102 - label: '加急开票审核', 4222 + label: '加急开票审核(旧)',
4103 key: '2', 4223 key: '2',
4104 onClick: async () => { 4224 onClick: async () => {
4105 setIsMainOrder(true); 4225 setIsMainOrder(true);
4106 setCheckVisible(true); 4226 setCheckVisible(true);
4107 - setOrderCheckType(CHECK_TYPE.URGENT_INVOICE_AUDITING); 4227 + setOrderCheckType(CHECK_TYPE.URGENT_INVOICE_AUDITING_OLD);
4108 }, 4228 },
4109 }, 4229 },
4110 { 4230 {
@@ -4199,7 +4319,7 @@ const OrderPage = () =&gt; { @@ -4199,7 +4319,7 @@ const OrderPage = () =&gt; {
4199 ); 4319 );
4200 } 4320 }
4201 4321
4202 - /*if (rolePath?.includes('mergeApplyInvoicing')) { 4322 + if (rolePath?.includes('mergeApplyInvoicing')) {
4203 toolBtns.push( 4323 toolBtns.push(
4204 <Button 4324 <Button
4205 type="primary" 4325 type="primary"
@@ -4214,9 +4334,22 @@ const OrderPage = () =&gt; { @@ -4214,9 +4334,22 @@ const OrderPage = () =&gt; {
4214 {roleCode === 'admin' ? '合并(销售)' : '合并开票'} 4334 {roleCode === 'admin' ? '合并(销售)' : '合并开票'}
4215 </Button>, 4335 </Button>,
4216 ); 4336 );
4217 - }*/ 4337 + }
4218 4338
4219 - /*if (rolePath?.includes('mergeInvoicing')) { 4339 + <Button
  4340 + type="primary"
  4341 + key="out"
  4342 + onClick={() => {
  4343 + setIsEdit(false);
  4344 + setIsMainOrder(true);
  4345 + setInvoicingDrawerFormVisible(true);
  4346 + }}
  4347 + disabled={selectedSubOrderKeys?.length === 0}
  4348 + >
  4349 + 申请开票(旧)
  4350 + </Button>;
  4351 +
  4352 + if (rolePath?.includes('mergeInvoicing')) {
4220 toolBtns.push( 4353 toolBtns.push(
4221 <Button 4354 <Button
4222 type="primary" 4355 type="primary"
@@ -4250,7 +4383,7 @@ const OrderPage = () =&gt; { @@ -4250,7 +4383,7 @@ const OrderPage = () =&gt; {
4250 {roleCode === 'admin' ? '合并(财务)' : '合并开票'} 4383 {roleCode === 'admin' ? '合并(财务)' : '合并开票'}
4251 </Button>, 4384 </Button>,
4252 ); 4385 );
4253 - }*/ 4386 + }
4254 4387
4255 toolBtns.push( 4388 toolBtns.push(
4256 <Button 4389 <Button
@@ -4841,6 +4974,24 @@ const OrderPage = () =&gt; { @@ -4841,6 +4974,24 @@ const OrderPage = () =&gt; {
4841 }} 4974 }}
4842 /> 4975 />
4843 )} 4976 )}
  4977 + {reissueVisibleOld && (
  4978 + <ReissueModal_old
  4979 + setVisible={(val: boolean) => {
  4980 + setReissueVisibleOld(val);
  4981 + console.log(reissueVisible);
  4982 + if (!val) {
  4983 + clearOptObject();
  4984 + }
  4985 + }}
  4986 + mainOrder={buildMainOrder()}
  4987 + subOrders={buildSubOrders()}
  4988 + onClose={() => {
  4989 + setReissueVisibleOld(false);
  4990 + clearOptObject();
  4991 + refreshTable();
  4992 + }}
  4993 + />
  4994 + )}
4844 {productionTimeModalVisible && ( 4995 {productionTimeModalVisible && (
4845 <ProductionTimeModal 4996 <ProductionTimeModal
4846 setVisible={(val: boolean) => { 4997 setVisible={(val: boolean) => {
src/services/definition.ts
@@ -723,6 +723,7 @@ export interface ApplyInvoiceDto { @@ -723,6 +723,7 @@ export interface ApplyInvoiceDto {
723 * 卖方税号 723 * 卖方税号
724 */ 724 */
725 partyBTaxid?: string; 725 partyBTaxid?: string;
  726 + paths?: Array<string>;
726 /** 727 /**
727 * @description 728 * @description
728 * 发票金额 729 * 发票金额
@@ -1410,6 +1411,7 @@ export interface InvoiceRecordDto { @@ -1410,6 +1411,7 @@ export interface InvoiceRecordDto {
1410 * 卖方税号 1411 * 卖方税号
1411 */ 1412 */
1412 partyBTaxid?: string; 1413 partyBTaxid?: string;
  1414 + paths?: Array<string>;
1413 /** 1415 /**
1414 * @description 1416 * @description
1415 * 发票金额 1417 * 发票金额
@@ -3028,325 +3030,6 @@ export interface ResearchGroupMemberRequestsRequest { @@ -3028,325 +3030,6 @@ export interface ResearchGroupMemberRequestsRequest {
3028 total?: number; 3030 total?: number;
3029 } 3031 }
3030 3032
3031 -export interface ResearchGroupAccountAddRequest {  
3032 - /**  
3033 - * @description  
3034 - * 关联的账号id  
3035 - * @format int64  
3036 - */  
3037 - accountId?: number;  
3038 - /**  
3039 - * @description  
3040 - * 关联的账号名称  
3041 - */  
3042 - accountName?: string;  
3043 - /**  
3044 - * @description  
3045 - * 关联的账号手机号  
3046 - */  
3047 - accountPhone?: string;  
3048 - /**  
3049 - * @description  
3050 - * 课题组id  
3051 - * @format int64  
3052 - */  
3053 - groupId?: number;  
3054 -}  
3055 -  
3056 -export interface ResearchGroupAccountEditRequest {  
3057 - /**  
3058 - * @description  
3059 - * 关联的账号id  
3060 - * @format int64  
3061 - */  
3062 - accountId?: number;  
3063 - /**  
3064 - * @description  
3065 - * 关联的账号名称  
3066 - */  
3067 - accountName?: string;  
3068 - /**  
3069 - * @description  
3070 - * 关联的账号手机号  
3071 - */  
3072 - accountPhone?: string;  
3073 - /**  
3074 - * @description  
3075 - * 课题组id  
3076 - * @format int64  
3077 - */  
3078 - groupId?: number;  
3079 - /**  
3080 - * @description  
3081 - * 主键id  
3082 - * @format int64  
3083 - */  
3084 - id?: number;  
3085 -}  
3086 -  
3087 -export interface ResearchGroupAddRequest {  
3088 - accounts?: Array<ResearchGroupAccountAddRequest>;  
3089 - /**  
3090 - * @description  
3091 - * 课题组名称  
3092 - */  
3093 - group?: string;  
3094 - /**  
3095 - * @description  
3096 - * 课题组负责人  
3097 - */  
3098 - leader?: string;  
3099 - members?: Array<ResearchGroupMemberAddRequest>;  
3100 -}  
3101 -  
3102 -export interface ResearchGroupDeleteRequest {  
3103 - /**  
3104 - * @description  
3105 - * 主键id  
3106 - */  
3107 - ids?: Array<number>;  
3108 -}  
3109 -  
3110 -export interface ResearchGroupDetailRequest {  
3111 - /**  
3112 - * @description  
3113 - * 主键id  
3114 - * @format int64  
3115 - */  
3116 - id?: number;  
3117 -}  
3118 -  
3119 -export interface ResearchGroupEditRequest {  
3120 - /**  
3121 - * @description  
3122 - * 课题组预存账号  
3123 - */  
3124 - accounts?: Array<ResearchGroupAccountEditRequest>;  
3125 - /**  
3126 - * @description  
3127 - * 课题组名称  
3128 - */  
3129 - group?: string;  
3130 - /**  
3131 - * @description  
3132 - * 主键id  
3133 - * @format int64  
3134 - */  
3135 - id?: number;  
3136 - /**  
3137 - * @description  
3138 - * 课题组负责人  
3139 - */  
3140 - leader?: string;  
3141 - /**  
3142 - * @description  
3143 - * 课题组成员集合  
3144 - */  
3145 - members?: Array<ResearchGroupMemberEditRequest>;  
3146 -}  
3147 -  
3148 -export interface ResearchGroupListRequest {  
3149 - /**  
3150 - * @description  
3151 - * 预存账号手机号  
3152 - */  
3153 - accountPhone?: string;  
3154 - /** @format int32 */  
3155 - current?: number;  
3156 - /** @format int32 */  
3157 - end?: number;  
3158 - /**  
3159 - * @description  
3160 - * 课题组名称  
3161 - */  
3162 - groupName?: string;  
3163 - /**  
3164 - * @description  
3165 - * 课题组负责人  
3166 - */  
3167 - leaderName?: string;  
3168 - /**  
3169 - * @description  
3170 - * 课题组成员名称  
3171 - */  
3172 - memberName?: string;  
3173 - /**  
3174 - * @description  
3175 - * 课题组成员手机号  
3176 - */  
3177 - memberPhone?: string;  
3178 - /** @format int32 */  
3179 - pageSize?: number;  
3180 - /** @format int32 */  
3181 - start?: number;  
3182 - /** @format int32 */  
3183 - total?: number;  
3184 -}  
3185 -  
3186 -export interface ResearchGroupMemberAddRequest {  
3187 - /**  
3188 - * @description  
3189 - * 课题组ID  
3190 - * @format int64  
3191 - */  
3192 - groupId?: number;  
3193 - /**  
3194 - * @description  
3195 - * 成员名称  
3196 - */  
3197 - memberName?: string;  
3198 - /**  
3199 - * @description  
3200 - * 成员手机号  
3201 - */  
3202 - memberPhone?: string;  
3203 -}  
3204 -  
3205 -export interface ResearchGroupMemberEditRequest {  
3206 - /**  
3207 - * @description  
3208 - * 课题组ID  
3209 - * @format int64  
3210 - */  
3211 - groupId?: number;  
3212 - /**  
3213 - * @description  
3214 - * 主键id  
3215 - * @format int64  
3216 - */  
3217 - id?: number;  
3218 - /**  
3219 - * @description  
3220 - * 成员名称  
3221 - */  
3222 - memberName?: string;  
3223 - /**  
3224 - * @description  
3225 - * 成员手机号  
3226 - */  
3227 - memberPhone?: string;  
3228 -}  
3229 -  
3230 -export interface ResearchGroupMemberRequestAddRequest {  
3231 - /**  
3232 - * @description  
3233 - * 课题组ID  
3234 - * @format int64  
3235 - */  
3236 - groupId?: number;  
3237 - /**  
3238 - * @description  
3239 - * 课题组名称  
3240 - */  
3241 - groupName?: string;  
3242 - members?: Array<ResearchGroupMemberAddRequest>;  
3243 - /**  
3244 - * @description  
3245 - * 申请备注  
3246 - */  
3247 - requestNotes?: string;  
3248 -}  
3249 -  
3250 -export interface ResearchGroupMemberRequestDeleteRequest {  
3251 - /**  
3252 - * @description  
3253 - * 主键id  
3254 - */  
3255 - ids?: Array<number>;  
3256 -}  
3257 -  
3258 -export interface ResearchGroupMemberRequestDetailRequest {  
3259 - /**  
3260 - * @description  
3261 - * 主键id  
3262 - * @format int64  
3263 - */  
3264 - id?: number;  
3265 -}  
3266 -  
3267 -export interface ResearchGroupMemberRequestEditRequest {  
3268 - /**  
3269 - * @description  
3270 - * 课题组ID  
3271 - * @format int64  
3272 - */  
3273 - groupId?: number;  
3274 - /**  
3275 - * @description  
3276 - * 课题组名称  
3277 - */  
3278 - groupName?: string;  
3279 - /**  
3280 - * @description  
3281 - * 主键id  
3282 - * @format int64  
3283 - */  
3284 - id?: number;  
3285 - /**  
3286 - * @description  
3287 - * 成员名称  
3288 - */  
3289 - memberName?: string;  
3290 - /**  
3291 - * @description  
3292 - * 成员手机号  
3293 - */  
3294 - memberPhone?: string;  
3295 - /**  
3296 - * @description  
3297 - * 申请备注  
3298 - */  
3299 - requestNotes?: string;  
3300 -}  
3301 -  
3302 -export interface ResearchGroupMemberRequestsRequest {  
3303 - /**  
3304 - * @description  
3305 - * 审核备注  
3306 - */  
3307 - auditNotes?: string;  
3308 - /**  
3309 - * @description  
3310 - * 审核状态  
3311 - */  
3312 - auditStatus?: string;  
3313 - /**  
3314 - * @description  
3315 - * 创建人  
3316 - */  
3317 - createByName?: string;  
3318 - /** @format int32 */  
3319 - current?: number;  
3320 - /** @format int32 */  
3321 - end?: number;  
3322 - /**  
3323 - * @description  
3324 - * 课题组名称  
3325 - */  
3326 - groupName?: string;  
3327 - /**  
3328 - * @description  
3329 - * 成员名称  
3330 - */  
3331 - memberName?: string;  
3332 - /**  
3333 - * @description  
3334 - * 成员手机号  
3335 - */  
3336 - memberPhone?: string;  
3337 - /** @format int32 */  
3338 - pageSize?: number;  
3339 - /**  
3340 - * @description  
3341 - * 申请备注  
3342 - */  
3343 - requestNotes?: string;  
3344 - /** @format int32 */  
3345 - start?: number;  
3346 - /** @format int32 */  
3347 - total?: number;  
3348 -}  
3349 -  
3350 export interface ResetPwdVO { 3033 export interface ResetPwdVO {
3351 /** @format int64 */ 3034 /** @format int64 */
3352 userId?: number; 3035 userId?: number;
@@ -3835,6 +3518,52 @@ export interface ApiOrderConfirmReceiveRequest { @@ -3835,6 +3518,52 @@ export interface ApiOrderConfirmReceiveRequest {
3835 subOrderIds?: Array<number>; 3518 subOrderIds?: Array<number>;
3836 } 3519 }
3837 3520
  3521 +export interface CompanyInfo {
  3522 + address?: string;
  3523 + addressLike?: string;
  3524 + bank?: string;
  3525 + bankAccount?: string;
  3526 + /**
  3527 + * @description
  3528 + * 创建字段的用户的名字
  3529 + */
  3530 + createByName?: string;
  3531 + /**
  3532 + * @description
  3533 + * 创建时间
  3534 + * @format date-time
  3535 + */
  3536 + createTime?: string;
  3537 + /** @format int64 */
  3538 + id?: number;
  3539 + /**
  3540 + * @description
  3541 + * 逻辑删除 默认为1表示未删除,为0表示已经删除
  3542 + */
  3543 + logicDelete?: boolean;
  3544 + name?: string;
  3545 + nameLike?: string;
  3546 + phoneNumber?: string;
  3547 + taxId?: string;
  3548 + /**
  3549 + * @description
  3550 + * 更新字段的用户的名字
  3551 + */
  3552 + updateByName?: string;
  3553 + /**
  3554 + * @description
  3555 + * 更新时间
  3556 + * @format date-time
  3557 + */
  3558 + updateTime?: string;
  3559 + /**
  3560 + * @description
  3561 + * 版本号
  3562 + * @format int32
  3563 + */
  3564 + version?: number;
  3565 +}
  3566 +
3838 export interface TsgFile { 3567 export interface TsgFile {
3839 absolute?: boolean; 3568 absolute?: boolean;
3840 absoluteFile?: TsgFile; 3569 absoluteFile?: TsgFile;
src/services/request.ts
@@ -36,6 +36,7 @@ import type { @@ -36,6 +36,7 @@ import type {
36 CancelSendOrderDto, 36 CancelSendOrderDto,
37 CaptchaMessageVO, 37 CaptchaMessageVO,
38 CommonAuditRequest, 38 CommonAuditRequest,
  39 + CompanyInfo,
39 CustomFieldRes, 40 CustomFieldRes,
40 CustomerCustomerListReq, 41 CustomerCustomerListReq,
41 CustomerDetailDto, 42 CustomerDetailDto,
@@ -58,6 +59,7 @@ import type { @@ -58,6 +59,7 @@ import type {
58 MaterialUnitListRes, 59 MaterialUnitListRes,
59 MeasureUnitListRes, 60 MeasureUnitListRes,
60 MessageQueryDTO, 61 MessageQueryDTO,
  62 + ModelAndView,
61 OrderAddVO, 63 OrderAddVO,
62 OrderAuditLogQueryVO, 64 OrderAuditLogQueryVO,
63 OrderBaseInfoQueryVO, 65 OrderBaseInfoQueryVO,
@@ -2394,9 +2396,7 @@ export interface GetErrorResponse { @@ -2394,9 +2396,7 @@ export interface GetErrorResponse {
2394 * @description 2396 * @description
2395 * OK 2397 * OK
2396 */ 2398 */
2397 - 200: {  
2398 - [propertyName: string]: any;  
2399 - }; 2399 + 200: ModelAndView;
2400 /** 2400 /**
2401 * @description 2401 * @description
2402 * Unauthorized 2402 * Unauthorized
@@ -2417,9 +2417,9 @@ export interface GetErrorResponse { @@ -2417,9 +2417,9 @@ export interface GetErrorResponse {
2417 export type GetErrorResponseSuccess = GetErrorResponse[200]; 2417 export type GetErrorResponseSuccess = GetErrorResponse[200];
2418 /** 2418 /**
2419 * @description 2419 * @description
2420 - * error 2420 + * errorHtml
2421 * @tags basic-error-controller 2421 * @tags basic-error-controller
2422 - * @produces * 2422 + * @produces text/html
2423 */ 2423 */
2424 export const getError = /* #__PURE__ */ (() => { 2424 export const getError = /* #__PURE__ */ (() => {
2425 const method = 'get'; 2425 const method = 'get';
@@ -2443,9 +2443,7 @@ export interface PutErrorResponse { @@ -2443,9 +2443,7 @@ export interface PutErrorResponse {
2443 * @description 2443 * @description
2444 * OK 2444 * OK
2445 */ 2445 */
2446 - 200: {  
2447 - [propertyName: string]: any;  
2448 - }; 2446 + 200: ModelAndView;
2449 /** 2447 /**
2450 * @description 2448 * @description
2451 * Created 2449 * Created
@@ -2471,9 +2469,9 @@ export interface PutErrorResponse { @@ -2471,9 +2469,9 @@ export interface PutErrorResponse {
2471 export type PutErrorResponseSuccess = PutErrorResponse[200]; 2469 export type PutErrorResponseSuccess = PutErrorResponse[200];
2472 /** 2470 /**
2473 * @description 2471 * @description
2474 - * error 2472 + * errorHtml
2475 * @tags basic-error-controller 2473 * @tags basic-error-controller
2476 - * @produces * 2474 + * @produces text/html
2477 * @consumes application/json 2475 * @consumes application/json
2478 */ 2476 */
2479 export const putError = /* #__PURE__ */ (() => { 2477 export const putError = /* #__PURE__ */ (() => {
@@ -2498,9 +2496,7 @@ export interface PostErrorResponse { @@ -2498,9 +2496,7 @@ export interface PostErrorResponse {
2498 * @description 2496 * @description
2499 * OK 2497 * OK
2500 */ 2498 */
2501 - 200: {  
2502 - [propertyName: string]: any;  
2503 - }; 2499 + 200: ModelAndView;
2504 /** 2500 /**
2505 * @description 2501 * @description
2506 * Created 2502 * Created
@@ -2526,9 +2522,9 @@ export interface PostErrorResponse { @@ -2526,9 +2522,9 @@ export interface PostErrorResponse {
2526 export type PostErrorResponseSuccess = PostErrorResponse[200]; 2522 export type PostErrorResponseSuccess = PostErrorResponse[200];
2527 /** 2523 /**
2528 * @description 2524 * @description
2529 - * error 2525 + * errorHtml
2530 * @tags basic-error-controller 2526 * @tags basic-error-controller
2531 - * @produces * 2527 + * @produces text/html
2532 * @consumes application/json 2528 * @consumes application/json
2533 */ 2529 */
2534 export const postError = /* #__PURE__ */ (() => { 2530 export const postError = /* #__PURE__ */ (() => {
@@ -2553,9 +2549,7 @@ export interface DeleteErrorResponse { @@ -2553,9 +2549,7 @@ export interface DeleteErrorResponse {
2553 * @description 2549 * @description
2554 * OK 2550 * OK
2555 */ 2551 */
2556 - 200: {  
2557 - [propertyName: string]: any;  
2558 - }; 2552 + 200: ModelAndView;
2559 /** 2553 /**
2560 * @description 2554 * @description
2561 * No Content 2555 * No Content
@@ -2576,9 +2570,9 @@ export interface DeleteErrorResponse { @@ -2576,9 +2570,9 @@ export interface DeleteErrorResponse {
2576 export type DeleteErrorResponseSuccess = DeleteErrorResponse[200]; 2570 export type DeleteErrorResponseSuccess = DeleteErrorResponse[200];
2577 /** 2571 /**
2578 * @description 2572 * @description
2579 - * error 2573 + * errorHtml
2580 * @tags basic-error-controller 2574 * @tags basic-error-controller
2581 - * @produces * 2575 + * @produces text/html
2582 */ 2576 */
2583 export const deleteError = /* #__PURE__ */ (() => { 2577 export const deleteError = /* #__PURE__ */ (() => {
2584 const method = 'delete'; 2578 const method = 'delete';
@@ -2602,9 +2596,7 @@ export interface OptionsErrorResponse { @@ -2602,9 +2596,7 @@ export interface OptionsErrorResponse {
2602 * @description 2596 * @description
2603 * OK 2597 * OK
2604 */ 2598 */
2605 - 200: {  
2606 - [propertyName: string]: any;  
2607 - }; 2599 + 200: ModelAndView;
2608 /** 2600 /**
2609 * @description 2601 * @description
2610 * No Content 2602 * No Content
@@ -2625,9 +2617,9 @@ export interface OptionsErrorResponse { @@ -2625,9 +2617,9 @@ export interface OptionsErrorResponse {
2625 export type OptionsErrorResponseSuccess = OptionsErrorResponse[200]; 2617 export type OptionsErrorResponseSuccess = OptionsErrorResponse[200];
2626 /** 2618 /**
2627 * @description 2619 * @description
2628 - * error 2620 + * errorHtml
2629 * @tags basic-error-controller 2621 * @tags basic-error-controller
2630 - * @produces * 2622 + * @produces text/html
2631 * @consumes application/json 2623 * @consumes application/json
2632 */ 2624 */
2633 export const optionsError = /* #__PURE__ */ (() => { 2625 export const optionsError = /* #__PURE__ */ (() => {
@@ -2652,9 +2644,7 @@ export interface HeadErrorResponse { @@ -2652,9 +2644,7 @@ export interface HeadErrorResponse {
2652 * @description 2644 * @description
2653 * OK 2645 * OK
2654 */ 2646 */
2655 - 200: {  
2656 - [propertyName: string]: any;  
2657 - }; 2647 + 200: ModelAndView;
2658 /** 2648 /**
2659 * @description 2649 * @description
2660 * No Content 2650 * No Content
@@ -2675,9 +2665,9 @@ export interface HeadErrorResponse { @@ -2675,9 +2665,9 @@ export interface HeadErrorResponse {
2675 export type HeadErrorResponseSuccess = HeadErrorResponse[200]; 2665 export type HeadErrorResponseSuccess = HeadErrorResponse[200];
2676 /** 2666 /**
2677 * @description 2667 * @description
2678 - * error 2668 + * errorHtml
2679 * @tags basic-error-controller 2669 * @tags basic-error-controller
2680 - * @produces * 2670 + * @produces text/html
2681 * @consumes application/json 2671 * @consumes application/json
2682 */ 2672 */
2683 export const headError = /* #__PURE__ */ (() => { 2673 export const headError = /* #__PURE__ */ (() => {
@@ -2702,9 +2692,7 @@ export interface PatchErrorResponse { @@ -2702,9 +2692,7 @@ export interface PatchErrorResponse {
2702 * @description 2692 * @description
2703 * OK 2693 * OK
2704 */ 2694 */
2705 - 200: {  
2706 - [propertyName: string]: any;  
2707 - }; 2695 + 200: ModelAndView;
2708 /** 2696 /**
2709 * @description 2697 * @description
2710 * No Content 2698 * No Content
@@ -2725,9 +2713,9 @@ export interface PatchErrorResponse { @@ -2725,9 +2713,9 @@ export interface PatchErrorResponse {
2725 export type PatchErrorResponseSuccess = PatchErrorResponse[200]; 2713 export type PatchErrorResponseSuccess = PatchErrorResponse[200];
2726 /** 2714 /**
2727 * @description 2715 * @description
2728 - * error 2716 + * errorHtml
2729 * @tags basic-error-controller 2717 * @tags basic-error-controller
2730 - * @produces * 2718 + * @produces text/html
2731 * @consumes application/json 2719 * @consumes application/json
2732 */ 2720 */
2733 export const patchError = /* #__PURE__ */ (() => { 2721 export const patchError = /* #__PURE__ */ (() => {
@@ -7414,7 +7402,7 @@ export type PostOrderErpOrderStagesUploadResponseSuccess = @@ -7414,7 +7402,7 @@ export type PostOrderErpOrderStagesUploadResponseSuccess =
7414 PostOrderErpOrderStagesUploadResponse[200]; 7402 PostOrderErpOrderStagesUploadResponse[200];
7415 /** 7403 /**
7416 * @description 7404 * @description
7417 - * 合同文件上传 7405 + * 文件上传
7418 * @tags order-stages-controller 7406 * @tags order-stages-controller
7419 * @produces * 7407 * @produces *
7420 * @consumes multipart/form-data 7408 * @consumes multipart/form-data
@@ -12082,6 +12070,77 @@ export const postServiceInvoiceFindInvoice = /* #__PURE__ */ (() =&gt; { @@ -12082,6 +12070,77 @@ export const postServiceInvoiceFindInvoice = /* #__PURE__ */ (() =&gt; {
12082 return request; 12070 return request;
12083 })(); 12071 })();
12084 12072
  12073 +/** @description request parameter type for postServiceInvoiceFindInvoiceOld */
  12074 +export interface PostServiceInvoiceFindInvoiceOldOption {
  12075 + /**
  12076 + * @description
  12077 + * dto
  12078 + */
  12079 + body: {
  12080 + /**
  12081 + @description
  12082 + dto */
  12083 + dto: Dto;
  12084 + };
  12085 +}
  12086 +
  12087 +/** @description response type for postServiceInvoiceFindInvoiceOld */
  12088 +export interface PostServiceInvoiceFindInvoiceOldResponse {
  12089 + /**
  12090 + * @description
  12091 + * OK
  12092 + */
  12093 + 200: ServerResult;
  12094 + /**
  12095 + * @description
  12096 + * Created
  12097 + */
  12098 + 201: any;
  12099 + /**
  12100 + * @description
  12101 + * Unauthorized
  12102 + */
  12103 + 401: any;
  12104 + /**
  12105 + * @description
  12106 + * Forbidden
  12107 + */
  12108 + 403: any;
  12109 + /**
  12110 + * @description
  12111 + * Not Found
  12112 + */
  12113 + 404: any;
  12114 +}
  12115 +
  12116 +export type PostServiceInvoiceFindInvoiceOldResponseSuccess =
  12117 + PostServiceInvoiceFindInvoiceOldResponse[200];
  12118 +/**
  12119 + * @description
  12120 + * 不分页查询发票
  12121 + * @tags 发票
  12122 + * @produces *
  12123 + * @consumes application/json
  12124 + */
  12125 +export const postServiceInvoiceFindInvoiceOld = /* #__PURE__ */ (() => {
  12126 + const method = 'post';
  12127 + const url = '/service/invoice/findInvoiceOld';
  12128 + function request(
  12129 + option: PostServiceInvoiceFindInvoiceOldOption,
  12130 + ): Promise<PostServiceInvoiceFindInvoiceOldResponseSuccess> {
  12131 + return requester(request.url, {
  12132 + method: request.method,
  12133 + ...option,
  12134 + }) as unknown as Promise<PostServiceInvoiceFindInvoiceOldResponseSuccess>;
  12135 + }
  12136 +
  12137 + /** http method */
  12138 + request.method = method;
  12139 + /** request url */
  12140 + request.url = url;
  12141 + return request;
  12142 +})();
  12143 +
12085 /** @description request parameter type for postServiceInvoiceGetInvoiceRecord */ 12144 /** @description request parameter type for postServiceInvoiceGetInvoiceRecord */
12086 export interface PostServiceInvoiceGetInvoiceRecordOption { 12145 export interface PostServiceInvoiceGetInvoiceRecordOption {
12087 /** 12146 /**
@@ -12455,6 +12514,148 @@ export const postServiceInvoiceModifyRecord = /* #__PURE__ */ (() =&gt; { @@ -12455,6 +12514,148 @@ export const postServiceInvoiceModifyRecord = /* #__PURE__ */ (() =&gt; {
12455 return request; 12514 return request;
12456 })(); 12515 })();
12457 12516
  12517 +/** @description request parameter type for postServiceInvoicePutCompanyInfo */
  12518 +export interface PostServiceInvoicePutCompanyInfoOption {
  12519 + /**
  12520 + * @description
  12521 + * dto
  12522 + */
  12523 + body: {
  12524 + /**
  12525 + @description
  12526 + dto */
  12527 + dto: CompanyInfo;
  12528 + };
  12529 +}
  12530 +
  12531 +/** @description response type for postServiceInvoicePutCompanyInfo */
  12532 +export interface PostServiceInvoicePutCompanyInfoResponse {
  12533 + /**
  12534 + * @description
  12535 + * OK
  12536 + */
  12537 + 200: ServerResult;
  12538 + /**
  12539 + * @description
  12540 + * Created
  12541 + */
  12542 + 201: any;
  12543 + /**
  12544 + * @description
  12545 + * Unauthorized
  12546 + */
  12547 + 401: any;
  12548 + /**
  12549 + * @description
  12550 + * Forbidden
  12551 + */
  12552 + 403: any;
  12553 + /**
  12554 + * @description
  12555 + * Not Found
  12556 + */
  12557 + 404: any;
  12558 +}
  12559 +
  12560 +export type PostServiceInvoicePutCompanyInfoResponseSuccess =
  12561 + PostServiceInvoicePutCompanyInfoResponse[200];
  12562 +/**
  12563 + * @description
  12564 + * 添加/修改抬头信息
  12565 + * @tags 发票
  12566 + * @produces *
  12567 + * @consumes application/json
  12568 + */
  12569 +export const postServiceInvoicePutCompanyInfo = /* #__PURE__ */ (() => {
  12570 + const method = 'post';
  12571 + const url = '/service/invoice/putCompanyInfo';
  12572 + function request(
  12573 + option: PostServiceInvoicePutCompanyInfoOption,
  12574 + ): Promise<PostServiceInvoicePutCompanyInfoResponseSuccess> {
  12575 + return requester(request.url, {
  12576 + method: request.method,
  12577 + ...option,
  12578 + }) as unknown as Promise<PostServiceInvoicePutCompanyInfoResponseSuccess>;
  12579 + }
  12580 +
  12581 + /** http method */
  12582 + request.method = method;
  12583 + /** request url */
  12584 + request.url = url;
  12585 + return request;
  12586 +})();
  12587 +
  12588 +/** @description request parameter type for postServiceInvoiceQueryCompanyInfo */
  12589 +export interface PostServiceInvoiceQueryCompanyInfoOption {
  12590 + /**
  12591 + * @description
  12592 + * dto
  12593 + */
  12594 + body: {
  12595 + /**
  12596 + @description
  12597 + dto */
  12598 + dto: CompanyInfo;
  12599 + };
  12600 +}
  12601 +
  12602 +/** @description response type for postServiceInvoiceQueryCompanyInfo */
  12603 +export interface PostServiceInvoiceQueryCompanyInfoResponse {
  12604 + /**
  12605 + * @description
  12606 + * OK
  12607 + */
  12608 + 200: ServerResult;
  12609 + /**
  12610 + * @description
  12611 + * Created
  12612 + */
  12613 + 201: any;
  12614 + /**
  12615 + * @description
  12616 + * Unauthorized
  12617 + */
  12618 + 401: any;
  12619 + /**
  12620 + * @description
  12621 + * Forbidden
  12622 + */
  12623 + 403: any;
  12624 + /**
  12625 + * @description
  12626 + * Not Found
  12627 + */
  12628 + 404: any;
  12629 +}
  12630 +
  12631 +export type PostServiceInvoiceQueryCompanyInfoResponseSuccess =
  12632 + PostServiceInvoiceQueryCompanyInfoResponse[200];
  12633 +/**
  12634 + * @description
  12635 + * 獲取擡頭信息
  12636 + * @tags 发票
  12637 + * @produces *
  12638 + * @consumes application/json
  12639 + */
  12640 +export const postServiceInvoiceQueryCompanyInfo = /* #__PURE__ */ (() => {
  12641 + const method = 'post';
  12642 + const url = '/service/invoice/queryCompanyInfo';
  12643 + function request(
  12644 + option: PostServiceInvoiceQueryCompanyInfoOption,
  12645 + ): Promise<PostServiceInvoiceQueryCompanyInfoResponseSuccess> {
  12646 + return requester(request.url, {
  12647 + method: request.method,
  12648 + ...option,
  12649 + }) as unknown as Promise<PostServiceInvoiceQueryCompanyInfoResponseSuccess>;
  12650 + }
  12651 +
  12652 + /** http method */
  12653 + request.method = method;
  12654 + /** request url */
  12655 + request.url = url;
  12656 + return request;
  12657 +})();
  12658 +
12458 /** @description request parameter type for postServiceInvoiceQueryInvoice */ 12659 /** @description request parameter type for postServiceInvoiceQueryInvoice */
12459 export interface PostServiceInvoiceQueryInvoiceOption { 12660 export interface PostServiceInvoiceQueryInvoiceOption {
12460 /** 12661 /**
@@ -12788,6 +12989,77 @@ export const postServiceInvoiceReissue = /* #__PURE__ */ (() =&gt; { @@ -12788,6 +12989,77 @@ export const postServiceInvoiceReissue = /* #__PURE__ */ (() =&gt; {
12788 return request; 12989 return request;
12789 })(); 12990 })();
12790 12991
  12992 +/** @description request parameter type for postServiceInvoiceReissueOld */
  12993 +export interface PostServiceInvoiceReissueOldOption {
  12994 + /**
  12995 + * @description
  12996 + * dto
  12997 + */
  12998 + body: {
  12999 + /**
  13000 + @description
  13001 + dto */
  13002 + dto: ReissueInvoiceDto;
  13003 + };
  13004 +}
  13005 +
  13006 +/** @description response type for postServiceInvoiceReissueOld */
  13007 +export interface PostServiceInvoiceReissueOldResponse {
  13008 + /**
  13009 + * @description
  13010 + * OK
  13011 + */
  13012 + 200: ServerResult;
  13013 + /**
  13014 + * @description
  13015 + * Created
  13016 + */
  13017 + 201: any;
  13018 + /**
  13019 + * @description
  13020 + * Unauthorized
  13021 + */
  13022 + 401: any;
  13023 + /**
  13024 + * @description
  13025 + * Forbidden
  13026 + */
  13027 + 403: any;
  13028 + /**
  13029 + * @description
  13030 + * Not Found
  13031 + */
  13032 + 404: any;
  13033 +}
  13034 +
  13035 +export type PostServiceInvoiceReissueOldResponseSuccess =
  13036 + PostServiceInvoiceReissueOldResponse[200];
  13037 +/**
  13038 + * @description
  13039 + * 重新开票
  13040 + * @tags 发票
  13041 + * @produces *
  13042 + * @consumes application/json
  13043 + */
  13044 +export const postServiceInvoiceReissueOld = /* #__PURE__ */ (() => {
  13045 + const method = 'post';
  13046 + const url = '/service/invoice/reissueOld';
  13047 + function request(
  13048 + option: PostServiceInvoiceReissueOldOption,
  13049 + ): Promise<PostServiceInvoiceReissueOldResponseSuccess> {
  13050 + return requester(request.url, {
  13051 + method: request.method,
  13052 + ...option,
  13053 + }) as unknown as Promise<PostServiceInvoiceReissueOldResponseSuccess>;
  13054 + }
  13055 +
  13056 + /** http method */
  13057 + request.method = method;
  13058 + /** request url */
  13059 + request.url = url;
  13060 + return request;
  13061 +})();
  13062 +
12791 /** @description request parameter type for postServiceInvoiceUrgentInvoicing */ 13063 /** @description request parameter type for postServiceInvoiceUrgentInvoicing */
12792 export interface PostServiceInvoiceUrgentInvoicingOption { 13064 export interface PostServiceInvoiceUrgentInvoicingOption {
12793 /** 13065 /**