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 410 if (checkType(CHECK_TYPE.CREDIT_AUDIT)) {
411 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 419 return type;
414 420 }
415 421  
... ...
src/pages/Order/components/InvoicingDrawerForm.tsx
... ... @@ -6,6 +6,7 @@ import {
6 6 postServiceConstInvoicingType,
7 7 postServiceConstListInvoiceDetailNames,
8 8 postServiceInvoiceApplyInvoice,
  9 + postServiceInvoiceQueryCompanyInfo,
9 10 } from '@/services';
10 11 import { enumToSelect } from '@/utils';
11 12 import {
... ... @@ -19,7 +20,7 @@ import {
19 20 ProFormText,
20 21 ProFormTextArea,
21 22 } from '@ant-design/pro-components';
22   -import { Button, Form } from 'antd';
  23 +import { Button, Divider, Form, Tag } from 'antd';
23 24 import { useEffect } from 'react';
24 25  
25 26 export default ({ dataList, mainOrder, setVisible, onClose }) => {
... ... @@ -99,6 +100,66 @@ export default ({ dataList, mainOrder, setVisible, onClose }) => {
99 100 initialValue={mainOrder.institution}
100 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 163 <ProFormText
103 164 width="md"
104 165 name="partyATaxid"
... ... @@ -295,6 +356,16 @@ export default ({ dataList, mainOrder, setVisible, onClose }) =&gt; {
295 356 key={'specification' + listMeta.index}
296 357 name="specification"
297 358 label="规格型号"
  359 + rules={[
  360 + {
  361 + message: '规格型号不能超过20个字符!',
  362 + max: 20,
  363 + },
  364 + {
  365 + message: '规格型号不能为空!',
  366 + required: true,
  367 + },
  368 + ]}
298 369 placeholder="请输入名称"
299 370 />
300 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 105 NODE_OPERATING_AUDIT: 'NODE_OPERATING_AUDIT',
106 106 MODIFY_LEADER_AUDIT: 'MODIFY_LEADER_AUDIT',
107 107 URGENT_INVOICE_AUDITING: 'URGENT_INVOICE_AUDITING',
  108 + URGENT_INVOICE_AUDITING_OLD: 'URGENT_INVOICE_AUDITING_OLD',
108 109 PAYMENT_RECEIPTS_AUDIT: 'PAYMENT_RECEIPTS_AUDIT',
109 110 CONFIRM_REISSUE: 'CONFIRM_REISSUE',
  111 + CONFIRM_REISSUE_OLD: 'CONFIRM_REISSUE_OLD',
110 112 PREPAID_AUDIT: 'PREPAID_AUDIT',
111 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 3 import ImportExpressBillModal from '@/pages/Order/components/ImportExpressBillModal';
4 4 import InvoicingDrawerForm from '@/pages/Order/components/InvoicingDrawerForm';
5 5 import ReissueModal from '@/pages/Order/components/ReissueModal';
  6 +import ReissueModal_old from '@/pages/Order/components/ReissueModal_old';
6 7 import {
7 8 postKingdeeRepSalBillOutbound,
8 9 postKingdeeRepSalOrderSave,
... ... @@ -153,6 +154,7 @@ const OrderPage = () =&gt; {
153 154 const [isMainOrder, setIsMainOrder] = useState<boolean>(false);
154 155 const [importModalVisible, setImportModalVisible] = useState<boolean>(false);
155 156 const [reissueVisible, setReissueVisible] = useState<boolean>(false);
  157 + const [reissueVisibleOld, setReissueVisibleOld] = useState<boolean>(false);
156 158 const [applyForInvoicingVisible, setApplyForInvoicingVisible] =
157 159 useState<boolean>(false);
158 160 const [procureCheckModalVisible, setProcureCheckModalVisible] =
... ... @@ -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 1336 {optRecord.subPath?.includes('salesConfirm') && (
1318 1337 <ButtonConfirm
1319 1338 className="p-0"
... ... @@ -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 1385 {optRecord.subPath?.includes('reissue') ? (
1351 1386 /*optRecord.afterInvoicingStatus==='PARTIAL_INVOICING'||
1352 1387 optRecord.afterInvoicingStatus==='COMPLETE_INVOICING'*/
... ... @@ -1373,6 +1408,22 @@ const OrderPage = () =&gt; {
1373 1408 setCurrentMainId(record.id);
1374 1409 setCurretnOptSubId(optRecord.id);
1375 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 1427 setOrderCheckType(CHECK_TYPE.CONFIRM_REISSUE);
1377 1428 }}
1378 1429 >
... ... @@ -1496,11 +1547,11 @@ const OrderPage = () =&gt; {
1496 1547 ''
1497 1548 )}
1498 1549  
1499   - {/*{optRecord.subPath?.includes('saleCancelInvoicing') ? (
  1550 + {optRecord.subPath?.includes('saleCancelInvoicing') ? (
1500 1551 <ButtonConfirm
1501 1552 className="p-0"
1502 1553 title="确认取消申请开票?"
1503   - text="取消申请"
  1554 + text="取消申请(旧)"
1504 1555 onConfirm={async () => {
1505 1556 let res = await postServiceOrderSaleCancelInvoicing({
1506 1557 data: {
... ... @@ -1516,7 +1567,7 @@ const OrderPage = () =&gt; {
1516 1567 />
1517 1568 ) : (
1518 1569 ''
1519   - )}*/}
  1570 + )}
1520 1571 {optRecord.subPath?.includes('saleCancelInvoicing') ? (
1521 1572 <ButtonConfirm
1522 1573 className="p-0"
... ... @@ -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 1857 {optRecord.subPath?.includes('checkOrder') ? (
1790 1858 <Button
1791 1859 className="p-0"
... ... @@ -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 2745 {record.mainPath?.includes('salesConfirm') && (
2661 2746 <ButtonConfirm
2662 2747 className="p-0"
... ... @@ -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 2890 {record.mainPath?.includes('reissue') ? (
2771 2891 /*optRecord.afterInvoicingStatus==='PARTIAL_INVOICING'||
2772 2892 optRecord.afterInvoicingStatus==='COMPLETE_INVOICING'*/
... ... @@ -3214,7 +3334,7 @@ const OrderPage = () =&gt; {
3214 3334 ''
3215 3335 )}
3216 3336  
3217   - {/*{record.mainPath?.includes('applyInvoicing') ? (
  3337 + {record.mainPath?.includes('applyInvoicing') ? (
3218 3338 <Button
3219 3339 type="link"
3220 3340 className="p-0"
... ... @@ -3245,11 +3365,11 @@ const OrderPage = () =&gt; {
3245 3365 setIsMainOrder(false);
3246 3366 }}
3247 3367 >
3248   - 申请开票
  3368 + 申请开票(旧)
3249 3369 </Button>
3250 3370 ) : (
3251 3371 ''
3252   - )}*/}
  3372 + )}
3253 3373  
3254 3374 {record.mainPath?.includes('applyInvoicing') ? (
3255 3375 <Button
... ... @@ -3494,7 +3614,7 @@ const OrderPage = () =&gt; {
3494 3614 <ButtonConfirm
3495 3615 className="p-0"
3496 3616 title="确认取消申请开票?"
3497   - text="取消申请"
  3617 + text="取消申请(旧)"
3498 3618 onConfirm={async () => {
3499 3619 let selectedSubOrders = subOrderSelectedMap.get(
3500 3620 record.id,
... ... @@ -3503,6 +3623,7 @@ const OrderPage = () =&gt; {
3503 3623 selectedSubOrders = record.subOrderInformationLists;
3504 3624 }
3505 3625  
  3626 + console.log(selectedSubOrders);
3506 3627 for (let i = 0; i < selectedSubOrders.length; i++) {
3507 3628 if (
3508 3629 selectedSubOrders[i].afterInvoicingStatus !==
... ... @@ -3531,7 +3652,6 @@ const OrderPage = () =&gt; {
3531 3652 ) : (
3532 3653 ''
3533 3654 )}
3534   -
3535 3655 {/* 财务审核:主订单暂无 */}
3536 3656 {record.mainPath?.includes('financeCheckOrder') ? (
3537 3657 <Button
... ... @@ -4099,12 +4219,12 @@ const OrderPage = () =&gt; {
4099 4219 },
4100 4220 },
4101 4221 {
4102   - label: '加急开票审核',
  4222 + label: '加急开票审核(旧)',
4103 4223 key: '2',
4104 4224 onClick: async () => {
4105 4225 setIsMainOrder(true);
4106 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 4319 );
4200 4320 }
4201 4321  
4202   - /*if (rolePath?.includes('mergeApplyInvoicing')) {
  4322 + if (rolePath?.includes('mergeApplyInvoicing')) {
4203 4323 toolBtns.push(
4204 4324 <Button
4205 4325 type="primary"
... ... @@ -4214,9 +4334,22 @@ const OrderPage = () =&gt; {
4214 4334 {roleCode === 'admin' ? '合并(销售)' : '合并开票'}
4215 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 4353 toolBtns.push(
4221 4354 <Button
4222 4355 type="primary"
... ... @@ -4250,7 +4383,7 @@ const OrderPage = () =&gt; {
4250 4383 {roleCode === 'admin' ? '合并(财务)' : '合并开票'}
4251 4384 </Button>,
4252 4385 );
4253   - }*/
  4386 + }
4254 4387  
4255 4388 toolBtns.push(
4256 4389 <Button
... ... @@ -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 4995 {productionTimeModalVisible && (
4845 4996 <ProductionTimeModal
4846 4997 setVisible={(val: boolean) => {
... ...
src/services/definition.ts
... ... @@ -723,6 +723,7 @@ export interface ApplyInvoiceDto {
723 723 * 卖方税号
724 724 */
725 725 partyBTaxid?: string;
  726 + paths?: Array<string>;
726 727 /**
727 728 * @description
728 729 * 发票金额
... ... @@ -1410,6 +1411,7 @@ export interface InvoiceRecordDto {
1410 1411 * 卖方税号
1411 1412 */
1412 1413 partyBTaxid?: string;
  1414 + paths?: Array<string>;
1413 1415 /**
1414 1416 * @description
1415 1417 * 发票金额
... ... @@ -3028,325 +3030,6 @@ export interface ResearchGroupMemberRequestsRequest {
3028 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 3033 export interface ResetPwdVO {
3351 3034 /** @format int64 */
3352 3035 userId?: number;
... ... @@ -3835,6 +3518,52 @@ export interface ApiOrderConfirmReceiveRequest {
3835 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 3567 export interface TsgFile {
3839 3568 absolute?: boolean;
3840 3569 absoluteFile?: TsgFile;
... ...
src/services/request.ts
... ... @@ -36,6 +36,7 @@ import type {
36 36 CancelSendOrderDto,
37 37 CaptchaMessageVO,
38 38 CommonAuditRequest,
  39 + CompanyInfo,
39 40 CustomFieldRes,
40 41 CustomerCustomerListReq,
41 42 CustomerDetailDto,
... ... @@ -58,6 +59,7 @@ import type {
58 59 MaterialUnitListRes,
59 60 MeasureUnitListRes,
60 61 MessageQueryDTO,
  62 + ModelAndView,
61 63 OrderAddVO,
62 64 OrderAuditLogQueryVO,
63 65 OrderBaseInfoQueryVO,
... ... @@ -2394,9 +2396,7 @@ export interface GetErrorResponse {
2394 2396 * @description
2395 2397 * OK
2396 2398 */
2397   - 200: {
2398   - [propertyName: string]: any;
2399   - };
  2399 + 200: ModelAndView;
2400 2400 /**
2401 2401 * @description
2402 2402 * Unauthorized
... ... @@ -2417,9 +2417,9 @@ export interface GetErrorResponse {
2417 2417 export type GetErrorResponseSuccess = GetErrorResponse[200];
2418 2418 /**
2419 2419 * @description
2420   - * error
  2420 + * errorHtml
2421 2421 * @tags basic-error-controller
2422   - * @produces *
  2422 + * @produces text/html
2423 2423 */
2424 2424 export const getError = /* #__PURE__ */ (() => {
2425 2425 const method = 'get';
... ... @@ -2443,9 +2443,7 @@ export interface PutErrorResponse {
2443 2443 * @description
2444 2444 * OK
2445 2445 */
2446   - 200: {
2447   - [propertyName: string]: any;
2448   - };
  2446 + 200: ModelAndView;
2449 2447 /**
2450 2448 * @description
2451 2449 * Created
... ... @@ -2471,9 +2469,9 @@ export interface PutErrorResponse {
2471 2469 export type PutErrorResponseSuccess = PutErrorResponse[200];
2472 2470 /**
2473 2471 * @description
2474   - * error
  2472 + * errorHtml
2475 2473 * @tags basic-error-controller
2476   - * @produces *
  2474 + * @produces text/html
2477 2475 * @consumes application/json
2478 2476 */
2479 2477 export const putError = /* #__PURE__ */ (() => {
... ... @@ -2498,9 +2496,7 @@ export interface PostErrorResponse {
2498 2496 * @description
2499 2497 * OK
2500 2498 */
2501   - 200: {
2502   - [propertyName: string]: any;
2503   - };
  2499 + 200: ModelAndView;
2504 2500 /**
2505 2501 * @description
2506 2502 * Created
... ... @@ -2526,9 +2522,9 @@ export interface PostErrorResponse {
2526 2522 export type PostErrorResponseSuccess = PostErrorResponse[200];
2527 2523 /**
2528 2524 * @description
2529   - * error
  2525 + * errorHtml
2530 2526 * @tags basic-error-controller
2531   - * @produces *
  2527 + * @produces text/html
2532 2528 * @consumes application/json
2533 2529 */
2534 2530 export const postError = /* #__PURE__ */ (() => {
... ... @@ -2553,9 +2549,7 @@ export interface DeleteErrorResponse {
2553 2549 * @description
2554 2550 * OK
2555 2551 */
2556   - 200: {
2557   - [propertyName: string]: any;
2558   - };
  2552 + 200: ModelAndView;
2559 2553 /**
2560 2554 * @description
2561 2555 * No Content
... ... @@ -2576,9 +2570,9 @@ export interface DeleteErrorResponse {
2576 2570 export type DeleteErrorResponseSuccess = DeleteErrorResponse[200];
2577 2571 /**
2578 2572 * @description
2579   - * error
  2573 + * errorHtml
2580 2574 * @tags basic-error-controller
2581   - * @produces *
  2575 + * @produces text/html
2582 2576 */
2583 2577 export const deleteError = /* #__PURE__ */ (() => {
2584 2578 const method = 'delete';
... ... @@ -2602,9 +2596,7 @@ export interface OptionsErrorResponse {
2602 2596 * @description
2603 2597 * OK
2604 2598 */
2605   - 200: {
2606   - [propertyName: string]: any;
2607   - };
  2599 + 200: ModelAndView;
2608 2600 /**
2609 2601 * @description
2610 2602 * No Content
... ... @@ -2625,9 +2617,9 @@ export interface OptionsErrorResponse {
2625 2617 export type OptionsErrorResponseSuccess = OptionsErrorResponse[200];
2626 2618 /**
2627 2619 * @description
2628   - * error
  2620 + * errorHtml
2629 2621 * @tags basic-error-controller
2630   - * @produces *
  2622 + * @produces text/html
2631 2623 * @consumes application/json
2632 2624 */
2633 2625 export const optionsError = /* #__PURE__ */ (() => {
... ... @@ -2652,9 +2644,7 @@ export interface HeadErrorResponse {
2652 2644 * @description
2653 2645 * OK
2654 2646 */
2655   - 200: {
2656   - [propertyName: string]: any;
2657   - };
  2647 + 200: ModelAndView;
2658 2648 /**
2659 2649 * @description
2660 2650 * No Content
... ... @@ -2675,9 +2665,9 @@ export interface HeadErrorResponse {
2675 2665 export type HeadErrorResponseSuccess = HeadErrorResponse[200];
2676 2666 /**
2677 2667 * @description
2678   - * error
  2668 + * errorHtml
2679 2669 * @tags basic-error-controller
2680   - * @produces *
  2670 + * @produces text/html
2681 2671 * @consumes application/json
2682 2672 */
2683 2673 export const headError = /* #__PURE__ */ (() => {
... ... @@ -2702,9 +2692,7 @@ export interface PatchErrorResponse {
2702 2692 * @description
2703 2693 * OK
2704 2694 */
2705   - 200: {
2706   - [propertyName: string]: any;
2707   - };
  2695 + 200: ModelAndView;
2708 2696 /**
2709 2697 * @description
2710 2698 * No Content
... ... @@ -2725,9 +2713,9 @@ export interface PatchErrorResponse {
2725 2713 export type PatchErrorResponseSuccess = PatchErrorResponse[200];
2726 2714 /**
2727 2715 * @description
2728   - * error
  2716 + * errorHtml
2729 2717 * @tags basic-error-controller
2730   - * @produces *
  2718 + * @produces text/html
2731 2719 * @consumes application/json
2732 2720 */
2733 2721 export const patchError = /* #__PURE__ */ (() => {
... ... @@ -7414,7 +7402,7 @@ export type PostOrderErpOrderStagesUploadResponseSuccess =
7414 7402 PostOrderErpOrderStagesUploadResponse[200];
7415 7403 /**
7416 7404 * @description
7417   - * 合同文件上传
  7405 + * 文件上传
7418 7406 * @tags order-stages-controller
7419 7407 * @produces *
7420 7408 * @consumes multipart/form-data
... ... @@ -12082,6 +12070,77 @@ export const postServiceInvoiceFindInvoice = /* #__PURE__ */ (() =&gt; {
12082 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 12144 /** @description request parameter type for postServiceInvoiceGetInvoiceRecord */
12086 12145 export interface PostServiceInvoiceGetInvoiceRecordOption {
12087 12146 /**
... ... @@ -12455,6 +12514,148 @@ export const postServiceInvoiceModifyRecord = /* #__PURE__ */ (() =&gt; {
12455 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 12659 /** @description request parameter type for postServiceInvoiceQueryInvoice */
12459 12660 export interface PostServiceInvoiceQueryInvoiceOption {
12460 12661 /**
... ... @@ -12788,6 +12989,77 @@ export const postServiceInvoiceReissue = /* #__PURE__ */ (() =&gt; {
12788 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 13063 /** @description request parameter type for postServiceInvoiceUrgentInvoicing */
12792 13064 export interface PostServiceInvoiceUrgentInvoicingOption {
12793 13065 /**
... ...