Commit de4ea95bbc7d81931898ba30a903431e362441cc

Authored by 曾国涛
1 parent 83293a3a

fix: 新增和优化多个功能点

- 在发票列表中添加编辑功能- 优化导出功能,支持多条件筛选
- 新增取消开票功能
- 修复部分页面的样式问题
- 优化部分功能的用户体验
src/pages/Invoice/Invoice/index.tsx
@@ -9,6 +9,7 @@ import { INVOCING_STATUS, PAYEE_OPTIONS } from '@/pages/Order/constant'; @@ -9,6 +9,7 @@ import { INVOCING_STATUS, PAYEE_OPTIONS } from '@/pages/Order/constant';
9 import { 9 import {
10 postServiceInvoiceDeleteInvoice, 10 postServiceInvoiceDeleteInvoice,
11 postServiceInvoiceGetWriteOffRecord, 11 postServiceInvoiceGetWriteOffRecord,
  12 + postServiceInvoiceModify,
12 postServiceInvoiceQueryInvoice, 13 postServiceInvoiceQueryInvoice,
13 } from '@/services'; 14 } from '@/services';
14 import { orderExport } from '@/services/order'; 15 import { orderExport } from '@/services/order';
@@ -100,8 +101,18 @@ const InvoiceRecord = () => { @@ -100,8 +101,18 @@ const InvoiceRecord = () => {
100 key: 'option', 101 key: 'option',
101 fixed: 'right', 102 fixed: 'right',
102 width: 160, 103 width: 160,
103 - render: (text, record) => {  
104 - let btns = []; 104 + render: (text, record, _, action) => {
  105 + let btns = [
  106 + <a
  107 + key="editable"
  108 + onClick={() => {
  109 + action?.startEditable?.(record.id);
  110 + }}
  111 + >
  112 + 编辑
  113 + </a>,
  114 + ];
  115 +
105 if (record.paths?.includes('writeOff') && !record.writeOffId) { 116 if (record.paths?.includes('writeOff') && !record.writeOffId) {
106 btns.push( 117 btns.push(
107 <InvoiceWriteOffModal 118 <InvoiceWriteOffModal
@@ -157,7 +168,6 @@ const InvoiceRecord = () =&gt; { @@ -157,7 +168,6 @@ const InvoiceRecord = () =&gt; {
157 </Button>, 168 </Button>,
158 ); 169 );
159 } 170 }
160 -  
161 if (record.paths?.includes('deleteInvoice')) { 171 if (record.paths?.includes('deleteInvoice')) {
162 btns.push( 172 btns.push(
163 <ButtonConfirm 173 <ButtonConfirm
@@ -169,7 +179,7 @@ const InvoiceRecord = () =&gt; { @@ -169,7 +179,7 @@ const InvoiceRecord = () =&gt; {
169 text="删除" 179 text="删除"
170 onConfirm={async () => { 180 onConfirm={async () => {
171 let res = await postServiceInvoiceDeleteInvoice({ 181 let res = await postServiceInvoiceDeleteInvoice({
172 - data: { invoiceId: record.invoiceId }, 182 + data: { invoiceId: record.id },
173 }); 183 });
174 if (res) { 184 if (res) {
175 message.success(res.message); 185 message.success(res.message);
@@ -217,6 +227,16 @@ const InvoiceRecord = () =&gt; { @@ -217,6 +227,16 @@ const InvoiceRecord = () =&gt; {
217 console.log('value: ', value); 227 console.log('value: ', value);
218 }, 228 },
219 }} 229 }}
  230 + editable={{
  231 + type: 'multiple',
  232 + onSave: async (key, row, originRow) => {
  233 + console.log('row: ', row);
  234 + console.log('originRow: ', originRow);
  235 + postServiceInvoiceModify({
  236 + data: row,
  237 + });
  238 + },
  239 + }}
220 rowKey="id" 240 rowKey="id"
221 search={{ 241 search={{
222 labelWidth: 'auto', 242 labelWidth: 'auto',
src/pages/Invoice/InvoiceRecord/index.tsx
@@ -15,7 +15,6 @@ import { ActionType, ModalForm, ProTable } from &#39;@ant-design/pro-components&#39;; @@ -15,7 +15,6 @@ import { ActionType, ModalForm, ProTable } from &#39;@ant-design/pro-components&#39;;
15 import { Button, Divider, Space, Table, Tooltip, message } from 'antd'; 15 import { Button, Divider, Space, Table, Tooltip, message } from 'antd';
16 import axios from 'axios'; 16 import axios from 'axios';
17 import { useEffect, useRef, useState } from 'react'; 17 import { useEffect, useRef, useState } from 'react';
18 -  
19 const InvoiceRecord = () => { 18 const InvoiceRecord = () => {
20 const processedRecordRef = useRef<ActionType>(); 19 const processedRecordRef = useRef<ActionType>();
21 const [invoiceTypeValueEnum, setInvoiceTypeValueEnum] = useState({}); 20 const [invoiceTypeValueEnum, setInvoiceTypeValueEnum] = useState({});
@@ -443,8 +442,6 @@ const InvoiceRecord = () =&gt; { @@ -443,8 +442,6 @@ const InvoiceRecord = () =&gt; {
443 alwaysShowAlert: true, 442 alwaysShowAlert: true,
444 }} 443 }}
445 tableAlertOptionRender={({ selectedRowKeys, selectedRows }) => { 444 tableAlertOptionRender={({ selectedRowKeys, selectedRows }) => {
446 - console.log(selectedRows);  
447 - console.log(selectedRowKeys);  
448 return ( 445 return (
449 <Space size={16}> 446 <Space size={16}>
450 <Button 447 <Button
src/pages/Invoice/constant.tsx
@@ -35,6 +35,7 @@ export const INVOICE_COLUMNS = [ @@ -35,6 +35,7 @@ export const INVOICE_COLUMNS = [
35 valueType: 'text', 35 valueType: 'text',
36 hideInTable: true, 36 hideInTable: true,
37 hideInSearch: true, 37 hideInSearch: true,
  38 + readonly: true,
38 width: 100, 39 width: 100,
39 }, 40 },
40 { 41 {
@@ -58,6 +59,7 @@ export const INVOICE_COLUMNS = [ @@ -58,6 +59,7 @@ export const INVOICE_COLUMNS = [
58 dataIndex: 'statusText', 59 dataIndex: 'statusText',
59 valueType: 'text', 60 valueType: 'text',
60 width: 180, 61 width: 180,
  62 + readonly: true,
61 hideInSearch: true, 63 hideInSearch: true,
62 }, 64 },
63 { 65 {
@@ -80,12 +82,14 @@ export const INVOICE_COLUMNS = [ @@ -80,12 +82,14 @@ export const INVOICE_COLUMNS = [
80 { 82 {
81 title: '订单状态', 83 title: '订单状态',
82 dataIndex: 'orderTypeText', 84 dataIndex: 'orderTypeText',
  85 + readonly: true,
83 valueType: 'text', 86 valueType: 'text',
84 width: 180, 87 width: 180,
85 }, 88 },
86 { 89 {
87 title: '绑定流水号', 90 title: '绑定流水号',
88 dataIndex: 'serialNumbersTextByOrder', 91 dataIndex: 'serialNumbersTextByOrder',
  92 + readonly: true,
89 hideInSearch: true, 93 hideInSearch: true,
90 valueType: 'text', 94 valueType: 'text',
91 width: 180, 95 width: 180,
@@ -158,12 +162,13 @@ export const INVOICE_COLUMNS = [ @@ -158,12 +162,13 @@ export const INVOICE_COLUMNS = [
158 dataIndex: 'invoicingTypeText', 162 dataIndex: 'invoicingTypeText',
159 valueType: 'invoicingTypeText', 163 valueType: 'invoicingTypeText',
160 hideInSearch: true, 164 hideInSearch: true,
  165 + readonly: true,
161 width: 100, 166 width: 100,
162 }, 167 },
163 { 168 {
164 title: '开票日期', 169 title: '开票日期',
165 dataIndex: 'invoicingTime', 170 dataIndex: 'invoicingTime',
166 - valueType: 'dateRange', 171 + valueType: 'date',
167 width: 150, 172 width: 150,
168 search: { 173 search: {
169 transform: (value) => { 174 transform: (value) => {
@@ -179,7 +184,7 @@ export const INVOICE_COLUMNS = [ @@ -179,7 +184,7 @@ export const INVOICE_COLUMNS = [
179 { 184 {
180 title: '收款时间', 185 title: '收款时间',
181 dataIndex: 'collectionTime', 186 dataIndex: 'collectionTime',
182 - valueType: 'dateRange', 187 + valueType: 'date',
183 width: 200, 188 width: 200,
184 search: { 189 search: {
185 transform: (value) => { 190 transform: (value) => {
src/pages/Invoice/waitProcessRecord/index.tsx
  1 +import { RESPONSE_CODE } from '@/constants/enum';
1 import InvoiceRecordDetailModal from '@/pages/Invoice/InvoiceRecord/components/InvoiceRecordDetailModal'; 2 import InvoiceRecordDetailModal from '@/pages/Invoice/InvoiceRecord/components/InvoiceRecordDetailModal';
2 import InvoiceModal from '@/pages/Invoice/waitProcessRecord/components/InvoiceModal'; 3 import InvoiceModal from '@/pages/Invoice/waitProcessRecord/components/InvoiceModal';
3 import InvoicingModal from '@/pages/Invoice/waitProcessRecord/components/InvoicingModal'; 4 import InvoicingModal from '@/pages/Invoice/waitProcessRecord/components/InvoicingModal';
@@ -7,12 +8,21 @@ import { @@ -7,12 +8,21 @@ import {
7 postServiceConstBeforeInvoicingInvoiceRecordStatus, 8 postServiceConstBeforeInvoicingInvoiceRecordStatus,
8 postServiceConstInvoiceType, 9 postServiceConstInvoiceType,
9 postServiceConstInvoicingType, 10 postServiceConstInvoicingType,
  11 + postServiceInvoiceCancelInvoiceRecord,
10 postServiceInvoiceQueryInvoiceRecordList, 12 postServiceInvoiceQueryInvoiceRecordList,
11 postServiceOrderQuerySalesCode, 13 postServiceOrderQuerySalesCode,
12 } from '@/services'; 14 } from '@/services';
13 import { enumToProTableEnumValue, enumToSelect } from '@/utils'; 15 import { enumToProTableEnumValue, enumToSelect } from '@/utils';
14 import { ActionType, ProTable } from '@ant-design/pro-components'; 16 import { ActionType, ProTable } from '@ant-design/pro-components';
15 -import { Divider, Space, Table, Tooltip } from 'antd'; 17 +import {
  18 + Button,
  19 + Divider,
  20 + Popconfirm,
  21 + Space,
  22 + Table,
  23 + Tooltip,
  24 + message,
  25 +} from 'antd';
16 import { useEffect, useRef, useState } from 'react'; 26 import { useEffect, useRef, useState } from 'react';
17 27
18 const InvoiceRecord = () => { 28 const InvoiceRecord = () => {
@@ -345,6 +355,31 @@ const InvoiceRecord = () =&gt; { @@ -345,6 +355,31 @@ const InvoiceRecord = () =&gt; {
345 ></ManualInvoicingModal> 355 ></ManualInvoicingModal>
346 )} 356 )}
347 </>, 357 </>,
  358 + <>
  359 + {record.paths.includes('CANCEL') && (
  360 + <Popconfirm
  361 + title="取消开票"
  362 + description="确认取消开票?"
  363 + onConfirm={async () => {
  364 + let res = await postServiceInvoiceCancelInvoiceRecord({
  365 + data: {
  366 + invoiceRecordIds: [record.id],
  367 + },
  368 + });
  369 + if (res.result === RESPONSE_CODE.SUCCESS) {
  370 + message.success('取消成功');
  371 + }
  372 + waitDealrecordActionRef?.current?.reload();
  373 + }}
  374 + okText="确定"
  375 + cancelText="取消"
  376 + >
  377 + <Button type="link" danger>
  378 + 取消
  379 + </Button>
  380 + </Popconfirm>
  381 + )}
  382 + </>,
348 ]; 383 ];
349 }, 384 },
350 }, 385 },
src/pages/Order/Order/index.tsx
@@ -926,6 +926,11 @@ const OrderPage = () =&gt; { @@ -926,6 +926,11 @@ const OrderPage = () =&gt; {
926 ) : ( 926 ) : (
927 '' 927 ''
928 )} 928 )}
  929 + {optRecord.uid && (
  930 + <span className="text-[#f44e4e] cursor-pointer">
  931 + (商城订单)
  932 + </span>
  933 + )}
929 934
930 {optRecord.modified ? ( 935 {optRecord.modified ? (
931 <Tooltip title="点击查看详情"> 936 <Tooltip title="点击查看详情">
@@ -2097,7 +2102,7 @@ const OrderPage = () =&gt; { @@ -2097,7 +2102,7 @@ const OrderPage = () =&gt; {
2097 title="已和客户确认发票??" 2102 title="已和客户确认发票??"
2098 text="确认发票" 2103 text="确认发票"
2099 onConfirm={async () => { 2104 onConfirm={async () => {
2100 - let body = { ids: [optRecord.id] }; 2105 + let body = [optRecord.id];
2101 const data = await postServiceOrderConfirmInvoice({ 2106 const data = await postServiceOrderConfirmInvoice({
2102 data: body, 2107 data: body,
2103 }); 2108 });
@@ -3890,13 +3895,11 @@ const OrderPage = () =&gt; { @@ -3890,13 +3895,11 @@ const OrderPage = () =&gt; {
3890 title="已和客户确认发票?" 3895 title="已和客户确认发票?"
3891 text="确认发票" 3896 text="确认发票"
3892 onConfirm={async () => { 3897 onConfirm={async () => {
3893 - let body = {  
3894 - ids: [  
3895 - ...record.subOrderInformationLists.map(  
3896 - (subOrder) => subOrder.id,  
3897 - ),  
3898 - ],  
3899 - }; 3898 + let body = [
  3899 + ...record.subOrderInformationLists.map(
  3900 + (subOrder) => subOrder.id,
  3901 + ),
  3902 + ];
3900 const data = await postServiceOrderConfirmInvoice({ 3903 const data = await postServiceOrderConfirmInvoice({
3901 data: body, 3904 data: body,
3902 }); 3905 });
src/pages/ResearchGroup/index.tsx
@@ -461,7 +461,7 @@ const PrepaidPage = () =&gt; { @@ -461,7 +461,7 @@ const PrepaidPage = () =&gt; {
461 if (record.permissions?.includes('audit')) { 461 if (record.permissions?.includes('audit')) {
462 btns.push( 462 btns.push(
463 <Button 463 <Button
464 - key="delete" 464 + key="audit"
465 className="p-0" 465 className="p-0"
466 type="link" 466 type="link"
467 onClick={async () => { 467 onClick={async () => {
@@ -565,11 +565,17 @@ const PrepaidPage = () =&gt; { @@ -565,11 +565,17 @@ const PrepaidPage = () =&gt; {
565 // 注释该行则默认不显示下拉选项 565 // 注释该行则默认不显示下拉选项
566 selections: [Table.SELECTION_ALL, Table.SELECTION_INVERT], 566 selections: [Table.SELECTION_ALL, Table.SELECTION_INVERT],
567 defaultSelectedRowKeys: [], 567 defaultSelectedRowKeys: [],
  568 + alwaysShowAlert: true,
568 }} 569 }}
569 tableAlertOptionRender={({ selectedRows, onCleanSelected }) => { 570 tableAlertOptionRender={({ selectedRows, onCleanSelected }) => {
570 let ids = selectedRows.map((item: any) => { 571 let ids = selectedRows.map((item: any) => {
571 return item.id; 572 return item.id;
572 }); 573 });
  574 + let canAudit =
  575 + selectedRows.length > 0 &&
  576 + selectedRows.every((item) => {
  577 + return item.paths?.includes('ADD_AUDIT');
  578 + });
573 return ( 579 return (
574 <Space size={16}> 580 <Space size={16}>
575 <ButtonConfirm 581 <ButtonConfirm
@@ -584,6 +590,21 @@ const PrepaidPage = () =&gt; { @@ -584,6 +590,21 @@ const PrepaidPage = () =&gt; {
584 <Button type="link" onClick={onCleanSelected}> 590 <Button type="link" onClick={onCleanSelected}>
585 取消选中 591 取消选中
586 </Button> 592 </Button>
  593 +
  594 + {
  595 + <Button
  596 + key="audit"
  597 + type="link"
  598 + disabled={!canAudit}
  599 + onClick={async () => {
  600 + setAuditIds(ids);
  601 + setAuditModalVisible(true);
  602 + setAuditType('research_groups_add_audit');
  603 + }}
  604 + >
  605 + 审核
  606 + </Button>
  607 + }
587 </Space> 608 </Space>
588 ); 609 );
589 }} 610 }}
@@ -655,11 +676,17 @@ const PrepaidPage = () =&gt; { @@ -655,11 +676,17 @@ const PrepaidPage = () =&gt; {
655 // 注释该行则默认不显示下拉选项 676 // 注释该行则默认不显示下拉选项
656 selections: [Table.SELECTION_ALL, Table.SELECTION_INVERT], 677 selections: [Table.SELECTION_ALL, Table.SELECTION_INVERT],
657 defaultSelectedRowKeys: [], 678 defaultSelectedRowKeys: [],
  679 + alwaysShowAlert: true,
658 }} 680 }}
659 tableAlertOptionRender={({ selectedRows, onCleanSelected }) => { 681 tableAlertOptionRender={({ selectedRows, onCleanSelected }) => {
660 let ids = selectedRows.map((item: any) => { 682 let ids = selectedRows.map((item: any) => {
661 return item.id; 683 return item.id;
662 }); 684 });
  685 + let canAudit =
  686 + selectedRows.length > 0 &&
  687 + selectedRows.every((item) => {
  688 + return item.permissions?.includes('audit');
  689 + });
663 return ( 690 return (
664 <Space size={16}> 691 <Space size={16}>
665 <ButtonConfirm 692 <ButtonConfirm
@@ -674,8 +701,10 @@ const PrepaidPage = () =&gt; { @@ -674,8 +701,10 @@ const PrepaidPage = () =&gt; {
674 key="delete" 701 key="delete"
675 className="p-0" 702 className="p-0"
676 type="link" 703 type="link"
  704 + disabled={!canAudit}
677 onClick={async () => { 705 onClick={async () => {
678 setAuditIds(ids); 706 setAuditIds(ids);
  707 + setAuditType('research_group_member_request_audit');
679 setAuditModalVisible(true); 708 setAuditModalVisible(true);
680 }} 709 }}
681 > 710 >
src/services/definition.ts
@@ -1044,6 +1044,10 @@ export interface CancelInvoiceAndBankStatementDto { @@ -1044,6 +1044,10 @@ export interface CancelInvoiceAndBankStatementDto {
1044 invoiceId?: number; 1044 invoiceId?: number;
1045 } 1045 }
1046 1046
  1047 +export interface CancelInvoiceRecordDto {
  1048 + invoiceRecordIds?: Array<number>;
  1049 +}
  1050 +
1047 export interface CancelSendOrderDto { 1051 export interface CancelSendOrderDto {
1048 subIds?: Array<number>; 1052 subIds?: Array<number>;
1049 } 1053 }
@@ -1382,32 +1386,6 @@ export interface Entry { @@ -1382,32 +1386,6 @@ export interface Entry {
1382 unEmpInsuranceC?: string; 1386 unEmpInsuranceC?: string;
1383 } 1387 }
1384 1388
1385 -export interface File {  
1386 - absolute?: boolean;  
1387 - absoluteFile?: File;  
1388 - absolutePath?: string;  
1389 - canonicalFile?: File;  
1390 - canonicalPath?: string;  
1391 - directory?: boolean;  
1392 - executable?: boolean;  
1393 - file?: boolean;  
1394 - /** @format int64 */  
1395 - freeSpace?: number;  
1396 - hidden?: boolean;  
1397 - /** @format int64 */  
1398 - lastModified?: number;  
1399 - name?: string;  
1400 - parent?: string;  
1401 - parentFile?: File;  
1402 - path?: string;  
1403 - readable?: boolean;  
1404 - /** @format int64 */  
1405 - totalSpace?: number;  
1406 - /** @format int64 */  
1407 - usableSpace?: number;  
1408 - writable?: boolean;  
1409 -}  
1410 -  
1411 export interface FilePathDto { 1389 export interface FilePathDto {
1412 url?: string; 1390 url?: string;
1413 } 1391 }
@@ -1498,6 +1476,11 @@ export interface InvoiceDto { @@ -1498,6 +1476,11 @@ export interface InvoiceDto {
1498 notes?: string; 1476 notes?: string;
1499 /** 1477 /**
1500 * @description 1478 * @description
  1479 + * 订单类型
  1480 + */
  1481 + orderTypeText?: string;
  1482 + /**
  1483 + * @description
1501 * 权限路径 1484 * 权限路径
1502 */ 1485 */
1503 path?: Array<string>; 1486 path?: Array<string>;
@@ -1507,7 +1490,6 @@ export interface InvoiceDto { @@ -1507,7 +1490,6 @@ export interface InvoiceDto {
1507 * 收款单位 1490 * 收款单位
1508 */ 1491 */
1509 payee?: string; 1492 payee?: string;
1510 - payeeText?: string;  
1511 /** 1493 /**
1512 * @description 1494 * @description
1513 * 收款单位 1495 * 收款单位
@@ -1525,6 +1507,11 @@ export interface InvoiceDto { @@ -1525,6 +1507,11 @@ export interface InvoiceDto {
1525 sale?: string; 1507 sale?: string;
1526 /** 1508 /**
1527 * @description 1509 * @description
  1510 + * 绑定流水号
  1511 + */
  1512 + serialNumbersTextByOrder?: string;
  1513 + /**
  1514 + * @description
1528 * 状态 1515 * 状态
1529 */ 1516 */
1530 status?: string; 1517 status?: string;
@@ -2785,13 +2772,13 @@ export interface QueryBankStatementDto { @@ -2785,13 +2772,13 @@ export interface QueryBankStatementDto {
2785 /** 2772 /**
2786 * @description 2773 * @description
2787 * collection_date 2774 * collection_date
2788 - * @format date 2775 + * @format date-time
2789 */ 2776 */
2790 collectionDatetimeBegin?: string; 2777 collectionDatetimeBegin?: string;
2791 /** 2778 /**
2792 * @description 2779 * @description
2793 * collection_date 2780 * collection_date
2794 - * @format date 2781 + * @format date-time
2795 */ 2782 */
2796 collectionDatetimeEnd?: string; 2783 collectionDatetimeEnd?: string;
2797 createByName?: string; 2784 createByName?: string;
@@ -3638,7 +3625,7 @@ export interface ResetPwdVO { @@ -3638,7 +3625,7 @@ export interface ResetPwdVO {
3638 3625
3639 export interface Resource { 3626 export interface Resource {
3640 description?: string; 3627 description?: string;
3641 - file?: File; 3628 + file?: TsgFile;
3642 filename?: string; 3629 filename?: string;
3643 inputStream?: InputStream; 3630 inputStream?: InputStream;
3644 open?: boolean; 3631 open?: boolean;
@@ -4181,6 +4168,32 @@ export interface CompanyInfo { @@ -4181,6 +4168,32 @@ export interface CompanyInfo {
4181 taxIdIsNotNull?: boolean; 4168 taxIdIsNotNull?: boolean;
4182 } 4169 }
4183 4170
  4171 +export interface TsgFile {
  4172 + absolute?: boolean;
  4173 + absoluteFile?: TsgFile;
  4174 + absolutePath?: string;
  4175 + canonicalFile?: TsgFile;
  4176 + canonicalPath?: string;
  4177 + directory?: boolean;
  4178 + executable?: boolean;
  4179 + file?: boolean;
  4180 + /** @format int64 */
  4181 + freeSpace?: number;
  4182 + hidden?: boolean;
  4183 + /** @format int64 */
  4184 + lastModified?: number;
  4185 + name?: string;
  4186 + parent?: string;
  4187 + parentFile?: TsgFile;
  4188 + path?: string;
  4189 + readable?: boolean;
  4190 + /** @format int64 */
  4191 + totalSpace?: number;
  4192 + /** @format int64 */
  4193 + usableSpace?: number;
  4194 + writable?: boolean;
  4195 +}
  4196 +
4184 export interface InvoiceDetail { 4197 export interface InvoiceDetail {
4185 createByName?: string; 4198 createByName?: string;
4186 /** @format date-time */ 4199 /** @format date-time */
src/services/request.ts
@@ -35,6 +35,7 @@ import type { @@ -35,6 +35,7 @@ import type {
35 AuditDto, 35 AuditDto,
36 AuditVO, 36 AuditVO,
37 CancelInvoiceAndBankStatementDto, 37 CancelInvoiceAndBankStatementDto,
  38 + CancelInvoiceRecordDto,
38 CancelSendOrderDto, 39 CancelSendOrderDto,
39 CaptchaMessageVO, 40 CaptchaMessageVO,
40 ClientCommunicationInfo, 41 ClientCommunicationInfo,
@@ -63,7 +64,6 @@ import type { @@ -63,7 +64,6 @@ import type {
63 MaterialUnitListRes, 64 MaterialUnitListRes,
64 MeasureUnitListRes, 65 MeasureUnitListRes,
65 MessageQueryDTO, 66 MessageQueryDTO,
66 - ModelAndView,  
67 OrderAddVO, 67 OrderAddVO,
68 OrderAuditLogQueryVO, 68 OrderAuditLogQueryVO,
69 OrderBaseInfoQueryVO, 69 OrderBaseInfoQueryVO,
@@ -3237,7 +3237,9 @@ export interface GetErrorResponse { @@ -3237,7 +3237,9 @@ export interface GetErrorResponse {
3237 * @description 3237 * @description
3238 * OK 3238 * OK
3239 */ 3239 */
3240 - 200: ModelAndView; 3240 + 200: {
  3241 + [propertyName: string]: any;
  3242 + };
3241 /** 3243 /**
3242 * @description 3244 * @description
3243 * Unauthorized 3245 * Unauthorized
@@ -3258,9 +3260,9 @@ export interface GetErrorResponse { @@ -3258,9 +3260,9 @@ export interface GetErrorResponse {
3258 export type GetErrorResponseSuccess = GetErrorResponse[200]; 3260 export type GetErrorResponseSuccess = GetErrorResponse[200];
3259 /** 3261 /**
3260 * @description 3262 * @description
3261 - * errorHtml 3263 + * error
3262 * @tags basic-error-controller 3264 * @tags basic-error-controller
3263 - * @produces text/html 3265 + * @produces *
3264 */ 3266 */
3265 export const getError = /* #__PURE__ */ (() => { 3267 export const getError = /* #__PURE__ */ (() => {
3266 const method = 'get'; 3268 const method = 'get';
@@ -3284,7 +3286,9 @@ export interface PutErrorResponse { @@ -3284,7 +3286,9 @@ export interface PutErrorResponse {
3284 * @description 3286 * @description
3285 * OK 3287 * OK
3286 */ 3288 */
3287 - 200: ModelAndView; 3289 + 200: {
  3290 + [propertyName: string]: any;
  3291 + };
3288 /** 3292 /**
3289 * @description 3293 * @description
3290 * Created 3294 * Created
@@ -3310,9 +3314,9 @@ export interface PutErrorResponse { @@ -3310,9 +3314,9 @@ export interface PutErrorResponse {
3310 export type PutErrorResponseSuccess = PutErrorResponse[200]; 3314 export type PutErrorResponseSuccess = PutErrorResponse[200];
3311 /** 3315 /**
3312 * @description 3316 * @description
3313 - * errorHtml 3317 + * error
3314 * @tags basic-error-controller 3318 * @tags basic-error-controller
3315 - * @produces text/html 3319 + * @produces *
3316 * @consumes application/json 3320 * @consumes application/json
3317 */ 3321 */
3318 export const putError = /* #__PURE__ */ (() => { 3322 export const putError = /* #__PURE__ */ (() => {
@@ -3337,7 +3341,9 @@ export interface PostErrorResponse { @@ -3337,7 +3341,9 @@ export interface PostErrorResponse {
3337 * @description 3341 * @description
3338 * OK 3342 * OK
3339 */ 3343 */
3340 - 200: ModelAndView; 3344 + 200: {
  3345 + [propertyName: string]: any;
  3346 + };
3341 /** 3347 /**
3342 * @description 3348 * @description
3343 * Created 3349 * Created
@@ -3363,9 +3369,9 @@ export interface PostErrorResponse { @@ -3363,9 +3369,9 @@ export interface PostErrorResponse {
3363 export type PostErrorResponseSuccess = PostErrorResponse[200]; 3369 export type PostErrorResponseSuccess = PostErrorResponse[200];
3364 /** 3370 /**
3365 * @description 3371 * @description
3366 - * errorHtml 3372 + * error
3367 * @tags basic-error-controller 3373 * @tags basic-error-controller
3368 - * @produces text/html 3374 + * @produces *
3369 * @consumes application/json 3375 * @consumes application/json
3370 */ 3376 */
3371 export const postError = /* #__PURE__ */ (() => { 3377 export const postError = /* #__PURE__ */ (() => {
@@ -3390,7 +3396,9 @@ export interface DeleteErrorResponse { @@ -3390,7 +3396,9 @@ export interface DeleteErrorResponse {
3390 * @description 3396 * @description
3391 * OK 3397 * OK
3392 */ 3398 */
3393 - 200: ModelAndView; 3399 + 200: {
  3400 + [propertyName: string]: any;
  3401 + };
3394 /** 3402 /**
3395 * @description 3403 * @description
3396 * No Content 3404 * No Content
@@ -3411,9 +3419,9 @@ export interface DeleteErrorResponse { @@ -3411,9 +3419,9 @@ export interface DeleteErrorResponse {
3411 export type DeleteErrorResponseSuccess = DeleteErrorResponse[200]; 3419 export type DeleteErrorResponseSuccess = DeleteErrorResponse[200];
3412 /** 3420 /**
3413 * @description 3421 * @description
3414 - * errorHtml 3422 + * error
3415 * @tags basic-error-controller 3423 * @tags basic-error-controller
3416 - * @produces text/html 3424 + * @produces *
3417 */ 3425 */
3418 export const deleteError = /* #__PURE__ */ (() => { 3426 export const deleteError = /* #__PURE__ */ (() => {
3419 const method = 'delete'; 3427 const method = 'delete';
@@ -3437,7 +3445,9 @@ export interface OptionsErrorResponse { @@ -3437,7 +3445,9 @@ export interface OptionsErrorResponse {
3437 * @description 3445 * @description
3438 * OK 3446 * OK
3439 */ 3447 */
3440 - 200: ModelAndView; 3448 + 200: {
  3449 + [propertyName: string]: any;
  3450 + };
3441 /** 3451 /**
3442 * @description 3452 * @description
3443 * No Content 3453 * No Content
@@ -3458,9 +3468,9 @@ export interface OptionsErrorResponse { @@ -3458,9 +3468,9 @@ export interface OptionsErrorResponse {
3458 export type OptionsErrorResponseSuccess = OptionsErrorResponse[200]; 3468 export type OptionsErrorResponseSuccess = OptionsErrorResponse[200];
3459 /** 3469 /**
3460 * @description 3470 * @description
3461 - * errorHtml 3471 + * error
3462 * @tags basic-error-controller 3472 * @tags basic-error-controller
3463 - * @produces text/html 3473 + * @produces *
3464 * @consumes application/json 3474 * @consumes application/json
3465 */ 3475 */
3466 export const optionsError = /* #__PURE__ */ (() => { 3476 export const optionsError = /* #__PURE__ */ (() => {
@@ -3485,7 +3495,9 @@ export interface HeadErrorResponse { @@ -3485,7 +3495,9 @@ export interface HeadErrorResponse {
3485 * @description 3495 * @description
3486 * OK 3496 * OK
3487 */ 3497 */
3488 - 200: ModelAndView; 3498 + 200: {
  3499 + [propertyName: string]: any;
  3500 + };
3489 /** 3501 /**
3490 * @description 3502 * @description
3491 * No Content 3503 * No Content
@@ -3506,9 +3518,9 @@ export interface HeadErrorResponse { @@ -3506,9 +3518,9 @@ export interface HeadErrorResponse {
3506 export type HeadErrorResponseSuccess = HeadErrorResponse[200]; 3518 export type HeadErrorResponseSuccess = HeadErrorResponse[200];
3507 /** 3519 /**
3508 * @description 3520 * @description
3509 - * errorHtml 3521 + * error
3510 * @tags basic-error-controller 3522 * @tags basic-error-controller
3511 - * @produces text/html 3523 + * @produces *
3512 * @consumes application/json 3524 * @consumes application/json
3513 */ 3525 */
3514 export const headError = /* #__PURE__ */ (() => { 3526 export const headError = /* #__PURE__ */ (() => {
@@ -3533,7 +3545,9 @@ export interface PatchErrorResponse { @@ -3533,7 +3545,9 @@ export interface PatchErrorResponse {
3533 * @description 3545 * @description
3534 * OK 3546 * OK
3535 */ 3547 */
3536 - 200: ModelAndView; 3548 + 200: {
  3549 + [propertyName: string]: any;
  3550 + };
3537 /** 3551 /**
3538 * @description 3552 * @description
3539 * No Content 3553 * No Content
@@ -3554,9 +3568,9 @@ export interface PatchErrorResponse { @@ -3554,9 +3568,9 @@ export interface PatchErrorResponse {
3554 export type PatchErrorResponseSuccess = PatchErrorResponse[200]; 3568 export type PatchErrorResponseSuccess = PatchErrorResponse[200];
3555 /** 3569 /**
3556 * @description 3570 * @description
3557 - * errorHtml 3571 + * error
3558 * @tags basic-error-controller 3572 * @tags basic-error-controller
3559 - * @produces text/html 3573 + * @produces *
3560 * @consumes application/json 3574 * @consumes application/json
3561 */ 3575 */
3562 export const patchError = /* #__PURE__ */ (() => { 3576 export const patchError = /* #__PURE__ */ (() => {
@@ -14094,6 +14108,77 @@ export const postServiceInvoiceCancelInvoiceAndBankStatement = @@ -14094,6 +14108,77 @@ export const postServiceInvoiceCancelInvoiceAndBankStatement =
14094 return request; 14108 return request;
14095 })(); 14109 })();
14096 14110
  14111 +/** @description request parameter type for postServiceInvoiceCancelInvoiceRecord */
  14112 +export interface PostServiceInvoiceCancelInvoiceRecordOption {
  14113 + /**
  14114 + * @description
  14115 + * cancelInvoiceRecordDto
  14116 + */
  14117 + body: {
  14118 + /**
  14119 + @description
  14120 + cancelInvoiceRecordDto */
  14121 + cancelInvoiceRecordDto: CancelInvoiceRecordDto;
  14122 + };
  14123 +}
  14124 +
  14125 +/** @description response type for postServiceInvoiceCancelInvoiceRecord */
  14126 +export interface PostServiceInvoiceCancelInvoiceRecordResponse {
  14127 + /**
  14128 + * @description
  14129 + * OK
  14130 + */
  14131 + 200: ServerResult;
  14132 + /**
  14133 + * @description
  14134 + * Created
  14135 + */
  14136 + 201: any;
  14137 + /**
  14138 + * @description
  14139 + * Unauthorized
  14140 + */
  14141 + 401: any;
  14142 + /**
  14143 + * @description
  14144 + * Forbidden
  14145 + */
  14146 + 403: any;
  14147 + /**
  14148 + * @description
  14149 + * Not Found
  14150 + */
  14151 + 404: any;
  14152 +}
  14153 +
  14154 +export type PostServiceInvoiceCancelInvoiceRecordResponseSuccess =
  14155 + PostServiceInvoiceCancelInvoiceRecordResponse[200];
  14156 +/**
  14157 + * @description
  14158 + * 取消开票记录
  14159 + * @tags 发票
  14160 + * @produces *
  14161 + * @consumes application/json
  14162 + */
  14163 +export const postServiceInvoiceCancelInvoiceRecord = /* #__PURE__ */ (() => {
  14164 + const method = 'post';
  14165 + const url = '/service/invoice/cancelInvoiceRecord';
  14166 + function request(
  14167 + option: PostServiceInvoiceCancelInvoiceRecordOption,
  14168 + ): Promise<PostServiceInvoiceCancelInvoiceRecordResponseSuccess> {
  14169 + return requester(request.url, {
  14170 + method: request.method,
  14171 + ...option,
  14172 + }) as unknown as Promise<PostServiceInvoiceCancelInvoiceRecordResponseSuccess>;
  14173 + }
  14174 +
  14175 + /** http method */
  14176 + request.method = method;
  14177 + /** request url */
  14178 + request.url = url;
  14179 + return request;
  14180 +})();
  14181 +
14097 /** @description request parameter type for postServiceInvoiceDealInvoicingResult */ 14182 /** @description request parameter type for postServiceInvoiceDealInvoicingResult */
14098 export interface PostServiceInvoiceDealInvoicingResultOption { 14183 export interface PostServiceInvoiceDealInvoicingResultOption {
14099 /** 14184 /**
@@ -14309,6 +14394,77 @@ export const postServiceInvoiceDownloadInvoice = /* #__PURE__ */ (() =&gt; { @@ -14309,6 +14394,77 @@ export const postServiceInvoiceDownloadInvoice = /* #__PURE__ */ (() =&gt; {
14309 return request; 14394 return request;
14310 })(); 14395 })();
14311 14396
  14397 +/** @description request parameter type for postServiceInvoiceExportBankStatements */
  14398 +export interface PostServiceInvoiceExportBankStatementsOption {
  14399 + /**
  14400 + * @description
  14401 + * dto
  14402 + */
  14403 + body: {
  14404 + /**
  14405 + @description
  14406 + dto */
  14407 + dto: QueryBankStatementDto;
  14408 + };
  14409 +}
  14410 +
  14411 +/** @description response type for postServiceInvoiceExportBankStatements */
  14412 +export interface PostServiceInvoiceExportBankStatementsResponse {
  14413 + /**
  14414 + * @description
  14415 + * OK
  14416 + */
  14417 + 200: any;
  14418 + /**
  14419 + * @description
  14420 + * Created
  14421 + */
  14422 + 201: any;
  14423 + /**
  14424 + * @description
  14425 + * Unauthorized
  14426 + */
  14427 + 401: any;
  14428 + /**
  14429 + * @description
  14430 + * Forbidden
  14431 + */
  14432 + 403: any;
  14433 + /**
  14434 + * @description
  14435 + * Not Found
  14436 + */
  14437 + 404: any;
  14438 +}
  14439 +
  14440 +export type PostServiceInvoiceExportBankStatementsResponseSuccess =
  14441 + PostServiceInvoiceExportBankStatementsResponse[200];
  14442 +/**
  14443 + * @description
  14444 + * 导出银行流水
  14445 + * @tags 发票
  14446 + * @produces *
  14447 + * @consumes application/json
  14448 + */
  14449 +export const postServiceInvoiceExportBankStatements = /* #__PURE__ */ (() => {
  14450 + const method = 'post';
  14451 + const url = '/service/invoice/exportBankStatements';
  14452 + function request(
  14453 + option: PostServiceInvoiceExportBankStatementsOption,
  14454 + ): Promise<PostServiceInvoiceExportBankStatementsResponseSuccess> {
  14455 + return requester(request.url, {
  14456 + method: request.method,
  14457 + ...option,
  14458 + }) as unknown as Promise<PostServiceInvoiceExportBankStatementsResponseSuccess>;
  14459 + }
  14460 +
  14461 + /** http method */
  14462 + request.method = method;
  14463 + /** request url */
  14464 + request.url = url;
  14465 + return request;
  14466 +})();
  14467 +
14312 /** @description response type for getServiceInvoiceExportInvoiceDetailsTemplate */ 14468 /** @description response type for getServiceInvoiceExportInvoiceDetailsTemplate */
14313 export interface GetServiceInvoiceExportInvoiceDetailsTemplateResponse { 14469 export interface GetServiceInvoiceExportInvoiceDetailsTemplateResponse {
14314 /** 14470 /**
@@ -15134,6 +15290,77 @@ export const postServiceInvoiceInvoicing = /* #__PURE__ */ (() =&gt; { @@ -15134,6 +15290,77 @@ export const postServiceInvoiceInvoicing = /* #__PURE__ */ (() =&gt; {
15134 return request; 15290 return request;
15135 })(); 15291 })();
15136 15292
  15293 +/** @description request parameter type for postServiceInvoiceModify */
  15294 +export interface PostServiceInvoiceModifyOption {
  15295 + /**
  15296 + * @description
  15297 + * dto
  15298 + */
  15299 + body: {
  15300 + /**
  15301 + @description
  15302 + dto */
  15303 + dto: InvoiceDto;
  15304 + };
  15305 +}
  15306 +
  15307 +/** @description response type for postServiceInvoiceModify */
  15308 +export interface PostServiceInvoiceModifyResponse {
  15309 + /**
  15310 + * @description
  15311 + * OK
  15312 + */
  15313 + 200: ServerResult;
  15314 + /**
  15315 + * @description
  15316 + * Created
  15317 + */
  15318 + 201: any;
  15319 + /**
  15320 + * @description
  15321 + * Unauthorized
  15322 + */
  15323 + 401: any;
  15324 + /**
  15325 + * @description
  15326 + * Forbidden
  15327 + */
  15328 + 403: any;
  15329 + /**
  15330 + * @description
  15331 + * Not Found
  15332 + */
  15333 + 404: any;
  15334 +}
  15335 +
  15336 +export type PostServiceInvoiceModifyResponseSuccess =
  15337 + PostServiceInvoiceModifyResponse[200];
  15338 +/**
  15339 + * @description
  15340 + * 修改发票
  15341 + * @tags 发票
  15342 + * @produces *
  15343 + * @consumes application/json
  15344 + */
  15345 +export const postServiceInvoiceModify = /* #__PURE__ */ (() => {
  15346 + const method = 'post';
  15347 + const url = '/service/invoice/modify';
  15348 + function request(
  15349 + option: PostServiceInvoiceModifyOption,
  15350 + ): Promise<PostServiceInvoiceModifyResponseSuccess> {
  15351 + return requester(request.url, {
  15352 + method: request.method,
  15353 + ...option,
  15354 + }) as unknown as Promise<PostServiceInvoiceModifyResponseSuccess>;
  15355 + }
  15356 +
  15357 + /** http method */
  15358 + request.method = method;
  15359 + /** request url */
  15360 + request.url = url;
  15361 + return request;
  15362 +})();
  15363 +
15137 /** @description request parameter type for postServiceInvoiceModifyRecord */ 15364 /** @description request parameter type for postServiceInvoiceModifyRecord */
15138 export interface PostServiceInvoiceModifyRecordOption { 15365 export interface PostServiceInvoiceModifyRecordOption {
15139 /** 15366 /**