Commit 7e09e9e920fad7e4eba52e44f0bdcbdcc53e4249

Authored by 曾国涛
1 parent 705a59b2

feat: 开票功能开发

src/pages/Invoice/components/InvoiceDetailTable.tsx
@@ -23,42 +23,42 @@ export default ({ recordId, details, updateDetails, readOnly }) => { @@ -23,42 +23,42 @@ export default ({ recordId, details, updateDetails, readOnly }) => {
23 readonly: readOnly, 23 readonly: readOnly,
24 dataIndex: 'projectName', 24 dataIndex: 'projectName',
25 valueType: 'text', 25 valueType: 'text',
26 - width: '30%', 26 + ellipsis: true,
27 }, 27 },
28 { 28 {
29 title: '规格型号', 29 title: '规格型号',
30 readonly: readOnly, 30 readonly: readOnly,
31 dataIndex: 'specification', 31 dataIndex: 'specification',
32 valueType: 'text', 32 valueType: 'text',
33 - width: '30%', 33 + ellipsis: true,
34 }, 34 },
35 { 35 {
36 title: '单位', 36 title: '单位',
37 readonly: readOnly, 37 readonly: readOnly,
38 dataIndex: 'unit', 38 dataIndex: 'unit',
39 valueType: 'text', 39 valueType: 'text',
40 - width: '30%', 40 + ellipsis: true,
41 }, 41 },
42 { 42 {
43 title: '数量', 43 title: '数量',
44 readonly: readOnly, 44 readonly: readOnly,
45 dataIndex: 'quantity', 45 dataIndex: 'quantity',
46 valueType: 'digit', 46 valueType: 'digit',
47 - width: '30%', 47 + ellipsis: true,
48 }, 48 },
49 { 49 {
50 title: '单价', 50 title: '单价',
51 readonly: readOnly, 51 readonly: readOnly,
52 dataIndex: 'price', 52 dataIndex: 'price',
53 valueType: 'digit', 53 valueType: 'digit',
54 - width: '30%', 54 + ellipsis: true,
55 }, 55 },
56 { 56 {
57 title: '金额', 57 title: '金额',
58 readonly: readOnly, 58 readonly: readOnly,
59 dataIndex: 'totalPrice', 59 dataIndex: 'totalPrice',
60 valueType: 'digit', 60 valueType: 'digit',
61 - width: '30%', 61 + ellipsis: true,
62 }, 62 },
63 { 63 {
64 title: '税率/征收率', 64 title: '税率/征收率',
@@ -67,14 +67,14 @@ export default ({ recordId, details, updateDetails, readOnly }) => { @@ -67,14 +67,14 @@ export default ({ recordId, details, updateDetails, readOnly }) => {
67 valueType: () => ({ 67 valueType: () => ({
68 type: 'percent', 68 type: 'percent',
69 }), 69 }),
70 - width: '30%', 70 + ellipsis: true,
71 }, 71 },
72 { 72 {
73 title: '税额', 73 title: '税额',
74 readonly: readOnly, 74 readonly: readOnly,
75 dataIndex: 'taxPrice', 75 dataIndex: 'taxPrice',
76 valueType: 'digit', 76 valueType: 'digit',
77 - width: '30%', 77 + ellipsis: true,
78 }, 78 },
79 { 79 {
80 title: '操作', 80 title: '操作',
src/pages/Invoice/components/InvoicingModal.tsx
1 import { RESPONSE_CODE } from '@/constants/enum'; 1 import { RESPONSE_CODE } from '@/constants/enum';
2 import { postServiceInvoiceInvoicing } from '@/services'; 2 import { postServiceInvoiceInvoicing } from '@/services';
3 -import { PlusOutlined } from '@ant-design/icons';  
4 import { ModalForm } from '@ant-design/pro-components'; 3 import { ModalForm } from '@ant-design/pro-components';
5 import { Button, Form, message } from 'antd'; 4 import { Button, Form, message } from 'antd';
6 5
7 -export default ({ selectedRowKeys }) => { 6 +export default ({ selectedRowKeys, reloadRecordTable }) => {
8 const [form] = Form.useForm<{ name: string; company: string }>(); 7 const [form] = Form.useForm<{ name: string; company: string }>();
9 return ( 8 return (
10 <ModalForm<{ 9 <ModalForm<{
@@ -13,8 +12,7 @@ export default ({ selectedRowKeys }) =&gt; { @@ -13,8 +12,7 @@ export default ({ selectedRowKeys }) =&gt; {
13 }> 12 }>
14 title="开票" 13 title="开票"
15 trigger={ 14 trigger={
16 - <Button type="primary">  
17 - <PlusOutlined /> 15 + <Button type="primary" disabled={selectedRowKeys?.length === 0}>
18 开票 16 开票
19 </Button> 17 </Button>
20 } 18 }
@@ -34,6 +32,7 @@ export default ({ selectedRowKeys }) =&gt; { @@ -34,6 +32,7 @@ export default ({ selectedRowKeys }) =&gt; {
34 if (res.result === RESPONSE_CODE.SUCCESS) { 32 if (res.result === RESPONSE_CODE.SUCCESS) {
35 message.success(res.message); 33 message.success(res.message);
36 } 34 }
  35 + reloadRecordTable();
37 message.success('提交成功'); 36 message.success('提交成功');
38 return true; 37 return true;
39 }} 38 }}
src/pages/Invoice/index.tsx
@@ -89,6 +89,10 @@ const InvoicePage = () =&gt; { @@ -89,6 +89,10 @@ const InvoicePage = () =&gt; {
89 const reloadBankStatementTable = () => { 89 const reloadBankStatementTable = () => {
90 bankActionRef.current?.reload(); 90 bankActionRef.current?.reload();
91 }; 91 };
  92 + const reloadRecordTable = () => {
  93 + waitDealrecordActionRef.current?.reload();
  94 + processedRecordRef.current?.reload();
  95 + };
92 96
93 const getTableCellText = (target: any) => { 97 const getTableCellText = (target: any) => {
94 if (!target) { 98 if (!target) {
@@ -107,6 +111,7 @@ const InvoicePage = () =&gt; { @@ -107,6 +111,7 @@ const InvoicePage = () =&gt; {
107 dataIndex: 'index', 111 dataIndex: 'index',
108 valueType: 'indexBorder', 112 valueType: 'indexBorder',
109 hideInSearch: true, 113 hideInSearch: true,
  114 + ellipsis: true,
110 width: 48, 115 width: 48,
111 }, 116 },
112 { 117 {
@@ -115,12 +120,14 @@ const InvoicePage = () =&gt; { @@ -115,12 +120,14 @@ const InvoicePage = () =&gt; {
115 dataIndex: 'id', 120 dataIndex: 'id',
116 copyable: true, 121 copyable: true,
117 hideInSearch: true, 122 hideInSearch: true,
118 - width: 200, 123 + ellipsis: true,
  124 + width: 100,
119 }, 125 },
120 { 126 {
121 title: '发票状态', 127 title: '发票状态',
122 valueType: 'Text', 128 valueType: 'Text',
123 dataIndex: 'statusText', 129 dataIndex: 'statusText',
  130 + ellipsis: true,
124 hideInSearch: true, 131 hideInSearch: true,
125 }, 132 },
126 { 133 {
@@ -128,12 +135,13 @@ const InvoicePage = () =&gt; { @@ -128,12 +135,13 @@ const InvoicePage = () =&gt; {
128 dataIndex: 'createTime', 135 dataIndex: 'createTime',
129 valueType: 'dateTime', 136 valueType: 'dateTime',
130 hideInSearch: true, 137 hideInSearch: true,
131 - width: 200, 138 + ellipsis: true,
132 }, 139 },
133 { 140 {
134 title: '销售代表', 141 title: '销售代表',
135 valueType: 'text', 142 valueType: 'text',
136 hideInSearch: true, 143 hideInSearch: true,
  144 + ellipsis: true,
137 dataIndex: 'createByName', 145 dataIndex: 'createByName',
138 }, 146 },
139 { 147 {
@@ -141,42 +149,49 @@ const InvoicePage = () =&gt; { @@ -141,42 +149,49 @@ const InvoicePage = () =&gt; {
141 valueType: 'text', 149 valueType: 'text',
142 dataIndex: 'partyAName', 150 dataIndex: 'partyAName',
143 hideInSearch: true, 151 hideInSearch: true,
  152 + ellipsis: true,
144 }, 153 },
145 { 154 {
146 title: '购方税号', 155 title: '购方税号',
147 valueType: 'text', 156 valueType: 'text',
148 hideInSearch: true, 157 hideInSearch: true,
149 dataIndex: 'partyATaxid', 158 dataIndex: 'partyATaxid',
  159 + ellipsis: true,
150 }, 160 },
151 { 161 {
152 title: '收款单位', 162 title: '收款单位',
153 valueType: 'text', 163 valueType: 'text',
154 hideInSearch: true, 164 hideInSearch: true,
155 dataIndex: 'partyBName', 165 dataIndex: 'partyBName',
  166 + ellipsis: true,
156 }, 167 },
157 { 168 {
158 title: '开票金额', 169 title: '开票金额',
159 valueType: 'money', 170 valueType: 'money',
160 dataIndex: 'price', 171 dataIndex: 'price',
161 hideInSearch: true, 172 hideInSearch: true,
  173 + ellipsis: true,
162 }, 174 },
163 { 175 {
164 title: '开具类型', 176 title: '开具类型',
165 valueType: 'Text', 177 valueType: 'Text',
166 dataIndex: 'invoicingTypeText', 178 dataIndex: 'invoicingTypeText',
167 hideInSearch: true, 179 hideInSearch: true,
  180 + ellipsis: true,
168 }, 181 },
169 { 182 {
170 title: '发票类型', 183 title: '发票类型',
171 valueType: 'Text', 184 valueType: 'Text',
172 dataIndex: 'typeText', 185 dataIndex: 'typeText',
173 hideInSearch: true, 186 hideInSearch: true,
  187 + ellipsis: true,
174 }, 188 },
175 { 189 {
176 title: '是否加急', 190 title: '是否加急',
177 valueType: 'Text', 191 valueType: 'Text',
178 dataIndex: 'isUrgentText', 192 dataIndex: 'isUrgentText',
179 hideInSearch: true, 193 hideInSearch: true,
  194 + ellipsis: true,
180 }, 195 },
181 196
182 { 197 {
@@ -188,20 +203,11 @@ const InvoicePage = () =&gt; { @@ -188,20 +203,11 @@ const InvoicePage = () =&gt; {
188 { 203 {
189 title: '收款单位', 204 title: '收款单位',
190 valueType: 'select', 205 valueType: 'select',
191 - dataIndex: 'partyBNameLike', 206 + dataIndex: 'partyB',
192 filters: true, 207 filters: true,
193 onFilter: true, 208 onFilter: true,
194 hideInTable: true, 209 hideInTable: true,
195 - valueEnum: {  
196 - yes: {  
197 - text: '是',  
198 - status: true,  
199 - },  
200 - no: {  
201 - text: '否',  
202 - status: false,  
203 - },  
204 - }, 210 + valueEnum: enumToProTableEnumValue(PAYEE_OPTIONS),
205 }, 211 },
206 { 212 {
207 title: '主订单号', 213 title: '主订单号',
@@ -278,23 +284,6 @@ const InvoicePage = () =&gt; { @@ -278,23 +284,6 @@ const InvoicePage = () =&gt; {
278 }, 284 },
279 }, 285 },
280 { 286 {
281 - title: '申请开票时间',  
282 - dataIndex: 'createTime',  
283 - valueType: 'dateRange',  
284 - width: 200,  
285 - hideInTable: true,  
286 - search: {  
287 - transform: (value) => {  
288 - if (value) {  
289 - return {  
290 - createTimeGe: value[0],  
291 - createTimeLe: value[1],  
292 - };  
293 - }  
294 - },  
295 - },  
296 - },  
297 - {  
298 title: '操作', 287 title: '操作',
299 valueType: 'option', 288 valueType: 'option',
300 key: 'option', 289 key: 'option',
@@ -315,81 +304,89 @@ const InvoicePage = () =&gt; { @@ -315,81 +304,89 @@ const InvoicePage = () =&gt; {
315 { 304 {
316 dataIndex: 'index', 305 dataIndex: 'index',
317 valueType: 'indexBorder', 306 valueType: 'indexBorder',
318 - width: 48,  
319 }, 307 },
320 { 308 {
321 title: '记录编号', 309 title: '记录编号',
322 valueType: 'text', 310 valueType: 'text',
323 dataIndex: 'id', 311 dataIndex: 'id',
324 copyable: true, 312 copyable: true,
325 - width: 200, 313 + ellipsis: true,
326 }, 314 },
327 { 315 {
328 title: '发票号码', 316 title: '发票号码',
329 valueType: 'text', 317 valueType: 'text',
330 dataIndex: 'invoiceNumber', 318 dataIndex: 'invoiceNumber',
331 copyable: true, 319 copyable: true,
332 - width: 200, 320 + ellipsis: true,
333 }, 321 },
334 { 322 {
335 title: '开票日期', 323 title: '开票日期',
336 dataIndex: 'invoicingTime', 324 dataIndex: 'invoicingTime',
337 valueType: 'dateTime', 325 valueType: 'dateTime',
338 hideInSearch: true, 326 hideInSearch: true,
339 - width: 200, 327 + ellipsis: true,
340 }, 328 },
341 { 329 {
342 title: '发票类型', 330 title: '发票类型',
343 valueType: 'Text', 331 valueType: 'Text',
344 dataIndex: 'typeText', 332 dataIndex: 'typeText',
345 hideInSearch: true, 333 hideInSearch: true,
  334 + ellipsis: true,
346 }, 335 },
347 { 336 {
348 title: '发票状态', 337 title: '发票状态',
349 valueType: 'Text', 338 valueType: 'Text',
350 dataIndex: 'statusText', 339 dataIndex: 'statusText',
351 hideInSearch: true, 340 hideInSearch: true,
  341 + ellipsis: true,
352 }, 342 },
353 { 343 {
354 title: '购方名称', 344 title: '购方名称',
355 valueType: 'text', 345 valueType: 'text',
356 dataIndex: 'partyAName', 346 dataIndex: 'partyAName',
357 hideInSearch: true, 347 hideInSearch: true,
  348 + ellipsis: true,
358 }, 349 },
359 { 350 {
360 title: '购方税号', 351 title: '购方税号',
361 valueType: 'text', 352 valueType: 'text',
362 dataIndex: 'partyATaxid', 353 dataIndex: 'partyATaxid',
  354 + ellipsis: true,
363 }, 355 },
364 { 356 {
365 title: '收款单位', 357 title: '收款单位',
366 valueType: 'text', 358 valueType: 'text',
367 dataIndex: 'partyBName', 359 dataIndex: 'partyBName',
368 hideInSearch: true, 360 hideInSearch: true,
  361 + ellipsis: true,
369 }, 362 },
370 { 363 {
371 title: '联系人', 364 title: '联系人',
372 valueType: 'text', 365 valueType: 'text',
373 dataIndex: 'contacts', 366 dataIndex: 'contacts',
374 hideInSearch: true, 367 hideInSearch: true,
  368 + ellipsis: true,
375 }, 369 },
376 { 370 {
377 title: '申请人', 371 title: '申请人',
378 valueType: 'text', 372 valueType: 'text',
379 dataIndex: 'createByName', 373 dataIndex: 'createByName',
380 hideInSearch: true, 374 hideInSearch: true,
  375 + ellipsis: true,
381 }, 376 },
382 { 377 {
383 title: '开票金额(元)', 378 title: '开票金额(元)',
384 valueType: 'money', 379 valueType: 'money',
385 dataIndex: 'price', 380 dataIndex: 'price',
386 hideInSearch: true, 381 hideInSearch: true,
  382 + ellipsis: true,
387 }, 383 },
388 { 384 {
389 title: '备注', 385 title: '备注',
390 valueType: 'text', 386 valueType: 'text',
391 dataIndex: 'contacts', 387 dataIndex: 'contacts',
392 hideInSearch: true, 388 hideInSearch: true,
  389 + ellipsis: true,
393 }, 390 },
394 391
395 { 392 {
@@ -445,7 +442,6 @@ const InvoicePage = () =&gt; { @@ -445,7 +442,6 @@ const InvoicePage = () =&gt; {
445 title: '开票日期', 442 title: '开票日期',
446 dataIndex: 'invoicingTime', 443 dataIndex: 'invoicingTime',
447 valueType: 'dateRange', 444 valueType: 'dateRange',
448 - width: 200,  
449 hideInTable: true, 445 hideInTable: true,
450 search: { 446 search: {
451 transform: (value) => { 447 transform: (value) => {
@@ -459,6 +455,15 @@ const InvoicePage = () =&gt; { @@ -459,6 +455,15 @@ const InvoicePage = () =&gt; {
459 }, 455 },
460 }, 456 },
461 { 457 {
  458 + title: '收款单位',
  459 + valueType: 'select',
  460 + dataIndex: 'partyB',
  461 + filters: true,
  462 + onFilter: true,
  463 + hideInTable: true,
  464 + valueEnum: enumToProTableEnumValue(PAYEE_OPTIONS),
  465 + },
  466 + {
462 title: '操作', 467 title: '操作',
463 valueType: 'option', 468 valueType: 'option',
464 key: 'option', 469 key: 'option',
@@ -767,6 +772,7 @@ const InvoicePage = () =&gt; { @@ -767,6 +772,7 @@ const InvoicePage = () =&gt; {
767 }} 772 }}
768 rowSelection={{ 773 rowSelection={{
769 selections: [Table.SELECTION_ALL, Table.SELECTION_INVERT], 774 selections: [Table.SELECTION_ALL, Table.SELECTION_INVERT],
  775 + alwaysShowAlert: true,
770 }} 776 }}
771 tableAlertOptionRender={({ selectedRowKeys, selectedRows }) => { 777 tableAlertOptionRender={({ selectedRowKeys, selectedRows }) => {
772 console.log(selectedRows); 778 console.log(selectedRows);
@@ -774,6 +780,7 @@ const InvoicePage = () =&gt; { @@ -774,6 +780,7 @@ const InvoicePage = () =&gt; {
774 return ( 780 return (
775 <Space size={16}> 781 <Space size={16}>
776 <InvoicingModal 782 <InvoicingModal
  783 + reloadRecordTable={reloadRecordTable}
777 key="button" 784 key="button"
778 selectedRowKeys={selectedRowKeys} 785 selectedRowKeys={selectedRowKeys}
779 /> 786 />
@@ -788,6 +795,7 @@ const InvoicePage = () =&gt; { @@ -788,6 +795,7 @@ const InvoicePage = () =&gt; {
788 'WAITING_FOR_INVOICING', 795 'WAITING_FOR_INVOICING',
789 'AUDITING', 796 'AUDITING',
790 'AUDITING_NOT_PASSED', 797 'AUDITING_NOT_PASSED',
  798 + 'CANCELED',
791 ], 799 ],
792 }, 800 },
793 }); 801 });
src/pages/Order/components/InvoicingDrawerForm.tsx
@@ -5,7 +5,6 @@ import { @@ -5,7 +5,6 @@ import {
5 postServiceInvoiceApplyInvoice, 5 postServiceInvoiceApplyInvoice,
6 } from '@/services'; 6 } from '@/services';
7 import { enumToSelect } from '@/utils'; 7 import { enumToSelect } from '@/utils';
8 -import { CloseCircleOutlined } from '@ant-design/icons';  
9 import { 8 import {
10 DrawerForm, 9 DrawerForm,
11 ProFormGroup, 10 ProFormGroup,
@@ -13,16 +12,19 @@ import { @@ -13,16 +12,19 @@ import {
13 ProFormMoney, 12 ProFormMoney,
14 ProFormSelect, 13 ProFormSelect,
15 ProFormText, 14 ProFormText,
  15 + ProFormTextArea,
16 ProFormUploadDragger, 16 ProFormUploadDragger,
17 } from '@ant-design/pro-components'; 17 } from '@ant-design/pro-components';
18 import { Form } from 'antd'; 18 import { Form } from 'antd';
  19 +import { useEffect } from 'react';
19 import { PAYEE_OPTIONS } from '../constant'; 20 import { PAYEE_OPTIONS } from '../constant';
20 21
21 -export default ({ dataList, setVisible, onClose }) => { 22 +export default ({ dataList, mainOrderList, setVisible, onClose }) => {
22 // let subOrderIds = dataList?.map((item) => { 23 // let subOrderIds = dataList?.map((item) => {
23 // return item.id; 24 // return item.id;
24 // }); 25 // });
25 const [form] = Form.useForm(); 26 const [form] = Form.useForm();
  27 + useEffect(() => {}, []);
26 return ( 28 return (
27 <DrawerForm 29 <DrawerForm
28 open 30 open
@@ -57,19 +59,17 @@ export default ({ dataList, setVisible, onClose }) =&gt; { @@ -57,19 +59,17 @@ export default ({ dataList, setVisible, onClose }) =&gt; {
57 > 59 >
58 <ProFormList 60 <ProFormList
59 name="subOrderIdObjs" 61 name="subOrderIdObjs"
  62 + readonly={true}
60 label="开票订单" 63 label="开票订单"
61 initialValue={dataList.map((item) => { 64 initialValue={dataList.map((item) => {
62 return { 65 return {
63 value: item.id, 66 value: item.id,
64 }; 67 };
65 })} 68 })}
66 - deleteIconProps={{  
67 - Icon: CloseCircleOutlined,  
68 - tooltipText: '不需要这行了',  
69 - }} 69 + deleteIconProps={false}
70 > 70 >
71 <ProFormGroup key="group"> 71 <ProFormGroup key="group">
72 - <ProFormText name="value" label="" /> 72 + <ProFormText readonly={true} name="value" label="" />
73 </ProFormGroup> 73 </ProFormGroup>
74 </ProFormList> 74 </ProFormList>
75 <ProFormText 75 <ProFormText
@@ -81,6 +81,9 @@ export default ({ dataList, setVisible, onClose }) =&gt; { @@ -81,6 +81,9 @@ export default ({ dataList, setVisible, onClose }) =&gt; {
81 width="md" 81 width="md"
82 name="partyAName" 82 name="partyAName"
83 label="购方名称" 83 label="购方名称"
  84 + initialValue={
  85 + mainOrderList?.length === 1 ? mainOrderList[0].institution : ''
  86 + }
84 placeholder="请输入名称" 87 placeholder="请输入名称"
85 /> 88 />
86 <ProFormText 89 <ProFormText
@@ -95,22 +98,12 @@ export default ({ dataList, setVisible, onClose }) =&gt; { @@ -95,22 +98,12 @@ export default ({ dataList, setVisible, onClose }) =&gt; {
95 placeholder="请输入名称" 98 placeholder="请输入名称"
96 /> 99 />
97 <ProFormText 100 <ProFormText
98 - rules={[  
99 - {  
100 - required: true,  
101 - },  
102 - ]}  
103 width="md" 101 width="md"
104 name="partyAOpenBank" 102 name="partyAOpenBank"
105 label="开户银行" 103 label="开户银行"
106 placeholder="请输入名称" 104 placeholder="请输入名称"
107 /> 105 />
108 <ProFormText 106 <ProFormText
109 - rules={[  
110 - {  
111 - required: true,  
112 - },  
113 - ]}  
114 width="md" 107 width="md"
115 name="partyABankAccount" 108 name="partyABankAccount"
116 label="开户行账号" 109 label="开户行账号"
@@ -120,7 +113,9 @@ export default ({ dataList, setVisible, onClose }) =&gt; { @@ -120,7 +113,9 @@ export default ({ dataList, setVisible, onClose }) =&gt; {
120 label="开票金额" 113 label="开票金额"
121 name="price" 114 name="price"
122 locale="en-GB" 115 locale="en-GB"
123 - initialValue={22.22} 116 + initialValue={dataList.reduce((accumulator, currentValue) => {
  117 + return accumulator + currentValue.subOrderPayment;
  118 + }, 0)}
124 /> 119 />
125 <ProFormSelect 120 <ProFormSelect
126 name="invoicingType" 121 name="invoicingType"
@@ -162,6 +157,11 @@ export default ({ dataList, setVisible, onClose }) =&gt; { @@ -162,6 +157,11 @@ export default ({ dataList, setVisible, onClose }) =&gt; {
162 rules={[{ required: true, message: '请选择是否加急!' }]} 157 rules={[{ required: true, message: '请选择是否加急!' }]}
163 /> 158 />
164 <ProFormUploadDragger name="drag-pic" label="拖拽上传" /> 159 <ProFormUploadDragger name="drag-pic" label="拖拽上传" />
  160 + <ProFormTextArea
  161 + name="applyInvoicingNotes"
  162 + label="备注"
  163 + placeholder="请输入名称"
  164 + />
165 </DrawerForm> 165 </DrawerForm>
166 ); 166 );
167 }; 167 };
src/pages/Order/components/ReissueModal.tsx
@@ -13,7 +13,7 @@ import { @@ -13,7 +13,7 @@ import {
13 import { Form } from 'antd'; 13 import { Form } from 'antd';
14 import { useEffect, useState } from 'react'; 14 import { useEffect, useState } from 'react';
15 15
16 -export default ({ setVisible, mainOrder, onClose }) => { 16 +export default ({ setVisible, subOrders, onClose }) => {
17 const [invoiceSelectList, setInvoiceSelectList] = useState([]); 17 const [invoiceSelectList, setInvoiceSelectList] = useState([]);
18 const [mainOrders, setMainOrders] = useState(''); 18 const [mainOrders, setMainOrders] = useState('');
19 const [submitting, setSubmitting] = useState(false); 19 const [submitting, setSubmitting] = useState(false);
@@ -21,10 +21,9 @@ export default ({ setVisible, mainOrder, onClose }) =&gt; { @@ -21,10 +21,9 @@ export default ({ setVisible, mainOrder, onClose }) =&gt; {
21 const [form] = Form.useForm<{ invoiceId: string; notes: string }>(); 21 const [form] = Form.useForm<{ invoiceId: string; notes: string }>();
22 22
23 let getInvoiceSelectList = async () => { 23 let getInvoiceSelectList = async () => {
24 - console.log(mainOrder);  
25 const res = await postServiceInvoiceFindInvoice({ 24 const res = await postServiceInvoiceFindInvoice({
26 data: { 25 data: {
27 - mainOrderId: mainOrder.id, 26 + subOrderIdIn: subOrders.map((item) => item.id),
28 }, 27 },
29 }); 28 });
30 setInvoiceSelectList([]); 29 setInvoiceSelectList([]);
src/pages/Order/constant.ts
1 -import { postServiceOrderQueryCustomerInformation } from '@/services';  
2 -import { enumToProTableEnumValue } from '@/utils'; 1 +import { RESPONSE_CODE } from '@/constants/enum';
  2 +import {
  3 + postServiceConstAfterInvoicingStatus,
  4 + postServiceOrderQueryCustomerInformation,
  5 +} from '@/services';
  6 +import { enumToProTableEnumValue, enumToSelect } from '@/utils';
3 import { getReceivingCompanyOptions, isSupplier } from '@/utils/order'; 7 import { getReceivingCompanyOptions, isSupplier } from '@/utils/order';
4 8
5 export const COMFIR_RECEIPT_IMAGES_NUMBER = 3; 9 export const COMFIR_RECEIPT_IMAGES_NUMBER = 3;
@@ -116,11 +120,10 @@ export const CHECK_TYPE = { @@ -116,11 +120,10 @@ export const CHECK_TYPE = {
116 */ 120 */
117 export const getNeedInvoicing = (subOrder: any) => { 121 export const getNeedInvoicing = (subOrder: any) => {
118 if (subOrder.invoicingTime !== null && subOrder.invoicingTime !== undefined) { 122 if (subOrder.invoicingTime !== null && subOrder.invoicingTime !== undefined) {
119 - if (subOrder.afterInvoicingStatus === 'REISSUE') {  
120 - return '重新开票';  
121 - } else {  
122 - return '已开票';  
123 - } 123 + return '已开票';
  124 + }
  125 + if (subOrder.afterInvoicingStatus === 'REISSUE') {
  126 + return '重新开票';
124 } 127 }
125 if (subOrder.invoicingStatus === 'UN_INVOICE') { 128 if (subOrder.invoicingStatus === 'UN_INVOICE') {
126 return '不需开票'; 129 return '不需开票';
@@ -222,12 +225,21 @@ export const FINANCIAL_STATUS_OPTIONS = { @@ -222,12 +225,21 @@ export const FINANCIAL_STATUS_OPTIONS = {
222 UN_INVOICING: '取消开票', 225 UN_INVOICING: '取消开票',
223 }; 226 };
224 227
225 -export const AFTER_INVOICING_STATUS = { 228 +export const getAfterInvoicingStatus = async () => {
  229 + let res = await postServiceConstAfterInvoicingStatus();
  230 + if (res.result === RESPONSE_CODE.SUCCESS) {
  231 + return res.data;
  232 + }
  233 + return {};
  234 +};
  235 +export let AFTER_INVOICING_STATUS = {
226 NOT_YET_INVOICED: '尚未开票', 236 NOT_YET_INVOICED: '尚未开票',
227 APPLY_FOR_INVOICING: '申请开票', 237 APPLY_FOR_INVOICING: '申请开票',
228 URGENT_INVOICE_AUDITING: '加急待审核', 238 URGENT_INVOICE_AUDITING: '加急待审核',
229 PARTIAL_INVOICING: '部分开票', 239 PARTIAL_INVOICING: '部分开票',
230 COMPLETE_INVOICING: '完全开票', 240 COMPLETE_INVOICING: '完全开票',
  241 + INVOICING: '开票中',
  242 + REISSUE: '重新开票',
231 }; 243 };
232 244
233 export const TAGS_COLOR = new Map<string, string>([ 245 export const TAGS_COLOR = new Map<string, string>([
@@ -272,6 +284,7 @@ export const TAGS_COLOR = new Map&lt;string, string&gt;([ @@ -272,6 +284,7 @@ export const TAGS_COLOR = new Map&lt;string, string&gt;([
272 ['AUDIT_PASS', 'success'], 284 ['AUDIT_PASS', 'success'],
273 ['AUDIT_NOTPASS', 'error'], 285 ['AUDIT_NOTPASS', 'error'],
274 ['WAIT_CONFIRM_DELIVER_AFTER_INVOICE', 'processing'], 286 ['WAIT_CONFIRM_DELIVER_AFTER_INVOICE', 'processing'],
  287 + ['INVOICING', 'processing'],
275 ]); 288 ]);
276 export const SALES_CODE_OPTIONS = [ 289 export const SALES_CODE_OPTIONS = [
277 { label: 'D-Linda', value: 'D-Linda' }, 290 { label: 'D-Linda', value: 'D-Linda' },
@@ -606,7 +619,10 @@ export const MAIN_ORDER_COLUMNS = [ @@ -606,7 +619,10 @@ export const MAIN_ORDER_COLUMNS = [
606 dataIndex: 'afterInvoicingStatus', 619 dataIndex: 'afterInvoicingStatus',
607 valueType: 'select', 620 valueType: 'select',
608 hideInTable: true, 621 hideInTable: true,
609 - valueEnum: enumToProTableEnumValue(AFTER_INVOICING_STATUS), 622 + request: async () => {
  623 + let status = await getAfterInvoicingStatus();
  624 + return enumToSelect(status);
  625 + },
610 }, 626 },
611 { 627 {
612 title: '发票号码', 628 title: '发票号码',
src/pages/Order/index.tsx
@@ -6,6 +6,7 @@ import { @@ -6,6 +6,7 @@ import {
6 postKingdeeRepSalBillOutbound, 6 postKingdeeRepSalBillOutbound,
7 postKingdeeRepSalOrderSave, 7 postKingdeeRepSalOrderSave,
8 postServiceConstCanApplyAfterInvoicingStatus, 8 postServiceConstCanApplyAfterInvoicingStatus,
  9 + postServiceInvoiceCancelApply,
9 postServiceOrderCancelSend, 10 postServiceOrderCancelSend,
10 postServiceOrderNoNeedSend, 11 postServiceOrderNoNeedSend,
11 postServiceOrderOrderCancel, 12 postServiceOrderOrderCancel,
@@ -96,7 +97,6 @@ import ProductionTimeModal from &#39;./components/ProductionTimeModal&#39;; @@ -96,7 +97,6 @@ import ProductionTimeModal from &#39;./components/ProductionTimeModal&#39;;
96 import ShippingWarehouseChangeModal from './components/ShippingWarehouseChangeModal'; 97 import ShippingWarehouseChangeModal from './components/ShippingWarehouseChangeModal';
97 import UploadPayBillModal from './components/UploadPayBillModal'; 98 import UploadPayBillModal from './components/UploadPayBillModal';
98 import { 99 import {
99 - AFTER_INVOICING_STATUS,  
100 CHECK_TYPE, 100 CHECK_TYPE,
101 LOGISTICS_STATUS_OPTIONS, 101 LOGISTICS_STATUS_OPTIONS,
102 MAIN_ORDER_COLUMNS, 102 MAIN_ORDER_COLUMNS,
@@ -111,6 +111,7 @@ import { @@ -111,6 +111,7 @@ import {
111 PRODUCT_BELONG_DEPARTMENT_OPTIONS, 111 PRODUCT_BELONG_DEPARTMENT_OPTIONS,
112 SHIPPING_WAREHOUSE_OPTIONS, 112 SHIPPING_WAREHOUSE_OPTIONS,
113 TAGS_COLOR, 113 TAGS_COLOR,
  114 + getAfterInvoicingStatus,
114 getInvoicingType, 115 getInvoicingType,
115 getNeedInvoicing, 116 getNeedInvoicing,
116 } from './constant'; 117 } from './constant';
@@ -190,6 +191,7 @@ const OrderPage = () =&gt; { @@ -190,6 +191,7 @@ const OrderPage = () =&gt; {
190 const mainTableFormRef = useRef<ProFormInstance>(); 191 const mainTableFormRef = useRef<ProFormInstance>();
191 let [searchParams, setSearchParam] = useState(Object); //表格的查询条件存储 192 let [searchParams, setSearchParam] = useState(Object); //表格的查询条件存储
192 const [messageApi, contextHolder] = message.useMessage(); 193 const [messageApi, contextHolder] = message.useMessage();
  194 + const [afterInvoicingStatus, setAfterInvoicingStatus] = useState({});
193 const [ 195 const [
194 shippingWarehouseChangeModalVisible, 196 shippingWarehouseChangeModalVisible,
195 setShippingWarehouseChangeModalVisible, 197 setShippingWarehouseChangeModalVisible,
@@ -220,6 +222,14 @@ const OrderPage = () =&gt; { @@ -220,6 +222,14 @@ const OrderPage = () =&gt; {
220 }; 222 };
221 223
222 useEffect(() => { 224 useEffect(() => {
  225 + let initAfterInvoicingStatus = async () => {
  226 + const afteInvoicingStatus = await getAfterInvoicingStatus();
  227 + setAfterInvoicingStatus(afteInvoicingStatus);
  228 + };
  229 + initAfterInvoicingStatus();
  230 + }, []);
  231 +
  232 + useEffect(() => {
223 // 使用URLSearchParams来解析查询参数 233 // 使用URLSearchParams来解析查询参数
224 const params = new URLSearchParams(location.search); 234 const params = new URLSearchParams(location.search);
225 const id = params.get('id'); 235 const id = params.get('id');
@@ -1051,7 +1061,7 @@ const OrderPage = () =&gt; { @@ -1051,7 +1061,7 @@ const OrderPage = () =&gt; {
1051 ? optRecord.invoicingUrgentCause 1061 ? optRecord.invoicingUrgentCause
1052 : enumValueToLabel( 1062 : enumValueToLabel(
1053 optRecord.afterInvoicingStatus, 1063 optRecord.afterInvoicingStatus,
1054 - AFTER_INVOICING_STATUS, 1064 + afterInvoicingStatus,
1055 ) 1065 )
1056 } 1066 }
1057 > 1067 >
@@ -1060,7 +1070,7 @@ const OrderPage = () =&gt; { @@ -1060,7 +1070,7 @@ const OrderPage = () =&gt; {
1060 > 1070 >
1061 {enumValueToLabel( 1071 {enumValueToLabel(
1062 optRecord.afterInvoicingStatus, 1072 optRecord.afterInvoicingStatus,
1063 - AFTER_INVOICING_STATUS, 1073 + afterInvoicingStatus,
1064 )} 1074 )}
1065 </Tag> 1075 </Tag>
1066 </Tooltip> 1076 </Tooltip>
@@ -1274,6 +1284,7 @@ const OrderPage = () =&gt; { @@ -1274,6 +1284,7 @@ const OrderPage = () =&gt; {
1274 type="link" 1284 type="link"
1275 onClick={() => { 1285 onClick={() => {
1276 setCurrentMainId(record.id); 1286 setCurrentMainId(record.id);
  1287 + setCurretnOptSubId(optRecord.mainOrderId);
1277 setReissueVisible(true); 1288 setReissueVisible(true);
1278 console.log(reissueVisible); 1289 console.log(reissueVisible);
1279 }} 1290 }}
@@ -1455,6 +1466,27 @@ const OrderPage = () =&gt; { @@ -1455,6 +1466,27 @@ const OrderPage = () =&gt; {
1455 ) : ( 1466 ) : (
1456 '' 1467 ''
1457 )} 1468 )}
  1469 + {optRecord.subPath?.includes('saleCancelInvoicing') ? (
  1470 + <ButtonConfirm
  1471 + className="p-0"
  1472 + title="确认取消申请开票?"
  1473 + text="取消申请(新)"
  1474 + onConfirm={async () => {
  1475 + let res = await postServiceInvoiceCancelApply({
  1476 + data: {
  1477 + subOrderIds: [optRecord.id],
  1478 + },
  1479 + });
  1480 +
  1481 + if (res && res.result === RESPONSE_CODE.SUCCESS) {
  1482 + message.success(res.message);
  1483 + refreshTable();
  1484 + }
  1485 + }}
  1486 + />
  1487 + ) : (
  1488 + ''
  1489 + )}
1458 {optRecord.subPath?.includes('noNeedInvoicingEdit') ? ( 1490 {optRecord.subPath?.includes('noNeedInvoicingEdit') ? (
1459 <Button 1491 <Button
1460 className="p-0" 1492 className="p-0"
@@ -3093,6 +3125,43 @@ const OrderPage = () =&gt; { @@ -3093,6 +3125,43 @@ const OrderPage = () =&gt; {
3093 '' 3125 ''
3094 )} 3126 )}
3095 3127
  3128 + {/*{record.mainPath?.includes('applyInvoicing') ? (
  3129 + <Button
  3130 + type="link"
  3131 + className="p-0"
  3132 + onClick={() => {
  3133 + let selectedSubOrders = subOrderSelectedMap.get(
  3134 + record.id,
  3135 + );
  3136 + if (selectedSubOrders === undefined) {
  3137 + selectedSubOrders = record.subOrderInformationLists;
  3138 + }
  3139 + for (let i = 0; i < selectedSubOrders.length; i++) {
  3140 + if (
  3141 + selectedSubOrders[i].invoicingStatus ===
  3142 + 'UN_INVOICE' ||
  3143 + selectedSubOrders[i].afterInvoicingStatus ===
  3144 + 'APPLY_FOR_INVOICING'
  3145 + ) {
  3146 + message.error(
  3147 + '请选择需要开票且未申请开票的子订单进行申请',
  3148 + );
  3149 + return;
  3150 + }
  3151 + }
  3152 +
  3153 + createOptObject(null, record.id);
  3154 + setApplyForInvoicingVisible(true);
  3155 + setIsEdit(false);
  3156 + setIsMainOrder(false);
  3157 + }}
  3158 + >
  3159 + 申请开票
  3160 + </Button>
  3161 + ) : (
  3162 + ''
  3163 + )}*/}
  3164 +
3096 {record.mainPath?.includes('updateOrder') ? ( 3165 {record.mainPath?.includes('updateOrder') ? (
3097 <Button 3166 <Button
3098 className="p-0" 3167 className="p-0"
@@ -4609,7 +4678,11 @@ const OrderPage = () =&gt; { @@ -4609,7 +4678,11 @@ const OrderPage = () =&gt; {
4609 } 4678 }
4610 }} 4679 }}
4611 mainOrder={buildMainOrder()} 4680 mainOrder={buildMainOrder()}
4612 - subOrders={buildSubOrders()} 4681 + subOrders={
  4682 + isMainOrder
  4683 + ? [...subOrderSelectedMap.values()].flat()
  4684 + : buildSubOrders()
  4685 + }
4613 onClose={() => { 4686 onClose={() => {
4614 setReissueVisible(false); 4687 setReissueVisible(false);
4615 clearOptObject(); 4688 clearOptObject();
@@ -4681,6 +4754,7 @@ const OrderPage = () =&gt; { @@ -4681,6 +4754,7 @@ const OrderPage = () =&gt; {
4681 clearOptObject(); 4754 clearOptObject();
4682 } 4755 }
4683 }} 4756 }}
  4757 + mainOrderList={[...mainOrderSelectedMap.values()].flat()}
4684 onClose={() => { 4758 onClose={() => {
4685 setInvoicingDrawerFormVisible(false); 4759 setInvoicingDrawerFormVisible(false);
4686 setIsMainOrder(true); 4760 setIsMainOrder(true);
src/services/definition.ts
@@ -528,6 +528,220 @@ export interface ApiQueryOrderStatusCountsRequest { @@ -528,6 +528,220 @@ export interface ApiQueryOrderStatusCountsRequest {
528 uid?: number; 528 uid?: number;
529 } 529 }
530 530
  531 +export interface ApplyInvoiceDto {
  532 + /**
  533 + * @description
  534 + * 备注
  535 + */
  536 + applyInvoicingNotes?: string;
  537 + /**
  538 + * @description
  539 + * 开票备注
  540 + */
  541 + comment?: string;
  542 + /**
  543 + * @description
  544 + * 联系人
  545 + */
  546 + contacts?: string;
  547 + /**
  548 + * @description
  549 + * 开票内容
  550 + */
  551 + content?: string;
  552 + createByName?: string;
  553 + /** @format date-time */
  554 + createTime?: string;
  555 + /**
  556 + * @description
  557 + * id
  558 + * @format int64
  559 + */
  560 + id?: number;
  561 + /**
  562 + * @description
  563 + * 发票地址
  564 + */
  565 + invoiceAddress?: string;
  566 + /**
  567 + * @description
  568 + * 发票明细
  569 + */
  570 + invoiceDetails?: Array<InvoiceDetail>;
  571 + /**
  572 + * @description
  573 + * 关联发票id
  574 + */
  575 + invoiceId?: string;
  576 + /**
  577 + * @description
  578 + * 发票号码
  579 + */
  580 + invoiceNumber?: string;
  581 + /**
  582 + * @description
  583 + * 开票人
  584 + */
  585 + invoicingPerson?: string;
  586 + /**
  587 + * @description
  588 + * 开票时间
  589 + * @format date-time
  590 + */
  591 + invoicingTime?: string;
  592 + /**
  593 + * @description
  594 + * 开具类型
  595 + */
  596 + invoicingType?: string;
  597 + /**
  598 + * @description
  599 + * 开具类型
  600 + */
  601 + invoicingTypeText?: string;
  602 + /** @format date */
  603 + invoicingdate?: string;
  604 + /**
  605 + * @description
  606 + * 是否加急
  607 + */
  608 + isUrgent?: boolean;
  609 + /**
  610 + * @description
  611 + * 是否加急文本
  612 + */
  613 + isUrgentText?: string;
  614 + logicDelete?: boolean;
  615 + /**
  616 + * @description
  617 + * 买方注册地址
  618 + */
  619 + partyAAddress?: string;
  620 + /**
  621 + * @description
  622 + * 买方开户行账号
  623 + */
  624 + partyABankAccount?: string;
  625 + /**
  626 + * @description
  627 + * 买方名称
  628 + */
  629 + partyAName?: string;
  630 + /**
  631 + * @description
  632 + * 买方开户行
  633 + */
  634 + partyAOpenBank?: string;
  635 + /**
  636 + * @description
  637 + * 买方电话号码
  638 + */
  639 + partyAPhoneNumber?: string;
  640 + /**
  641 + * @description
  642 + * 买方税号
  643 + */
  644 + partyATaxid?: string;
  645 + /**
  646 + * @description
  647 + * 抬头类型
  648 + */
  649 + partyAType?: string;
  650 + partyB?: string;
  651 + /**
  652 + * @description
  653 + * 卖方注册地址
  654 + */
  655 + partyBAddress?: string;
  656 + /**
  657 + * @description
  658 + * 卖方开户行账号
  659 + */
  660 + partyBBankAccount?: string;
  661 + /**
  662 + * @description
  663 + * 卖方名称
  664 + */
  665 + partyBName?: string;
  666 + /**
  667 + * @description
  668 + * 卖方开户行
  669 + */
  670 + partyBOpenBank?: string;
  671 + /**
  672 + * @description
  673 + * 卖方电话号码
  674 + */
  675 + partyBPhoneNumber?: string;
  676 + /**
  677 + * @description
  678 + * 卖方税号
  679 + */
  680 + partyBTaxid?: string;
  681 + /**
  682 + * @description
  683 + * 发票金额
  684 + * @format double
  685 + */
  686 + price?: number;
  687 + /**
  688 + * @description
  689 + * 接收邮箱地址
  690 + */
  691 + receiveEmail?: string;
  692 + /**
  693 + * @description
  694 + * 订单来源
  695 + */
  696 + salesCodes?: Array<string>;
  697 + /**
  698 + * @description
  699 + * 订单来源
  700 + */
  701 + salesCodesText?: string;
  702 + /**
  703 + * @description
  704 + * 开票状态
  705 + */
  706 + status?: string;
  707 + /**
  708 + * @description
  709 + * 开票状态
  710 + */
  711 + statusText?: string;
  712 + /**
  713 + * @description
  714 + * 子订单id
  715 + */
  716 + subOrderIds?: Array<number>;
  717 + /**
  718 + * @description
  719 + * 关联订单
  720 + */
  721 + subOrders?: Array<SubOrder>;
  722 + /** @format double */
  723 + totalPrice?: number;
  724 + totalPriceText?: string;
  725 + /**
  726 + * @description
  727 + * 开票类型
  728 + */
  729 + type?: string;
  730 + /**
  731 + * @description
  732 + * 开票类型文本
  733 + */
  734 + typeText?: string;
  735 + /**
  736 + * @description
  737 + * 用户id
  738 + */
  739 + uid?: string;
  740 + updateByName?: string;
  741 + /** @format date-time */
  742 + updateTime?: string;
  743 +}
  744 +
531 export interface AuditDto { 745 export interface AuditDto {
532 /** 746 /**
533 * @description 747 * @description
@@ -1074,6 +1288,7 @@ export interface InvoiceRecordDto { @@ -1074,6 +1288,7 @@ export interface InvoiceRecordDto {
1074 * 抬头类型 1288 * 抬头类型
1075 */ 1289 */
1076 partyAType?: string; 1290 partyAType?: string;
  1291 + partyB?: string;
1077 /** 1292 /**
1078 * @description 1293 * @description
1079 * 卖方注册地址 1294 * 卖方注册地址
@@ -1935,6 +2150,7 @@ export interface QueryInvoiceRecordDto { @@ -1935,6 +2150,7 @@ export interface QueryInvoiceRecordDto {
1935 * 买方税号 2150 * 买方税号
1936 */ 2151 */
1937 partyATaxidLike?: string; 2152 partyATaxidLike?: string;
  2153 + partyB?: string;
1938 /** 2154 /**
1939 * @description 2155 * @description
1940 * 卖方名称 2156 * 卖方名称
@@ -1959,6 +2175,11 @@ export interface QueryInvoiceRecordDto { @@ -1959,6 +2175,11 @@ export interface QueryInvoiceRecordDto {
1959 * @description 2175 * @description
1960 * 状态非空 2176 * 状态非空
1961 */ 2177 */
  2178 + statusIn?: Array<string>;
  2179 + /**
  2180 + * @description
  2181 + * 状态非空
  2182 + */
1962 statusIsNotNull?: boolean; 2183 statusIsNotNull?: boolean;
1963 /** 2184 /**
1964 * @description 2185 * @description
@@ -2039,6 +2260,201 @@ export interface ReissueInvoiceDto { @@ -2039,6 +2260,201 @@ export interface ReissueInvoiceDto {
2039 notes?: string; 2260 notes?: string;
2040 } 2261 }
2041 2262
  2263 +export interface ResearchGroupAccountAddRequest {
  2264 + /**
  2265 + * @description
  2266 + * 关联的账号id
  2267 + * @format int64
  2268 + */
  2269 + accountId?: number;
  2270 + /**
  2271 + * @description
  2272 + * 关联的账号名称
  2273 + */
  2274 + accountName?: string;
  2275 + /**
  2276 + * @description
  2277 + * 关联的账号手机号
  2278 + */
  2279 + accountPhone?: string;
  2280 + /**
  2281 + * @description
  2282 + * 课题组id
  2283 + * @format int64
  2284 + */
  2285 + groupId?: number;
  2286 +}
  2287 +
  2288 +export interface ResearchGroupAccountEditRequest {
  2289 + /**
  2290 + * @description
  2291 + * 关联的账号id
  2292 + * @format int64
  2293 + */
  2294 + accountId?: number;
  2295 + /**
  2296 + * @description
  2297 + * 关联的账号名称
  2298 + */
  2299 + accountName?: string;
  2300 + /**
  2301 + * @description
  2302 + * 关联的账号手机号
  2303 + */
  2304 + accountPhone?: string;
  2305 + /**
  2306 + * @description
  2307 + * 课题组id
  2308 + * @format int64
  2309 + */
  2310 + groupId?: number;
  2311 + /**
  2312 + * @description
  2313 + * 主键id
  2314 + * @format int64
  2315 + */
  2316 + id?: number;
  2317 +}
  2318 +
  2319 +export interface ResearchGroupAddRequest {
  2320 + accounts?: Array<ResearchGroupAccountAddRequest>;
  2321 + /**
  2322 + * @description
  2323 + * 课题组名称
  2324 + */
  2325 + group?: string;
  2326 + /**
  2327 + * @description
  2328 + * 课题组负责人
  2329 + */
  2330 + leader?: string;
  2331 + members?: Array<ResearchGroupMemberAddRequest>;
  2332 +}
  2333 +
  2334 +export interface ResearchGroupDeleteRequest {
  2335 + /**
  2336 + * @description
  2337 + * 主键id
  2338 + */
  2339 + ids?: Array<number>;
  2340 +}
  2341 +
  2342 +export interface ResearchGroupDetailRequest {
  2343 + /**
  2344 + * @description
  2345 + * 主键id
  2346 + * @format int64
  2347 + */
  2348 + id?: number;
  2349 +}
  2350 +
  2351 +export interface ResearchGroupEditRequest {
  2352 + /**
  2353 + * @description
  2354 + * 课题组预存账号
  2355 + */
  2356 + accounts?: Array<ResearchGroupAccountEditRequest>;
  2357 + /**
  2358 + * @description
  2359 + * 课题组名称
  2360 + */
  2361 + group?: string;
  2362 + /**
  2363 + * @description
  2364 + * 主键id
  2365 + * @format int64
  2366 + */
  2367 + id?: number;
  2368 + /**
  2369 + * @description
  2370 + * 课题组负责人
  2371 + */
  2372 + leader?: string;
  2373 + /**
  2374 + * @description
  2375 + * 课题组成员集合
  2376 + */
  2377 + members?: Array<ResearchGroupMemberEditRequest>;
  2378 +}
  2379 +
  2380 +export interface ResearchGroupListRequest {
  2381 + /**
  2382 + * @description
  2383 + * 预存账号手机号
  2384 + */
  2385 + accountPhone?: string;
  2386 + /** @format int32 */
  2387 + current?: number;
  2388 + /**
  2389 + * @description
  2390 + * 课题组名称
  2391 + */
  2392 + group?: string;
  2393 + /**
  2394 + * @description
  2395 + * 课题组负责人
  2396 + */
  2397 + leader?: string;
  2398 + /**
  2399 + * @description
  2400 + * 课题组成员名称
  2401 + */
  2402 + memberName?: string;
  2403 + /**
  2404 + * @description
  2405 + * 课题组成员手机号
  2406 + */
  2407 + memberPhone?: string;
  2408 + /** @format int32 */
  2409 + pageSize?: number;
  2410 + /** @format int32 */
  2411 + total?: number;
  2412 +}
  2413 +
  2414 +export interface ResearchGroupMemberAddRequest {
  2415 + /**
  2416 + * @description
  2417 + * 课题组ID
  2418 + * @format int64
  2419 + */
  2420 + groupId?: number;
  2421 + /**
  2422 + * @description
  2423 + * 成员名称
  2424 + */
  2425 + memberName?: string;
  2426 + /**
  2427 + * @description
  2428 + * 成员手机号
  2429 + */
  2430 + memberPhone?: string;
  2431 +}
  2432 +
  2433 +export interface ResearchGroupMemberEditRequest {
  2434 + /**
  2435 + * @description
  2436 + * 课题组ID
  2437 + * @format int64
  2438 + */
  2439 + groupId?: number;
  2440 + /**
  2441 + * @description
  2442 + * 主键id
  2443 + * @format int64
  2444 + */
  2445 + id?: number;
  2446 + /**
  2447 + * @description
  2448 + * 成员名称
  2449 + */
  2450 + memberName?: string;
  2451 + /**
  2452 + * @description
  2453 + * 成员手机号
  2454 + */
  2455 + memberPhone?: string;
  2456 +}
  2457 +
2042 export interface ResetPwdVO { 2458 export interface ResetPwdVO {
2043 /** @format int64 */ 2459 /** @format int64 */
2044 userId?: number; 2460 userId?: number;
@@ -2147,6 +2563,7 @@ export interface SubOrder { @@ -2147,6 +2563,7 @@ export interface SubOrder {
2147 postAuditStatus?: string; 2563 postAuditStatus?: string;
2148 /** @format date-time */ 2564 /** @format date-time */
2149 postAuditStatusUpdateTime?: string; 2565 postAuditStatusUpdateTime?: string;
  2566 + preAfterInvoicingStatus?: string;
2150 procureConvertNotes?: string; 2567 procureConvertNotes?: string;
2151 procureNotes?: string; 2568 procureNotes?: string;
2152 /** @format date-time */ 2569 /** @format date-time */
@@ -2425,6 +2842,11 @@ export interface UserListRequest { @@ -2425,6 +2842,11 @@ export interface UserListRequest {
2425 uid?: number; 2842 uid?: number;
2426 /** 2843 /**
2427 * @description 2844 * @description
  2845 + * ids
  2846 + */
  2847 + uids?: Array<number>;
  2848 + /**
  2849 + * @description
2428 * 用户名 2850 * 用户名
2429 */ 2851 */
2430 username?: string; 2852 username?: string;
@@ -2814,6 +3236,38 @@ export interface StoreOrderInvoiceRequest { @@ -2814,6 +3236,38 @@ export interface StoreOrderInvoiceRequest {
2814 updateTime?: string; 3236 updateTime?: string;
2815 } 3237 }
2816 3238
  3239 +/**
  3240 + * @description
  3241 + * 保存用户地址请求对象
  3242 + */
  3243 +export interface UserAddressSaveRequest {
  3244 + /**
  3245 + * @description
  3246 + * 联系电话
  3247 + */
  3248 + customerContactNumber: string;
  3249 + /**
  3250 + * @description
  3251 + * 客户姓名
  3252 + */
  3253 + customerName: string;
  3254 + /**
  3255 + * @description
  3256 + * 收货地址
  3257 + */
  3258 + customerShippingAddress?: string;
  3259 + /**
  3260 + * @description
  3261 + * 客户单位
  3262 + */
  3263 + institution?: string;
  3264 + /**
  3265 + * @description
  3266 + * 课题组老师
  3267 + */
  3268 + institutionContactName?: string;
  3269 +}
  3270 +
2817 export interface UploadPaymentReceiptDTO { 3271 export interface UploadPaymentReceiptDTO {
2818 /** 3272 /**
2819 * @description 3273 * @description
src/services/request.ts
@@ -29,6 +29,7 @@ import type { @@ -29,6 +29,7 @@ import type {
29 ApiOrderEvaluatedRequest, 29 ApiOrderEvaluatedRequest,
30 ApiQueryOrderDetailRequest, 30 ApiQueryOrderDetailRequest,
31 ApiQueryOrderStatusCountsRequest, 31 ApiQueryOrderStatusCountsRequest,
  32 + ApplyInvoiceDto,
32 AuditDto, 33 AuditDto,
33 AuditVO, 34 AuditVO,
34 CancelInvoiceAndBankStatementDto, 35 CancelInvoiceAndBankStatementDto,
@@ -54,7 +55,6 @@ import type { @@ -54,7 +55,6 @@ import type {
54 MaterialUnitListRes, 55 MaterialUnitListRes,
55 MeasureUnitListRes, 56 MeasureUnitListRes,
56 MessageQueryDTO, 57 MessageQueryDTO,
57 - ModelAndView,  
58 OrderAddVO, 58 OrderAddVO,
59 OrderAuditLogQueryVO, 59 OrderAuditLogQueryVO,
60 OrderBaseInfoQueryVO, 60 OrderBaseInfoQueryVO,
@@ -77,6 +77,11 @@ import type { @@ -77,6 +77,11 @@ import type {
77 QueryMainOrderDto, 77 QueryMainOrderDto,
78 QueryReportFormsDto, 78 QueryReportFormsDto,
79 ReissueInvoiceDto, 79 ReissueInvoiceDto,
  80 + ResearchGroupAddRequest,
  81 + ResearchGroupDeleteRequest,
  82 + ResearchGroupDetailRequest,
  83 + ResearchGroupEditRequest,
  84 + ResearchGroupListRequest,
80 ResetPwdVO, 85 ResetPwdVO,
81 SalOrderSaveDto, 86 SalOrderSaveDto,
82 SalesRechargePrepaymentAuditRequest, 87 SalesRechargePrepaymentAuditRequest,
@@ -98,6 +103,7 @@ import type { @@ -98,6 +103,7 @@ import type {
98 UpdatePwdVO, 103 UpdatePwdVO,
99 UploadPaymentReceiptDTO, 104 UploadPaymentReceiptDTO,
100 UserAddressListRequest, 105 UserAddressListRequest,
  106 + UserAddressSaveRequest,
101 UserCenterInfoRequest, 107 UserCenterInfoRequest,
102 UserDetailRequest, 108 UserDetailRequest,
103 UserListRequest, 109 UserListRequest,
@@ -1463,6 +1469,78 @@ export const postCanrdApiUserDetail = /* #__PURE__ */ (() =&gt; { @@ -1463,6 +1469,78 @@ export const postCanrdApiUserDetail = /* #__PURE__ */ (() =&gt; {
1463 return request; 1469 return request;
1464 })(); 1470 })();
1465 1471
  1472 +/** @description request parameter type for postCanrdApiUserInnerOrderSystemAddressSave */
  1473 +export interface PostCanrdApiUserInnerOrderSystemAddressSaveOption {
  1474 + /**
  1475 + * @description
  1476 + * request
  1477 + */
  1478 + body: {
  1479 + /**
  1480 + @description
  1481 + request */
  1482 + request: UserAddressSaveRequest;
  1483 + };
  1484 +}
  1485 +
  1486 +/** @description response type for postCanrdApiUserInnerOrderSystemAddressSave */
  1487 +export interface PostCanrdApiUserInnerOrderSystemAddressSaveResponse {
  1488 + /**
  1489 + * @description
  1490 + * OK
  1491 + */
  1492 + 200: ServerResult;
  1493 + /**
  1494 + * @description
  1495 + * Created
  1496 + */
  1497 + 201: any;
  1498 + /**
  1499 + * @description
  1500 + * Unauthorized
  1501 + */
  1502 + 401: any;
  1503 + /**
  1504 + * @description
  1505 + * Forbidden
  1506 + */
  1507 + 403: any;
  1508 + /**
  1509 + * @description
  1510 + * Not Found
  1511 + */
  1512 + 404: any;
  1513 +}
  1514 +
  1515 +export type PostCanrdApiUserInnerOrderSystemAddressSaveResponseSuccess =
  1516 + PostCanrdApiUserInnerOrderSystemAddressSaveResponse[200];
  1517 +/**
  1518 + * @description
  1519 + * 查询地址信息
  1520 + * @tags canrd-mobile-api-controller
  1521 + * @produces *
  1522 + * @consumes application/json
  1523 + */
  1524 +export const postCanrdApiUserInnerOrderSystemAddressSave =
  1525 + /* #__PURE__ */ (() => {
  1526 + const method = 'post';
  1527 + const url = '/canrd/api/user/innerOrderSystem/address/save';
  1528 + function request(
  1529 + option: PostCanrdApiUserInnerOrderSystemAddressSaveOption,
  1530 + ): Promise<PostCanrdApiUserInnerOrderSystemAddressSaveResponseSuccess> {
  1531 + return requester(request.url, {
  1532 + method: request.method,
  1533 + ...option,
  1534 + }) as unknown as Promise<PostCanrdApiUserInnerOrderSystemAddressSaveResponseSuccess>;
  1535 + }
  1536 +
  1537 + /** http method */
  1538 + request.method = method;
  1539 + /** request url */
  1540 + request.url = url;
  1541 + return request;
  1542 + })();
  1543 +
1466 /** @description request parameter type for postCanrdApiUserList */ 1544 /** @description request parameter type for postCanrdApiUserList */
1467 export interface PostCanrdApiUserListOption { 1545 export interface PostCanrdApiUserListOption {
1468 /** 1546 /**
@@ -1540,7 +1618,9 @@ export interface GetErrorResponse { @@ -1540,7 +1618,9 @@ export interface GetErrorResponse {
1540 * @description 1618 * @description
1541 * OK 1619 * OK
1542 */ 1620 */
1543 - 200: ModelAndView; 1621 + 200: {
  1622 + [propertyName: string]: any;
  1623 + };
1544 /** 1624 /**
1545 * @description 1625 * @description
1546 * Unauthorized 1626 * Unauthorized
@@ -1561,9 +1641,9 @@ export interface GetErrorResponse { @@ -1561,9 +1641,9 @@ export interface GetErrorResponse {
1561 export type GetErrorResponseSuccess = GetErrorResponse[200]; 1641 export type GetErrorResponseSuccess = GetErrorResponse[200];
1562 /** 1642 /**
1563 * @description 1643 * @description
1564 - * errorHtml 1644 + * error
1565 * @tags basic-error-controller 1645 * @tags basic-error-controller
1566 - * @produces text/html 1646 + * @produces *
1567 */ 1647 */
1568 export const getError = /* #__PURE__ */ (() => { 1648 export const getError = /* #__PURE__ */ (() => {
1569 const method = 'get'; 1649 const method = 'get';
@@ -1587,7 +1667,9 @@ export interface PutErrorResponse { @@ -1587,7 +1667,9 @@ export interface PutErrorResponse {
1587 * @description 1667 * @description
1588 * OK 1668 * OK
1589 */ 1669 */
1590 - 200: ModelAndView; 1670 + 200: {
  1671 + [propertyName: string]: any;
  1672 + };
1591 /** 1673 /**
1592 * @description 1674 * @description
1593 * Created 1675 * Created
@@ -1613,9 +1695,9 @@ export interface PutErrorResponse { @@ -1613,9 +1695,9 @@ export interface PutErrorResponse {
1613 export type PutErrorResponseSuccess = PutErrorResponse[200]; 1695 export type PutErrorResponseSuccess = PutErrorResponse[200];
1614 /** 1696 /**
1615 * @description 1697 * @description
1616 - * errorHtml 1698 + * error
1617 * @tags basic-error-controller 1699 * @tags basic-error-controller
1618 - * @produces text/html 1700 + * @produces *
1619 * @consumes application/json 1701 * @consumes application/json
1620 */ 1702 */
1621 export const putError = /* #__PURE__ */ (() => { 1703 export const putError = /* #__PURE__ */ (() => {
@@ -1640,7 +1722,9 @@ export interface PostErrorResponse { @@ -1640,7 +1722,9 @@ export interface PostErrorResponse {
1640 * @description 1722 * @description
1641 * OK 1723 * OK
1642 */ 1724 */
1643 - 200: ModelAndView; 1725 + 200: {
  1726 + [propertyName: string]: any;
  1727 + };
1644 /** 1728 /**
1645 * @description 1729 * @description
1646 * Created 1730 * Created
@@ -1666,9 +1750,9 @@ export interface PostErrorResponse { @@ -1666,9 +1750,9 @@ export interface PostErrorResponse {
1666 export type PostErrorResponseSuccess = PostErrorResponse[200]; 1750 export type PostErrorResponseSuccess = PostErrorResponse[200];
1667 /** 1751 /**
1668 * @description 1752 * @description
1669 - * errorHtml 1753 + * error
1670 * @tags basic-error-controller 1754 * @tags basic-error-controller
1671 - * @produces text/html 1755 + * @produces *
1672 * @consumes application/json 1756 * @consumes application/json
1673 */ 1757 */
1674 export const postError = /* #__PURE__ */ (() => { 1758 export const postError = /* #__PURE__ */ (() => {
@@ -1693,7 +1777,9 @@ export interface DeleteErrorResponse { @@ -1693,7 +1777,9 @@ export interface DeleteErrorResponse {
1693 * @description 1777 * @description
1694 * OK 1778 * OK
1695 */ 1779 */
1696 - 200: ModelAndView; 1780 + 200: {
  1781 + [propertyName: string]: any;
  1782 + };
1697 /** 1783 /**
1698 * @description 1784 * @description
1699 * No Content 1785 * No Content
@@ -1714,9 +1800,9 @@ export interface DeleteErrorResponse { @@ -1714,9 +1800,9 @@ export interface DeleteErrorResponse {
1714 export type DeleteErrorResponseSuccess = DeleteErrorResponse[200]; 1800 export type DeleteErrorResponseSuccess = DeleteErrorResponse[200];
1715 /** 1801 /**
1716 * @description 1802 * @description
1717 - * errorHtml 1803 + * error
1718 * @tags basic-error-controller 1804 * @tags basic-error-controller
1719 - * @produces text/html 1805 + * @produces *
1720 */ 1806 */
1721 export const deleteError = /* #__PURE__ */ (() => { 1807 export const deleteError = /* #__PURE__ */ (() => {
1722 const method = 'delete'; 1808 const method = 'delete';
@@ -1740,7 +1826,9 @@ export interface OptionsErrorResponse { @@ -1740,7 +1826,9 @@ export interface OptionsErrorResponse {
1740 * @description 1826 * @description
1741 * OK 1827 * OK
1742 */ 1828 */
1743 - 200: ModelAndView; 1829 + 200: {
  1830 + [propertyName: string]: any;
  1831 + };
1744 /** 1832 /**
1745 * @description 1833 * @description
1746 * No Content 1834 * No Content
@@ -1761,9 +1849,9 @@ export interface OptionsErrorResponse { @@ -1761,9 +1849,9 @@ export interface OptionsErrorResponse {
1761 export type OptionsErrorResponseSuccess = OptionsErrorResponse[200]; 1849 export type OptionsErrorResponseSuccess = OptionsErrorResponse[200];
1762 /** 1850 /**
1763 * @description 1851 * @description
1764 - * errorHtml 1852 + * error
1765 * @tags basic-error-controller 1853 * @tags basic-error-controller
1766 - * @produces text/html 1854 + * @produces *
1767 * @consumes application/json 1855 * @consumes application/json
1768 */ 1856 */
1769 export const optionsError = /* #__PURE__ */ (() => { 1857 export const optionsError = /* #__PURE__ */ (() => {
@@ -1788,7 +1876,9 @@ export interface HeadErrorResponse { @@ -1788,7 +1876,9 @@ export interface HeadErrorResponse {
1788 * @description 1876 * @description
1789 * OK 1877 * OK
1790 */ 1878 */
1791 - 200: ModelAndView; 1879 + 200: {
  1880 + [propertyName: string]: any;
  1881 + };
1792 /** 1882 /**
1793 * @description 1883 * @description
1794 * No Content 1884 * No Content
@@ -1809,9 +1899,9 @@ export interface HeadErrorResponse { @@ -1809,9 +1899,9 @@ export interface HeadErrorResponse {
1809 export type HeadErrorResponseSuccess = HeadErrorResponse[200]; 1899 export type HeadErrorResponseSuccess = HeadErrorResponse[200];
1810 /** 1900 /**
1811 * @description 1901 * @description
1812 - * errorHtml 1902 + * error
1813 * @tags basic-error-controller 1903 * @tags basic-error-controller
1814 - * @produces text/html 1904 + * @produces *
1815 * @consumes application/json 1905 * @consumes application/json
1816 */ 1906 */
1817 export const headError = /* #__PURE__ */ (() => { 1907 export const headError = /* #__PURE__ */ (() => {
@@ -1836,7 +1926,9 @@ export interface PatchErrorResponse { @@ -1836,7 +1926,9 @@ export interface PatchErrorResponse {
1836 * @description 1926 * @description
1837 * OK 1927 * OK
1838 */ 1928 */
1839 - 200: ModelAndView; 1929 + 200: {
  1930 + [propertyName: string]: any;
  1931 + };
1840 /** 1932 /**
1841 * @description 1933 * @description
1842 * No Content 1934 * No Content
@@ -1857,9 +1949,9 @@ export interface PatchErrorResponse { @@ -1857,9 +1949,9 @@ export interface PatchErrorResponse {
1857 export type PatchErrorResponseSuccess = PatchErrorResponse[200]; 1949 export type PatchErrorResponseSuccess = PatchErrorResponse[200];
1858 /** 1950 /**
1859 * @description 1951 * @description
1860 - * errorHtml 1952 + * error
1861 * @tags basic-error-controller 1953 * @tags basic-error-controller
1862 - * @produces text/html 1954 + * @produces *
1863 * @consumes application/json 1955 * @consumes application/json
1864 */ 1956 */
1865 export const patchError = /* #__PURE__ */ (() => { 1957 export const patchError = /* #__PURE__ */ (() => {
@@ -7611,22 +7703,22 @@ export const postPrepaidUpdate = /* #__PURE__ */ (() =&gt; { @@ -7611,22 +7703,22 @@ export const postPrepaidUpdate = /* #__PURE__ */ (() =&gt; {
7611 return request; 7703 return request;
7612 })(); 7704 })();
7613 7705
7614 -/** @description request parameter type for postServiceBankStatementDeleteBankStatement */  
7615 -export interface PostServiceBankStatementDeleteBankStatementOption { 7706 +/** @description request parameter type for postResearchGroupsAdd */
  7707 +export interface PostResearchGroupsAddOption {
7616 /** 7708 /**
7617 * @description 7709 * @description
7618 - * dto 7710 + * request
7619 */ 7711 */
7620 body: { 7712 body: {
7621 /** 7713 /**
7622 @description 7714 @description
7623 - dto */  
7624 - dto: Dto; 7715 + request */
  7716 + request: ResearchGroupAddRequest;
7625 }; 7717 };
7626 } 7718 }
7627 7719
7628 -/** @description response type for postServiceBankStatementDeleteBankStatement */  
7629 -export interface PostServiceBankStatementDeleteBankStatementResponse { 7720 +/** @description response type for postResearchGroupsAdd */
  7721 +export interface PostResearchGroupsAddResponse {
7630 /** 7722 /**
7631 * @description 7723 * @description
7632 * OK 7724 * OK
@@ -7654,51 +7746,50 @@ export interface PostServiceBankStatementDeleteBankStatementResponse { @@ -7654,51 +7746,50 @@ export interface PostServiceBankStatementDeleteBankStatementResponse {
7654 404: any; 7746 404: any;
7655 } 7747 }
7656 7748
7657 -export type PostServiceBankStatementDeleteBankStatementResponseSuccess =  
7658 - PostServiceBankStatementDeleteBankStatementResponse[200]; 7749 +export type PostResearchGroupsAddResponseSuccess =
  7750 + PostResearchGroupsAddResponse[200];
7659 /** 7751 /**
7660 * @description 7752 * @description
7661 - * 删除银行流水  
7662 - * @tags 银行流水 7753 + * 新增课题组信息
  7754 + * @tags research-groups-controller
7663 * @produces * 7755 * @produces *
7664 * @consumes application/json 7756 * @consumes application/json
7665 */ 7757 */
7666 -export const postServiceBankStatementDeleteBankStatement =  
7667 - /* #__PURE__ */ (() => {  
7668 - const method = 'post';  
7669 - const url = '/service/bankStatement/deleteBankStatement';  
7670 - function request(  
7671 - option: PostServiceBankStatementDeleteBankStatementOption,  
7672 - ): Promise<PostServiceBankStatementDeleteBankStatementResponseSuccess> {  
7673 - return requester(request.url, {  
7674 - method: request.method,  
7675 - ...option,  
7676 - }) as unknown as Promise<PostServiceBankStatementDeleteBankStatementResponseSuccess>;  
7677 - } 7758 +export const postResearchGroupsAdd = /* #__PURE__ */ (() => {
  7759 + const method = 'post';
  7760 + const url = '/research/groups/add';
  7761 + function request(
  7762 + option: PostResearchGroupsAddOption,
  7763 + ): Promise<PostResearchGroupsAddResponseSuccess> {
  7764 + return requester(request.url, {
  7765 + method: request.method,
  7766 + ...option,
  7767 + }) as unknown as Promise<PostResearchGroupsAddResponseSuccess>;
  7768 + }
7678 7769
7679 - /** http method */  
7680 - request.method = method;  
7681 - /** request url */  
7682 - request.url = url;  
7683 - return request;  
7684 - })(); 7770 + /** http method */
  7771 + request.method = method;
  7772 + /** request url */
  7773 + request.url = url;
  7774 + return request;
  7775 +})();
7685 7776
7686 -/** @description request parameter type for postServiceBankStatementEditBankStatement */  
7687 -export interface PostServiceBankStatementEditBankStatementOption { 7777 +/** @description request parameter type for postResearchGroupsDelete */
  7778 +export interface PostResearchGroupsDeleteOption {
7688 /** 7779 /**
7689 * @description 7780 * @description
7690 - * dto 7781 + * request
7691 */ 7782 */
7692 body: { 7783 body: {
7693 /** 7784 /**
7694 @description 7785 @description
7695 - dto */  
7696 - dto: Dto; 7786 + request */
  7787 + request: ResearchGroupDeleteRequest;
7697 }; 7788 };
7698 } 7789 }
7699 7790
7700 -/** @description response type for postServiceBankStatementEditBankStatement */  
7701 -export interface PostServiceBankStatementEditBankStatementResponse { 7791 +/** @description response type for postResearchGroupsDelete */
  7792 +export interface PostResearchGroupsDeleteResponse {
7702 /** 7793 /**
7703 * @description 7794 * @description
7704 * OK 7795 * OK
@@ -7726,42 +7817,55 @@ export interface PostServiceBankStatementEditBankStatementResponse { @@ -7726,42 +7817,55 @@ export interface PostServiceBankStatementEditBankStatementResponse {
7726 404: any; 7817 404: any;
7727 } 7818 }
7728 7819
7729 -export type PostServiceBankStatementEditBankStatementResponseSuccess =  
7730 - PostServiceBankStatementEditBankStatementResponse[200]; 7820 +export type PostResearchGroupsDeleteResponseSuccess =
  7821 + PostResearchGroupsDeleteResponse[200];
7731 /** 7822 /**
7732 * @description 7823 * @description
7733 - * 编辑银行流水  
7734 - * @tags 银行流水 7824 + * 删除课题组信息
  7825 + * @tags research-groups-controller
7735 * @produces * 7826 * @produces *
7736 * @consumes application/json 7827 * @consumes application/json
7737 */ 7828 */
7738 -export const postServiceBankStatementEditBankStatement =  
7739 - /* #__PURE__ */ (() => {  
7740 - const method = 'post';  
7741 - const url = '/service/bankStatement/editBankStatement';  
7742 - function request(  
7743 - option: PostServiceBankStatementEditBankStatementOption,  
7744 - ): Promise<PostServiceBankStatementEditBankStatementResponseSuccess> {  
7745 - return requester(request.url, {  
7746 - method: request.method,  
7747 - ...option,  
7748 - }) as unknown as Promise<PostServiceBankStatementEditBankStatementResponseSuccess>;  
7749 - } 7829 +export const postResearchGroupsDelete = /* #__PURE__ */ (() => {
  7830 + const method = 'post';
  7831 + const url = '/research/groups/delete';
  7832 + function request(
  7833 + option: PostResearchGroupsDeleteOption,
  7834 + ): Promise<PostResearchGroupsDeleteResponseSuccess> {
  7835 + return requester(request.url, {
  7836 + method: request.method,
  7837 + ...option,
  7838 + }) as unknown as Promise<PostResearchGroupsDeleteResponseSuccess>;
  7839 + }
7750 7840
7751 - /** http method */  
7752 - request.method = method;  
7753 - /** request url */  
7754 - request.url = url;  
7755 - return request;  
7756 - })(); 7841 + /** http method */
  7842 + request.method = method;
  7843 + /** request url */
  7844 + request.url = url;
  7845 + return request;
  7846 +})();
7757 7847
7758 -/** @description response type for postServiceBankStatementExportTemplate */  
7759 -export interface PostServiceBankStatementExportTemplateResponse { 7848 +/** @description request parameter type for postResearchGroupsDetail */
  7849 +export interface PostResearchGroupsDetailOption {
  7850 + /**
  7851 + * @description
  7852 + * request
  7853 + */
  7854 + body: {
  7855 + /**
  7856 + @description
  7857 + request */
  7858 + request: ResearchGroupDetailRequest;
  7859 + };
  7860 +}
  7861 +
  7862 +/** @description response type for postResearchGroupsDetail */
  7863 +export interface PostResearchGroupsDetailResponse {
7760 /** 7864 /**
7761 * @description 7865 * @description
7762 * OK 7866 * OK
7763 */ 7867 */
7764 - 200: any; 7868 + 200: ServerResult;
7765 /** 7869 /**
7766 * @description 7870 * @description
7767 * Created 7871 * Created
@@ -7784,22 +7888,25 @@ export interface PostServiceBankStatementExportTemplateResponse { @@ -7784,22 +7888,25 @@ export interface PostServiceBankStatementExportTemplateResponse {
7784 404: any; 7888 404: any;
7785 } 7889 }
7786 7890
7787 -export type PostServiceBankStatementExportTemplateResponseSuccess =  
7788 - PostServiceBankStatementExportTemplateResponse[200]; 7891 +export type PostResearchGroupsDetailResponseSuccess =
  7892 + PostResearchGroupsDetailResponse[200];
7789 /** 7893 /**
7790 * @description 7894 * @description
7791 - * 下载银行流水模板  
7792 - * @tags 银行流水 7895 + * 查询课题组信息
  7896 + * @tags research-groups-controller
7793 * @produces * 7897 * @produces *
7794 * @consumes application/json 7898 * @consumes application/json
7795 */ 7899 */
7796 -export const postServiceBankStatementExportTemplate = /* #__PURE__ */ (() => { 7900 +export const postResearchGroupsDetail = /* #__PURE__ */ (() => {
7797 const method = 'post'; 7901 const method = 'post';
7798 - const url = '/service/bankStatement/exportTemplate';  
7799 - function request(): Promise<PostServiceBankStatementExportTemplateResponseSuccess> { 7902 + const url = '/research/groups/detail';
  7903 + function request(
  7904 + option: PostResearchGroupsDetailOption,
  7905 + ): Promise<PostResearchGroupsDetailResponseSuccess> {
7800 return requester(request.url, { 7906 return requester(request.url, {
7801 method: request.method, 7907 method: request.method,
7802 - }) as unknown as Promise<PostServiceBankStatementExportTemplateResponseSuccess>; 7908 + ...option,
  7909 + }) as unknown as Promise<PostResearchGroupsDetailResponseSuccess>;
7803 } 7910 }
7804 7911
7805 /** http method */ 7912 /** http method */
@@ -7809,22 +7916,22 @@ export const postServiceBankStatementExportTemplate = /* #__PURE__ */ (() =&gt; { @@ -7809,22 +7916,22 @@ export const postServiceBankStatementExportTemplate = /* #__PURE__ */ (() =&gt; {
7809 return request; 7916 return request;
7810 })(); 7917 })();
7811 7918
7812 -/** @description request parameter type for postServiceBankStatementImportBankStatementForm */  
7813 -export interface PostServiceBankStatementImportBankStatementFormOption { 7919 +/** @description request parameter type for postResearchGroupsEdit */
  7920 +export interface PostResearchGroupsEditOption {
7814 /** 7921 /**
7815 * @description 7922 * @description
7816 - * file 7923 + * request
7817 */ 7924 */
7818 - formData: { 7925 + body: {
7819 /** 7926 /**
7820 @description 7927 @description
7821 - file */  
7822 - file: File; 7928 + request */
  7929 + request: ResearchGroupEditRequest;
7823 }; 7930 };
7824 } 7931 }
7825 7932
7826 -/** @description response type for postServiceBankStatementImportBankStatementForm */  
7827 -export interface PostServiceBankStatementImportBankStatementFormResponse { 7933 +/** @description response type for postResearchGroupsEdit */
  7934 +export interface PostResearchGroupsEditResponse {
7828 /** 7935 /**
7829 * @description 7936 * @description
7830 * OK 7937 * OK
@@ -7852,51 +7959,50 @@ export interface PostServiceBankStatementImportBankStatementFormResponse { @@ -7852,51 +7959,50 @@ export interface PostServiceBankStatementImportBankStatementFormResponse {
7852 404: any; 7959 404: any;
7853 } 7960 }
7854 7961
7855 -export type PostServiceBankStatementImportBankStatementFormResponseSuccess =  
7856 - PostServiceBankStatementImportBankStatementFormResponse[200]; 7962 +export type PostResearchGroupsEditResponseSuccess =
  7963 + PostResearchGroupsEditResponse[200];
7857 /** 7964 /**
7858 * @description 7965 * @description
7859 - * 导入银行流水表格  
7860 - * @tags 银行流水 7966 + * 编辑课题组信息
  7967 + * @tags research-groups-controller
7861 * @produces * 7968 * @produces *
7862 - * @consumes multipart/form-data 7969 + * @consumes application/json
7863 */ 7970 */
7864 -export const postServiceBankStatementImportBankStatementForm =  
7865 - /* #__PURE__ */ (() => {  
7866 - const method = 'post';  
7867 - const url = '/service/bankStatement/importBankStatementForm';  
7868 - function request(  
7869 - option: PostServiceBankStatementImportBankStatementFormOption,  
7870 - ): Promise<PostServiceBankStatementImportBankStatementFormResponseSuccess> {  
7871 - return requester(request.url, {  
7872 - method: request.method,  
7873 - ...option,  
7874 - }) as unknown as Promise<PostServiceBankStatementImportBankStatementFormResponseSuccess>;  
7875 - } 7971 +export const postResearchGroupsEdit = /* #__PURE__ */ (() => {
  7972 + const method = 'post';
  7973 + const url = '/research/groups/edit';
  7974 + function request(
  7975 + option: PostResearchGroupsEditOption,
  7976 + ): Promise<PostResearchGroupsEditResponseSuccess> {
  7977 + return requester(request.url, {
  7978 + method: request.method,
  7979 + ...option,
  7980 + }) as unknown as Promise<PostResearchGroupsEditResponseSuccess>;
  7981 + }
7876 7982
7877 - /** http method */  
7878 - request.method = method;  
7879 - /** request url */  
7880 - request.url = url;  
7881 - return request;  
7882 - })(); 7983 + /** http method */
  7984 + request.method = method;
  7985 + /** request url */
  7986 + request.url = url;
  7987 + return request;
  7988 +})();
7883 7989
7884 -/** @description request parameter type for postServiceBankStatementQueryBankStatement */  
7885 -export interface PostServiceBankStatementQueryBankStatementOption { 7990 +/** @description request parameter type for postResearchGroupsList */
  7991 +export interface PostResearchGroupsListOption {
7886 /** 7992 /**
7887 * @description 7993 * @description
7888 - * dto 7994 + * request
7889 */ 7995 */
7890 body: { 7996 body: {
7891 /** 7997 /**
7892 @description 7998 @description
7893 - dto */  
7894 - dto: QueryBankStatementDto; 7999 + request */
  8000 + request: ResearchGroupListRequest;
7895 }; 8001 };
7896 } 8002 }
7897 8003
7898 -/** @description response type for postServiceBankStatementQueryBankStatement */  
7899 -export interface PostServiceBankStatementQueryBankStatementResponse { 8004 +/** @description response type for postResearchGroupsList */
  8005 +export interface PostResearchGroupsListResponse {
7900 /** 8006 /**
7901 * @description 8007 * @description
7902 * OK 8008 * OK
@@ -7924,26 +8030,367 @@ export interface PostServiceBankStatementQueryBankStatementResponse { @@ -7924,26 +8030,367 @@ export interface PostServiceBankStatementQueryBankStatementResponse {
7924 404: any; 8030 404: any;
7925 } 8031 }
7926 8032
7927 -export type PostServiceBankStatementQueryBankStatementResponseSuccess =  
7928 - PostServiceBankStatementQueryBankStatementResponse[200]; 8033 +export type PostResearchGroupsListResponseSuccess =
  8034 + PostResearchGroupsListResponse[200];
7929 /** 8035 /**
7930 * @description 8036 * @description
7931 - * 查询银行流水  
7932 - * @tags 银行流水 8037 + * 课题组列表
  8038 + * @tags research-groups-controller
7933 * @produces * 8039 * @produces *
7934 * @consumes application/json 8040 * @consumes application/json
7935 */ 8041 */
7936 -export const postServiceBankStatementQueryBankStatement =  
7937 - /* #__PURE__ */ (() => {  
7938 - const method = 'post';  
7939 - const url = '/service/bankStatement/queryBankStatement';  
7940 - function request(  
7941 - option: PostServiceBankStatementQueryBankStatementOption,  
7942 - ): Promise<PostServiceBankStatementQueryBankStatementResponseSuccess> {  
7943 - return requester(request.url, {  
7944 - method: request.method,  
7945 - ...option,  
7946 - }) as unknown as Promise<PostServiceBankStatementQueryBankStatementResponseSuccess>; 8042 +export const postResearchGroupsList = /* #__PURE__ */ (() => {
  8043 + const method = 'post';
  8044 + const url = '/research/groups/list';
  8045 + function request(
  8046 + option: PostResearchGroupsListOption,
  8047 + ): Promise<PostResearchGroupsListResponseSuccess> {
  8048 + return requester(request.url, {
  8049 + method: request.method,
  8050 + ...option,
  8051 + }) as unknown as Promise<PostResearchGroupsListResponseSuccess>;
  8052 + }
  8053 +
  8054 + /** http method */
  8055 + request.method = method;
  8056 + /** request url */
  8057 + request.url = url;
  8058 + return request;
  8059 +})();
  8060 +
  8061 +/** @description request parameter type for postServiceBankStatementDeleteBankStatement */
  8062 +export interface PostServiceBankStatementDeleteBankStatementOption {
  8063 + /**
  8064 + * @description
  8065 + * dto
  8066 + */
  8067 + body: {
  8068 + /**
  8069 + @description
  8070 + dto */
  8071 + dto: Dto;
  8072 + };
  8073 +}
  8074 +
  8075 +/** @description response type for postServiceBankStatementDeleteBankStatement */
  8076 +export interface PostServiceBankStatementDeleteBankStatementResponse {
  8077 + /**
  8078 + * @description
  8079 + * OK
  8080 + */
  8081 + 200: ServerResult;
  8082 + /**
  8083 + * @description
  8084 + * Created
  8085 + */
  8086 + 201: any;
  8087 + /**
  8088 + * @description
  8089 + * Unauthorized
  8090 + */
  8091 + 401: any;
  8092 + /**
  8093 + * @description
  8094 + * Forbidden
  8095 + */
  8096 + 403: any;
  8097 + /**
  8098 + * @description
  8099 + * Not Found
  8100 + */
  8101 + 404: any;
  8102 +}
  8103 +
  8104 +export type PostServiceBankStatementDeleteBankStatementResponseSuccess =
  8105 + PostServiceBankStatementDeleteBankStatementResponse[200];
  8106 +/**
  8107 + * @description
  8108 + * 删除银行流水
  8109 + * @tags 银行流水
  8110 + * @produces *
  8111 + * @consumes application/json
  8112 + */
  8113 +export const postServiceBankStatementDeleteBankStatement =
  8114 + /* #__PURE__ */ (() => {
  8115 + const method = 'post';
  8116 + const url = '/service/bankStatement/deleteBankStatement';
  8117 + function request(
  8118 + option: PostServiceBankStatementDeleteBankStatementOption,
  8119 + ): Promise<PostServiceBankStatementDeleteBankStatementResponseSuccess> {
  8120 + return requester(request.url, {
  8121 + method: request.method,
  8122 + ...option,
  8123 + }) as unknown as Promise<PostServiceBankStatementDeleteBankStatementResponseSuccess>;
  8124 + }
  8125 +
  8126 + /** http method */
  8127 + request.method = method;
  8128 + /** request url */
  8129 + request.url = url;
  8130 + return request;
  8131 + })();
  8132 +
  8133 +/** @description request parameter type for postServiceBankStatementEditBankStatement */
  8134 +export interface PostServiceBankStatementEditBankStatementOption {
  8135 + /**
  8136 + * @description
  8137 + * dto
  8138 + */
  8139 + body: {
  8140 + /**
  8141 + @description
  8142 + dto */
  8143 + dto: Dto;
  8144 + };
  8145 +}
  8146 +
  8147 +/** @description response type for postServiceBankStatementEditBankStatement */
  8148 +export interface PostServiceBankStatementEditBankStatementResponse {
  8149 + /**
  8150 + * @description
  8151 + * OK
  8152 + */
  8153 + 200: ServerResult;
  8154 + /**
  8155 + * @description
  8156 + * Created
  8157 + */
  8158 + 201: any;
  8159 + /**
  8160 + * @description
  8161 + * Unauthorized
  8162 + */
  8163 + 401: any;
  8164 + /**
  8165 + * @description
  8166 + * Forbidden
  8167 + */
  8168 + 403: any;
  8169 + /**
  8170 + * @description
  8171 + * Not Found
  8172 + */
  8173 + 404: any;
  8174 +}
  8175 +
  8176 +export type PostServiceBankStatementEditBankStatementResponseSuccess =
  8177 + PostServiceBankStatementEditBankStatementResponse[200];
  8178 +/**
  8179 + * @description
  8180 + * 编辑银行流水
  8181 + * @tags 银行流水
  8182 + * @produces *
  8183 + * @consumes application/json
  8184 + */
  8185 +export const postServiceBankStatementEditBankStatement =
  8186 + /* #__PURE__ */ (() => {
  8187 + const method = 'post';
  8188 + const url = '/service/bankStatement/editBankStatement';
  8189 + function request(
  8190 + option: PostServiceBankStatementEditBankStatementOption,
  8191 + ): Promise<PostServiceBankStatementEditBankStatementResponseSuccess> {
  8192 + return requester(request.url, {
  8193 + method: request.method,
  8194 + ...option,
  8195 + }) as unknown as Promise<PostServiceBankStatementEditBankStatementResponseSuccess>;
  8196 + }
  8197 +
  8198 + /** http method */
  8199 + request.method = method;
  8200 + /** request url */
  8201 + request.url = url;
  8202 + return request;
  8203 + })();
  8204 +
  8205 +/** @description response type for postServiceBankStatementExportTemplate */
  8206 +export interface PostServiceBankStatementExportTemplateResponse {
  8207 + /**
  8208 + * @description
  8209 + * OK
  8210 + */
  8211 + 200: any;
  8212 + /**
  8213 + * @description
  8214 + * Created
  8215 + */
  8216 + 201: any;
  8217 + /**
  8218 + * @description
  8219 + * Unauthorized
  8220 + */
  8221 + 401: any;
  8222 + /**
  8223 + * @description
  8224 + * Forbidden
  8225 + */
  8226 + 403: any;
  8227 + /**
  8228 + * @description
  8229 + * Not Found
  8230 + */
  8231 + 404: any;
  8232 +}
  8233 +
  8234 +export type PostServiceBankStatementExportTemplateResponseSuccess =
  8235 + PostServiceBankStatementExportTemplateResponse[200];
  8236 +/**
  8237 + * @description
  8238 + * 下载银行流水模板
  8239 + * @tags 银行流水
  8240 + * @produces *
  8241 + * @consumes application/json
  8242 + */
  8243 +export const postServiceBankStatementExportTemplate = /* #__PURE__ */ (() => {
  8244 + const method = 'post';
  8245 + const url = '/service/bankStatement/exportTemplate';
  8246 + function request(): Promise<PostServiceBankStatementExportTemplateResponseSuccess> {
  8247 + return requester(request.url, {
  8248 + method: request.method,
  8249 + }) as unknown as Promise<PostServiceBankStatementExportTemplateResponseSuccess>;
  8250 + }
  8251 +
  8252 + /** http method */
  8253 + request.method = method;
  8254 + /** request url */
  8255 + request.url = url;
  8256 + return request;
  8257 +})();
  8258 +
  8259 +/** @description request parameter type for postServiceBankStatementImportBankStatementForm */
  8260 +export interface PostServiceBankStatementImportBankStatementFormOption {
  8261 + /**
  8262 + * @description
  8263 + * file
  8264 + */
  8265 + formData: {
  8266 + /**
  8267 + @description
  8268 + file */
  8269 + file: File;
  8270 + };
  8271 +}
  8272 +
  8273 +/** @description response type for postServiceBankStatementImportBankStatementForm */
  8274 +export interface PostServiceBankStatementImportBankStatementFormResponse {
  8275 + /**
  8276 + * @description
  8277 + * OK
  8278 + */
  8279 + 200: ServerResult;
  8280 + /**
  8281 + * @description
  8282 + * Created
  8283 + */
  8284 + 201: any;
  8285 + /**
  8286 + * @description
  8287 + * Unauthorized
  8288 + */
  8289 + 401: any;
  8290 + /**
  8291 + * @description
  8292 + * Forbidden
  8293 + */
  8294 + 403: any;
  8295 + /**
  8296 + * @description
  8297 + * Not Found
  8298 + */
  8299 + 404: any;
  8300 +}
  8301 +
  8302 +export type PostServiceBankStatementImportBankStatementFormResponseSuccess =
  8303 + PostServiceBankStatementImportBankStatementFormResponse[200];
  8304 +/**
  8305 + * @description
  8306 + * 导入银行流水表格
  8307 + * @tags 银行流水
  8308 + * @produces *
  8309 + * @consumes multipart/form-data
  8310 + */
  8311 +export const postServiceBankStatementImportBankStatementForm =
  8312 + /* #__PURE__ */ (() => {
  8313 + const method = 'post';
  8314 + const url = '/service/bankStatement/importBankStatementForm';
  8315 + function request(
  8316 + option: PostServiceBankStatementImportBankStatementFormOption,
  8317 + ): Promise<PostServiceBankStatementImportBankStatementFormResponseSuccess> {
  8318 + return requester(request.url, {
  8319 + method: request.method,
  8320 + ...option,
  8321 + }) as unknown as Promise<PostServiceBankStatementImportBankStatementFormResponseSuccess>;
  8322 + }
  8323 +
  8324 + /** http method */
  8325 + request.method = method;
  8326 + /** request url */
  8327 + request.url = url;
  8328 + return request;
  8329 + })();
  8330 +
  8331 +/** @description request parameter type for postServiceBankStatementQueryBankStatement */
  8332 +export interface PostServiceBankStatementQueryBankStatementOption {
  8333 + /**
  8334 + * @description
  8335 + * dto
  8336 + */
  8337 + body: {
  8338 + /**
  8339 + @description
  8340 + dto */
  8341 + dto: QueryBankStatementDto;
  8342 + };
  8343 +}
  8344 +
  8345 +/** @description response type for postServiceBankStatementQueryBankStatement */
  8346 +export interface PostServiceBankStatementQueryBankStatementResponse {
  8347 + /**
  8348 + * @description
  8349 + * OK
  8350 + */
  8351 + 200: ServerResult;
  8352 + /**
  8353 + * @description
  8354 + * Created
  8355 + */
  8356 + 201: any;
  8357 + /**
  8358 + * @description
  8359 + * Unauthorized
  8360 + */
  8361 + 401: any;
  8362 + /**
  8363 + * @description
  8364 + * Forbidden
  8365 + */
  8366 + 403: any;
  8367 + /**
  8368 + * @description
  8369 + * Not Found
  8370 + */
  8371 + 404: any;
  8372 +}
  8373 +
  8374 +export type PostServiceBankStatementQueryBankStatementResponseSuccess =
  8375 + PostServiceBankStatementQueryBankStatementResponse[200];
  8376 +/**
  8377 + * @description
  8378 + * 查询银行流水
  8379 + * @tags 银行流水
  8380 + * @produces *
  8381 + * @consumes application/json
  8382 + */
  8383 +export const postServiceBankStatementQueryBankStatement =
  8384 + /* #__PURE__ */ (() => {
  8385 + const method = 'post';
  8386 + const url = '/service/bankStatement/queryBankStatement';
  8387 + function request(
  8388 + option: PostServiceBankStatementQueryBankStatementOption,
  8389 + ): Promise<PostServiceBankStatementQueryBankStatementResponseSuccess> {
  8390 + return requester(request.url, {
  8391 + method: request.method,
  8392 + ...option,
  8393 + }) as unknown as Promise<PostServiceBankStatementQueryBankStatementResponseSuccess>;
7947 } 8394 }
7948 8395
7949 /** http method */ 8396 /** http method */
@@ -7953,6 +8400,60 @@ export const postServiceBankStatementQueryBankStatement = @@ -7953,6 +8400,60 @@ export const postServiceBankStatementQueryBankStatement =
7953 return request; 8400 return request;
7954 })(); 8401 })();
7955 8402
  8403 +/** @description response type for postServiceConstAfterInvoicingStatus */
  8404 +export interface PostServiceConstAfterInvoicingStatusResponse {
  8405 + /**
  8406 + * @description
  8407 + * OK
  8408 + */
  8409 + 200: ServerResult;
  8410 + /**
  8411 + * @description
  8412 + * Created
  8413 + */
  8414 + 201: any;
  8415 + /**
  8416 + * @description
  8417 + * Unauthorized
  8418 + */
  8419 + 401: any;
  8420 + /**
  8421 + * @description
  8422 + * Forbidden
  8423 + */
  8424 + 403: any;
  8425 + /**
  8426 + * @description
  8427 + * Not Found
  8428 + */
  8429 + 404: any;
  8430 +}
  8431 +
  8432 +export type PostServiceConstAfterInvoicingStatusResponseSuccess =
  8433 + PostServiceConstAfterInvoicingStatusResponse[200];
  8434 +/**
  8435 + * @description
  8436 + * 申请开票后状态
  8437 + * @tags front-const-controller
  8438 + * @produces *
  8439 + * @consumes application/json
  8440 + */
  8441 +export const postServiceConstAfterInvoicingStatus = /* #__PURE__ */ (() => {
  8442 + const method = 'post';
  8443 + const url = '/service/const/afterInvoicingStatus';
  8444 + function request(): Promise<PostServiceConstAfterInvoicingStatusResponseSuccess> {
  8445 + return requester(request.url, {
  8446 + method: request.method,
  8447 + }) as unknown as Promise<PostServiceConstAfterInvoicingStatusResponseSuccess>;
  8448 + }
  8449 +
  8450 + /** http method */
  8451 + request.method = method;
  8452 + /** request url */
  8453 + request.url = url;
  8454 + return request;
  8455 +})();
  8456 +
7956 /** @description response type for postServiceConstCanApplyAfterInvoicingStatus */ 8457 /** @description response type for postServiceConstCanApplyAfterInvoicingStatus */
7957 export interface PostServiceConstCanApplyAfterInvoicingStatusResponse { 8458 export interface PostServiceConstCanApplyAfterInvoicingStatusResponse {
7958 /** 8459 /**
@@ -8251,7 +8752,7 @@ export interface PostServiceInvoiceApplyInvoiceOption { @@ -8251,7 +8752,7 @@ export interface PostServiceInvoiceApplyInvoiceOption {
8251 /** 8752 /**
8252 @description 8753 @description
8253 dto */ 8754 dto */
8254 - dto: InvoiceRecordDto; 8755 + dto: ApplyInvoiceDto;
8255 }; 8756 };
8256 } 8757 }
8257 8758
@@ -8312,6 +8813,77 @@ export const postServiceInvoiceApplyInvoice = /* #__PURE__ */ (() =&gt; { @@ -8312,6 +8813,77 @@ export const postServiceInvoiceApplyInvoice = /* #__PURE__ */ (() =&gt; {
8312 return request; 8813 return request;
8313 })(); 8814 })();
8314 8815
  8816 +/** @description request parameter type for postServiceInvoiceCancelApply */
  8817 +export interface PostServiceInvoiceCancelApplyOption {
  8818 + /**
  8819 + * @description
  8820 + * dto
  8821 + */
  8822 + body: {
  8823 + /**
  8824 + @description
  8825 + dto */
  8826 + dto: Dto;
  8827 + };
  8828 +}
  8829 +
  8830 +/** @description response type for postServiceInvoiceCancelApply */
  8831 +export interface PostServiceInvoiceCancelApplyResponse {
  8832 + /**
  8833 + * @description
  8834 + * OK
  8835 + */
  8836 + 200: ServerResult;
  8837 + /**
  8838 + * @description
  8839 + * Created
  8840 + */
  8841 + 201: any;
  8842 + /**
  8843 + * @description
  8844 + * Unauthorized
  8845 + */
  8846 + 401: any;
  8847 + /**
  8848 + * @description
  8849 + * Forbidden
  8850 + */
  8851 + 403: any;
  8852 + /**
  8853 + * @description
  8854 + * Not Found
  8855 + */
  8856 + 404: any;
  8857 +}
  8858 +
  8859 +export type PostServiceInvoiceCancelApplyResponseSuccess =
  8860 + PostServiceInvoiceCancelApplyResponse[200];
  8861 +/**
  8862 + * @description
  8863 + * 取消申请
  8864 + * @tags 发票
  8865 + * @produces *
  8866 + * @consumes application/json
  8867 + */
  8868 +export const postServiceInvoiceCancelApply = /* #__PURE__ */ (() => {
  8869 + const method = 'post';
  8870 + const url = '/service/invoice/cancelApply';
  8871 + function request(
  8872 + option: PostServiceInvoiceCancelApplyOption,
  8873 + ): Promise<PostServiceInvoiceCancelApplyResponseSuccess> {
  8874 + return requester(request.url, {
  8875 + method: request.method,
  8876 + ...option,
  8877 + }) as unknown as Promise<PostServiceInvoiceCancelApplyResponseSuccess>;
  8878 + }
  8879 +
  8880 + /** http method */
  8881 + request.method = method;
  8882 + /** request url */
  8883 + request.url = url;
  8884 + return request;
  8885 +})();
  8886 +
8315 /** @description request parameter type for postServiceInvoiceCancelInvoiceAndBankStatement */ 8887 /** @description request parameter type for postServiceInvoiceCancelInvoiceAndBankStatement */
8316 export interface PostServiceInvoiceCancelInvoiceAndBankStatementOption { 8888 export interface PostServiceInvoiceCancelInvoiceAndBankStatementOption {
8317 /** 8889 /**
@@ -8599,6 +9171,103 @@ export const postServiceInvoiceDownloadInvoice = /* #__PURE__ */ (() =&gt; { @@ -8599,6 +9171,103 @@ export const postServiceInvoiceDownloadInvoice = /* #__PURE__ */ (() =&gt; {
8599 return request; 9171 return request;
8600 })(); 9172 })();
8601 9173
  9174 +/** @description response type for getServiceInvoiceExport */
  9175 +export interface GetServiceInvoiceExportResponse {
  9176 + /**
  9177 + * @description
  9178 + * OK
  9179 + */
  9180 + 200: any;
  9181 + /**
  9182 + * @description
  9183 + * Unauthorized
  9184 + */
  9185 + 401: any;
  9186 + /**
  9187 + * @description
  9188 + * Forbidden
  9189 + */
  9190 + 403: any;
  9191 + /**
  9192 + * @description
  9193 + * Not Found
  9194 + */
  9195 + 404: any;
  9196 +}
  9197 +
  9198 +export type GetServiceInvoiceExportResponseSuccess =
  9199 + GetServiceInvoiceExportResponse[200];
  9200 +/**
  9201 + * @description
  9202 + * download
  9203 + * @tags 发票
  9204 + * @produces *
  9205 + */
  9206 +export const getServiceInvoiceExport = /* #__PURE__ */ (() => {
  9207 + const method = 'get';
  9208 + const url = '/service/invoice/export';
  9209 + function request(): Promise<GetServiceInvoiceExportResponseSuccess> {
  9210 + return requester(request.url, {
  9211 + method: request.method,
  9212 + }) as unknown as Promise<GetServiceInvoiceExportResponseSuccess>;
  9213 + }
  9214 +
  9215 + /** http method */
  9216 + request.method = method;
  9217 + /** request url */
  9218 + request.url = url;
  9219 + return request;
  9220 +})();
  9221 +
  9222 +/** @description response type for getServiceInvoiceExportInvoiceDetailsTemplate */
  9223 +export interface GetServiceInvoiceExportInvoiceDetailsTemplateResponse {
  9224 + /**
  9225 + * @description
  9226 + * OK
  9227 + */
  9228 + 200: any;
  9229 + /**
  9230 + * @description
  9231 + * Unauthorized
  9232 + */
  9233 + 401: any;
  9234 + /**
  9235 + * @description
  9236 + * Forbidden
  9237 + */
  9238 + 403: any;
  9239 + /**
  9240 + * @description
  9241 + * Not Found
  9242 + */
  9243 + 404: any;
  9244 +}
  9245 +
  9246 +export type GetServiceInvoiceExportInvoiceDetailsTemplateResponseSuccess =
  9247 + GetServiceInvoiceExportInvoiceDetailsTemplateResponse[200];
  9248 +/**
  9249 + * @description
  9250 + * 导出发票明细模板
  9251 + * @tags 发票
  9252 + * @produces *
  9253 + */
  9254 +export const getServiceInvoiceExportInvoiceDetailsTemplate =
  9255 + /* #__PURE__ */ (() => {
  9256 + const method = 'get';
  9257 + const url = '/service/invoice/exportInvoiceDetailsTemplate';
  9258 + function request(): Promise<GetServiceInvoiceExportInvoiceDetailsTemplateResponseSuccess> {
  9259 + return requester(request.url, {
  9260 + method: request.method,
  9261 + }) as unknown as Promise<GetServiceInvoiceExportInvoiceDetailsTemplateResponseSuccess>;
  9262 + }
  9263 +
  9264 + /** http method */
  9265 + request.method = method;
  9266 + /** request url */
  9267 + request.url = url;
  9268 + return request;
  9269 + })();
  9270 +
8602 /** @description request parameter type for postServiceInvoiceFindInvoice */ 9271 /** @description request parameter type for postServiceInvoiceFindInvoice */
8603 export interface PostServiceInvoiceFindInvoiceOption { 9272 export interface PostServiceInvoiceFindInvoiceOption {
8604 /** 9273 /**
@@ -9376,6 +10045,148 @@ export const postServiceInvoiceReissue = /* #__PURE__ */ (() =&gt; { @@ -9376,6 +10045,148 @@ export const postServiceInvoiceReissue = /* #__PURE__ */ (() =&gt; {
9376 return request; 10045 return request;
9377 })(); 10046 })();
9378 10047
  10048 +/** @description request parameter type for postServiceInvoiceReissueAudit */
  10049 +export interface PostServiceInvoiceReissueAuditOption {
  10050 + /**
  10051 + * @description
  10052 + * dto
  10053 + */
  10054 + body: {
  10055 + /**
  10056 + @description
  10057 + dto */
  10058 + dto: AuditDto;
  10059 + };
  10060 +}
  10061 +
  10062 +/** @description response type for postServiceInvoiceReissueAudit */
  10063 +export interface PostServiceInvoiceReissueAuditResponse {
  10064 + /**
  10065 + * @description
  10066 + * OK
  10067 + */
  10068 + 200: ServerResult;
  10069 + /**
  10070 + * @description
  10071 + * Created
  10072 + */
  10073 + 201: any;
  10074 + /**
  10075 + * @description
  10076 + * Unauthorized
  10077 + */
  10078 + 401: any;
  10079 + /**
  10080 + * @description
  10081 + * Forbidden
  10082 + */
  10083 + 403: any;
  10084 + /**
  10085 + * @description
  10086 + * Not Found
  10087 + */
  10088 + 404: any;
  10089 +}
  10090 +
  10091 +export type PostServiceInvoiceReissueAuditResponseSuccess =
  10092 + PostServiceInvoiceReissueAuditResponse[200];
  10093 +/**
  10094 + * @description
  10095 + * 重新开票审核
  10096 + * @tags 发票
  10097 + * @produces *
  10098 + * @consumes application/json
  10099 + */
  10100 +export const postServiceInvoiceReissueAudit = /* #__PURE__ */ (() => {
  10101 + const method = 'post';
  10102 + const url = '/service/invoice/reissueAudit';
  10103 + function request(
  10104 + option: PostServiceInvoiceReissueAuditOption,
  10105 + ): Promise<PostServiceInvoiceReissueAuditResponseSuccess> {
  10106 + return requester(request.url, {
  10107 + method: request.method,
  10108 + ...option,
  10109 + }) as unknown as Promise<PostServiceInvoiceReissueAuditResponseSuccess>;
  10110 + }
  10111 +
  10112 + /** http method */
  10113 + request.method = method;
  10114 + /** request url */
  10115 + request.url = url;
  10116 + return request;
  10117 +})();
  10118 +
  10119 +/** @description request parameter type for postServiceInvoiceUrgentInvoicing */
  10120 +export interface PostServiceInvoiceUrgentInvoicingOption {
  10121 + /**
  10122 + * @description
  10123 + * dto
  10124 + */
  10125 + body: {
  10126 + /**
  10127 + @description
  10128 + dto */
  10129 + dto: AuditDto;
  10130 + };
  10131 +}
  10132 +
  10133 +/** @description response type for postServiceInvoiceUrgentInvoicing */
  10134 +export interface PostServiceInvoiceUrgentInvoicingResponse {
  10135 + /**
  10136 + * @description
  10137 + * OK
  10138 + */
  10139 + 200: ServerResult;
  10140 + /**
  10141 + * @description
  10142 + * Created
  10143 + */
  10144 + 201: any;
  10145 + /**
  10146 + * @description
  10147 + * Unauthorized
  10148 + */
  10149 + 401: any;
  10150 + /**
  10151 + * @description
  10152 + * Forbidden
  10153 + */
  10154 + 403: any;
  10155 + /**
  10156 + * @description
  10157 + * Not Found
  10158 + */
  10159 + 404: any;
  10160 +}
  10161 +
  10162 +export type PostServiceInvoiceUrgentInvoicingResponseSuccess =
  10163 + PostServiceInvoiceUrgentInvoicingResponse[200];
  10164 +/**
  10165 + * @description
  10166 + * 加急开票审核
  10167 + * @tags 发票
  10168 + * @produces *
  10169 + * @consumes application/json
  10170 + */
  10171 +export const postServiceInvoiceUrgentInvoicing = /* #__PURE__ */ (() => {
  10172 + const method = 'post';
  10173 + const url = '/service/invoice/urgentInvoicing';
  10174 + function request(
  10175 + option: PostServiceInvoiceUrgentInvoicingOption,
  10176 + ): Promise<PostServiceInvoiceUrgentInvoicingResponseSuccess> {
  10177 + return requester(request.url, {
  10178 + method: request.method,
  10179 + ...option,
  10180 + }) as unknown as Promise<PostServiceInvoiceUrgentInvoicingResponseSuccess>;
  10181 + }
  10182 +
  10183 + /** http method */
  10184 + request.method = method;
  10185 + /** request url */
  10186 + request.url = url;
  10187 + return request;
  10188 +})();
  10189 +
9379 /** @description request parameter type for postServiceOrderAddOrder */ 10190 /** @description request parameter type for postServiceOrderAddOrder */
9380 export interface PostServiceOrderAddOrderOption { 10191 export interface PostServiceOrderAddOrderOption {
9381 /** 10192 /**
@@ -13103,6 +13914,77 @@ export const postServiceOrderSaleCancelInvoicing = /* #__PURE__ */ (() =&gt; { @@ -13103,6 +13914,77 @@ export const postServiceOrderSaleCancelInvoicing = /* #__PURE__ */ (() =&gt; {
13103 return request; 13914 return request;
13104 })(); 13915 })();
13105 13916
  13917 +/** @description request parameter type for postServiceOrderSalesConfirm */
  13918 +export interface PostServiceOrderSalesConfirmOption {
  13919 + /**
  13920 + * @description
  13921 + * dto
  13922 + */
  13923 + body: {
  13924 + /**
  13925 + @description
  13926 + dto */
  13927 + dto: Dto;
  13928 + };
  13929 +}
  13930 +
  13931 +/** @description response type for postServiceOrderSalesConfirm */
  13932 +export interface PostServiceOrderSalesConfirmResponse {
  13933 + /**
  13934 + * @description
  13935 + * OK
  13936 + */
  13937 + 200: ServerResult;
  13938 + /**
  13939 + * @description
  13940 + * Created
  13941 + */
  13942 + 201: any;
  13943 + /**
  13944 + * @description
  13945 + * Unauthorized
  13946 + */
  13947 + 401: any;
  13948 + /**
  13949 + * @description
  13950 + * Forbidden
  13951 + */
  13952 + 403: any;
  13953 + /**
  13954 + * @description
  13955 + * Not Found
  13956 + */
  13957 + 404: any;
  13958 +}
  13959 +
  13960 +export type PostServiceOrderSalesConfirmResponseSuccess =
  13961 + PostServiceOrderSalesConfirmResponse[200];
  13962 +/**
  13963 + * @description
  13964 + * 销售订单确认
  13965 + * @tags 内部订单
  13966 + * @produces *
  13967 + * @consumes application/json
  13968 + */
  13969 +export const postServiceOrderSalesConfirm = /* #__PURE__ */ (() => {
  13970 + const method = 'post';
  13971 + const url = '/service/order/salesConfirm';
  13972 + function request(
  13973 + option: PostServiceOrderSalesConfirmOption,
  13974 + ): Promise<PostServiceOrderSalesConfirmResponseSuccess> {
  13975 + return requester(request.url, {
  13976 + method: request.method,
  13977 + ...option,
  13978 + }) as unknown as Promise<PostServiceOrderSalesConfirmResponseSuccess>;
  13979 + }
  13980 +
  13981 + /** http method */
  13982 + request.method = method;
  13983 + /** request url */
  13984 + request.url = url;
  13985 + return request;
  13986 +})();
  13987 +
13106 /** @description request parameter type for postServiceOrderSendProduct */ 13988 /** @description request parameter type for postServiceOrderSendProduct */
13107 export interface PostServiceOrderSendProductOption { 13989 export interface PostServiceOrderSendProductOption {
13108 /** 13990 /**
src/utils/index.ts
@@ -10,6 +10,7 @@ function enumToSelect(data: any) { @@ -10,6 +10,7 @@ function enumToSelect(data: any) {
10 10
11 //将枚举的value值转换为label 11 //将枚举的value值转换为label
12 function enumValueToLabel(value: any, enumObj: any) { 12 function enumValueToLabel(value: any, enumObj: any) {
  13 + console.log(value, enumObj);
13 if (enumObj !== undefined) { 14 if (enumObj !== undefined) {
14 return enumObj[value]; 15 return enumObj[value];
15 } 16 }