Commit 533125578465ffd668f3116600dee6162fe16bf2
1 parent
49568dac
feat(Invoice): 为表格添加行选择功能并优化相关模型- 在 enum.ts 中添加了新的服务常量
- 在 InvoiceRecord 组件中实现了行选择功能- 添加了 ReissueModal 组件用于处理选中行的重新发行操作 - 优化了 waitProcessRecord 组件的代码结构
Showing
11 changed files
with
832 additions
and
67 deletions
.umirc.ts
@@ -104,6 +104,12 @@ export default defineConfig({ | @@ -104,6 +104,12 @@ export default defineConfig({ | ||
104 | component: './Invoice/InvoiceVerification', | 104 | component: './Invoice/InvoiceVerification', |
105 | }, | 105 | }, |
106 | { | 106 | { |
107 | + name: '重开发票记录', | ||
108 | + path: 'reissueRecord', | ||
109 | + icon: 'BookOutlined', | ||
110 | + component: './Invoice/ReissueRecord', | ||
111 | + }, | ||
112 | + { | ||
107 | name: '手动开票白名单', | 113 | name: '手动开票白名单', |
108 | path: 'OldInvoicingWhiteList', | 114 | path: 'OldInvoicingWhiteList', |
109 | icon: 'BookOutlined', | 115 | icon: 'BookOutlined', |
src/models/enum.ts
1 | -import { postServiceConstPayees } from '@/services'; | 1 | +import { |
2 | + postServiceConstInvoiceFlushStatus, | ||
3 | + postServiceConstInvoiceReissueRecordStatus, | ||
4 | + postServiceConstPayees, | ||
5 | +} from '@/services'; | ||
2 | import { useCallback } from 'react'; | 6 | import { useCallback } from 'react'; |
3 | 7 | ||
4 | export default () => { | 8 | export default () => { |
@@ -6,5 +10,13 @@ export default () => { | @@ -6,5 +10,13 @@ export default () => { | ||
6 | const result = await postServiceConstPayees(); | 10 | const result = await postServiceConstPayees(); |
7 | return result.data; | 11 | return result.data; |
8 | }, []); | 12 | }, []); |
9 | - return { getPayees }; | 13 | + const getInvoiceReissueRecordStatus = useCallback(async () => { |
14 | + const result = await postServiceConstInvoiceReissueRecordStatus(); | ||
15 | + return result.data; | ||
16 | + }, []); | ||
17 | + const getInvoiceFlushStatus = useCallback(async () => { | ||
18 | + const result = await postServiceConstInvoiceFlushStatus(); | ||
19 | + return result.data; | ||
20 | + }, []); | ||
21 | + return { getPayees, getInvoiceReissueRecordStatus, getInvoiceFlushStatus }; | ||
10 | }; | 22 | }; |
src/pages/Invoice/Invoice/components/ReissueModal.tsx
0 → 100644
1 | +import { RESPONSE_CODE } from '@/constants/enum'; | ||
2 | +import { postServiceInvoiceReissueInvoices } from '@/services'; | ||
3 | +import { ModalForm, ProFormTextArea } from '@ant-design/pro-components'; | ||
4 | +import { Button, Form, message } from 'antd'; | ||
5 | + | ||
6 | +export default ({ invoiceIds, onClose }) => { | ||
7 | + const [form] = Form.useForm<{ name: string; company: string }>(); | ||
8 | + return ( | ||
9 | + <ModalForm<{ | ||
10 | + name: string; | ||
11 | + company: string; | ||
12 | + }> | ||
13 | + title="重新开票" | ||
14 | + trigger={<Button type="primary">重新开票</Button>} | ||
15 | + form={form} | ||
16 | + autoFocusFirstInput | ||
17 | + modalProps={{ | ||
18 | + destroyOnClose: true, | ||
19 | + onCancel: () => console.log('run'), | ||
20 | + }} | ||
21 | + submitTimeout={2000} | ||
22 | + onFinish={async (values) => { | ||
23 | + const res = await postServiceInvoiceReissueInvoices({ | ||
24 | + data: { | ||
25 | + invoiceIds, | ||
26 | + ...values, | ||
27 | + }, | ||
28 | + }); | ||
29 | + if (res.result === RESPONSE_CODE.SUCCESS) { | ||
30 | + message.success('重新开票'); | ||
31 | + return true; | ||
32 | + } | ||
33 | + }} | ||
34 | + onOpenChange={(visible) => { | ||
35 | + if (!visible) { | ||
36 | + onClose(); | ||
37 | + } | ||
38 | + }} | ||
39 | + > | ||
40 | + <ProFormTextArea | ||
41 | + name="notes" | ||
42 | + label="重开原因" | ||
43 | + rules={[{ required: true, message: '重开原因必填' }]} | ||
44 | + placeholder="请输入重新开票的原因" | ||
45 | + /> | ||
46 | + </ModalForm> | ||
47 | + ); | ||
48 | +}; |
src/pages/Invoice/Invoice/index.tsx
@@ -3,6 +3,7 @@ import EllipsisDiv from '@/components/Div/EllipsisDiv'; | @@ -3,6 +3,7 @@ import EllipsisDiv from '@/components/Div/EllipsisDiv'; | ||
3 | import AddInvoiceDrawerForm from '@/pages/Invoice/Invoice/components/AddInvoiceDrawerForm'; | 3 | import AddInvoiceDrawerForm from '@/pages/Invoice/Invoice/components/AddInvoiceDrawerForm'; |
4 | import BankImportModal from '@/pages/Invoice/Invoice/components/BankImportModal'; | 4 | import BankImportModal from '@/pages/Invoice/Invoice/components/BankImportModal'; |
5 | import InvoiceVerificationModal from '@/pages/Invoice/Invoice/components/InvoiceVerificationModal'; | 5 | import InvoiceVerificationModal from '@/pages/Invoice/Invoice/components/InvoiceVerificationModal'; |
6 | +import ReissueModal from '@/pages/Invoice/Invoice/components/ReissueModal'; | ||
6 | import InvoiceWriteOffModal from '@/pages/Invoice/Invoice/components/invoiceWriteOffModal'; | 7 | import InvoiceWriteOffModal from '@/pages/Invoice/Invoice/components/invoiceWriteOffModal'; |
7 | import { INVOICE_COLUMNS } from '@/pages/Invoice/constant'; | 8 | import { INVOICE_COLUMNS } from '@/pages/Invoice/constant'; |
8 | import { INVOCING_STATUS, PAYEE_OPTIONS } from '@/pages/Order/constant'; | 9 | import { INVOCING_STATUS, PAYEE_OPTIONS } from '@/pages/Order/constant'; |
@@ -17,9 +18,8 @@ import { downloadFile } from '@/services/order'; | @@ -17,9 +18,8 @@ import { downloadFile } from '@/services/order'; | ||
17 | import { enumValueToLabel, formatDateTime } from '@/utils'; | 18 | import { enumValueToLabel, formatDateTime } from '@/utils'; |
18 | import { formatDate } from '@/utils/time'; | 19 | import { formatDate } from '@/utils/time'; |
19 | import { ActionType, ProTable } from '@ant-design/pro-components'; | 20 | import { ActionType, ProTable } from '@ant-design/pro-components'; |
20 | -import { Button, message } from 'antd'; | 21 | +import { Button, Space, Table, message } from 'antd'; |
21 | import { useRef, useState } from 'react'; | 22 | import { useRef, useState } from 'react'; |
22 | - | ||
23 | const InvoiceRecord = () => { | 23 | const InvoiceRecord = () => { |
24 | const invoiceActionRef = useRef<ActionType>(); | 24 | const invoiceActionRef = useRef<ActionType>(); |
25 | const [bankImportModalVisible, setBankImportModalVisible] = useState(false); | 25 | const [bankImportModalVisible, setBankImportModalVisible] = useState(false); |
@@ -229,6 +229,37 @@ const InvoiceRecord = () => { | @@ -229,6 +229,37 @@ const InvoiceRecord = () => { | ||
229 | pagination={{ | 229 | pagination={{ |
230 | pageSizeOptions: ['10', '20', '50', '100'], | 230 | pageSizeOptions: ['10', '20', '50', '100'], |
231 | }} | 231 | }} |
232 | + rowSelection={{ | ||
233 | + // 自定义选择项参考: https://ant.design/components/table-cn/#components-table-demo-row-selection-custom | ||
234 | + // 注释该行则默认不显示下拉选项 | ||
235 | + selections: [Table.SELECTION_ALL, Table.SELECTION_INVERT], | ||
236 | + }} | ||
237 | + tableAlertRender={({ selectedRowKeys, onCleanSelected }) => { | ||
238 | + return ( | ||
239 | + <Space size={24}> | ||
240 | + <span> | ||
241 | + 已选 {selectedRowKeys.length} 项 | ||
242 | + <a style={{ marginInlineStart: 8 }} onClick={onCleanSelected}> | ||
243 | + 取消选择 | ||
244 | + </a> | ||
245 | + </span> | ||
246 | + </Space> | ||
247 | + ); | ||
248 | + }} | ||
249 | + tableAlertOptionRender={({ selectedRowKeys, onCleanSelected }) => { | ||
250 | + console.log('selected' + JSON.stringify(selectedRowKeys)); | ||
251 | + return ( | ||
252 | + <Space size={16}> | ||
253 | + <ReissueModal | ||
254 | + invoiceIds={selectedRowKeys} | ||
255 | + onClose={() => { | ||
256 | + invoiceActionRef.current?.reload(); | ||
257 | + onCleanSelected(); | ||
258 | + }} | ||
259 | + /> | ||
260 | + </Space> | ||
261 | + ); | ||
262 | + }} | ||
232 | request={async (params) => { | 263 | request={async (params) => { |
233 | const res = await postServiceInvoiceQueryInvoice({ | 264 | const res = await postServiceInvoiceQueryInvoice({ |
234 | data: { ...params }, | 265 | data: { ...params }, |
src/pages/Invoice/ReissueRecord/components/Audit.tsx
0 → 100644
1 | +import { RESPONSE_CODE } from '@/constants/enum'; | ||
2 | +import { postServiceInvoiceReissueAudit } from '@/services'; | ||
3 | +import { ModalForm, ProFormText } from '@ant-design/pro-components'; | ||
4 | +import { Button, Form, message } from 'antd'; | ||
5 | + | ||
6 | +export default (recordId) => { | ||
7 | + const [form] = Form.useForm<{ name: string; company: string }>(); | ||
8 | + return ( | ||
9 | + <ModalForm | ||
10 | + title="审核" | ||
11 | + trigger={<Button type="primary">审核</Button>} | ||
12 | + form={form} | ||
13 | + autoFocusFirstInput | ||
14 | + modalProps={{ | ||
15 | + destroyOnClose: true, | ||
16 | + onCancel: () => console.log('run'), | ||
17 | + }} | ||
18 | + submitTimeout={2000} | ||
19 | + submitter={{ | ||
20 | + searchConfig: { | ||
21 | + submitText: '通过', | ||
22 | + resetText: '取消', | ||
23 | + }, | ||
24 | + render: (props, defaultDoms) => { | ||
25 | + console.log('props', JSON.stringify(form.setFieldsValue)); | ||
26 | + return [ | ||
27 | + ...defaultDoms, | ||
28 | + <Button | ||
29 | + key="ok" | ||
30 | + onClick={async () => { | ||
31 | + const res = await postServiceInvoiceReissueAudit({ | ||
32 | + body: { | ||
33 | + //...values, | ||
34 | + ...form.setFieldsValue, | ||
35 | + recordId, | ||
36 | + }, | ||
37 | + }); | ||
38 | + if (res.result === RESPONSE_CODE.SUCCESS) { | ||
39 | + message.success('提交成功'); | ||
40 | + return true; | ||
41 | + } | ||
42 | + return false; | ||
43 | + }} | ||
44 | + > | ||
45 | + ok | ||
46 | + </Button>, | ||
47 | + ]; | ||
48 | + }, | ||
49 | + }} | ||
50 | + onFinish={async (values) => { | ||
51 | + const res = await postServiceInvoiceReissueAudit({ | ||
52 | + body: { | ||
53 | + ...values, | ||
54 | + recordId, | ||
55 | + }, | ||
56 | + }); | ||
57 | + if (res.result === RESPONSE_CODE.SUCCESS) { | ||
58 | + message.success('提交成功'); | ||
59 | + return true; | ||
60 | + } | ||
61 | + return false; | ||
62 | + }} | ||
63 | + > | ||
64 | + <ProFormText width="xs" name="notes" label="备注" /> | ||
65 | + </ModalForm> | ||
66 | + ); | ||
67 | +}; |
src/pages/Invoice/ReissueRecord/index.tsx
0 → 100644
1 | +import { RESPONSE_CODE } from '@/constants/enum'; | ||
2 | +import Audit from '@/pages/Invoice/ReissueRecord/components/Audit'; | ||
3 | +import { | ||
4 | + postServiceConstBeforeInvoicingInvoiceRecordStatus, | ||
5 | + postServiceInvoiceReissueRecords, | ||
6 | +} from '@/services'; | ||
7 | +import { enumToSelect } from '@/utils'; | ||
8 | +import { useModel } from '@@/exports'; | ||
9 | +import type { ActionType, ProColumns } from '@ant-design/pro-components'; | ||
10 | +import { ProTable, TableDropdown } from '@ant-design/pro-components'; | ||
11 | +import { useRef } from 'react'; | ||
12 | + | ||
13 | +export const waitTimePromise = async (time: number = 100) => { | ||
14 | + return new Promise((resolve) => { | ||
15 | + setTimeout(() => { | ||
16 | + resolve(true); | ||
17 | + }, time); | ||
18 | + }); | ||
19 | +}; | ||
20 | + | ||
21 | +export const waitTime = async (time: number = 100) => { | ||
22 | + await waitTimePromise(time); | ||
23 | +}; | ||
24 | + | ||
25 | +type GithubIssueItem = { | ||
26 | + url: string; | ||
27 | + id: number; | ||
28 | + number: number; | ||
29 | + title: string; | ||
30 | + labels: { | ||
31 | + name: string; | ||
32 | + color: string; | ||
33 | + }[]; | ||
34 | + state: string; | ||
35 | + comments: number; | ||
36 | + created_at: string; | ||
37 | + updated_at: string; | ||
38 | + closed_at?: string; | ||
39 | +}; | ||
40 | + | ||
41 | +export default () => { | ||
42 | + const actionRef = useRef<ActionType>(); | ||
43 | + const { getInvoiceFlushStatus } = useModel('enum'); | ||
44 | + const columns: ProColumns<GithubIssueItem>[] = [ | ||
45 | + { | ||
46 | + dataIndex: 'index', | ||
47 | + valueType: 'indexBorder', | ||
48 | + width: 48, | ||
49 | + }, | ||
50 | + { | ||
51 | + title: '重开的发票', | ||
52 | + dataIndex: 'invoiceNumbers', | ||
53 | + render: (_, record) => { | ||
54 | + return record.invoiceNumbers?.join(','); | ||
55 | + }, | ||
56 | + hideInSearch: true, | ||
57 | + }, | ||
58 | + { | ||
59 | + title: '重开原因', | ||
60 | + dataIndex: 'notes', | ||
61 | + ellipsis: true, | ||
62 | + hideInSearch: true, | ||
63 | + }, | ||
64 | + { | ||
65 | + title: '申请人', | ||
66 | + dataIndex: 'createByName', | ||
67 | + ellipsis: true, | ||
68 | + hideInSearch: true, | ||
69 | + }, | ||
70 | + { | ||
71 | + title: '申请时间', | ||
72 | + dataIndex: 'createTime', | ||
73 | + ellipsis: true, | ||
74 | + hideInSearch: true, | ||
75 | + }, | ||
76 | + { | ||
77 | + title: '审核状态', | ||
78 | + dataIndex: 'statusText', | ||
79 | + ellipsis: true, | ||
80 | + hideInSearch: true, | ||
81 | + }, | ||
82 | + { | ||
83 | + title: '冲红状态', | ||
84 | + dataIndex: 'flushStatusText', | ||
85 | + ellipsis: true, | ||
86 | + hideInSearch: true, | ||
87 | + }, | ||
88 | + { | ||
89 | + title: '财务负责人', | ||
90 | + dataIndex: 'financeManager', | ||
91 | + ellipsis: true, | ||
92 | + hideInSearch: true, | ||
93 | + }, | ||
94 | + { | ||
95 | + title: '冲红时间', | ||
96 | + dataIndex: 'flushDatetime', | ||
97 | + ellipsis: true, | ||
98 | + hideInSearch: true, | ||
99 | + }, | ||
100 | + | ||
101 | + { | ||
102 | + title: '发票号码', | ||
103 | + dataIndex: 'invoiceNumber', | ||
104 | + hideInTable: true, | ||
105 | + }, | ||
106 | + { | ||
107 | + title: '申请人', | ||
108 | + dataIndex: 'createByName', | ||
109 | + hideInTable: true, | ||
110 | + }, | ||
111 | + { | ||
112 | + title: '重开原因', | ||
113 | + dataIndex: 'notes', | ||
114 | + hideInTable: true, | ||
115 | + }, | ||
116 | + { | ||
117 | + title: '申请时间', | ||
118 | + valueType: 'dateRange', | ||
119 | + hideInTable: true, | ||
120 | + search: { | ||
121 | + transform: (value) => { | ||
122 | + if (value) { | ||
123 | + return { | ||
124 | + createDatetimeGe: value[0], | ||
125 | + createDatetimeLe: value[1], | ||
126 | + }; | ||
127 | + } | ||
128 | + }, | ||
129 | + }, | ||
130 | + }, | ||
131 | + { | ||
132 | + title: '审核状态', | ||
133 | + valueType: 'select', | ||
134 | + key: 'status', | ||
135 | + dataIndex: 'status', | ||
136 | + filters: true, | ||
137 | + onFilter: true, | ||
138 | + hideInTable: true, | ||
139 | + request: async () => { | ||
140 | + const res = await postServiceConstBeforeInvoicingInvoiceRecordStatus(); | ||
141 | + return enumToSelect(res.data); | ||
142 | + }, | ||
143 | + }, | ||
144 | + { | ||
145 | + title: '冲红状态', | ||
146 | + valueType: 'select', | ||
147 | + key: 'flushStatus', | ||
148 | + dataIndex: 'flushStatus', | ||
149 | + filters: true, | ||
150 | + onFilter: true, | ||
151 | + hideInTable: true, | ||
152 | + request: async () => { | ||
153 | + const res = await getInvoiceFlushStatus(); | ||
154 | + return enumToSelect(res); | ||
155 | + }, | ||
156 | + }, | ||
157 | + { | ||
158 | + title: '财务负责人', | ||
159 | + dataIndex: 'financeManager', | ||
160 | + ellipsis: true, | ||
161 | + hideInTable: true, | ||
162 | + }, | ||
163 | + { | ||
164 | + title: '冲红时间', | ||
165 | + valueType: 'dateRange', | ||
166 | + hideInTable: true, | ||
167 | + search: { | ||
168 | + transform: (value) => { | ||
169 | + if (value) { | ||
170 | + return { | ||
171 | + flushDatetimeGe: value[0], | ||
172 | + flushDatetimeLe: value[1], | ||
173 | + }; | ||
174 | + } | ||
175 | + }, | ||
176 | + }, | ||
177 | + }, | ||
178 | + | ||
179 | + { | ||
180 | + title: '操作', | ||
181 | + valueType: 'option', | ||
182 | + key: 'option', | ||
183 | + render: (text, record, _, action) => [ | ||
184 | + <Audit key={'audit'} recordId={record.id} />, | ||
185 | + <a | ||
186 | + href={record.url} | ||
187 | + target="_blank" | ||
188 | + rel="noopener noreferrer" | ||
189 | + key="view" | ||
190 | + > | ||
191 | + 查看 | ||
192 | + </a>, | ||
193 | + <TableDropdown | ||
194 | + key="actionGroup" | ||
195 | + onSelect={() => action?.reload()} | ||
196 | + menus={[ | ||
197 | + { key: 'copy', name: '复制' }, | ||
198 | + { key: 'delete', name: '删除' }, | ||
199 | + ]} | ||
200 | + />, | ||
201 | + ], | ||
202 | + }, | ||
203 | + ]; | ||
204 | + return ( | ||
205 | + <ProTable<GithubIssueItem> | ||
206 | + columns={columns} | ||
207 | + actionRef={actionRef} | ||
208 | + cardBordered | ||
209 | + request={async (params) => { | ||
210 | + const res = await postServiceInvoiceReissueRecords({ | ||
211 | + data: { | ||
212 | + ...params, | ||
213 | + }, | ||
214 | + }); | ||
215 | + if (res.result === RESPONSE_CODE.SUCCESS) { | ||
216 | + return { | ||
217 | + data: res?.data?.data, | ||
218 | + total: res?.data?.total || 0, | ||
219 | + }; | ||
220 | + } | ||
221 | + return { | ||
222 | + data: [], | ||
223 | + success: false, | ||
224 | + }; | ||
225 | + }} | ||
226 | + editable={{ | ||
227 | + type: 'multiple', | ||
228 | + }} | ||
229 | + columnsState={{ | ||
230 | + persistenceKey: 'pro-table-singe-demos', | ||
231 | + persistenceType: 'localStorage', | ||
232 | + defaultValue: { | ||
233 | + option: { fixed: 'right', disable: true }, | ||
234 | + }, | ||
235 | + onChange(value) { | ||
236 | + console.log('value: ', value); | ||
237 | + }, | ||
238 | + }} | ||
239 | + rowKey="id" | ||
240 | + search={{ | ||
241 | + labelWidth: 'auto', | ||
242 | + }} | ||
243 | + options={{ | ||
244 | + setting: { | ||
245 | + listsHeight: 400, | ||
246 | + }, | ||
247 | + }} | ||
248 | + form={{ | ||
249 | + // 由于配置了 transform,提交的参数与定义的不同这里需要转化一下 | ||
250 | + syncToUrl: (values, type) => { | ||
251 | + if (type === 'get') { | ||
252 | + return { | ||
253 | + ...values, | ||
254 | + created_at: [values.startTime, values.endTime], | ||
255 | + }; | ||
256 | + } | ||
257 | + return values; | ||
258 | + }, | ||
259 | + }} | ||
260 | + pagination={{ | ||
261 | + pageSize: 5, | ||
262 | + onChange: (page) => console.log(page), | ||
263 | + }} | ||
264 | + dateFormatter="string" | ||
265 | + headerTitle="高级表格" | ||
266 | + /> | ||
267 | + ); | ||
268 | +}; |
src/pages/Invoice/waitProcessRecord/index.tsx
@@ -33,7 +33,6 @@ const InvoiceRecord = () => { | @@ -33,7 +33,6 @@ const InvoiceRecord = () => { | ||
33 | const [invoiceRecordDetailVisible, setInvoiceRecordDetailVisible] = | 33 | const [invoiceRecordDetailVisible, setInvoiceRecordDetailVisible] = |
34 | useState(false); | 34 | useState(false); |
35 | const [invoiceRecord, setInvoiceRecord] = useState({}); | 35 | const [invoiceRecord, setInvoiceRecord] = useState({}); |
36 | - | ||
37 | useEffect(() => { | 36 | useEffect(() => { |
38 | async function extracted() { | 37 | async function extracted() { |
39 | let invoiceTypeRet = await postServiceConstInvoiceType(); | 38 | let invoiceTypeRet = await postServiceConstInvoiceType(); |
src/pages/Order/OrderList/InvoicingDrawerForm.tsx
@@ -31,7 +31,7 @@ import { | @@ -31,7 +31,7 @@ import { | ||
31 | ProFormText, | 31 | ProFormText, |
32 | ProFormTextArea, | 32 | ProFormTextArea, |
33 | } from '@ant-design/pro-components'; | 33 | } from '@ant-design/pro-components'; |
34 | -import { Button, Divider, Form, Space, Table, Tooltip, message } from 'antd'; | 34 | +import { Button, Divider, Form, Space, Tooltip, message } from 'antd'; |
35 | import { useEffect, useRef, useState } from 'react'; | 35 | import { useEffect, useRef, useState } from 'react'; |
36 | 36 | ||
37 | export default ({ | 37 | export default ({ |
@@ -88,6 +88,7 @@ export default ({ | @@ -88,6 +88,7 @@ export default ({ | ||
88 | subOrderIdsName: '开票订单', | 88 | subOrderIdsName: '开票订单', |
89 | }); | 89 | }); |
90 | types.set('reissue', { title: '重新申请', subOrderIdsName: '重开订单' }); | 90 | types.set('reissue', { title: '重新申请', subOrderIdsName: '重开订单' }); |
91 | + | ||
91 | function copyToClipboard(text: string) { | 92 | function copyToClipboard(text: string) { |
92 | // 创建一个临时的textarea元素 | 93 | // 创建一个临时的textarea元素 |
93 | const textarea = document.createElement('textarea'); | 94 | const textarea = document.createElement('textarea'); |
@@ -110,6 +111,7 @@ export default ({ | @@ -110,6 +111,7 @@ export default ({ | ||
110 | document.body.removeChild(textarea); | 111 | document.body.removeChild(textarea); |
111 | } | 112 | } |
112 | } | 113 | } |
114 | + | ||
113 | // 定义一个计算总金额的函数 | 115 | // 定义一个计算总金额的函数 |
114 | const calculateTotalPrice = (index: number) => { | 116 | const calculateTotalPrice = (index: number) => { |
115 | const invoiceDetails = form.getFieldValue('invoiceDetails'); | 117 | const invoiceDetails = form.getFieldValue('invoiceDetails'); |
@@ -141,44 +143,6 @@ export default ({ | @@ -141,44 +143,6 @@ export default ({ | ||
141 | drawerProps={{ | 143 | drawerProps={{ |
142 | destroyOnClose: true, | 144 | destroyOnClose: true, |
143 | }} | 145 | }} |
144 | - rowSelection={{ | ||
145 | - // 自定义选择项参考: https://ant.design/components/table-cn/#components-table-demo-row-selection-custom | ||
146 | - // 注释该行则默认不显示下拉选项 | ||
147 | - selections: [Table.SELECTION_ALL, Table.SELECTION_INVERT], | ||
148 | - }} | ||
149 | - tableAlertRender={({ | ||
150 | - selectedRowKeys, | ||
151 | - selectedRows, | ||
152 | - onCleanSelected, | ||
153 | - }) => { | ||
154 | - console.log(selectedRowKeys, selectedRows); | ||
155 | - return ( | ||
156 | - <Space size={24}> | ||
157 | - <span> | ||
158 | - 已选 {selectedRowKeys.length} 项 | ||
159 | - <a style={{ marginInlineStart: 8 }} onClick={onCleanSelected}> | ||
160 | - 取消选择 | ||
161 | - </a> | ||
162 | - </span> | ||
163 | - <span>{`容器数量: ${selectedRows.reduce( | ||
164 | - (pre, item) => pre + item.containers, | ||
165 | - 0, | ||
166 | - )} 个`}</span> | ||
167 | - <span>{`调用量: ${selectedRows.reduce( | ||
168 | - (pre, item) => pre + item.callNumber, | ||
169 | - 0, | ||
170 | - )} 次`}</span> | ||
171 | - </Space> | ||
172 | - ); | ||
173 | - }} | ||
174 | - tableAlertOptionRender={() => { | ||
175 | - return ( | ||
176 | - <Space size={16}> | ||
177 | - <a>批量删除</a> | ||
178 | - <a>导出数据</a> | ||
179 | - </Space> | ||
180 | - ); | ||
181 | - }} | ||
182 | submitter={{ | 146 | submitter={{ |
183 | render: (props, defaultDoms) => { | 147 | render: (props, defaultDoms) => { |
184 | return [ | 148 | return [ |
src/pages/Order/OrderList/OrderList.tsx
@@ -157,7 +157,6 @@ const OrderList = ({ paramsNew, searchShow, toolbarShow }) => { | @@ -157,7 +157,6 @@ const OrderList = ({ paramsNew, searchShow, toolbarShow }) => { | ||
157 | useState<boolean>(false); | 157 | useState<boolean>(false); |
158 | const [historyModalVisible, setHistoryModalVisible] = | 158 | const [historyModalVisible, setHistoryModalVisible] = |
159 | useState<boolean>(false); | 159 | useState<boolean>(false); |
160 | - const [invoicingType, setInvoicingType] = useState<string>(''); | ||
161 | const [isRePrintOrder, setIsRePrintOrder] = useState<boolean>(false); | 160 | const [isRePrintOrder, setIsRePrintOrder] = useState<boolean>(false); |
162 | const [isSendProduct, setIsSendProduct] = useState<boolean>(false); | 161 | const [isSendProduct, setIsSendProduct] = useState<boolean>(false); |
163 | const [isMainOrder, setIsMainOrder] = useState<boolean>(false); | 162 | const [isMainOrder, setIsMainOrder] = useState<boolean>(false); |
@@ -1847,7 +1846,6 @@ const OrderList = ({ paramsNew, searchShow, toolbarShow }) => { | @@ -1847,7 +1846,6 @@ const OrderList = ({ paramsNew, searchShow, toolbarShow }) => { | ||
1847 | className="p-0" | 1846 | className="p-0" |
1848 | type="link" | 1847 | type="link" |
1849 | onClick={() => { | 1848 | onClick={() => { |
1850 | - setInvoicingType('applyInvoicing'); | ||
1851 | setInvoicingDrawerFormVisible(true); | 1849 | setInvoicingDrawerFormVisible(true); |
1852 | createOptObject(optRecord.id, record.id); | 1850 | createOptObject(optRecord.id, record.id); |
1853 | setIsEdit(false); | 1851 | setIsEdit(false); |
@@ -3478,7 +3476,6 @@ const OrderList = ({ paramsNew, searchShow, toolbarShow }) => { | @@ -3478,7 +3476,6 @@ const OrderList = ({ paramsNew, searchShow, toolbarShow }) => { | ||
3478 | } | 3476 | } |
3479 | 3477 | ||
3480 | createOptObject(null, record.id); | 3478 | createOptObject(null, record.id); |
3481 | - setInvoicingType('applyInvoicing'); | ||
3482 | setInvoicingDrawerFormVisible(true); | 3479 | setInvoicingDrawerFormVisible(true); |
3483 | setIsEdit(false); | 3480 | setIsEdit(false); |
3484 | setIsMainOrder(false); | 3481 | setIsMainOrder(false); |
@@ -3520,6 +3517,7 @@ const OrderList = ({ paramsNew, searchShow, toolbarShow }) => { | @@ -3520,6 +3517,7 @@ const OrderList = ({ paramsNew, searchShow, toolbarShow }) => { | ||
3520 | ) { | 3517 | ) { |
3521 | //是审核通过及之后的订单 | 3518 | //是审核通过及之后的订单 |
3522 | if ( | 3519 | if ( |
3520 | + orderStatus !== 'UNAUDITED' && | ||
3523 | orderStatus !== 'AUDIT_FAILED' && | 3521 | orderStatus !== 'AUDIT_FAILED' && |
3524 | orderStatus !== 'LEADER_PROCESS' && | 3522 | orderStatus !== 'LEADER_PROCESS' && |
3525 | orderStatus !== 'SALES_CONFIRM' && | 3523 | orderStatus !== 'SALES_CONFIRM' && |
@@ -4469,7 +4467,6 @@ const OrderList = ({ paramsNew, searchShow, toolbarShow }) => { | @@ -4469,7 +4467,6 @@ const OrderList = ({ paramsNew, searchShow, toolbarShow }) => { | ||
4469 | onClick={() => { | 4467 | onClick={() => { |
4470 | setIsEdit(false); | 4468 | setIsEdit(false); |
4471 | setIsMainOrder(true); | 4469 | setIsMainOrder(true); |
4472 | - setInvoicingType('applyInvoicing'); | ||
4473 | setInvoicingDrawerFormVisible(true); | 4470 | setInvoicingDrawerFormVisible(true); |
4474 | }} | 4471 | }} |
4475 | disabled={selectedSubOrderKeys?.length === 0} | 4472 | disabled={selectedSubOrderKeys?.length === 0} |
@@ -4533,7 +4530,6 @@ const OrderList = ({ paramsNew, searchShow, toolbarShow }) => { | @@ -4533,7 +4530,6 @@ const OrderList = ({ paramsNew, searchShow, toolbarShow }) => { | ||
4533 | return; | 4530 | return; |
4534 | } | 4531 | } |
4535 | }); | 4532 | }); |
4536 | - setInvoicingType('applyInvoicing'); | ||
4537 | //遍历afterInvoicingStatusList | 4533 | //遍历afterInvoicingStatusList |
4538 | setInvoicingDrawerFormVisible(true); | 4534 | setInvoicingDrawerFormVisible(true); |
4539 | }} | 4535 | }} |
@@ -4541,19 +4537,6 @@ const OrderList = ({ paramsNew, searchShow, toolbarShow }) => { | @@ -4541,19 +4537,6 @@ const OrderList = ({ paramsNew, searchShow, toolbarShow }) => { | ||
4541 | > | 4537 | > |
4542 | 申请开票 | 4538 | 申请开票 |
4543 | </Button>, | 4539 | </Button>, |
4544 | - <Button | ||
4545 | - type="primary" | ||
4546 | - key="inv" | ||
4547 | - onClick={() => { | ||
4548 | - setIsMainOrder(true); | ||
4549 | - setInvoicingType('reissue'); | ||
4550 | - //遍历afterInvoicingStatusList | ||
4551 | - setInvoicingDrawerFormVisible(true); | ||
4552 | - }} | ||
4553 | - disabled={selectedSubOrderKeys?.length === 0} | ||
4554 | - > | ||
4555 | - 重新开票 | ||
4556 | - </Button>, | ||
4557 | ); | 4540 | ); |
4558 | 4541 | ||
4559 | if (rolePath?.includes('addOrder')) { | 4542 | if (rolePath?.includes('addOrder')) { |
@@ -5228,7 +5211,6 @@ const OrderList = ({ paramsNew, searchShow, toolbarShow }) => { | @@ -5228,7 +5211,6 @@ const OrderList = ({ paramsNew, searchShow, toolbarShow }) => { | ||
5228 | ? [...subOrderSelectedMap.values()].flat() | 5211 | ? [...subOrderSelectedMap.values()].flat() |
5229 | : buildSubOrders() | 5212 | : buildSubOrders() |
5230 | } | 5213 | } |
5231 | - type={invoicingType} | ||
5232 | setVisible={(val: boolean) => { | 5214 | setVisible={(val: boolean) => { |
5233 | setInvoicingDrawerFormVisible(val); | 5215 | setInvoicingDrawerFormVisible(val); |
5234 | if (!val) { | 5216 | if (!val) { |
src/services/definition.ts
@@ -753,6 +753,7 @@ export interface ApiQueryOrderStatusCountsRequest { | @@ -753,6 +753,7 @@ export interface ApiQueryOrderStatusCountsRequest { | ||
753 | 753 | ||
754 | export interface ApplyInvoiceDTO { | 754 | export interface ApplyInvoiceDTO { |
755 | applyInvoicingNotes?: string; | 755 | applyInvoicingNotes?: string; |
756 | + applyType?: string; | ||
756 | /** | 757 | /** |
757 | * @description | 758 | * @description |
758 | * 开票备注 | 759 | * 开票备注 |
@@ -920,6 +921,7 @@ export interface ApplyInvoiceDTO { | @@ -920,6 +921,7 @@ export interface ApplyInvoiceDTO { | ||
920 | receiveEmail?: string; | 921 | receiveEmail?: string; |
921 | reissueInvoiceNumbers?: Array<string>; | 922 | reissueInvoiceNumbers?: Array<string>; |
922 | reissueInvoiceRecordIds?: Array<number>; | 923 | reissueInvoiceRecordIds?: Array<number>; |
924 | + reissueNotes?: string; | ||
923 | /** | 925 | /** |
924 | * @description | 926 | * @description |
925 | * 订单来源 | 927 | * 订单来源 |
@@ -1471,6 +1473,7 @@ export interface Invoice { | @@ -1471,6 +1473,7 @@ export interface Invoice { | ||
1471 | notes?: string; | 1473 | notes?: string; |
1472 | payee?: string; | 1474 | payee?: string; |
1473 | purchaser?: string; | 1475 | purchaser?: string; |
1476 | + reissueStatus?: string; | ||
1474 | sale?: string; | 1477 | sale?: string; |
1475 | status?: string; | 1478 | status?: string; |
1476 | updateByName?: string; | 1479 | updateByName?: string; |
@@ -2048,6 +2051,13 @@ export interface ItemSaItem { | @@ -2048,6 +2051,13 @@ export interface ItemSaItem { | ||
2048 | itemValue?: string; | 2051 | itemValue?: string; |
2049 | } | 2052 | } |
2050 | 2053 | ||
2054 | +export interface LittleTicketsDO { | ||
2055 | + annexUrl?: string; | ||
2056 | + assignPeople?: string; | ||
2057 | + detailText?: string; | ||
2058 | + type?: string; | ||
2059 | +} | ||
2060 | + | ||
2051 | export interface MainOrderqueryRequest { | 2061 | export interface MainOrderqueryRequest { |
2052 | afterInvoicingStatusIsNull?: boolean; | 2062 | afterInvoicingStatusIsNull?: boolean; |
2053 | /** @format date */ | 2063 | /** @format date */ |
@@ -4085,9 +4095,9 @@ export interface TicketsVo { | @@ -4085,9 +4095,9 @@ export interface TicketsVo { | ||
4085 | origin?: string; | 4095 | origin?: string; |
4086 | result?: string; | 4096 | result?: string; |
4087 | resultAnnexName?: string; | 4097 | resultAnnexName?: string; |
4088 | - resultAnnexUrl?: string; | ||
4089 | status?: string; | 4098 | status?: string; |
4090 | type?: string; | 4099 | type?: string; |
4100 | + typeText?: string; | ||
4091 | } | 4101 | } |
4092 | 4102 | ||
4093 | export interface ToProcureAuditDto { | 4103 | export interface ToProcureAuditDto { |
@@ -4318,6 +4328,11 @@ export interface UserListRequest { | @@ -4318,6 +4328,11 @@ export interface UserListRequest { | ||
4318 | * 关键字 | 4328 | * 关键字 |
4319 | */ | 4329 | */ |
4320 | keywords?: string; | 4330 | keywords?: string; |
4331 | + /** | ||
4332 | + * @description | ||
4333 | + * 余额 | ||
4334 | + */ | ||
4335 | + nowMoneySearch?: string; | ||
4321 | /** @format int32 */ | 4336 | /** @format int32 */ |
4322 | pageSize?: number; | 4337 | pageSize?: number; |
4323 | /** | 4338 | /** |
@@ -4421,6 +4436,7 @@ export interface ApiOrderConfirmReceiveRequest { | @@ -4421,6 +4436,7 @@ export interface ApiOrderConfirmReceiveRequest { | ||
4421 | } | 4436 | } |
4422 | 4437 | ||
4423 | export interface ClientCommunicationInfo { | 4438 | export interface ClientCommunicationInfo { |
4439 | + annexUrl?: string; | ||
4424 | assignPeople?: string; | 4440 | assignPeople?: string; |
4425 | attachments?: string; | 4441 | attachments?: string; |
4426 | /** | 4442 | /** |
@@ -4466,13 +4482,13 @@ export interface ClientCommunicationInfo { | @@ -4466,13 +4482,13 @@ export interface ClientCommunicationInfo { | ||
4466 | * @format date-time | 4482 | * @format date-time |
4467 | */ | 4483 | */ |
4468 | datetime?: string; | 4484 | datetime?: string; |
4485 | + detailText?: string; | ||
4469 | /** @format int64 */ | 4486 | /** @format int64 */ |
4470 | id?: number; | 4487 | id?: number; |
4488 | + list?: Array<LittleTicketsDO>; | ||
4471 | logicDelete?: boolean; | 4489 | logicDelete?: boolean; |
4472 | - ticketsAttachments?: string; | ||
4473 | - ticketsDetail?: string; | 4490 | + ticketsList?: Array<TicketsVo>; |
4474 | ticketsStatus?: string; | 4491 | ticketsStatus?: string; |
4475 | - ticketsType?: string; | ||
4476 | ticketsTypeText?: string; | 4492 | ticketsTypeText?: string; |
4477 | /** | 4493 | /** |
4478 | * @description | 4494 | * @description |
@@ -4484,6 +4500,7 @@ export interface ClientCommunicationInfo { | @@ -4484,6 +4500,7 @@ export interface ClientCommunicationInfo { | ||
4484 | * 客户状态 | 4500 | * 客户状态 |
4485 | */ | 4501 | */ |
4486 | tradeStatusLike?: string; | 4502 | tradeStatusLike?: string; |
4503 | + type?: string; | ||
4487 | updateByName?: string; | 4504 | updateByName?: string; |
4488 | /** @format date-time */ | 4505 | /** @format date-time */ |
4489 | updateTime?: string; | 4506 | updateTime?: string; |
@@ -4600,6 +4617,54 @@ export interface InvoiceDetail { | @@ -4600,6 +4617,54 @@ export interface InvoiceDetail { | ||
4600 | updateTime?: string; | 4617 | updateTime?: string; |
4601 | } | 4618 | } |
4602 | 4619 | ||
4620 | +export interface InvoiceReissueRecord { | ||
4621 | + createByName?: string; | ||
4622 | + createByNameLike?: string; | ||
4623 | + /** @format date-time */ | ||
4624 | + createDatetimeGe?: string; | ||
4625 | + /** @format date-time */ | ||
4626 | + createDatetimeLe?: string; | ||
4627 | + /** @format date-time */ | ||
4628 | + createTime?: string; | ||
4629 | + /** @format int32 */ | ||
4630 | + current?: number; | ||
4631 | + /** @format int32 */ | ||
4632 | + end?: number; | ||
4633 | + financeManager?: string; | ||
4634 | + /** @format date-time */ | ||
4635 | + flushDatetime?: string; | ||
4636 | + /** @format date-time */ | ||
4637 | + flushDatetimeGe?: string; | ||
4638 | + /** @format date-time */ | ||
4639 | + flushDatetimeLe?: string; | ||
4640 | + flushStatus?: string; | ||
4641 | + flushStatusText?: string; | ||
4642 | + /** @format int64 */ | ||
4643 | + id?: number; | ||
4644 | + idIn?: Array<number>; | ||
4645 | + invoiceIdIn?: Array<string>; | ||
4646 | + invoiceIds?: Array<number>; | ||
4647 | + invoiceNumber?: string; | ||
4648 | + invoiceNumbers?: Array<string>; | ||
4649 | + logicDelete?: boolean; | ||
4650 | + notes?: string; | ||
4651 | + /** @format int32 */ | ||
4652 | + pageSize?: number; | ||
4653 | + passed?: boolean; | ||
4654 | + paths?: Array<string>; | ||
4655 | + recordIds?: Array<number>; | ||
4656 | + reissueStatus?: string; | ||
4657 | + /** @format int32 */ | ||
4658 | + start?: number; | ||
4659 | + status?: string; | ||
4660 | + statusText?: string; | ||
4661 | + /** @format int32 */ | ||
4662 | + total?: number; | ||
4663 | + updateByName?: string; | ||
4664 | + /** @format date-time */ | ||
4665 | + updateTime?: string; | ||
4666 | +} | ||
4667 | + | ||
4603 | export interface ResearchGroupAccounts { | 4668 | export interface ResearchGroupAccounts { |
4604 | /** | 4669 | /** |
4605 | * @description | 4670 | * @description |
src/services/request.ts
@@ -61,6 +61,7 @@ import type { | @@ -61,6 +61,7 @@ import type { | ||
61 | InvoiceDto, | 61 | InvoiceDto, |
62 | InvoiceRecordDTO, | 62 | InvoiceRecordDTO, |
63 | InvoiceRecordQueryRequest, | 63 | InvoiceRecordQueryRequest, |
64 | + InvoiceReissueRecord, | ||
64 | MainOrderqueryRequest, | 65 | MainOrderqueryRequest, |
65 | MaterialListReply, | 66 | MaterialListReply, |
66 | MaterialMaterialListReq, | 67 | MaterialMaterialListReq, |
@@ -14902,6 +14903,115 @@ export const postServiceConstInitInvoiceDetailNames = /* #__PURE__ */ (() => { | @@ -14902,6 +14903,115 @@ export const postServiceConstInitInvoiceDetailNames = /* #__PURE__ */ (() => { | ||
14902 | return request; | 14903 | return request; |
14903 | })(); | 14904 | })(); |
14904 | 14905 | ||
14906 | +/** @description response type for postServiceConstInvoiceFlushStatus */ | ||
14907 | +export interface PostServiceConstInvoiceFlushStatusResponse { | ||
14908 | + /** | ||
14909 | + * @description | ||
14910 | + * OK | ||
14911 | + */ | ||
14912 | + 200: ServerResult; | ||
14913 | + /** | ||
14914 | + * @description | ||
14915 | + * Created | ||
14916 | + */ | ||
14917 | + 201: any; | ||
14918 | + /** | ||
14919 | + * @description | ||
14920 | + * Unauthorized | ||
14921 | + */ | ||
14922 | + 401: any; | ||
14923 | + /** | ||
14924 | + * @description | ||
14925 | + * Forbidden | ||
14926 | + */ | ||
14927 | + 403: any; | ||
14928 | + /** | ||
14929 | + * @description | ||
14930 | + * Not Found | ||
14931 | + */ | ||
14932 | + 404: any; | ||
14933 | +} | ||
14934 | + | ||
14935 | +export type PostServiceConstInvoiceFlushStatusResponseSuccess = | ||
14936 | + PostServiceConstInvoiceFlushStatusResponse[200]; | ||
14937 | +/** | ||
14938 | + * @description | ||
14939 | + * 发票冲红状态 | ||
14940 | + * @tags front-const-controller | ||
14941 | + * @produces * | ||
14942 | + * @consumes application/json | ||
14943 | + */ | ||
14944 | +export const postServiceConstInvoiceFlushStatus = /* #__PURE__ */ (() => { | ||
14945 | + const method = 'post'; | ||
14946 | + const url = '/service/const/invoiceFlushStatus'; | ||
14947 | + function request(): Promise<PostServiceConstInvoiceFlushStatusResponseSuccess> { | ||
14948 | + return requester(request.url, { | ||
14949 | + method: request.method, | ||
14950 | + }) as unknown as Promise<PostServiceConstInvoiceFlushStatusResponseSuccess>; | ||
14951 | + } | ||
14952 | + | ||
14953 | + /** http method */ | ||
14954 | + request.method = method; | ||
14955 | + /** request url */ | ||
14956 | + request.url = url; | ||
14957 | + return request; | ||
14958 | +})(); | ||
14959 | + | ||
14960 | +/** @description response type for postServiceConstInvoiceReissueRecordStatus */ | ||
14961 | +export interface PostServiceConstInvoiceReissueRecordStatusResponse { | ||
14962 | + /** | ||
14963 | + * @description | ||
14964 | + * OK | ||
14965 | + */ | ||
14966 | + 200: ServerResult; | ||
14967 | + /** | ||
14968 | + * @description | ||
14969 | + * Created | ||
14970 | + */ | ||
14971 | + 201: any; | ||
14972 | + /** | ||
14973 | + * @description | ||
14974 | + * Unauthorized | ||
14975 | + */ | ||
14976 | + 401: any; | ||
14977 | + /** | ||
14978 | + * @description | ||
14979 | + * Forbidden | ||
14980 | + */ | ||
14981 | + 403: any; | ||
14982 | + /** | ||
14983 | + * @description | ||
14984 | + * Not Found | ||
14985 | + */ | ||
14986 | + 404: any; | ||
14987 | +} | ||
14988 | + | ||
14989 | +export type PostServiceConstInvoiceReissueRecordStatusResponseSuccess = | ||
14990 | + PostServiceConstInvoiceReissueRecordStatusResponse[200]; | ||
14991 | +/** | ||
14992 | + * @description | ||
14993 | + * 发票重开状态 | ||
14994 | + * @tags front-const-controller | ||
14995 | + * @produces * | ||
14996 | + * @consumes application/json | ||
14997 | + */ | ||
14998 | +export const postServiceConstInvoiceReissueRecordStatus = | ||
14999 | + /* #__PURE__ */ (() => { | ||
15000 | + const method = 'post'; | ||
15001 | + const url = '/service/const/invoiceReissueRecordStatus'; | ||
15002 | + function request(): Promise<PostServiceConstInvoiceReissueRecordStatusResponseSuccess> { | ||
15003 | + return requester(request.url, { | ||
15004 | + method: request.method, | ||
15005 | + }) as unknown as Promise<PostServiceConstInvoiceReissueRecordStatusResponseSuccess>; | ||
15006 | + } | ||
15007 | + | ||
15008 | + /** http method */ | ||
15009 | + request.method = method; | ||
15010 | + /** request url */ | ||
15011 | + request.url = url; | ||
15012 | + return request; | ||
15013 | + })(); | ||
15014 | + | ||
14905 | /** @description response type for postServiceConstInvoiceType */ | 15015 | /** @description response type for postServiceConstInvoiceType */ |
14906 | export interface PostServiceConstInvoiceTypeResponse { | 15016 | export interface PostServiceConstInvoiceTypeResponse { |
14907 | /** | 15017 | /** |
@@ -17775,6 +17885,148 @@ export const postServiceInvoiceReissue = /* #__PURE__ */ (() => { | @@ -17775,6 +17885,148 @@ export const postServiceInvoiceReissue = /* #__PURE__ */ (() => { | ||
17775 | return request; | 17885 | return request; |
17776 | })(); | 17886 | })(); |
17777 | 17887 | ||
17888 | +/** @description request parameter type for postServiceInvoiceReissueAudit */ | ||
17889 | +export interface PostServiceInvoiceReissueAuditOption { | ||
17890 | + /** | ||
17891 | + * @description | ||
17892 | + * dto | ||
17893 | + */ | ||
17894 | + body: { | ||
17895 | + /** | ||
17896 | + @description | ||
17897 | + dto */ | ||
17898 | + dto: InvoiceReissueRecord; | ||
17899 | + }; | ||
17900 | +} | ||
17901 | + | ||
17902 | +/** @description response type for postServiceInvoiceReissueAudit */ | ||
17903 | +export interface PostServiceInvoiceReissueAuditResponse { | ||
17904 | + /** | ||
17905 | + * @description | ||
17906 | + * OK | ||
17907 | + */ | ||
17908 | + 200: ServerResult; | ||
17909 | + /** | ||
17910 | + * @description | ||
17911 | + * Created | ||
17912 | + */ | ||
17913 | + 201: any; | ||
17914 | + /** | ||
17915 | + * @description | ||
17916 | + * Unauthorized | ||
17917 | + */ | ||
17918 | + 401: any; | ||
17919 | + /** | ||
17920 | + * @description | ||
17921 | + * Forbidden | ||
17922 | + */ | ||
17923 | + 403: any; | ||
17924 | + /** | ||
17925 | + * @description | ||
17926 | + * Not Found | ||
17927 | + */ | ||
17928 | + 404: any; | ||
17929 | +} | ||
17930 | + | ||
17931 | +export type PostServiceInvoiceReissueAuditResponseSuccess = | ||
17932 | + PostServiceInvoiceReissueAuditResponse[200]; | ||
17933 | +/** | ||
17934 | + * @description | ||
17935 | + * ReissueAudit | ||
17936 | + * @tags 发票 | ||
17937 | + * @produces * | ||
17938 | + * @consumes application/json | ||
17939 | + */ | ||
17940 | +export const postServiceInvoiceReissueAudit = /* #__PURE__ */ (() => { | ||
17941 | + const method = 'post'; | ||
17942 | + const url = '/service/invoice/reissue/audit'; | ||
17943 | + function request( | ||
17944 | + option: PostServiceInvoiceReissueAuditOption, | ||
17945 | + ): Promise<PostServiceInvoiceReissueAuditResponseSuccess> { | ||
17946 | + return requester(request.url, { | ||
17947 | + method: request.method, | ||
17948 | + ...option, | ||
17949 | + }) as unknown as Promise<PostServiceInvoiceReissueAuditResponseSuccess>; | ||
17950 | + } | ||
17951 | + | ||
17952 | + /** http method */ | ||
17953 | + request.method = method; | ||
17954 | + /** request url */ | ||
17955 | + request.url = url; | ||
17956 | + return request; | ||
17957 | +})(); | ||
17958 | + | ||
17959 | +/** @description request parameter type for postServiceInvoiceReissueInvoices */ | ||
17960 | +export interface PostServiceInvoiceReissueInvoicesOption { | ||
17961 | + /** | ||
17962 | + * @description | ||
17963 | + * dto | ||
17964 | + */ | ||
17965 | + body: { | ||
17966 | + /** | ||
17967 | + @description | ||
17968 | + dto */ | ||
17969 | + dto: InvoiceReissueRecord; | ||
17970 | + }; | ||
17971 | +} | ||
17972 | + | ||
17973 | +/** @description response type for postServiceInvoiceReissueInvoices */ | ||
17974 | +export interface PostServiceInvoiceReissueInvoicesResponse { | ||
17975 | + /** | ||
17976 | + * @description | ||
17977 | + * OK | ||
17978 | + */ | ||
17979 | + 200: ServerResult; | ||
17980 | + /** | ||
17981 | + * @description | ||
17982 | + * Created | ||
17983 | + */ | ||
17984 | + 201: any; | ||
17985 | + /** | ||
17986 | + * @description | ||
17987 | + * Unauthorized | ||
17988 | + */ | ||
17989 | + 401: any; | ||
17990 | + /** | ||
17991 | + * @description | ||
17992 | + * Forbidden | ||
17993 | + */ | ||
17994 | + 403: any; | ||
17995 | + /** | ||
17996 | + * @description | ||
17997 | + * Not Found | ||
17998 | + */ | ||
17999 | + 404: any; | ||
18000 | +} | ||
18001 | + | ||
18002 | +export type PostServiceInvoiceReissueInvoicesResponseSuccess = | ||
18003 | + PostServiceInvoiceReissueInvoicesResponse[200]; | ||
18004 | +/** | ||
18005 | + * @description | ||
18006 | + * 重新开票 | ||
18007 | + * @tags 发票 | ||
18008 | + * @produces * | ||
18009 | + * @consumes application/json | ||
18010 | + */ | ||
18011 | +export const postServiceInvoiceReissueInvoices = /* #__PURE__ */ (() => { | ||
18012 | + const method = 'post'; | ||
18013 | + const url = '/service/invoice/reissueInvoices'; | ||
18014 | + function request( | ||
18015 | + option: PostServiceInvoiceReissueInvoicesOption, | ||
18016 | + ): Promise<PostServiceInvoiceReissueInvoicesResponseSuccess> { | ||
18017 | + return requester(request.url, { | ||
18018 | + method: request.method, | ||
18019 | + ...option, | ||
18020 | + }) as unknown as Promise<PostServiceInvoiceReissueInvoicesResponseSuccess>; | ||
18021 | + } | ||
18022 | + | ||
18023 | + /** http method */ | ||
18024 | + request.method = method; | ||
18025 | + /** request url */ | ||
18026 | + request.url = url; | ||
18027 | + return request; | ||
18028 | +})(); | ||
18029 | + | ||
17778 | /** @description request parameter type for postServiceInvoiceReissueOld */ | 18030 | /** @description request parameter type for postServiceInvoiceReissueOld */ |
17779 | export interface PostServiceInvoiceReissueOldOption { | 18031 | export interface PostServiceInvoiceReissueOldOption { |
17780 | /** | 18032 | /** |
@@ -17846,6 +18098,77 @@ export const postServiceInvoiceReissueOld = /* #__PURE__ */ (() => { | @@ -17846,6 +18098,77 @@ export const postServiceInvoiceReissueOld = /* #__PURE__ */ (() => { | ||
17846 | return request; | 18098 | return request; |
17847 | })(); | 18099 | })(); |
17848 | 18100 | ||
18101 | +/** @description request parameter type for postServiceInvoiceReissueRecords */ | ||
18102 | +export interface PostServiceInvoiceReissueRecordsOption { | ||
18103 | + /** | ||
18104 | + * @description | ||
18105 | + * dto | ||
18106 | + */ | ||
18107 | + body: { | ||
18108 | + /** | ||
18109 | + @description | ||
18110 | + dto */ | ||
18111 | + dto: InvoiceReissueRecord; | ||
18112 | + }; | ||
18113 | +} | ||
18114 | + | ||
18115 | +/** @description response type for postServiceInvoiceReissueRecords */ | ||
18116 | +export interface PostServiceInvoiceReissueRecordsResponse { | ||
18117 | + /** | ||
18118 | + * @description | ||
18119 | + * OK | ||
18120 | + */ | ||
18121 | + 200: ServerResult; | ||
18122 | + /** | ||
18123 | + * @description | ||
18124 | + * Created | ||
18125 | + */ | ||
18126 | + 201: any; | ||
18127 | + /** | ||
18128 | + * @description | ||
18129 | + * Unauthorized | ||
18130 | + */ | ||
18131 | + 401: any; | ||
18132 | + /** | ||
18133 | + * @description | ||
18134 | + * Forbidden | ||
18135 | + */ | ||
18136 | + 403: any; | ||
18137 | + /** | ||
18138 | + * @description | ||
18139 | + * Not Found | ||
18140 | + */ | ||
18141 | + 404: any; | ||
18142 | +} | ||
18143 | + | ||
18144 | +export type PostServiceInvoiceReissueRecordsResponseSuccess = | ||
18145 | + PostServiceInvoiceReissueRecordsResponse[200]; | ||
18146 | +/** | ||
18147 | + * @description | ||
18148 | + * 获取重开记录 | ||
18149 | + * @tags 发票 | ||
18150 | + * @produces * | ||
18151 | + * @consumes application/json | ||
18152 | + */ | ||
18153 | +export const postServiceInvoiceReissueRecords = /* #__PURE__ */ (() => { | ||
18154 | + const method = 'post'; | ||
18155 | + const url = '/service/invoice/reissueRecords'; | ||
18156 | + function request( | ||
18157 | + option: PostServiceInvoiceReissueRecordsOption, | ||
18158 | + ): Promise<PostServiceInvoiceReissueRecordsResponseSuccess> { | ||
18159 | + return requester(request.url, { | ||
18160 | + method: request.method, | ||
18161 | + ...option, | ||
18162 | + }) as unknown as Promise<PostServiceInvoiceReissueRecordsResponseSuccess>; | ||
18163 | + } | ||
18164 | + | ||
18165 | + /** http method */ | ||
18166 | + request.method = method; | ||
18167 | + /** request url */ | ||
18168 | + request.url = url; | ||
18169 | + return request; | ||
18170 | +})(); | ||
18171 | + | ||
17849 | /** @description request parameter type for postServiceInvoiceSucessInvoices */ | 18172 | /** @description request parameter type for postServiceInvoiceSucessInvoices */ |
17850 | export interface PostServiceInvoiceSucessInvoicesOption { | 18173 | export interface PostServiceInvoiceSucessInvoicesOption { |
17851 | /** | 18174 | /** |