Commit 7d4330378a5fe624c636ee29033b74e89b47573f
1 parent
0a0810a3
feat: 开票功能开发
Showing
7 changed files
with
390 additions
and
273 deletions
src/pages/Invoice/components/InvoicingModal.tsx
1 | 1 | import { PlusOutlined } from '@ant-design/icons'; |
2 | -import { | |
3 | - ModalForm, | |
4 | - ProForm, | |
5 | - ProFormDateRangePicker, | |
6 | - ProFormSelect, | |
7 | - ProFormText, | |
8 | -} from '@ant-design/pro-components'; | |
2 | +import { ModalForm } from '@ant-design/pro-components'; | |
9 | 3 | import { Button, Form, message } from 'antd'; |
10 | 4 | |
11 | 5 | const waitTime = (time: number = 100) => { |
... | ... | @@ -16,7 +10,7 @@ const waitTime = (time: number = 100) => { |
16 | 10 | }); |
17 | 11 | }; |
18 | 12 | |
19 | -export default () => { | |
13 | +export default ({}) => { | |
20 | 14 | const [form] = Form.useForm<{ name: string; company: string }>(); |
21 | 15 | return ( |
22 | 16 | <ModalForm<{ |
... | ... | @@ -43,70 +37,6 @@ export default () => { |
43 | 37 | message.success('提交成功'); |
44 | 38 | return true; |
45 | 39 | }} |
46 | - > | |
47 | - <ProForm.Group> | |
48 | - <ProFormText | |
49 | - width="md" | |
50 | - name="name" | |
51 | - label="签约客户名称" | |
52 | - tooltip="最长为 24 位" | |
53 | - placeholder="请输入名称" | |
54 | - /> | |
55 | - | |
56 | - <ProFormText | |
57 | - width="md" | |
58 | - name="company" | |
59 | - label="我方公司名称" | |
60 | - placeholder="请输入名称" | |
61 | - /> | |
62 | - </ProForm.Group> | |
63 | - <ProForm.Group> | |
64 | - <ProFormText | |
65 | - width="md" | |
66 | - name="contract" | |
67 | - label="合同名称" | |
68 | - placeholder="请输入名称" | |
69 | - /> | |
70 | - <ProFormDateRangePicker name="contractTime" label="合同生效时间" /> | |
71 | - </ProForm.Group> | |
72 | - <ProForm.Group> | |
73 | - <ProFormSelect | |
74 | - request={async () => [ | |
75 | - { | |
76 | - value: 'chapter', | |
77 | - label: '盖章后生效', | |
78 | - }, | |
79 | - ]} | |
80 | - width="xs" | |
81 | - name="useMode" | |
82 | - label="合同约定生效方式" | |
83 | - /> | |
84 | - <ProFormSelect | |
85 | - width="xs" | |
86 | - options={[ | |
87 | - { | |
88 | - value: 'time', | |
89 | - label: '履行完终止', | |
90 | - }, | |
91 | - ]} | |
92 | - name="unusedMode" | |
93 | - label="合同约定失效效方式" | |
94 | - /> | |
95 | - </ProForm.Group> | |
96 | - <ProFormText width="sm" name="id" label="主合同编号" /> | |
97 | - <ProFormText | |
98 | - name="project" | |
99 | - disabled | |
100 | - label="项目名称" | |
101 | - initialValue="xxxx项目" | |
102 | - /> | |
103 | - <ProFormText | |
104 | - width="xs" | |
105 | - name="mangerName" | |
106 | - disabled | |
107 | - label="商务经理" | |
108 | - initialValue="启途" | |
109 | - /> | |
110 | - </ModalForm> | |
40 | + ></ModalForm> | |
111 | 41 | ); |
112 | 42 | }; | ... | ... |
src/pages/Invoice/index.tsx
... | ... | @@ -28,7 +28,7 @@ import { formatDate } from '@/utils/time'; |
28 | 28 | import { PlusOutlined } from '@ant-design/icons'; |
29 | 29 | import { ActionType, ProTable } from '@ant-design/pro-components'; |
30 | 30 | import { TableDropdown } from '@ant-design/pro-table'; |
31 | -import { Button, Tabs, message } from 'antd'; | |
31 | +import { Button, Space, Table, Tabs, message } from 'antd'; | |
32 | 32 | import { useEffect, useRef, useState } from 'react'; |
33 | 33 | import { INVOCING_STATUS, PAYEE_OPTIONS } from '../Order/constant'; |
34 | 34 | import BankImportModal from './components/BankImportModal'; |
... | ... | @@ -47,22 +47,36 @@ const InvoicePage = () => { |
47 | 47 | useState(false); |
48 | 48 | const [invoiceId, setInvoiceId] = useState(undefined); |
49 | 49 | |
50 | - useEffect(async () => { | |
51 | - let invoiceTypeRet = await postServiceConstInvoiceType(); | |
52 | - setInvoiceTypeValueEnum(invoiceTypeRet.data); | |
53 | - let invoicingTypeRet = await postServiceConstInvoicingType(); | |
54 | - setInvoicingTypeValueEnum(invoicingTypeRet.data); | |
55 | - const res = await postServiceOrderQuerySalesCode(); | |
56 | - let map = {}; | |
57 | - res.data?.forEach((item) => { | |
58 | - map[item.userName] = { | |
59 | - text: item.userName, | |
60 | - status: item.userName, | |
61 | - }; | |
62 | - console.log(map); | |
63 | - }); | |
64 | - setSalesCodeValueEnum(map); | |
65 | - console.log(map); | |
50 | + useEffect(() => { | |
51 | + async function extracted() { | |
52 | + let invoiceTypeRet = await postServiceConstInvoiceType(); | |
53 | + setInvoiceTypeValueEnum(invoiceTypeRet.data); | |
54 | + } | |
55 | + extracted().catch(console.error); | |
56 | + }, []); | |
57 | + | |
58 | + useEffect(() => { | |
59 | + async function extracted() { | |
60 | + let invoicingTypeRet = await postServiceConstInvoicingType(); | |
61 | + setInvoicingTypeValueEnum(invoicingTypeRet.data); | |
62 | + } | |
63 | + extracted().catch(console.error); | |
64 | + }, []); | |
65 | + | |
66 | + useEffect(() => { | |
67 | + async function extracted() { | |
68 | + const res = await postServiceOrderQuerySalesCode(); | |
69 | + let map = {}; | |
70 | + res.data?.forEach((item) => { | |
71 | + map[item.userName] = { | |
72 | + text: item.userName, | |
73 | + status: item.userName, | |
74 | + }; | |
75 | + }); | |
76 | + setSalesCodeValueEnum(map); | |
77 | + } | |
78 | + | |
79 | + extracted().catch(console.error); | |
66 | 80 | }, []); |
67 | 81 | |
68 | 82 | const reloadInvoiceTable = () => { |
... | ... | @@ -719,6 +733,21 @@ const InvoicePage = () => { |
719 | 733 | pagination={{ |
720 | 734 | pageSize: 10, |
721 | 735 | }} |
736 | + rowSelection={{ | |
737 | + selections: [Table.SELECTION_ALL, Table.SELECTION_INVERT], | |
738 | + }} | |
739 | + tableAlertOptionRender={({ selectedRowKeys, selectedRows }) => { | |
740 | + console.log(selectedRows); | |
741 | + console.log(selectedRowKeys); | |
742 | + return ( | |
743 | + <Space size={16}> | |
744 | + <InvoicingModal | |
745 | + key="button" | |
746 | + selectedRowKeys={selectedRowKeys} | |
747 | + /> | |
748 | + </Space> | |
749 | + ); | |
750 | + }} | |
722 | 751 | request={async (params) => { |
723 | 752 | let res = await postServiceInvoiceQueryInvoiceRecordList({ |
724 | 753 | data: { |
... | ... | @@ -754,7 +783,6 @@ const InvoicePage = () => { |
754 | 783 | dateFormatter="string" |
755 | 784 | headerTitle="待开票列表" |
756 | 785 | scroll={{ x: 1400, y: 360 }} |
757 | - toolBarRender={() => [<InvoicingModal key="button" />]} | |
758 | 786 | /> |
759 | 787 | ), |
760 | 788 | }, | ... | ... |
src/pages/Order/components/InvoicingDrawerForm.tsx
... | ... | @@ -16,24 +16,12 @@ import { |
16 | 16 | ProFormUploadDragger, |
17 | 17 | } from '@ant-design/pro-components'; |
18 | 18 | import { Form } from 'antd'; |
19 | -import { useEffect, useState } from 'react'; | |
20 | 19 | import { PAYEE_OPTIONS } from '../constant'; |
21 | 20 | |
22 | 21 | export default ({ dataList, setVisible, onClose }) => { |
23 | 22 | // let subOrderIds = dataList?.map((item) => { |
24 | 23 | // return item.id; |
25 | 24 | // }); |
26 | - const [invoiceTypeValueEnum, setInvoiceTypeValueEnum] = useState({}); | |
27 | - const [invoicingTypeValueEnum, setInvoicingTypeValueEnum] = useState({}); | |
28 | - let initEnum = async () => { | |
29 | - let invoiceTypeRet = await postServiceConstInvoiceType(); | |
30 | - setInvoiceTypeValueEnum(invoiceTypeRet.data); | |
31 | - let invoicingTypeRet = await postServiceConstInvoicingType(); | |
32 | - setInvoicingTypeValueEnum(invoicingTypeRet.data); | |
33 | - }; | |
34 | - useEffect(() => { | |
35 | - initEnum(); | |
36 | - }, []); | |
37 | 25 | const [form] = Form.useForm(); |
38 | 26 | return ( |
39 | 27 | <DrawerForm |
... | ... | @@ -70,11 +58,11 @@ export default ({ dataList, setVisible, onClose }) => { |
70 | 58 | <ProFormList |
71 | 59 | name="subOrderIdObjs" |
72 | 60 | label="开票订单" |
73 | - /*initialValue={subOrders.map((item) => { | |
74 | - return { | |
75 | - value:item.id | |
76 | - } | |
77 | - })}*/ | |
61 | + initialValue={dataList.map((item) => { | |
62 | + return { | |
63 | + value: item.id, | |
64 | + }; | |
65 | + })} | |
78 | 66 | deleteIconProps={{ |
79 | 67 | Icon: CloseCircleOutlined, |
80 | 68 | tooltipText: '不需要这行了', |
... | ... | @@ -137,16 +125,24 @@ export default ({ dataList, setVisible, onClose }) => { |
137 | 125 | <ProFormSelect |
138 | 126 | name="invoicingType" |
139 | 127 | label="开具类型" |
140 | - options={enumToSelect(invoicingTypeValueEnum)} | |
128 | + request={async () => { | |
129 | + let invoicingTypeRet = await postServiceConstInvoicingType(); | |
130 | + let options = enumToSelect(invoicingTypeRet.data); | |
131 | + return options; | |
132 | + }} | |
141 | 133 | placeholder="请选择开具类型" |
142 | 134 | rules={[{ required: true, message: '请选择开具类型!' }]} |
143 | 135 | /> |
144 | 136 | <ProFormSelect |
145 | 137 | name="type" |
146 | 138 | label="开票类型" |
147 | - options={enumToSelect(invoiceTypeValueEnum)} | |
148 | 139 | placeholder="请选择开票类型" |
149 | 140 | rules={[{ required: true, message: '请选择开票类型!' }]} |
141 | + request={async () => { | |
142 | + let invoiceTypeRet = await postServiceConstInvoiceType(); | |
143 | + let options = enumToSelect(invoiceTypeRet.data); | |
144 | + return options; | |
145 | + }} | |
150 | 146 | /> |
151 | 147 | <ProFormSelect |
152 | 148 | name="partyBName" | ... | ... |
src/pages/Order/constant.ts
1 | 1 | import { postServiceOrderQueryCustomerInformation } from '@/services'; |
2 | 2 | import { enumToProTableEnumValue } from '@/utils'; |
3 | 3 | import { getReceivingCompanyOptions, isSupplier } from '@/utils/order'; |
4 | + | |
4 | 5 | export const COMFIR_RECEIPT_IMAGES_NUMBER = 3; |
5 | 6 | |
6 | 7 | export const PAYMENT_CHANNEL_OPTIONS = { | ... | ... |
src/pages/Order/index.tsx
... | ... | @@ -219,6 +219,25 @@ const OrderPage = () => { |
219 | 219 | setSelectedSubOrderKeys([]); |
220 | 220 | }; |
221 | 221 | |
222 | + useEffect(() => { | |
223 | + // 使用URLSearchParams来解析查询参数 | |
224 | + const params = new URLSearchParams(location.search); | |
225 | + const id = params.get('id'); | |
226 | + if (id) { | |
227 | + mainTableFormRef.current?.setFieldValue('id', id); | |
228 | + } | |
229 | + }, []); | |
230 | + | |
231 | + useEffect(() => { | |
232 | + const initEnum = async () => { | |
233 | + let invoiceTypeRet = await postServiceConstCanApplyAfterInvoicingStatus(); | |
234 | + if (invoiceTypeRet.result === RESPONSE_CODE.SUCCESS) { | |
235 | + setCanApplyAfterInvoicingStatus(invoiceTypeRet.data); | |
236 | + } | |
237 | + }; | |
238 | + initEnum(); | |
239 | + }, []); | |
240 | + | |
222 | 241 | /** |
223 | 242 | * 复制订单到剪贴板 |
224 | 243 | * @param record |
... | ... | @@ -4009,37 +4028,40 @@ const OrderPage = () => { |
4009 | 4028 | {roleCode === 'admin' ? '合并(财务)' : '合并开票'} |
4010 | 4029 | </Button>, |
4011 | 4030 | ); |
4012 | - toolBtns.push( | |
4013 | - <Button | |
4014 | - type="primary" | |
4015 | - key="inv" | |
4016 | - onClick={() => { | |
4017 | - setIsMainOrder(true); | |
4018 | - if (isMainOrder) { | |
4019 | - let flat = [...subOrderSelectedMap.values()].flat(); | |
4020 | - //获取flat的中每个元素的afterInvoicingStatus | |
4021 | - let afterInvoicingStatusList = flat.map((item) => { | |
4022 | - return item.afterInvoicingStatus; | |
4023 | - }); | |
4024 | - //判断flat中的每个元素是否都存在于canApplyAfterInvoicingStatus中 | |
4025 | - if ( | |
4026 | - !afterInvoicingStatusList.every((item) => { | |
4027 | - return canApplyAfterInvoicingStatus.includes(item); | |
4028 | - }) | |
4029 | - ) { | |
4030 | - message.error('订单状态不正确,请检查!'); | |
4031 | - return; | |
4032 | - } | |
4033 | - } | |
4034 | - setInvoicingDrawerFormVisible(true); | |
4035 | - }} | |
4036 | - disabled={selectedSubOrderKeys?.length === 0} | |
4037 | - > | |
4038 | - 申请开票 | |
4039 | - </Button>, | |
4040 | - ); | |
4041 | 4031 | } |
4042 | 4032 | |
4033 | + toolBtns.push( | |
4034 | + <Button | |
4035 | + type="primary" | |
4036 | + key="inv" | |
4037 | + onClick={() => { | |
4038 | + setIsMainOrder(true); | |
4039 | + let flat = [...subOrderSelectedMap.values()].flat(); | |
4040 | + //遍历flat,判断afterInvoicingStatusList存在于canApplyAfterInvoicingStatus | |
4041 | + flat.forEach((item) => { | |
4042 | + console.log(item); | |
4043 | + console.log(item.invoicingStatus === 'UN_INVOICE'); | |
4044 | + console.log(item.afterInvoicingStatus !== null); | |
4045 | + if ( | |
4046 | + item.invoicingStatus === 'UN_INVOICE' || | |
4047 | + (item.afterInvoicingStatus !== null && | |
4048 | + !canApplyAfterInvoicingStatus.includes( | |
4049 | + item.afterInvoicingStatus, | |
4050 | + )) | |
4051 | + ) { | |
4052 | + message.error('存在不能进行开票的订单'); | |
4053 | + return; | |
4054 | + } | |
4055 | + }); | |
4056 | + //遍历afterInvoicingStatusList | |
4057 | + setInvoicingDrawerFormVisible(true); | |
4058 | + }} | |
4059 | + disabled={selectedSubOrderKeys?.length === 0} | |
4060 | + > | |
4061 | + 申请开票 | |
4062 | + </Button>, | |
4063 | + ); | |
4064 | + | |
4043 | 4065 | if (rolePath?.includes('addOrder')) { |
4044 | 4066 | toolBtns.push( |
4045 | 4067 | <Button |
... | ... | @@ -4085,23 +4107,6 @@ const OrderPage = () => { |
4085 | 4107 | return toolBtns; |
4086 | 4108 | } |
4087 | 4109 | |
4088 | - let initEnum = async () => { | |
4089 | - let invoiceTypeRet = await postServiceConstCanApplyAfterInvoicingStatus(); | |
4090 | - if (invoiceTypeRet.result === RESPONSE_CODE.SUCCESS) { | |
4091 | - setCanApplyAfterInvoicingStatus(invoiceTypeRet.data); | |
4092 | - } | |
4093 | - }; | |
4094 | - | |
4095 | - useEffect(() => { | |
4096 | - initEnum(); | |
4097 | - // 使用URLSearchParams来解析查询参数 | |
4098 | - const params = new URLSearchParams(location.search); | |
4099 | - const id = params.get('id'); | |
4100 | - if (id) { | |
4101 | - mainTableFormRef.current?.setFieldValue('id', id); | |
4102 | - } | |
4103 | - }, []); | |
4104 | - | |
4105 | 4110 | return ( |
4106 | 4111 | <div className="order-page-container"> |
4107 | 4112 | <div id="resizeDiv"></div> | ... | ... |
src/services/definition.ts
... | ... | @@ -889,6 +889,36 @@ export interface InventoryMaterialStockReq { |
889 | 889 | materialId?: string; |
890 | 890 | } |
891 | 891 | |
892 | +export interface InvoiceDetail { | |
893 | + /** | |
894 | + * @description | |
895 | + * 单价 | |
896 | + * @format double | |
897 | + */ | |
898 | + price?: number; | |
899 | + /** | |
900 | + * @description | |
901 | + * 项目名称 | |
902 | + */ | |
903 | + projectName?: string; | |
904 | + /** | |
905 | + * @description | |
906 | + * 数量 | |
907 | + * @format int32 | |
908 | + */ | |
909 | + quantity?: number; | |
910 | + /** | |
911 | + * @description | |
912 | + * 规格型号 | |
913 | + */ | |
914 | + specification?: string; | |
915 | + /** | |
916 | + * @description | |
917 | + * 单位 | |
918 | + */ | |
919 | + unit?: string; | |
920 | +} | |
921 | + | |
892 | 922 | export interface InvoiceDto { |
893 | 923 | /** |
894 | 924 | * @description |
... | ... | @@ -987,6 +1017,11 @@ export interface InvoiceRecordDto { |
987 | 1017 | id?: number; |
988 | 1018 | /** |
989 | 1019 | * @description |
1020 | + * 发票明细 | |
1021 | + */ | |
1022 | + invoiceDetails?: Array<InvoiceDetail>; | |
1023 | + /** | |
1024 | + * @description | |
990 | 1025 | * 关联发票id |
991 | 1026 | */ |
992 | 1027 | invoiceId?: string; |
... | ... | @@ -1088,6 +1123,10 @@ export interface InvoiceRecordDto { |
1088 | 1123 | * 开票状态 |
1089 | 1124 | */ |
1090 | 1125 | statusText?: string; |
1126 | + /** | |
1127 | + * @description | |
1128 | + * 子订单id | |
1129 | + */ | |
1091 | 1130 | subOrderIds?: Array<number>; |
1092 | 1131 | /** |
1093 | 1132 | * @description |
... | ... | @@ -1781,19 +1820,9 @@ export interface QueryInvoiceDetailDto { |
1781 | 1820 | export interface QueryInvoiceRecordDto { |
1782 | 1821 | /** |
1783 | 1822 | * @description |
1784 | - * 开票备注 | |
1785 | - */ | |
1786 | - comment?: string; | |
1787 | - /** | |
1788 | - * @description | |
1789 | 1823 | * 联系人 |
1790 | 1824 | */ |
1791 | 1825 | contactsLike?: string; |
1792 | - /** | |
1793 | - * @description | |
1794 | - * 开票内容 | |
1795 | - */ | |
1796 | - content?: string; | |
1797 | 1826 | /** @format date-time */ |
1798 | 1827 | createTimeGe?: string; |
1799 | 1828 | /** @format date-time */ |
... | ... | @@ -1829,11 +1858,6 @@ export interface QueryInvoiceRecordDto { |
1829 | 1858 | /** |
1830 | 1859 | * @description |
1831 | 1860 | * 开票时间 |
1832 | - */ | |
1833 | - invoicingTime?: string; | |
1834 | - /** | |
1835 | - * @description | |
1836 | - * 开票时间 | |
1837 | 1861 | * @format date-time |
1838 | 1862 | */ |
1839 | 1863 | invoicingTimeGe?: string; |
... | ... | @@ -1855,15 +1879,14 @@ export interface QueryInvoiceRecordDto { |
1855 | 1879 | isUrgent?: boolean; |
1856 | 1880 | /** |
1857 | 1881 | * @description |
1858 | - * 是否加急文本 | |
1859 | - */ | |
1860 | - isUrgentText?: string; | |
1861 | - /** | |
1862 | - * @description | |
1863 | 1882 | * 订单号 |
1864 | 1883 | * @format int64 |
1865 | 1884 | */ |
1866 | 1885 | mainOrderId?: number; |
1886 | + /** | |
1887 | + * @description | |
1888 | + * 主订单idIn | |
1889 | + */ | |
1867 | 1890 | mainOrderIdIn?: Array<number>; |
1868 | 1891 | /** |
1869 | 1892 | * @description |
... | ... | @@ -1872,33 +1895,18 @@ export interface QueryInvoiceRecordDto { |
1872 | 1895 | mainOrderIdLike?: string; |
1873 | 1896 | /** |
1874 | 1897 | * @description |
1875 | - * 订单来源 | |
1898 | + * 是否需要构建发票明细 | |
1876 | 1899 | */ |
1877 | - orderSource?: string; | |
1900 | + needBuildDetails?: boolean; | |
1878 | 1901 | /** @format int32 */ |
1879 | 1902 | pageSize?: number; |
1880 | 1903 | /** |
1881 | 1904 | * @description |
1882 | - * 买方注册地址 | |
1883 | - */ | |
1884 | - partyAAddress?: string; | |
1885 | - /** | |
1886 | - * @description | |
1887 | - * 买方开户行账号 | |
1888 | - */ | |
1889 | - partyABankAccount?: string; | |
1890 | - /** | |
1891 | - * @description | |
1892 | 1905 | * 买方名称 |
1893 | 1906 | */ |
1894 | 1907 | partyANameLike?: string; |
1895 | 1908 | /** |
1896 | 1909 | * @description |
1897 | - * 买方开户行 | |
1898 | - */ | |
1899 | - partyAOpenBank?: string; | |
1900 | - /** | |
1901 | - * @description | |
1902 | 1910 | * 买方电话号码 |
1903 | 1911 | */ |
1904 | 1912 | partyAPhoneNumberLike?: string; |
... | ... | @@ -1914,25 +1922,13 @@ export interface QueryInvoiceRecordDto { |
1914 | 1922 | partyATaxidLike?: string; |
1915 | 1923 | /** |
1916 | 1924 | * @description |
1917 | - * 抬头类型 | |
1918 | - */ | |
1919 | - partyAType?: string; | |
1920 | - /** | |
1921 | - * @description | |
1922 | 1925 | * 卖方名称 |
1923 | 1926 | */ |
1924 | 1927 | partyBName?: string; |
1925 | 1928 | /** |
1926 | 1929 | * @description |
1927 | - * 发票金额 | |
1928 | - * @format double | |
1929 | - */ | |
1930 | - price?: number; | |
1931 | - /** | |
1932 | - * @description | |
1933 | - * 接收邮箱地址 | |
1930 | + * 销售代表 | |
1934 | 1931 | */ |
1935 | - receiveEmail?: string; | |
1936 | 1932 | salesCode?: string; |
1937 | 1933 | /** |
1938 | 1934 | * @description |
... | ... | @@ -1941,33 +1937,35 @@ export interface QueryInvoiceRecordDto { |
1941 | 1937 | salesCodeLike?: string; |
1942 | 1938 | /** |
1943 | 1939 | * @description |
1944 | - * 开票状态 | |
1940 | + * 发票状态 | |
1945 | 1941 | */ |
1946 | 1942 | status?: string; |
1943 | + /** | |
1944 | + * @description | |
1945 | + * 状态非空 | |
1946 | + */ | |
1947 | 1947 | statusIsNotNull?: boolean; |
1948 | - statusIsNull?: boolean; | |
1949 | 1948 | /** |
1950 | 1949 | * @description |
1951 | - * 开票状态 | |
1950 | + * 状态为空 | |
1952 | 1951 | */ |
1953 | - statusText?: string; | |
1952 | + statusIsNull?: boolean; | |
1954 | 1953 | /** |
1955 | 1954 | * @description |
1956 | 1955 | * 子订单 |
1957 | 1956 | * @format int64 |
1958 | 1957 | */ |
1959 | 1958 | subOrderId?: number; |
1960 | - subOrderIdIn?: Array<number>; | |
1961 | 1959 | /** |
1962 | 1960 | * @description |
1963 | - * 子订单 | |
1961 | + * 子订单idIn | |
1964 | 1962 | */ |
1965 | - subOrderIdLike?: string; | |
1963 | + subOrderIdIn?: Array<number>; | |
1966 | 1964 | /** |
1967 | 1965 | * @description |
1968 | - * 关联订单 | |
1966 | + * 子订单 | |
1969 | 1967 | */ |
1970 | - subOrders?: Array<SubOrder>; | |
1968 | + subOrderIdLike?: string; | |
1971 | 1969 | /** @format int32 */ |
1972 | 1970 | total?: number; |
1973 | 1971 | /** |
... | ... | @@ -1977,11 +1975,6 @@ export interface QueryInvoiceRecordDto { |
1977 | 1975 | type?: string; |
1978 | 1976 | /** |
1979 | 1977 | * @description |
1980 | - * 开票类型文本 | |
1981 | - */ | |
1982 | - typeText?: string; | |
1983 | - /** | |
1984 | - * @description | |
1985 | 1978 | * 用户id |
1986 | 1979 | */ |
1987 | 1980 | uid?: string; |
... | ... | @@ -2328,6 +2321,8 @@ export interface UpdatePwdVO { |
2328 | 2321 | |
2329 | 2322 | export interface UserAddressListRequest { |
2330 | 2323 | keywords?: string; |
2324 | + /** @format int32 */ | |
2325 | + limit?: number; | |
2331 | 2326 | } |
2332 | 2327 | |
2333 | 2328 | export interface UserCenterInfoRequest { |
... | ... | @@ -2671,10 +2666,6 @@ export interface SalesRechargePrepaymentUpdateRequest { |
2671 | 2666 | salesCode?: string; |
2672 | 2667 | } |
2673 | 2668 | |
2674 | -export type ServerResultSimplePageUtilsInvoiceRecordDto = ServerResult< | |
2675 | - SimplePageUtils<InvoiceRecordDto> | |
2676 | ->; | |
2677 | -export type SimplePageUtilsInvoiceRecordDto = SimplePageUtils<InvoiceRecordDto>; | |
2678 | 2669 | /** |
2679 | 2670 | * @description |
2680 | 2671 | * 开票添加对象 |
... | ... | @@ -2800,14 +2791,3 @@ export interface Dto { |
2800 | 2791 | */ |
2801 | 2792 | subOrderIds?: Array<string>; |
2802 | 2793 | } |
2803 | - | |
2804 | -export interface SimplePageUtils<InvoiceRecordDto = any> { | |
2805 | - /** @format int64 */ | |
2806 | - count?: number; | |
2807 | - data?: Array<InvoiceRecordDto>; | |
2808 | - /** @format int64 */ | |
2809 | - pageSize?: number; | |
2810 | - specialPath?: Array<string>; | |
2811 | - /** @format int64 */ | |
2812 | - total?: number; | |
2813 | -} | ... | ... |
src/services/request.ts
... | ... | @@ -54,6 +54,7 @@ import type { |
54 | 54 | MaterialUnitListRes, |
55 | 55 | MeasureUnitListRes, |
56 | 56 | MessageQueryDTO, |
57 | + ModelAndView, | |
57 | 58 | OrderAddVO, |
58 | 59 | OrderAuditLogQueryVO, |
59 | 60 | OrderBaseInfoQueryVO, |
... | ... | @@ -86,7 +87,6 @@ import type { |
86 | 87 | SaveReply, |
87 | 88 | ServerResult, |
88 | 89 | ShippingWarehouseChangeDto, |
89 | - SimplePageUtils, | |
90 | 90 | StoreOrderInvoiceRequest, |
91 | 91 | SysLogQueryVO, |
92 | 92 | SystemCustomFieldReq, |
... | ... | @@ -1540,9 +1540,7 @@ export interface GetErrorResponse { |
1540 | 1540 | * @description |
1541 | 1541 | * OK |
1542 | 1542 | */ |
1543 | - 200: { | |
1544 | - [propertyName: string]: any; | |
1545 | - }; | |
1543 | + 200: ModelAndView; | |
1546 | 1544 | /** |
1547 | 1545 | * @description |
1548 | 1546 | * Unauthorized |
... | ... | @@ -1563,9 +1561,9 @@ export interface GetErrorResponse { |
1563 | 1561 | export type GetErrorResponseSuccess = GetErrorResponse[200]; |
1564 | 1562 | /** |
1565 | 1563 | * @description |
1566 | - * error | |
1564 | + * errorHtml | |
1567 | 1565 | * @tags basic-error-controller |
1568 | - * @produces * | |
1566 | + * @produces text/html | |
1569 | 1567 | */ |
1570 | 1568 | export const getError = /* #__PURE__ */ (() => { |
1571 | 1569 | const method = 'get'; |
... | ... | @@ -1589,9 +1587,7 @@ export interface PutErrorResponse { |
1589 | 1587 | * @description |
1590 | 1588 | * OK |
1591 | 1589 | */ |
1592 | - 200: { | |
1593 | - [propertyName: string]: any; | |
1594 | - }; | |
1590 | + 200: ModelAndView; | |
1595 | 1591 | /** |
1596 | 1592 | * @description |
1597 | 1593 | * Created |
... | ... | @@ -1617,9 +1613,9 @@ export interface PutErrorResponse { |
1617 | 1613 | export type PutErrorResponseSuccess = PutErrorResponse[200]; |
1618 | 1614 | /** |
1619 | 1615 | * @description |
1620 | - * error | |
1616 | + * errorHtml | |
1621 | 1617 | * @tags basic-error-controller |
1622 | - * @produces * | |
1618 | + * @produces text/html | |
1623 | 1619 | * @consumes application/json |
1624 | 1620 | */ |
1625 | 1621 | export const putError = /* #__PURE__ */ (() => { |
... | ... | @@ -1644,9 +1640,7 @@ export interface PostErrorResponse { |
1644 | 1640 | * @description |
1645 | 1641 | * OK |
1646 | 1642 | */ |
1647 | - 200: { | |
1648 | - [propertyName: string]: any; | |
1649 | - }; | |
1643 | + 200: ModelAndView; | |
1650 | 1644 | /** |
1651 | 1645 | * @description |
1652 | 1646 | * Created |
... | ... | @@ -1672,9 +1666,9 @@ export interface PostErrorResponse { |
1672 | 1666 | export type PostErrorResponseSuccess = PostErrorResponse[200]; |
1673 | 1667 | /** |
1674 | 1668 | * @description |
1675 | - * error | |
1669 | + * errorHtml | |
1676 | 1670 | * @tags basic-error-controller |
1677 | - * @produces * | |
1671 | + * @produces text/html | |
1678 | 1672 | * @consumes application/json |
1679 | 1673 | */ |
1680 | 1674 | export const postError = /* #__PURE__ */ (() => { |
... | ... | @@ -1699,9 +1693,7 @@ export interface DeleteErrorResponse { |
1699 | 1693 | * @description |
1700 | 1694 | * OK |
1701 | 1695 | */ |
1702 | - 200: { | |
1703 | - [propertyName: string]: any; | |
1704 | - }; | |
1696 | + 200: ModelAndView; | |
1705 | 1697 | /** |
1706 | 1698 | * @description |
1707 | 1699 | * No Content |
... | ... | @@ -1722,9 +1714,9 @@ export interface DeleteErrorResponse { |
1722 | 1714 | export type DeleteErrorResponseSuccess = DeleteErrorResponse[200]; |
1723 | 1715 | /** |
1724 | 1716 | * @description |
1725 | - * error | |
1717 | + * errorHtml | |
1726 | 1718 | * @tags basic-error-controller |
1727 | - * @produces * | |
1719 | + * @produces text/html | |
1728 | 1720 | */ |
1729 | 1721 | export const deleteError = /* #__PURE__ */ (() => { |
1730 | 1722 | const method = 'delete'; |
... | ... | @@ -1748,9 +1740,7 @@ export interface OptionsErrorResponse { |
1748 | 1740 | * @description |
1749 | 1741 | * OK |
1750 | 1742 | */ |
1751 | - 200: { | |
1752 | - [propertyName: string]: any; | |
1753 | - }; | |
1743 | + 200: ModelAndView; | |
1754 | 1744 | /** |
1755 | 1745 | * @description |
1756 | 1746 | * No Content |
... | ... | @@ -1771,9 +1761,9 @@ export interface OptionsErrorResponse { |
1771 | 1761 | export type OptionsErrorResponseSuccess = OptionsErrorResponse[200]; |
1772 | 1762 | /** |
1773 | 1763 | * @description |
1774 | - * error | |
1764 | + * errorHtml | |
1775 | 1765 | * @tags basic-error-controller |
1776 | - * @produces * | |
1766 | + * @produces text/html | |
1777 | 1767 | * @consumes application/json |
1778 | 1768 | */ |
1779 | 1769 | export const optionsError = /* #__PURE__ */ (() => { |
... | ... | @@ -1798,9 +1788,7 @@ export interface HeadErrorResponse { |
1798 | 1788 | * @description |
1799 | 1789 | * OK |
1800 | 1790 | */ |
1801 | - 200: { | |
1802 | - [propertyName: string]: any; | |
1803 | - }; | |
1791 | + 200: ModelAndView; | |
1804 | 1792 | /** |
1805 | 1793 | * @description |
1806 | 1794 | * No Content |
... | ... | @@ -1821,9 +1809,9 @@ export interface HeadErrorResponse { |
1821 | 1809 | export type HeadErrorResponseSuccess = HeadErrorResponse[200]; |
1822 | 1810 | /** |
1823 | 1811 | * @description |
1824 | - * error | |
1812 | + * errorHtml | |
1825 | 1813 | * @tags basic-error-controller |
1826 | - * @produces * | |
1814 | + * @produces text/html | |
1827 | 1815 | * @consumes application/json |
1828 | 1816 | */ |
1829 | 1817 | export const headError = /* #__PURE__ */ (() => { |
... | ... | @@ -1848,9 +1836,7 @@ export interface PatchErrorResponse { |
1848 | 1836 | * @description |
1849 | 1837 | * OK |
1850 | 1838 | */ |
1851 | - 200: { | |
1852 | - [propertyName: string]: any; | |
1853 | - }; | |
1839 | + 200: ModelAndView; | |
1854 | 1840 | /** |
1855 | 1841 | * @description |
1856 | 1842 | * No Content |
... | ... | @@ -1871,9 +1857,9 @@ export interface PatchErrorResponse { |
1871 | 1857 | export type PatchErrorResponseSuccess = PatchErrorResponse[200]; |
1872 | 1858 | /** |
1873 | 1859 | * @description |
1874 | - * error | |
1860 | + * errorHtml | |
1875 | 1861 | * @tags basic-error-controller |
1876 | - * @produces * | |
1862 | + * @produces text/html | |
1877 | 1863 | * @consumes application/json |
1878 | 1864 | */ |
1879 | 1865 | export const patchError = /* #__PURE__ */ (() => { |
... | ... | @@ -8150,7 +8136,7 @@ export interface PostServiceInvoiceApplyInvoiceResponse { |
8150 | 8136 | * @description |
8151 | 8137 | * OK |
8152 | 8138 | */ |
8153 | - 200: ServerResult<SimplePageUtils<InvoiceRecordDto>>; | |
8139 | + 200: ServerResult; | |
8154 | 8140 | /** |
8155 | 8141 | * @description |
8156 | 8142 | * Created |
... | ... | @@ -8273,6 +8259,77 @@ export const postServiceInvoiceCancelInvoiceAndBankStatement = |
8273 | 8259 | return request; |
8274 | 8260 | })(); |
8275 | 8261 | |
8262 | +/** @description request parameter type for postServiceInvoiceDealInvoicingResult */ | |
8263 | +export interface PostServiceInvoiceDealInvoicingResultOption { | |
8264 | + /** | |
8265 | + * @description | |
8266 | + * dto | |
8267 | + */ | |
8268 | + body: { | |
8269 | + /** | |
8270 | + @description | |
8271 | + dto */ | |
8272 | + dto: Dto; | |
8273 | + }; | |
8274 | +} | |
8275 | + | |
8276 | +/** @description response type for postServiceInvoiceDealInvoicingResult */ | |
8277 | +export interface PostServiceInvoiceDealInvoicingResultResponse { | |
8278 | + /** | |
8279 | + * @description | |
8280 | + * OK | |
8281 | + */ | |
8282 | + 200: ServerResult; | |
8283 | + /** | |
8284 | + * @description | |
8285 | + * Created | |
8286 | + */ | |
8287 | + 201: any; | |
8288 | + /** | |
8289 | + * @description | |
8290 | + * Unauthorized | |
8291 | + */ | |
8292 | + 401: any; | |
8293 | + /** | |
8294 | + * @description | |
8295 | + * Forbidden | |
8296 | + */ | |
8297 | + 403: any; | |
8298 | + /** | |
8299 | + * @description | |
8300 | + * Not Found | |
8301 | + */ | |
8302 | + 404: any; | |
8303 | +} | |
8304 | + | |
8305 | +export type PostServiceInvoiceDealInvoicingResultResponseSuccess = | |
8306 | + PostServiceInvoiceDealInvoicingResultResponse[200]; | |
8307 | +/** | |
8308 | + * @description | |
8309 | + * 拉取开票结果 | |
8310 | + * @tags 发票 | |
8311 | + * @produces * | |
8312 | + * @consumes application/json | |
8313 | + */ | |
8314 | +export const postServiceInvoiceDealInvoicingResult = /* #__PURE__ */ (() => { | |
8315 | + const method = 'post'; | |
8316 | + const url = '/service/invoice/dealInvoicingResult'; | |
8317 | + function request( | |
8318 | + option: PostServiceInvoiceDealInvoicingResultOption, | |
8319 | + ): Promise<PostServiceInvoiceDealInvoicingResultResponseSuccess> { | |
8320 | + return requester(request.url, { | |
8321 | + method: request.method, | |
8322 | + ...option, | |
8323 | + }) as unknown as Promise<PostServiceInvoiceDealInvoicingResultResponseSuccess>; | |
8324 | + } | |
8325 | + | |
8326 | + /** http method */ | |
8327 | + request.method = method; | |
8328 | + /** request url */ | |
8329 | + request.url = url; | |
8330 | + return request; | |
8331 | +})(); | |
8332 | + | |
8276 | 8333 | /** @description request parameter type for postServiceInvoiceDeleteInvoice */ |
8277 | 8334 | export interface PostServiceInvoiceDeleteInvoiceOption { |
8278 | 8335 | /** |
... | ... | @@ -8486,6 +8543,77 @@ export const postServiceInvoiceInvoiceWriteOff = /* #__PURE__ */ (() => { |
8486 | 8543 | return request; |
8487 | 8544 | })(); |
8488 | 8545 | |
8546 | +/** @description request parameter type for postServiceInvoiceInvoicing */ | |
8547 | +export interface PostServiceInvoiceInvoicingOption { | |
8548 | + /** | |
8549 | + * @description | |
8550 | + * dto | |
8551 | + */ | |
8552 | + body: { | |
8553 | + /** | |
8554 | + @description | |
8555 | + dto */ | |
8556 | + dto: Dto; | |
8557 | + }; | |
8558 | +} | |
8559 | + | |
8560 | +/** @description response type for postServiceInvoiceInvoicing */ | |
8561 | +export interface PostServiceInvoiceInvoicingResponse { | |
8562 | + /** | |
8563 | + * @description | |
8564 | + * OK | |
8565 | + */ | |
8566 | + 200: ServerResult; | |
8567 | + /** | |
8568 | + * @description | |
8569 | + * Created | |
8570 | + */ | |
8571 | + 201: any; | |
8572 | + /** | |
8573 | + * @description | |
8574 | + * Unauthorized | |
8575 | + */ | |
8576 | + 401: any; | |
8577 | + /** | |
8578 | + * @description | |
8579 | + * Forbidden | |
8580 | + */ | |
8581 | + 403: any; | |
8582 | + /** | |
8583 | + * @description | |
8584 | + * Not Found | |
8585 | + */ | |
8586 | + 404: any; | |
8587 | +} | |
8588 | + | |
8589 | +export type PostServiceInvoiceInvoicingResponseSuccess = | |
8590 | + PostServiceInvoiceInvoicingResponse[200]; | |
8591 | +/** | |
8592 | + * @description | |
8593 | + * 开票 | |
8594 | + * @tags 发票 | |
8595 | + * @produces * | |
8596 | + * @consumes application/json | |
8597 | + */ | |
8598 | +export const postServiceInvoiceInvoicing = /* #__PURE__ */ (() => { | |
8599 | + const method = 'post'; | |
8600 | + const url = '/service/invoice/invoicing'; | |
8601 | + function request( | |
8602 | + option: PostServiceInvoiceInvoicingOption, | |
8603 | + ): Promise<PostServiceInvoiceInvoicingResponseSuccess> { | |
8604 | + return requester(request.url, { | |
8605 | + method: request.method, | |
8606 | + ...option, | |
8607 | + }) as unknown as Promise<PostServiceInvoiceInvoicingResponseSuccess>; | |
8608 | + } | |
8609 | + | |
8610 | + /** http method */ | |
8611 | + request.method = method; | |
8612 | + /** request url */ | |
8613 | + request.url = url; | |
8614 | + return request; | |
8615 | +})(); | |
8616 | + | |
8489 | 8617 | /** @description request parameter type for postServiceInvoiceQueryInvoice */ |
8490 | 8618 | export interface PostServiceInvoiceQueryInvoiceOption { |
8491 | 8619 | /** |
... | ... | @@ -8648,7 +8776,7 @@ export interface PostServiceInvoiceQueryInvoiceRecordListResponse { |
8648 | 8776 | * @description |
8649 | 8777 | * OK |
8650 | 8778 | */ |
8651 | - 200: ServerResult<SimplePageUtils<InvoiceRecordDto>>; | |
8779 | + 200: ServerResult; | |
8652 | 8780 | /** |
8653 | 8781 | * @description |
8654 | 8782 | * Created |
... | ... | @@ -8699,6 +8827,55 @@ export const postServiceInvoiceQueryInvoiceRecordList = /* #__PURE__ */ (() => { |
8699 | 8827 | return request; |
8700 | 8828 | })(); |
8701 | 8829 | |
8830 | +/** @description response type for getServiceInvoiceQueryReadyInvoiceRecordList */ | |
8831 | +export interface GetServiceInvoiceQueryReadyInvoiceRecordListResponse { | |
8832 | + /** | |
8833 | + * @description | |
8834 | + * OK | |
8835 | + */ | |
8836 | + 200: ServerResult; | |
8837 | + /** | |
8838 | + * @description | |
8839 | + * Unauthorized | |
8840 | + */ | |
8841 | + 401: any; | |
8842 | + /** | |
8843 | + * @description | |
8844 | + * Forbidden | |
8845 | + */ | |
8846 | + 403: any; | |
8847 | + /** | |
8848 | + * @description | |
8849 | + * Not Found | |
8850 | + */ | |
8851 | + 404: any; | |
8852 | +} | |
8853 | + | |
8854 | +export type GetServiceInvoiceQueryReadyInvoiceRecordListResponseSuccess = | |
8855 | + GetServiceInvoiceQueryReadyInvoiceRecordListResponse[200]; | |
8856 | +/** | |
8857 | + * @description | |
8858 | + * 获取要开票记录列表 | |
8859 | + * @tags 发票 | |
8860 | + * @produces * | |
8861 | + */ | |
8862 | +export const getServiceInvoiceQueryReadyInvoiceRecordList = | |
8863 | + /* #__PURE__ */ (() => { | |
8864 | + const method = 'get'; | |
8865 | + const url = '/service/invoice/queryReadyInvoiceRecordList'; | |
8866 | + function request(): Promise<GetServiceInvoiceQueryReadyInvoiceRecordListResponseSuccess> { | |
8867 | + return requester(request.url, { | |
8868 | + method: request.method, | |
8869 | + }) as unknown as Promise<GetServiceInvoiceQueryReadyInvoiceRecordListResponseSuccess>; | |
8870 | + } | |
8871 | + | |
8872 | + /** http method */ | |
8873 | + request.method = method; | |
8874 | + /** request url */ | |
8875 | + request.url = url; | |
8876 | + return request; | |
8877 | + })(); | |
8878 | + | |
8702 | 8879 | /** @description request parameter type for postServiceInvoiceReissue */ |
8703 | 8880 | export interface PostServiceInvoiceReissueOption { |
8704 | 8881 | /** | ... | ... |