Commit 795fbf6da1f56cb8701620022d0502be74a7420a
Merge branch 'master' into invoice
# Conflicts: # src/pages/Order/constant.ts # src/services/definition.ts # src/services/request.ts
Showing
41 changed files
with
8157 additions
and
2340 deletions
.umirc.ts
@@ -66,6 +66,20 @@ export default defineConfig({ | @@ -66,6 +66,20 @@ export default defineConfig({ | ||
66 | access: 'canReadAdminAndFinanceAndSales', | 66 | access: 'canReadAdminAndFinanceAndSales', |
67 | }, | 67 | }, |
68 | { | 68 | { |
69 | + name: '课题组管理', | ||
70 | + path: '/researchGroup', | ||
71 | + component: './ResearchGroup', | ||
72 | + icon: 'AccountBookOutlined', | ||
73 | + access: 'canReadAdminAndSales', | ||
74 | + }, | ||
75 | + { | ||
76 | + name: '分期账单', | ||
77 | + path: '/instalment', | ||
78 | + component: './Instalment', | ||
79 | + icon: 'BookOutlined', | ||
80 | + access: 'canReadLinda', | ||
81 | + }, | ||
82 | + { | ||
69 | name: '打印', | 83 | name: '打印', |
70 | path: '/print', | 84 | path: '/print', |
71 | component: './OrderPrint', | 85 | component: './OrderPrint', |
src/access.ts
1 | export default (initialState: API.UserInfo) => { | 1 | export default (initialState: API.UserInfo) => { |
2 | // 在这里按照初始化数据定义项目中的权限,统一管理 | 2 | // 在这里按照初始化数据定义项目中的权限,统一管理 |
3 | // 参考文档 https://umijs.org/docs/max/access | 3 | // 参考文档 https://umijs.org/docs/max/access |
4 | - const { roleSmallVO } = initialState; | 4 | + const { roleSmallVO, username } = initialState; |
5 | const canReadAdmin = roleSmallVO?.code === 'admin'; | 5 | const canReadAdmin = roleSmallVO?.code === 'admin'; |
6 | const canReadProcure = roleSmallVO?.code === 'procure'; | 6 | const canReadProcure = roleSmallVO?.code === 'procure'; |
7 | const canReadFinance = roleSmallVO?.code === 'finance'; | 7 | const canReadFinance = roleSmallVO?.code === 'finance'; |
@@ -11,9 +11,11 @@ export default (initialState: API.UserInfo) => { | @@ -11,9 +11,11 @@ export default (initialState: API.UserInfo) => { | ||
11 | return { | 11 | return { |
12 | canReadAdmin: canReadAdmin, | 12 | canReadAdmin: canReadAdmin, |
13 | canReadProcure: canReadProcure, | 13 | canReadProcure: canReadProcure, |
14 | + canReadLinda: username === 'Linda' || username === '吴量', | ||
14 | canReadAdminAndFinance: canReadFinance || canReadAdmin, | 15 | canReadAdminAndFinance: canReadFinance || canReadAdmin, |
15 | canReadSales: canReadSales, | 16 | canReadSales: canReadSales, |
16 | canReadAdminAndFinanceAndSales: | 17 | canReadAdminAndFinanceAndSales: |
17 | canReadFinance || canReadAdmin || canReadSales, | 18 | canReadFinance || canReadAdmin || canReadSales, |
19 | + canReadAdminAndSales: canReadAdmin || canReadSales, | ||
18 | }; | 20 | }; |
19 | }; | 21 | }; |
src/pages/Instalment/components/comfire/comfire.tsx
0 → 100644
1 | +import { ModalForm } from '@ant-design/pro-components'; | ||
2 | +import { Form, message } from 'antd'; | ||
3 | +import { useState } from 'react'; | ||
4 | + | ||
5 | +const waitTime = (time: number = 100) => { | ||
6 | + return new Promise((resolve) => { | ||
7 | + setTimeout(() => { | ||
8 | + resolve(true); | ||
9 | + }, time); | ||
10 | + }); | ||
11 | +}; | ||
12 | + | ||
13 | +export default ({ currtDid, sureDelete }) => { | ||
14 | + const [form] = Form.useForm<{ name: string; company: string }>(); | ||
15 | + const [ids, setIds] = useState([]); | ||
16 | + | ||
17 | + function getIds() { | ||
18 | + setIds([]); | ||
19 | + setIds(currtDid); | ||
20 | + } | ||
21 | + return ( | ||
22 | + <ModalForm<{ | ||
23 | + name: string; | ||
24 | + company: string; | ||
25 | + }> | ||
26 | + trigger={ | ||
27 | + <a | ||
28 | + onClick={() => { | ||
29 | + getIds(); | ||
30 | + }} | ||
31 | + > | ||
32 | + 删除 | ||
33 | + </a> | ||
34 | + } | ||
35 | + form={form} | ||
36 | + autoFocusFirstInput | ||
37 | + width={190} | ||
38 | + modalProps={{ | ||
39 | + destroyOnClose: true, | ||
40 | + }} | ||
41 | + onFinish={async () => { | ||
42 | + await waitTime(100); | ||
43 | + sureDelete([ids]); | ||
44 | + message.success('提交成功'); | ||
45 | + return true; | ||
46 | + }} | ||
47 | + > | ||
48 | + <br /> | ||
49 | + <h2>确定删除吗</h2> | ||
50 | + </ModalForm> | ||
51 | + ); | ||
52 | +}; |
src/pages/Instalment/components/detail/detail.tsx
0 → 100644
1 | +import { | ||
2 | + postOrderErpOrderStagesAdd, | ||
3 | + postOrderErpOrderStagesPayWaySaveOrUpdate, | ||
4 | + postOrderErpOrderStagesSearch, | ||
5 | + postOrderErpOrderStagesUpload, | ||
6 | +} from '@/services'; | ||
7 | +import { PlusOutlined } from '@ant-design/icons'; | ||
8 | +import { | ||
9 | + ModalForm, | ||
10 | + ProCard, | ||
11 | + ProForm, | ||
12 | + ProFormDatePicker, | ||
13 | + ProFormText, | ||
14 | + ProFormTextArea, | ||
15 | + ProFormUploadButton, | ||
16 | +} from '@ant-design/pro-components'; | ||
17 | +import { Button, Form, message } from 'antd'; | ||
18 | +import { RcFile } from 'antd/es/upload'; | ||
19 | +import { useEffect, useState } from 'react'; | ||
20 | +import PayWayDetail from '../payWayDetail/payWayDetail'; | ||
21 | +import ProductDetail from '../productDetail/productDetail'; | ||
22 | + | ||
23 | +const waitTime = (time: number = 100) => { | ||
24 | + return new Promise((resolve) => { | ||
25 | + setTimeout(() => { | ||
26 | + resolve(true); | ||
27 | + }, time); | ||
28 | + }); | ||
29 | +}; | ||
30 | + | ||
31 | +export default ({ toReload }) => { | ||
32 | + const [form] = Form.useForm<{ name: string; company: string }>(); | ||
33 | + const [contextBody, setContextBody] = useState<OrderStagesWithListItem>({ | ||
34 | + id: undefined, | ||
35 | + contract: undefined, | ||
36 | + dateRange: undefined, | ||
37 | + terminal: undefined, | ||
38 | + orderStagesDeviceVoList: [], | ||
39 | + totalPrice: undefined, | ||
40 | + payWay: '30/30/30/10', | ||
41 | + annex: undefined, | ||
42 | + remark: undefined, | ||
43 | + }); | ||
44 | + const [editProductBody, setEditProductBody] = useState([]); | ||
45 | + const [total, setTotal] = useState(0); | ||
46 | + const [payWayBody, setPayWayBody] = useState([]); | ||
47 | + const [otherBody, setOtherBody] = useState([]); | ||
48 | + const [isDis] = useState(true); | ||
49 | + | ||
50 | + type OrderStagesWithListItem = { | ||
51 | + //文件编号 | ||
52 | + id?: number; | ||
53 | + //合同编号 | ||
54 | + contract?: string; | ||
55 | + //供应商名称 | ||
56 | + vendor?: string; | ||
57 | + //签合同日期 | ||
58 | + dateRange?: Date; | ||
59 | + //终端名称 | ||
60 | + terminal?: string; | ||
61 | + orderStagesDeviceVoList: orderStagesDevice[]; | ||
62 | + //合同总金额 | ||
63 | + totalPrice?: number; | ||
64 | + //付款方式 | ||
65 | + payWay?: string; | ||
66 | + //附件 | ||
67 | + annex?: string; | ||
68 | + //备注 | ||
69 | + remark?: string; | ||
70 | + }; | ||
71 | + | ||
72 | + type orderStagesDevice = { | ||
73 | + //设备id | ||
74 | + dId: number; | ||
75 | + //设备名称 | ||
76 | + deviceName: string; | ||
77 | + //设备型号 | ||
78 | + deviceModel: string; | ||
79 | + //数量 | ||
80 | + count: number; | ||
81 | + //单价 | ||
82 | + unitPrice: number; | ||
83 | + //总价 | ||
84 | + price: number; | ||
85 | + }; | ||
86 | + | ||
87 | + function setSave(value) { | ||
88 | + setOtherBody(value); | ||
89 | + } | ||
90 | + | ||
91 | + useEffect(() => { | ||
92 | + setContextBody({ ...contextBody, totalPrice: total }); | ||
93 | + form.setFieldValue('totalPrice', total); | ||
94 | + }, [total]); | ||
95 | + | ||
96 | + const handleInputChange = (value: string, no: number, priceNow?: number) => { | ||
97 | + if (value === '') { | ||
98 | + message.info('请输入比例!'); | ||
99 | + } else { | ||
100 | + let totalPay = 0; | ||
101 | + const payValue: string[] = value.split('/'); | ||
102 | + let body: | ||
103 | + | ((prevState: never[]) => never[]) | ||
104 | + | { proportion: string; payPrice: number }[] = []; | ||
105 | + if (no === 1) { | ||
106 | + if (payValue.length !== 4) { | ||
107 | + message.warning('比例个数总和不为4个!'); | ||
108 | + } else { | ||
109 | + payValue.forEach((item) => { | ||
110 | + totalPay += Number(item); | ||
111 | + }); | ||
112 | + } | ||
113 | + if (totalPay !== 100) { | ||
114 | + message.warning('比例总和不为100!'); | ||
115 | + } else { | ||
116 | + message.success('输入有效!'); | ||
117 | + payValue.forEach((item) => { | ||
118 | + body.push({ | ||
119 | + proportion: item + '%', | ||
120 | + payPrice: (Number(item) * total) / 100, | ||
121 | + }); | ||
122 | + }); | ||
123 | + setPayWayBody(body); | ||
124 | + } | ||
125 | + } else { | ||
126 | + payValue.forEach((item) => { | ||
127 | + totalPay += Number(item); | ||
128 | + }); | ||
129 | + payValue.forEach((item) => { | ||
130 | + body.push({ | ||
131 | + proportion: item + '%', | ||
132 | + payPrice: (Number(item) * priceNow) / 100, | ||
133 | + }); | ||
134 | + }); | ||
135 | + setPayWayBody(body); | ||
136 | + } | ||
137 | + } | ||
138 | + }; | ||
139 | + | ||
140 | + function getEditProductBody(value) { | ||
141 | + setEditProductBody(value); | ||
142 | + let price = 0; | ||
143 | + value.map((obj) => (price += obj.count * obj.unitPrice)); | ||
144 | + setTotal(price); | ||
145 | + setContextBody({ ...contextBody, orderStagesDeviceVoList: value }); | ||
146 | + if (contextBody.payWay === '') { | ||
147 | + handleInputChange('30/30/30/10', 0, price); | ||
148 | + } else { | ||
149 | + handleInputChange(contextBody.payWay, 0, price); | ||
150 | + } | ||
151 | + } | ||
152 | + | ||
153 | + function refresh() { | ||
154 | + setEditProductBody([]); | ||
155 | + setContextBody({ | ||
156 | + id: undefined, | ||
157 | + contract: undefined, | ||
158 | + dateRange: undefined, | ||
159 | + terminal: undefined, | ||
160 | + orderStagesDeviceVoList: [], | ||
161 | + totalPrice: undefined, | ||
162 | + payWay: '30/30/30/10', | ||
163 | + annex: undefined, | ||
164 | + remark: undefined, | ||
165 | + }); | ||
166 | + handleInputChange('30/30/30/10', 0, 0); | ||
167 | + } | ||
168 | + | ||
169 | + return ( | ||
170 | + <ModalForm<OrderStagesWithListItem> | ||
171 | + title="新建" | ||
172 | + trigger={ | ||
173 | + <Button | ||
174 | + key="button" | ||
175 | + icon={<PlusOutlined />} | ||
176 | + type="primary" | ||
177 | + onClick={() => refresh()} | ||
178 | + > | ||
179 | + 新增 | ||
180 | + </Button> | ||
181 | + } | ||
182 | + form={form} | ||
183 | + autoFocusFirstInput | ||
184 | + modalProps={{ | ||
185 | + destroyOnClose: true, | ||
186 | + }} | ||
187 | + submitTimeout={2000} | ||
188 | + onFinish={async (values) => { | ||
189 | + console.log(values); | ||
190 | + if (editProductBody.length === 0) { | ||
191 | + message.error('请填写产品数据'); | ||
192 | + return false; | ||
193 | + } | ||
194 | + let remakeValue = []; | ||
195 | + | ||
196 | + const formData = new FormData(); | ||
197 | + let toSendEdit = { | ||
198 | + id: values.id || contextBody.id, | ||
199 | + contract: values.contract || contextBody.contract, | ||
200 | + vendor: values.vendor || contextBody.vendor, | ||
201 | + dateRange: values.dateRange || contextBody.dateRange, | ||
202 | + terminal: values.terminal || contextBody.terminal, | ||
203 | + orderStagesDeviceDoList: | ||
204 | + values.orderStagesDeviceVoList || | ||
205 | + contextBody.orderStagesDeviceVoList, | ||
206 | + totalPrice: values.totalPrice || contextBody.totalPrice, | ||
207 | + payWay: values.payWay || contextBody.payWay, | ||
208 | + annex: contextBody.annex, | ||
209 | + remark: values.remark || contextBody.remark, | ||
210 | + }; | ||
211 | + if (values.annex) { | ||
212 | + formData.append('file', values.annex[0].originFileObj as RcFile); | ||
213 | + const res = await postOrderErpOrderStagesUpload({ | ||
214 | + data: formData, | ||
215 | + headers: { | ||
216 | + 'Content-Type': | ||
217 | + 'multipart/form-data; boundary=----WebKitFormBoundarynl6gT1BKdPWIejNq', | ||
218 | + }, | ||
219 | + }); | ||
220 | + if (res.data) { | ||
221 | + toSendEdit.annex = res.data; | ||
222 | + } | ||
223 | + } | ||
224 | + const isSaveOrUpdate = await postOrderErpOrderStagesAdd({ | ||
225 | + data: { ...toSendEdit }, | ||
226 | + }); | ||
227 | + | ||
228 | + if (isSaveOrUpdate) { | ||
229 | + const promises = []; | ||
230 | + | ||
231 | + otherBody.forEach((item) => { | ||
232 | + let remakeItem = { | ||
233 | + ossId: item.ossId, | ||
234 | + number: item.id, | ||
235 | + dateRange: item.payDate, | ||
236 | + fileName: item.fileName, | ||
237 | + }; | ||
238 | + if ( | ||
239 | + typeof item.fileUrl === 'object' && | ||
240 | + item.fileUrl instanceof File | ||
241 | + ) { | ||
242 | + const formData = new FormData(); | ||
243 | + formData.append('file', item.fileUrl as RcFile); | ||
244 | + const uploadPromise = async () => { | ||
245 | + const res = await postOrderErpOrderStagesUpload({ | ||
246 | + data: formData, | ||
247 | + headers: { | ||
248 | + 'Content-Type': | ||
249 | + 'multipart/form-data; boundary=----WebKitFormBoundarynl6gT1BKdPWIejNq', | ||
250 | + }, | ||
251 | + }); | ||
252 | + if (res.data) { | ||
253 | + remakeItem.fileUrl = res.data; | ||
254 | + } | ||
255 | + }; | ||
256 | + promises.push(uploadPromise()); | ||
257 | + } | ||
258 | + remakeValue.push(remakeItem); | ||
259 | + }); | ||
260 | + | ||
261 | + let makeEnd = []; | ||
262 | + const getRetrunIDPromise = async () => { | ||
263 | + let returnOssID = await postOrderErpOrderStagesSearch({ | ||
264 | + data: { contract: values.contract || contextBody.contract }, | ||
265 | + }); | ||
266 | + console.log(returnOssID.data); | ||
267 | + | ||
268 | + if (returnOssID) { | ||
269 | + makeEnd = remakeValue.map((item) => { | ||
270 | + return { ...item, ossId: returnOssID.data[0].id }; | ||
271 | + }); | ||
272 | + } | ||
273 | + }; | ||
274 | + | ||
275 | + promises.push(getRetrunIDPromise()); | ||
276 | + Promise.all(promises).then(async () => { | ||
277 | + await postOrderErpOrderStagesPayWaySaveOrUpdate({ | ||
278 | + data: makeEnd, | ||
279 | + }); | ||
280 | + }); | ||
281 | + toReload(); | ||
282 | + } | ||
283 | + await waitTime(2000); | ||
284 | + message.success('提交成功'); | ||
285 | + return true; | ||
286 | + }} | ||
287 | + > | ||
288 | + <ProCard title="基本信息" headerBordered bordered> | ||
289 | + <ProForm.Group> | ||
290 | + <ProFormText | ||
291 | + width="md" | ||
292 | + name="vendor" | ||
293 | + rules={[{ required: true, message: '此项为必填项' }]} | ||
294 | + label="供应商名称" | ||
295 | + placeholder="请输入" | ||
296 | + initialValue={contextBody.vendor} | ||
297 | + /> | ||
298 | + | ||
299 | + <ProFormText | ||
300 | + width="md" | ||
301 | + name="terminal" | ||
302 | + rules={[{ required: true, message: '此项为必填项' }]} | ||
303 | + label="终端名称" | ||
304 | + placeholder="请输入" | ||
305 | + initialValue={contextBody.terminal} | ||
306 | + /> | ||
307 | + | ||
308 | + <ProFormDatePicker | ||
309 | + name="dateRange" | ||
310 | + width="md" | ||
311 | + label="签合同日期" | ||
312 | + placeholder="请选择日期" | ||
313 | + fieldProps={{ | ||
314 | + format: (value) => value.format('YYYY-MM-DD'), | ||
315 | + }} | ||
316 | + initialValue={contextBody.dateRange} | ||
317 | + /> | ||
318 | + | ||
319 | + <ProFormText | ||
320 | + width="md" | ||
321 | + name="payWay" | ||
322 | + rules={[{ required: true, message: '此项为必填项' }]} | ||
323 | + label="付款比例" | ||
324 | + placeholder="请输入" | ||
325 | + initialValue={contextBody.payWay} | ||
326 | + disabled={!isDis} | ||
327 | + onBlur={(e) => { | ||
328 | + setContextBody({ ...contextBody, payWay: e.target.value }); | ||
329 | + handleInputChange(e.target.value, 1); | ||
330 | + }} | ||
331 | + /> | ||
332 | + | ||
333 | + <ProFormText | ||
334 | + width="md" | ||
335 | + name="contract" | ||
336 | + rules={[{ required: true, message: '此项为必填项' }]} | ||
337 | + label="合同编号" | ||
338 | + placeholder="请输入" | ||
339 | + initialValue={contextBody.contract} | ||
340 | + /> | ||
341 | + | ||
342 | + <ProFormUploadButton | ||
343 | + width="md" | ||
344 | + name="annex" | ||
345 | + max={1} | ||
346 | + label="合同附件" | ||
347 | + /> | ||
348 | + | ||
349 | + <ProFormText | ||
350 | + width="md" | ||
351 | + name="totalPrice" | ||
352 | + label="合同金额" | ||
353 | + placeholder="请输入" | ||
354 | + disabled={isDis} | ||
355 | + initialValue={'0'} | ||
356 | + /> | ||
357 | + </ProForm.Group> | ||
358 | + </ProCard> | ||
359 | + <ProCard | ||
360 | + title={ | ||
361 | + <> | ||
362 | + <span style={{ color: 'red' }}>*</span>产品明细 | ||
363 | + </> | ||
364 | + } | ||
365 | + style={{ marginTop: 10 }} | ||
366 | + headerBordered | ||
367 | + bordered | ||
368 | + > | ||
369 | + <ProductDetail | ||
370 | + productBody={[]} | ||
371 | + EditProductBody={getEditProductBody} | ||
372 | + ></ProductDetail> | ||
373 | + </ProCard> | ||
374 | + | ||
375 | + <ProCard | ||
376 | + title="付款信息" | ||
377 | + style={{ marginTop: 10 }} | ||
378 | + headerBordered | ||
379 | + bordered | ||
380 | + > | ||
381 | + <PayWayDetail | ||
382 | + payBody={payWayBody} | ||
383 | + thisId={null} | ||
384 | + currtSave={setSave} | ||
385 | + ></PayWayDetail> | ||
386 | + </ProCard> | ||
387 | + | ||
388 | + <ProCard style={{ marginTop: 10 }} headerBordered bordered> | ||
389 | + <ProFormTextArea | ||
390 | + label="备注" | ||
391 | + name="remark" | ||
392 | + initialValue={contextBody.remark} | ||
393 | + /> | ||
394 | + </ProCard> | ||
395 | + </ModalForm> | ||
396 | + ); | ||
397 | +}; |
src/pages/Instalment/components/edit/edit.tsx
0 → 100644
1 | +import { | ||
2 | + postOrderErpOrderStagesPayWaySaveOrUpdate, | ||
3 | + postOrderErpOrderStagesSaveOrUpdate, | ||
4 | + postOrderErpOrderStagesSearch, | ||
5 | + postOrderErpOrderStagesUpload, | ||
6 | +} from '@/services'; | ||
7 | +import { | ||
8 | + ModalForm, | ||
9 | + ProCard, | ||
10 | + ProForm, | ||
11 | + ProFormDatePicker, | ||
12 | + ProFormText, | ||
13 | + ProFormTextArea, | ||
14 | + ProFormUploadButton, | ||
15 | +} from '@ant-design/pro-components'; | ||
16 | +import { Form, message } from 'antd'; | ||
17 | +import { RcFile } from 'antd/es/upload'; | ||
18 | +import { useEffect, useState } from 'react'; | ||
19 | +import PayWayDetail from '../payWayDetail/payWayDetail'; | ||
20 | +import ProductDetail from '../productDetail/productDetail'; | ||
21 | + | ||
22 | +const waitTime = (time: number = 100) => { | ||
23 | + return new Promise((resolve) => { | ||
24 | + setTimeout(() => { | ||
25 | + resolve(true); | ||
26 | + }, time); | ||
27 | + }); | ||
28 | +}; | ||
29 | + | ||
30 | +export default ({ currentContract, toReload }) => { | ||
31 | + const [form] = Form.useForm<{ name: string; company: string }>(); | ||
32 | + const [contextBody, setContextBody] = useState({}); | ||
33 | + const [total, setTotal] = useState(0); | ||
34 | + const [payWayBody, setPayWayBody] = useState([]); | ||
35 | + const [otherBody, setOtherBody] = useState([]); | ||
36 | + | ||
37 | + type OrderStagesWithListItem = { | ||
38 | + //文件编号 | ||
39 | + id: number; | ||
40 | + //合同编号 | ||
41 | + contract: string; | ||
42 | + //供应商名称 | ||
43 | + vendor: string; | ||
44 | + //签合同日期 | ||
45 | + dateRange: Date; | ||
46 | + //终端名称 | ||
47 | + terminal: string; | ||
48 | + orderStagesDeviceVoList: orderStagesDevice[]; | ||
49 | + //合同总金额 | ||
50 | + totalPrice: number; | ||
51 | + //付款方式 | ||
52 | + payWay: string; | ||
53 | + //附件 | ||
54 | + annex: string; | ||
55 | + //备注 | ||
56 | + remark: string; | ||
57 | + }; | ||
58 | + | ||
59 | + type orderStagesDevice = { | ||
60 | + //设备id | ||
61 | + dId: number; | ||
62 | + //设备名称 | ||
63 | + deviceName: string; | ||
64 | + //设备型号 | ||
65 | + deviceModel: string; | ||
66 | + //数量 | ||
67 | + count: number; | ||
68 | + //单价 | ||
69 | + unitPrice: number; | ||
70 | + //总价 | ||
71 | + price: number; | ||
72 | + }; | ||
73 | + | ||
74 | + async function refresh() { | ||
75 | + const res = await postOrderErpOrderStagesSearch({ | ||
76 | + data: { contract: currentContract }, | ||
77 | + }); | ||
78 | + const context = res.data[0]; | ||
79 | + | ||
80 | + if (context.contract !== null) { | ||
81 | + setContextBody(context); | ||
82 | + setTotal(context.totalPrice); | ||
83 | + form.setFieldValue('totalPrice', context.totalPrice); | ||
84 | + } | ||
85 | + } | ||
86 | + | ||
87 | + function setSave(value) { | ||
88 | + setOtherBody(value); | ||
89 | + } | ||
90 | + | ||
91 | + useEffect(() => { | ||
92 | + setContextBody({ ...contextBody, totalPrice: total }); | ||
93 | + form.setFieldValue('totalPrice', total); | ||
94 | + }, [total]); | ||
95 | + | ||
96 | + const handleInputChange = (value: string, no: number, priceNow?: number) => { | ||
97 | + let totalPay = 0; | ||
98 | + const payValue: string[] = value.split('/'); | ||
99 | + let body: | ||
100 | + | ((prevState: never[]) => never[]) | ||
101 | + | { proportion: string; payPrice: number }[] = []; | ||
102 | + if (no === 1) { | ||
103 | + if (payValue.length !== 4) { | ||
104 | + message.warning('比例个数总和不为4个!'); | ||
105 | + } else { | ||
106 | + payValue.forEach((item) => { | ||
107 | + totalPay += Number(item); | ||
108 | + }); | ||
109 | + } | ||
110 | + if (totalPay !== 100) { | ||
111 | + message.warning('比例总和不为100!'); | ||
112 | + } else { | ||
113 | + message.success('输入有效!'); | ||
114 | + const price = total; | ||
115 | + payValue.forEach((item) => { | ||
116 | + body.push({ | ||
117 | + proportion: item + '%', | ||
118 | + payPrice: (Number(item) * price) / 100, | ||
119 | + }); | ||
120 | + }); | ||
121 | + setPayWayBody(body); | ||
122 | + } | ||
123 | + } else { | ||
124 | + payValue.forEach((item) => { | ||
125 | + totalPay += Number(item); | ||
126 | + }); | ||
127 | + payValue.forEach((item) => { | ||
128 | + body.push({ | ||
129 | + proportion: item + '%', | ||
130 | + payPrice: (Number(item) * priceNow) / 100, | ||
131 | + }); | ||
132 | + }); | ||
133 | + setPayWayBody(body); | ||
134 | + } | ||
135 | + }; | ||
136 | + | ||
137 | + async function getBody() { | ||
138 | + const res = await postOrderErpOrderStagesSearch({ | ||
139 | + data: { contract: currentContract }, | ||
140 | + }); | ||
141 | + const context = res.data[0]; | ||
142 | + | ||
143 | + if (context.contract !== null) { | ||
144 | + setContextBody(context); | ||
145 | + setTotal(context.totalPrice); | ||
146 | + form.setFieldValue('totalPrice', context.totalPrice); | ||
147 | + } | ||
148 | + handleInputChange(context.payWay, 0, context.totalPrice); | ||
149 | + } | ||
150 | + | ||
151 | + function getEditProductBody(value) { | ||
152 | + let price = 0; | ||
153 | + value.map((obj) => (price += obj.count * obj.unitPrice)); | ||
154 | + setTotal(price); | ||
155 | + setContextBody({ ...contextBody, orderStagesDeviceVoList: value }); | ||
156 | + handleInputChange(contextBody.payWay, 0, price); | ||
157 | + } | ||
158 | + | ||
159 | + useEffect(() => { | ||
160 | + getBody(); | ||
161 | + }, []); | ||
162 | + | ||
163 | + return ( | ||
164 | + <ModalForm<OrderStagesWithListItem> | ||
165 | + title="新建" | ||
166 | + trigger={<a onClick={refresh}>编辑</a>} | ||
167 | + form={form} | ||
168 | + autoFocusFirstInput | ||
169 | + modalProps={{ | ||
170 | + destroyOnClose: true, | ||
171 | + }} | ||
172 | + submitTimeout={2000} | ||
173 | + onFinish={async (values) => { | ||
174 | + if (contextBody.orderStagesDeviceVoList.length === 0) { | ||
175 | + message.error('请填写产品数据'); | ||
176 | + return false; | ||
177 | + } | ||
178 | + let remakeValue = []; | ||
179 | + const promises = []; | ||
180 | + | ||
181 | + otherBody.forEach((item) => { | ||
182 | + let remakeItem = { | ||
183 | + ossId: contextBody.id, | ||
184 | + number: item.id, | ||
185 | + dateRange: item.payDate, | ||
186 | + fileName: item.fileName, | ||
187 | + }; | ||
188 | + if ( | ||
189 | + typeof item.fileUrl === 'object' && | ||
190 | + item.fileUrl instanceof File | ||
191 | + ) { | ||
192 | + const formData = new FormData(); | ||
193 | + formData.append('file', item.fileUrl as RcFile); | ||
194 | + const uploadPromise = async () => { | ||
195 | + const res = await postOrderErpOrderStagesUpload({ | ||
196 | + data: formData, | ||
197 | + headers: { | ||
198 | + 'Content-Type': | ||
199 | + 'multipart/form-data; boundary=----WebKitFormBoundarynl6gT1BKdPWIejNq', | ||
200 | + }, | ||
201 | + }); | ||
202 | + if (res.data) { | ||
203 | + remakeItem.fileUrl = res.data; | ||
204 | + } | ||
205 | + }; | ||
206 | + promises.push(uploadPromise()); | ||
207 | + } | ||
208 | + remakeValue.push(remakeItem); | ||
209 | + }); | ||
210 | + Promise.all(promises).then(async () => { | ||
211 | + await postOrderErpOrderStagesPayWaySaveOrUpdate({ | ||
212 | + data: remakeValue, | ||
213 | + }); | ||
214 | + }); | ||
215 | + const formData = new FormData(); | ||
216 | + let toSendEdit = { | ||
217 | + id: values.id || contextBody.id, | ||
218 | + contract: values.contract || contextBody.contract, | ||
219 | + vendor: values.vendor || contextBody.vendor, | ||
220 | + dateRange: values.dateRange || contextBody.dateRange, | ||
221 | + terminal: values.terminal || contextBody.terminal, | ||
222 | + orderStagesDeviceDoList: | ||
223 | + values.orderStagesDeviceVoList || | ||
224 | + contextBody.orderStagesDeviceVoList, | ||
225 | + totalPrice: values.totalPrice || contextBody.totalPrice, | ||
226 | + payWay: values.payWay || contextBody.payWay, | ||
227 | + annex: contextBody.annex, | ||
228 | + remark: values.remark || contextBody.remark, | ||
229 | + }; | ||
230 | + if (values.annex) { | ||
231 | + formData.append('file', values.annex[0].originFileObj as RcFile); | ||
232 | + const res = await postOrderErpOrderStagesUpload({ | ||
233 | + data: formData, | ||
234 | + headers: { | ||
235 | + 'Content-Type': | ||
236 | + 'multipart/form-data; boundary=----WebKitFormBoundarynl6gT1BKdPWIejNq', | ||
237 | + }, | ||
238 | + }); | ||
239 | + if (res.data) { | ||
240 | + toSendEdit.annex = res.data; | ||
241 | + } | ||
242 | + } | ||
243 | + const isSaveOrUpdate = await postOrderErpOrderStagesSaveOrUpdate({ | ||
244 | + data: { ...toSendEdit }, | ||
245 | + }); | ||
246 | + if (isSaveOrUpdate) { | ||
247 | + getBody(); | ||
248 | + toReload(); | ||
249 | + } | ||
250 | + await waitTime(2000); | ||
251 | + message.success('提交成功'); | ||
252 | + return true; | ||
253 | + }} | ||
254 | + > | ||
255 | + <ProCard title="基本信息" headerBordered bordered> | ||
256 | + <ProForm.Group> | ||
257 | + <ProFormText | ||
258 | + width="md" | ||
259 | + name="vendor" | ||
260 | + rules={[{ required: true, message: '此项为必填项' }]} | ||
261 | + label="供应商名称" | ||
262 | + placeholder="请输入" | ||
263 | + initialValue={contextBody.vendor} | ||
264 | + /> | ||
265 | + | ||
266 | + <ProFormText | ||
267 | + width="md" | ||
268 | + name="terminal" | ||
269 | + rules={[{ required: true, message: '此项为必填项' }]} | ||
270 | + label="终端名称" | ||
271 | + placeholder="请输入" | ||
272 | + initialValue={contextBody.terminal} | ||
273 | + /> | ||
274 | + | ||
275 | + <ProFormDatePicker | ||
276 | + name="dateRange" | ||
277 | + width="md" | ||
278 | + label="签合同日期" | ||
279 | + placeholder="请选择日期" | ||
280 | + fieldProps={{ | ||
281 | + format: (value) => value.format('YYYY-MM-DD'), | ||
282 | + }} | ||
283 | + initialValue={contextBody.dateRange} | ||
284 | + /> | ||
285 | + | ||
286 | + <ProFormText | ||
287 | + width="md" | ||
288 | + name="payWay" | ||
289 | + rules={[{ required: true, message: '此项为必填项' }]} | ||
290 | + label="付款比例" | ||
291 | + placeholder="请输入" | ||
292 | + initialValue={contextBody.payWay} | ||
293 | + onBlur={(e) => { | ||
294 | + handleInputChange(e.target.value, 1); | ||
295 | + }} | ||
296 | + /> | ||
297 | + | ||
298 | + <ProFormText | ||
299 | + width="md" | ||
300 | + name="contract" | ||
301 | + rules={[{ required: true, message: '此项为必填项' }]} | ||
302 | + label="合同编号" | ||
303 | + placeholder="请输入" | ||
304 | + initialValue={contextBody.contract} | ||
305 | + /> | ||
306 | + | ||
307 | + <ProFormUploadButton | ||
308 | + width="md" | ||
309 | + name="annex" | ||
310 | + max={1} | ||
311 | + label="合同附件" | ||
312 | + /> | ||
313 | + | ||
314 | + <ProFormText | ||
315 | + width="md" | ||
316 | + name="totalPrice" | ||
317 | + label="合同金额" | ||
318 | + placeholder="请输入" | ||
319 | + disabled | ||
320 | + initialValue={contextBody.totalPrice} | ||
321 | + /> | ||
322 | + </ProForm.Group> | ||
323 | + </ProCard> | ||
324 | + | ||
325 | + <ProCard | ||
326 | + title={ | ||
327 | + <> | ||
328 | + <span style={{ color: 'red' }}>*</span>产品明细 | ||
329 | + </> | ||
330 | + } | ||
331 | + style={{ marginTop: 10 }} | ||
332 | + headerBordered | ||
333 | + bordered | ||
334 | + > | ||
335 | + <ProductDetail | ||
336 | + productBody={contextBody.orderStagesDeviceVoList} | ||
337 | + EditProductBody={getEditProductBody} | ||
338 | + ></ProductDetail> | ||
339 | + </ProCard> | ||
340 | + | ||
341 | + <ProCard | ||
342 | + title="付款信息" | ||
343 | + style={{ marginTop: 10 }} | ||
344 | + headerBordered | ||
345 | + bordered | ||
346 | + > | ||
347 | + <PayWayDetail | ||
348 | + payBody={payWayBody} | ||
349 | + thisId={contextBody.id} | ||
350 | + currtSave={setSave} | ||
351 | + ></PayWayDetail> | ||
352 | + </ProCard> | ||
353 | + | ||
354 | + <ProCard style={{ marginTop: 10 }} headerBordered bordered> | ||
355 | + <ProFormTextArea | ||
356 | + label="备注" | ||
357 | + name="remark" | ||
358 | + initialValue={contextBody.remark} | ||
359 | + /> | ||
360 | + </ProCard> | ||
361 | + </ModalForm> | ||
362 | + ); | ||
363 | +}; |
src/pages/Instalment/components/payWayDetail/payWayDetail.css
0 → 100644
1 | +.payway-detail-index td { | ||
2 | + font-family: 'San Francisco', 'Helvetica Neue', Helvetica, Arial, | ||
3 | + 'Microsoft YaHei', 'PingFang SC', 'Hiragino Sans GB', 'Heiti SC', | ||
4 | + 'WenQuanYi Micro Hei', sans-serif; | ||
5 | + font-size: 14px; | ||
6 | + margin: 0; | ||
7 | +} | ||
8 | + | ||
9 | +.payway-detail-index td .css-dev-only-do-not-override-nllxry { | ||
10 | + margin-bottom: 0 !important; | ||
11 | +} | ||
12 | + | ||
13 | +.dataChoose { | ||
14 | + margin: 0; | ||
15 | +} |
src/pages/Instalment/components/payWayDetail/payWayDetail.less
0 → 100644
1 | +.payway-detail-index td { | ||
2 | + font-family: 'San Francisco', 'Helvetica Neue', Helvetica, Arial, | ||
3 | + 'Microsoft YaHei', 'PingFang SC', 'Hiragino Sans GB', 'Heiti SC', | ||
4 | + 'WenQuanYi Micro Hei', sans-serif; | ||
5 | + font-size: 14px; | ||
6 | + margin: 0; | ||
7 | + | ||
8 | + .css-dev-only-do-not-override-nllxry { | ||
9 | + margin-bottom: 0 !important; | ||
10 | + } | ||
11 | +} | ||
12 | + | ||
13 | +.dataChoose { | ||
14 | + margin: 0; | ||
15 | +} | ||
16 | + | ||
17 | +// .pay-way-detail-index td .css-dev-only-do-not-override-nllxry{ | ||
18 | +// margin-bottom: 0px !important; | ||
19 | +// } |
src/pages/Instalment/components/payWayDetail/payWayDetail.tsx
0 → 100644
1 | +import { postOrderErpOrderStagesPayWaySelect } from '@/services'; | ||
2 | +import type { ProColumns } from '@ant-design/pro-components'; | ||
3 | +import { | ||
4 | + EditableProTable, | ||
5 | + ProFormDatePicker, | ||
6 | + ProFormRadio, | ||
7 | + ProFormUploadButton, | ||
8 | +} from '@ant-design/pro-components'; | ||
9 | +import { message } from 'antd'; | ||
10 | +import React, { useEffect, useState } from 'react'; | ||
11 | +import './payWayDetail.less'; | ||
12 | + | ||
13 | +const waitTime = (time: number = 100) => { | ||
14 | + return new Promise((resolve) => { | ||
15 | + setTimeout(() => { | ||
16 | + resolve(true); | ||
17 | + }, time); | ||
18 | + }); | ||
19 | +}; | ||
20 | + | ||
21 | +type DataSourceType = { | ||
22 | + id: number; | ||
23 | + payStep?: string; | ||
24 | + proportion?: string; | ||
25 | + ossId?: number; | ||
26 | + payPrice?: number; | ||
27 | + payDate?: Date; | ||
28 | + fileName?: string; | ||
29 | + fileUrl?: string; | ||
30 | +}; | ||
31 | + | ||
32 | +export default ({ payBody, thisId, currtSave }) => { | ||
33 | + const defaultData: DataSourceType[] = [ | ||
34 | + { | ||
35 | + id: 1, | ||
36 | + payStep: '预付款', | ||
37 | + proportion: undefined, | ||
38 | + payPrice: undefined, | ||
39 | + ossId: undefined, | ||
40 | + payDate: undefined, | ||
41 | + fileName: undefined, | ||
42 | + fileUrl: undefined, | ||
43 | + }, | ||
44 | + { | ||
45 | + id: 2, | ||
46 | + payStep: '发贷款', | ||
47 | + proportion: undefined, | ||
48 | + payPrice: undefined, | ||
49 | + ossId: undefined, | ||
50 | + payDate: undefined, | ||
51 | + fileName: undefined, | ||
52 | + fileUrl: undefined, | ||
53 | + }, | ||
54 | + { | ||
55 | + id: 3, | ||
56 | + payStep: '验收款', | ||
57 | + proportion: undefined, | ||
58 | + payPrice: undefined, | ||
59 | + ossId: undefined, | ||
60 | + payDate: undefined, | ||
61 | + fileName: undefined, | ||
62 | + fileUrl: undefined, | ||
63 | + }, | ||
64 | + { | ||
65 | + id: 4, | ||
66 | + payStep: '质保金', | ||
67 | + proportion: undefined, | ||
68 | + payPrice: undefined, | ||
69 | + ossId: undefined, | ||
70 | + payDate: undefined, | ||
71 | + fileName: undefined, | ||
72 | + fileUrl: undefined, | ||
73 | + }, | ||
74 | + ]; | ||
75 | + | ||
76 | + const [editableKeys, setEditableRowKeys] = useState<React.Key[]>([]); | ||
77 | + const [position, setPosition] = useState<'top' | 'bottom' | 'hidden'>( | ||
78 | + 'hidden', | ||
79 | + ); | ||
80 | + const [payWayDetailBody, setPayWayDetailBody] = useState< | ||
81 | + readonly DataSourceType[] | ||
82 | + >([...defaultData]); | ||
83 | + // const [body, setBody] = useState([]) | ||
84 | + const [isAccept, setIsAccept] = useState(null); | ||
85 | + // const [isCurrtSave, setIsCurrtSave] = useState(false); | ||
86 | + | ||
87 | + async function getOther(value, arr) { | ||
88 | + const res = await postOrderErpOrderStagesPayWaySelect({ | ||
89 | + data: { ossId: value }, | ||
90 | + }); | ||
91 | + if (res.data) { | ||
92 | + const context = res.data; | ||
93 | + const remake = arr.map((obj) => { | ||
94 | + let currt = obj; | ||
95 | + context.forEach((object) => { | ||
96 | + if (object.number === obj.id) { | ||
97 | + currt = { | ||
98 | + ...obj, | ||
99 | + ossId: value, | ||
100 | + payDate: object.dateRange, | ||
101 | + fileName: object.fileName, | ||
102 | + fileUrl: object.fileUrl, | ||
103 | + }; | ||
104 | + return currt; | ||
105 | + } | ||
106 | + }); | ||
107 | + return currt; | ||
108 | + }); | ||
109 | + setPayWayDetailBody(remake); | ||
110 | + } | ||
111 | + } | ||
112 | + | ||
113 | + function setPayWay(value) { | ||
114 | + const remakeData = payWayDetailBody.map((obj) => { | ||
115 | + return { | ||
116 | + ...obj, | ||
117 | + proportion: value[obj.id - 1]?.proportion, | ||
118 | + payPrice: value[obj.id - 1]?.payPrice, | ||
119 | + }; | ||
120 | + }); | ||
121 | + // console.log(remakeData); | ||
122 | + | ||
123 | + setPayWayDetailBody(remakeData); | ||
124 | + // console.log(thisId); | ||
125 | + | ||
126 | + if (thisId !== null) { | ||
127 | + getOther(thisId, remakeData); | ||
128 | + } | ||
129 | + } | ||
130 | + // useEffect(() => { | ||
131 | + // getOther(thisId) | ||
132 | + // }, [thisId]) | ||
133 | + | ||
134 | + useEffect(() => { | ||
135 | + setPayWay(payBody); | ||
136 | + }, [payBody]); | ||
137 | + | ||
138 | + // function setCurrtSave(value) { | ||
139 | + // // console.log(value); | ||
140 | + // setIsCurrtSave(payWayDetailBody) | ||
141 | + // } | ||
142 | + | ||
143 | + const columns: ProColumns<DataSourceType>[] = [ | ||
144 | + { | ||
145 | + title: '编号', | ||
146 | + dataIndex: 'id', | ||
147 | + hideInTable: true, | ||
148 | + editable: false, | ||
149 | + }, | ||
150 | + { | ||
151 | + title: '付款信息', | ||
152 | + dataIndex: 'payStep', | ||
153 | + editable: false, | ||
154 | + }, | ||
155 | + { | ||
156 | + title: '付款比例', | ||
157 | + dataIndex: 'proportion', | ||
158 | + editable: false, | ||
159 | + }, | ||
160 | + { | ||
161 | + title: '付款金额', | ||
162 | + dataIndex: 'payPrice', | ||
163 | + editable: false, | ||
164 | + }, | ||
165 | + { | ||
166 | + title: '对应的订单', | ||
167 | + dataIndex: 'ossId', | ||
168 | + editable: false, | ||
169 | + hideInTable: true, | ||
170 | + }, | ||
171 | + { | ||
172 | + title: '付款时间', | ||
173 | + dataIndex: 'payDate', | ||
174 | + editable: false, | ||
175 | + render: (text, record) => { | ||
176 | + const handleChange = (value) => { | ||
177 | + const updatedDataSource = payWayDetailBody.map((item) => { | ||
178 | + if (item.id === record.id) { | ||
179 | + return { | ||
180 | + ...item, | ||
181 | + payDate: value, | ||
182 | + }; | ||
183 | + } | ||
184 | + return item; | ||
185 | + }); | ||
186 | + // console.log(updatedDataSource); | ||
187 | + | ||
188 | + setPayWayDetailBody(updatedDataSource); | ||
189 | + currtSave(updatedDataSource); | ||
190 | + }; | ||
191 | + | ||
192 | + return ( | ||
193 | + <ProFormDatePicker | ||
194 | + className="dataChoose" | ||
195 | + initialValue={record.payDate} | ||
196 | + value={record.payDate} | ||
197 | + placeholder={'请填写时间'} | ||
198 | + fieldProps={{ | ||
199 | + format: (value) => value.format('YYYY-MM-DD'), | ||
200 | + onChange: handleChange, | ||
201 | + }} | ||
202 | + /> | ||
203 | + ); | ||
204 | + }, | ||
205 | + }, | ||
206 | + { | ||
207 | + title: '付款单回执', | ||
208 | + dataIndex: 'fileName', | ||
209 | + render: (text, record) => { | ||
210 | + if (isAccept !== record.id) { | ||
211 | + if ( | ||
212 | + typeof record.fileUrl === 'object' && | ||
213 | + record.fileUrl instanceof File | ||
214 | + ) { | ||
215 | + return ( | ||
216 | + <a onClick={() => message.error('请先保存')}>{record.fileName}</a> | ||
217 | + ); | ||
218 | + } else { | ||
219 | + return <a href={record.fileUrl}>{record.fileName}</a>; | ||
220 | + } | ||
221 | + } else { | ||
222 | + return ( | ||
223 | + <ProFormUploadButton | ||
224 | + name={record.id} | ||
225 | + onChange={(value) => { | ||
226 | + // console.log(value); | ||
227 | + // console.log(payWayDetailBody); | ||
228 | + let remakeBody = []; | ||
229 | + let remakeBodyItem = {}; | ||
230 | + payWayDetailBody.forEach((item) => { | ||
231 | + if (item.id === record.id) { | ||
232 | + remakeBodyItem = { | ||
233 | + ...item, | ||
234 | + fileUrl: value.file.originFileObj, | ||
235 | + fileName: value.file.name, | ||
236 | + }; | ||
237 | + } else { | ||
238 | + remakeBodyItem = { ...item }; | ||
239 | + } | ||
240 | + // if (value.fileList.length == 0) { | ||
241 | + // remakeBodyItem = { ...item, fileUrl: undefined, fileName: undefined } | ||
242 | + // } | ||
243 | + remakeBody.push(remakeBodyItem); | ||
244 | + }); | ||
245 | + setPayWayDetailBody(remakeBody); | ||
246 | + currtSave(remakeBody); | ||
247 | + }} | ||
248 | + width="md" | ||
249 | + max={1} | ||
250 | + /> | ||
251 | + ); | ||
252 | + } | ||
253 | + }, | ||
254 | + }, | ||
255 | + { | ||
256 | + title: '操作', | ||
257 | + valueType: 'option', | ||
258 | + width: 200, | ||
259 | + render: (text, record) => [ | ||
260 | + <a | ||
261 | + key="editable" | ||
262 | + onClick={() => { | ||
263 | + if (isAccept !== record.id) { | ||
264 | + setIsAccept(record.id); | ||
265 | + } else { | ||
266 | + setIsAccept(null); | ||
267 | + } | ||
268 | + }} | ||
269 | + > | ||
270 | + {record.fileName !== undefined && | ||
271 | + record.fileName !== '' && | ||
272 | + record.fileName !== null | ||
273 | + ? '重新上传' | ||
274 | + : '上传回执'} | ||
275 | + </a>, | ||
276 | + ], | ||
277 | + }, | ||
278 | + ]; | ||
279 | + | ||
280 | + return ( | ||
281 | + <> | ||
282 | + <EditableProTable<DataSourceType> | ||
283 | + rowKey="id" | ||
284 | + className="payway-detail-index" | ||
285 | + toolbar={{ style: { display: 'none' } }} | ||
286 | + ghost={true} | ||
287 | + scroll={{ | ||
288 | + x: 960, | ||
289 | + }} | ||
290 | + recordCreatorProps={ | ||
291 | + position !== 'hidden' | ||
292 | + ? { | ||
293 | + position: position as 'top', | ||
294 | + record: () => ({ id: (Math.random() * 1000000).toFixed(0) }), | ||
295 | + } | ||
296 | + : false | ||
297 | + } | ||
298 | + loading={false} | ||
299 | + toolBarRender={() => [ | ||
300 | + <ProFormRadio.Group | ||
301 | + key="render" | ||
302 | + fieldProps={{ | ||
303 | + value: position, | ||
304 | + onChange: (e) => setPosition(e.target.value), | ||
305 | + }} | ||
306 | + />, | ||
307 | + ]} | ||
308 | + columns={columns} | ||
309 | + request={payWayDetailBody} | ||
310 | + value={payWayDetailBody} | ||
311 | + onChange={(value) => { | ||
312 | + setPayWayDetailBody(value); | ||
313 | + // setCurrtSave(payWayDetailBody) | ||
314 | + }} | ||
315 | + editable={{ | ||
316 | + type: 'multiple', | ||
317 | + editableKeys, | ||
318 | + onSave: async () => { | ||
319 | + // console.log(rowKey, data, row); | ||
320 | + await waitTime(2000); | ||
321 | + }, | ||
322 | + onChange: setEditableRowKeys, | ||
323 | + }} | ||
324 | + /> | ||
325 | + </> | ||
326 | + ); | ||
327 | +}; |
src/pages/Instalment/components/productDetail/productDetail.css
0 → 100644
src/pages/Instalment/components/productDetail/productDetail.less
0 → 100644
src/pages/Instalment/components/productDetail/productDetail.tsx
0 → 100644
1 | +import type { ProColumns } from '@ant-design/pro-components'; | ||
2 | +import { EditableProTable, ProFormRadio } from '@ant-design/pro-components'; | ||
3 | +import React, { useEffect, useState } from 'react'; | ||
4 | +import './productDetail.less'; | ||
5 | + | ||
6 | +const waitTime = (time: number = 100) => { | ||
7 | + return new Promise((resolve) => { | ||
8 | + setTimeout(() => { | ||
9 | + resolve(true); | ||
10 | + }, time); | ||
11 | + }); | ||
12 | +}; | ||
13 | + | ||
14 | +// type DataSourceType = { | ||
15 | +// count?: number; | ||
16 | +// id: React.Key; | ||
17 | +// deviceModel?: string; | ||
18 | +// deviceName?: string; | ||
19 | +// price?: number; | ||
20 | +// unitPrice?: number; | ||
21 | +// }; | ||
22 | + | ||
23 | +export default ({ productBody, EditProductBody }) => { | ||
24 | + const [editableKeys, setEditableRowKeys] = useState<React.Key[]>([]); | ||
25 | + const [dataSource, setDataSource] = useState<readonly DataSourceType[]>([]); | ||
26 | + // const [form] = Form.useForm<{ name: string; company: string }>(); | ||
27 | + const [position, setPosition] = useState<'top' | 'bottom' | 'hidden'>( | ||
28 | + 'bottom', | ||
29 | + ); | ||
30 | + function getDataSourece() { | ||
31 | + if (productBody.length !== 0) { | ||
32 | + setDataSource(productBody); | ||
33 | + } | ||
34 | + } | ||
35 | + function setEditProductBody(value) { | ||
36 | + // console.log(value); | ||
37 | + // console.log(dataSource); | ||
38 | + | ||
39 | + const modifiedArray = value.map((obj) => { | ||
40 | + if (obj.dId && Number(obj.dId) <= 1000) { | ||
41 | + return { | ||
42 | + ...obj, | ||
43 | + count: obj.count, | ||
44 | + dId: null, | ||
45 | + deviceModel: obj.deviceModel, | ||
46 | + deviceName: obj.deviceName, | ||
47 | + price: Number(obj.unitPrice) * Number(obj.count), | ||
48 | + unitPrice: obj.unitPrice, | ||
49 | + }; | ||
50 | + } else { | ||
51 | + return { ...obj, price: Number(obj.unitPrice) * Number(obj.count) }; | ||
52 | + } | ||
53 | + }); | ||
54 | + // console.log(modifiedArray); | ||
55 | + | ||
56 | + EditProductBody(modifiedArray); | ||
57 | + setDataSource(value); | ||
58 | + } | ||
59 | + | ||
60 | + useEffect(() => { | ||
61 | + getDataSourece(); | ||
62 | + }, [productBody]); | ||
63 | + | ||
64 | + type DataSourceType = { | ||
65 | + id: React.Key; | ||
66 | + count: number; | ||
67 | + dId?: number; | ||
68 | + deviceModel: string; | ||
69 | + deviceName: string; | ||
70 | + price: number; | ||
71 | + unitPrice: number; | ||
72 | + }; | ||
73 | + | ||
74 | + const columns: ProColumns<DataSourceType>[] = [ | ||
75 | + { | ||
76 | + title: '设备编号', | ||
77 | + dataIndex: 'dId', | ||
78 | + hideInTable: true, | ||
79 | + }, | ||
80 | + { | ||
81 | + title: '设备名称', | ||
82 | + dataIndex: 'deviceName', | ||
83 | + formItemProps: () => { | ||
84 | + return { | ||
85 | + rules: [{ required: true, message: '此项为必填项' }], | ||
86 | + }; | ||
87 | + }, | ||
88 | + }, | ||
89 | + { | ||
90 | + title: '设备型号', | ||
91 | + dataIndex: 'deviceModel', | ||
92 | + width: '15%', | ||
93 | + formItemProps: () => { | ||
94 | + return { | ||
95 | + rules: [{ required: true, message: '此项为必填项' }], | ||
96 | + }; | ||
97 | + }, | ||
98 | + }, | ||
99 | + { | ||
100 | + title: '数量', | ||
101 | + dataIndex: 'count', | ||
102 | + formItemProps: () => { | ||
103 | + return { | ||
104 | + rules: [{ required: true, message: '此项为必填项' }], | ||
105 | + }; | ||
106 | + }, | ||
107 | + }, | ||
108 | + { | ||
109 | + title: '单价', | ||
110 | + dataIndex: 'unitPrice', | ||
111 | + formItemProps: () => { | ||
112 | + return { | ||
113 | + rules: [{ required: true, message: '此项为必填项' }], | ||
114 | + }; | ||
115 | + }, | ||
116 | + }, | ||
117 | + { | ||
118 | + title: '总价', | ||
119 | + dataIndex: 'price', | ||
120 | + hideInSetting: true, | ||
121 | + disable: true, | ||
122 | + editable: false, | ||
123 | + render: (_text, record) => [ | ||
124 | + <span key={record.dId}>{record.count * record.unitPrice}</span>, | ||
125 | + ], | ||
126 | + }, | ||
127 | + { | ||
128 | + title: '操作', | ||
129 | + valueType: 'option', | ||
130 | + width: 200, | ||
131 | + render: (_text, record, _, action) => [ | ||
132 | + <a | ||
133 | + key="editable" | ||
134 | + onClick={() => { | ||
135 | + if (record.dId) { | ||
136 | + action?.startEditable?.(record.dId); | ||
137 | + } | ||
138 | + }} | ||
139 | + > | ||
140 | + 编辑 | ||
141 | + </a>, | ||
142 | + <a | ||
143 | + key="delete" | ||
144 | + onClick={() => { | ||
145 | + EditProductBody( | ||
146 | + dataSource.filter((item) => item.dId !== record.dId), | ||
147 | + ); | ||
148 | + setDataSource(dataSource.filter((item) => item.dId !== record.dId)); | ||
149 | + }} | ||
150 | + > | ||
151 | + 删除 | ||
152 | + </a>, | ||
153 | + ], | ||
154 | + }, | ||
155 | + ]; | ||
156 | + | ||
157 | + return ( | ||
158 | + <> | ||
159 | + <EditableProTable<DataSourceType> | ||
160 | + className="product-detail-index" | ||
161 | + rowKey="dId" | ||
162 | + toolbar={{ style: { display: 'none' } }} | ||
163 | + ghost={true} | ||
164 | + scroll={{ | ||
165 | + x: 960, | ||
166 | + }} | ||
167 | + recordCreatorProps={ | ||
168 | + position !== 'hidden' | ||
169 | + ? { | ||
170 | + position: position as 'top', | ||
171 | + record: () => ({ dId: (Math.random() * 1000).toFixed(0) }), | ||
172 | + } | ||
173 | + : false | ||
174 | + } | ||
175 | + loading={false} | ||
176 | + toolBarRender={() => [ | ||
177 | + <ProFormRadio.Group | ||
178 | + key="render" | ||
179 | + fieldProps={{ | ||
180 | + value: position, | ||
181 | + onChange: (e) => setPosition(e.target.value), | ||
182 | + }} | ||
183 | + />, | ||
184 | + ]} | ||
185 | + columns={columns} | ||
186 | + request={dataSource} | ||
187 | + value={dataSource} | ||
188 | + onChange={setEditProductBody} | ||
189 | + editable={{ | ||
190 | + type: 'multiple', | ||
191 | + editableKeys, | ||
192 | + onSave: async () => { | ||
193 | + await waitTime(500); | ||
194 | + }, | ||
195 | + onChange: setEditableRowKeys, | ||
196 | + }} | ||
197 | + /> | ||
198 | + </> | ||
199 | + ); | ||
200 | +}; |
src/pages/Instalment/components/read/read.tsx
0 → 100644
1 | +import { | ||
2 | + postOrderErpOrderStagesPayWaySaveOrUpdate, | ||
3 | + postOrderErpOrderStagesSaveOrUpdate, | ||
4 | + postOrderErpOrderStagesSearch, | ||
5 | + postOrderErpOrderStagesUpload, | ||
6 | +} from '@/services'; | ||
7 | +import { | ||
8 | + ModalForm, | ||
9 | + ProCard, | ||
10 | + ProForm, | ||
11 | + ProFormDatePicker, | ||
12 | + ProFormText, | ||
13 | + ProFormTextArea, | ||
14 | +} from '@ant-design/pro-components'; | ||
15 | +import { Form, message } from 'antd'; | ||
16 | +import { RcFile } from 'antd/es/upload'; | ||
17 | +import { useEffect, useState } from 'react'; | ||
18 | +import PayWayDetail from './readPayWay'; | ||
19 | +import ProductDetail from './readProduct'; | ||
20 | + | ||
21 | +const waitTime = (time: number = 100) => { | ||
22 | + return new Promise((resolve) => { | ||
23 | + setTimeout(() => { | ||
24 | + resolve(true); | ||
25 | + }, time); | ||
26 | + }); | ||
27 | +}; | ||
28 | + | ||
29 | +export default ({ currentContract }) => { | ||
30 | + const [form] = Form.useForm<{ name: string; company: string }>(); | ||
31 | + const [contextBody, setContextBody] = useState({}); | ||
32 | + const [, setEditProductBody] = useState([]); | ||
33 | + const [total, setTotal] = useState(0); | ||
34 | + const [payWayBody, setPayWayBody] = useState([]); | ||
35 | + const [otherBody, setOtherBody] = useState([]); | ||
36 | + | ||
37 | + type OrderStagesWithListItem = { | ||
38 | + //文件编号 | ||
39 | + id: number; | ||
40 | + //合同编号 | ||
41 | + contract: string; | ||
42 | + //供应商名称 | ||
43 | + vendor: string; | ||
44 | + //签合同日期 | ||
45 | + dateRange: Date; | ||
46 | + //终端名称 | ||
47 | + terminal: string; | ||
48 | + orderStagesDeviceVoList: orderStagesDevice[]; | ||
49 | + //合同总金额 | ||
50 | + totalPrice: number; | ||
51 | + //付款方式 | ||
52 | + payWay: string; | ||
53 | + //附件 | ||
54 | + annex: string; | ||
55 | + //备注 | ||
56 | + remark: string; | ||
57 | + }; | ||
58 | + | ||
59 | + type orderStagesDevice = { | ||
60 | + //设备id | ||
61 | + dId: number; | ||
62 | + //设备名称 | ||
63 | + deviceName: string; | ||
64 | + //设备型号 | ||
65 | + deviceModel: string; | ||
66 | + //数量 | ||
67 | + count: number; | ||
68 | + //单价 | ||
69 | + unitPrice: number; | ||
70 | + //总价 | ||
71 | + price: number; | ||
72 | + }; | ||
73 | + | ||
74 | + async function refresh() { | ||
75 | + const res = await postOrderErpOrderStagesSearch({ | ||
76 | + data: { contract: currentContract }, | ||
77 | + }); | ||
78 | + const context = res.data[0]; | ||
79 | + // console.log(context); | ||
80 | + | ||
81 | + if (context.contract !== null) { | ||
82 | + setContextBody(context); | ||
83 | + setTotal(context.totalPrice); | ||
84 | + form.setFieldValue('totalPrice', context.totalPrice); | ||
85 | + } | ||
86 | + } | ||
87 | + | ||
88 | + function setSave(value) { | ||
89 | + // console.log(value); | ||
90 | + setOtherBody(value); | ||
91 | + } | ||
92 | + | ||
93 | + useEffect(() => { | ||
94 | + setContextBody({ ...contextBody, totalPrice: total }); | ||
95 | + form.setFieldValue('totalPrice', total); | ||
96 | + }, [total]); | ||
97 | + | ||
98 | + const handleInputChange = (value: string, no: number, priceNow?: number) => { | ||
99 | + let totalPay = 0; | ||
100 | + const payValue: string[] = value.split('/'); | ||
101 | + let body: | ||
102 | + | ((prevState: never[]) => never[]) | ||
103 | + | { proportion: string; payPrice: number }[] = []; | ||
104 | + if (no === 1) { | ||
105 | + if (payValue.length !== 4) { | ||
106 | + message.warning('比例个数总和不为4个!'); | ||
107 | + } else { | ||
108 | + payValue.forEach((item) => { | ||
109 | + totalPay += Number(item); | ||
110 | + }); | ||
111 | + } | ||
112 | + if (totalPay !== 100) { | ||
113 | + message.warning('比例总和不为100!'); | ||
114 | + } else { | ||
115 | + message.success('输入有效!'); | ||
116 | + const price = total; | ||
117 | + payValue.forEach((item) => { | ||
118 | + body.push({ | ||
119 | + proportion: item + '%', | ||
120 | + payPrice: (Number(item) * price) / 100, | ||
121 | + }); | ||
122 | + }); | ||
123 | + setPayWayBody(body); | ||
124 | + } | ||
125 | + } else { | ||
126 | + payValue.forEach((item) => { | ||
127 | + totalPay += Number(item); | ||
128 | + }); | ||
129 | + payValue.forEach((item) => { | ||
130 | + body.push({ | ||
131 | + proportion: item + '%', | ||
132 | + payPrice: (Number(item) * priceNow) / 100, | ||
133 | + }); | ||
134 | + }); | ||
135 | + setPayWayBody(body); | ||
136 | + } | ||
137 | + }; | ||
138 | + | ||
139 | + async function getBody() { | ||
140 | + const res = await postOrderErpOrderStagesSearch({ | ||
141 | + data: { contract: currentContract }, | ||
142 | + }); | ||
143 | + const context = res.data[0]; | ||
144 | + // console.log(context); | ||
145 | + | ||
146 | + if (context.contract !== null) { | ||
147 | + setContextBody(context); | ||
148 | + setTotal(context.totalPrice); | ||
149 | + form.setFieldValue('totalPrice', context.totalPrice); | ||
150 | + } | ||
151 | + handleInputChange(context.payWay, 0, context.totalPrice); | ||
152 | + } | ||
153 | + | ||
154 | + useEffect(() => { | ||
155 | + getBody(); | ||
156 | + }, []); | ||
157 | + | ||
158 | + function getEditProductBody(value) { | ||
159 | + // console.log(value); | ||
160 | + | ||
161 | + setEditProductBody(value); | ||
162 | + let price = 0; | ||
163 | + value.map((obj) => (price += obj.count * obj.unitPrice)); | ||
164 | + setTotal(price); | ||
165 | + setContextBody({ ...contextBody, orderStagesDeviceVoList: value }); | ||
166 | + handleInputChange(contextBody.payWay, 0, price); | ||
167 | + } | ||
168 | + | ||
169 | + return ( | ||
170 | + <ModalForm<OrderStagesWithListItem> | ||
171 | + title="新建" | ||
172 | + trigger={<a onClick={refresh}>查看</a>} | ||
173 | + form={form} | ||
174 | + autoFocusFirstInput | ||
175 | + modalProps={{ | ||
176 | + destroyOnClose: true, | ||
177 | + // onCancel: () => console.log('run'), | ||
178 | + }} | ||
179 | + submitTimeout={2000} | ||
180 | + onFinish={async (values) => { | ||
181 | + // console.log(values); | ||
182 | + // console.log(otherBody); | ||
183 | + let remakeValue = []; | ||
184 | + // 创建一个用于存储所有异步操作的Promise数组 | ||
185 | + const promises = []; | ||
186 | + | ||
187 | + otherBody.forEach((item) => { | ||
188 | + let remakeItem = { | ||
189 | + ossId: item.ossId, | ||
190 | + number: item.id, | ||
191 | + dataRange: item.payDate, | ||
192 | + fileName: item.fileName, | ||
193 | + }; | ||
194 | + if ( | ||
195 | + typeof item.fileUrl === 'object' && | ||
196 | + item.fileUrl instanceof File | ||
197 | + ) { | ||
198 | + const formData = new FormData(); | ||
199 | + formData.append('file', item.fileUrl as RcFile); | ||
200 | + const uploadPromise = async () => { | ||
201 | + const res = await postOrderErpOrderStagesUpload({ | ||
202 | + data: formData, | ||
203 | + headers: { | ||
204 | + 'Content-Type': | ||
205 | + 'multipart/form-data; boundary=----WebKitFormBoundarynl6gT1BKdPWIejNq', | ||
206 | + }, | ||
207 | + }); | ||
208 | + if (res.data) { | ||
209 | + remakeItem.fileUrl = res.data; | ||
210 | + } | ||
211 | + }; | ||
212 | + promises.push(uploadPromise()); | ||
213 | + } | ||
214 | + remakeValue.push(remakeItem); | ||
215 | + }); | ||
216 | + | ||
217 | + // 使用Promise.all等待所有异步操作完成后再执行保存操作 | ||
218 | + Promise.all(promises).then(async () => { | ||
219 | + await postOrderErpOrderStagesPayWaySaveOrUpdate({ | ||
220 | + data: remakeValue, | ||
221 | + }); | ||
222 | + }); | ||
223 | + const formData = new FormData(); | ||
224 | + // let toSendEdit={...values,orderStagesDeviceVoList:contextBody.orderStagesDeviceVoList}; | ||
225 | + let toSendEdit = { | ||
226 | + id: values.id || contextBody.id, | ||
227 | + contract: values.contract || contextBody.contract, | ||
228 | + vendor: values.vendor || contextBody.vendor, | ||
229 | + dateRange: values.dateRange || contextBody.dateRange, | ||
230 | + terminal: values.terminal || contextBody.terminal, | ||
231 | + orderStagesDeviceDoList: | ||
232 | + values.orderStagesDeviceVoList || | ||
233 | + contextBody.orderStagesDeviceVoList, | ||
234 | + totalPrice: values.totalPrice || contextBody.totalPrice, | ||
235 | + payWay: values.payWay || contextBody.payWay, | ||
236 | + annex: contextBody.annex, | ||
237 | + remark: values.remark || contextBody.remark, | ||
238 | + }; | ||
239 | + if (values.annex) { | ||
240 | + formData.append('file', values.annex[0].originFileObj as RcFile); | ||
241 | + const res = await postOrderErpOrderStagesUpload({ | ||
242 | + data: formData, | ||
243 | + headers: { | ||
244 | + 'Content-Type': | ||
245 | + 'multipart/form-data; boundary=----WebKitFormBoundarynl6gT1BKdPWIejNq', | ||
246 | + }, | ||
247 | + }); | ||
248 | + if (res.data) { | ||
249 | + // console.log(values) | ||
250 | + // console.log(contextBody); | ||
251 | + toSendEdit.annex = res.data; | ||
252 | + } | ||
253 | + } | ||
254 | + const isSaveOrUpdate = await postOrderErpOrderStagesSaveOrUpdate({ | ||
255 | + data: { ...toSendEdit }, | ||
256 | + }); | ||
257 | + if (isSaveOrUpdate) { | ||
258 | + // console.log(isSaveOrUpdate); | ||
259 | + getBody(); | ||
260 | + } | ||
261 | + await waitTime(2000); | ||
262 | + message.success('提交成功'); | ||
263 | + return true; | ||
264 | + }} | ||
265 | + > | ||
266 | + <ProCard title="基本信息" headerBordered bordered> | ||
267 | + <ProForm.Group> | ||
268 | + <ProFormText | ||
269 | + width="md" | ||
270 | + name="vendor" | ||
271 | + label="供应商名称" | ||
272 | + placeholder="请输入" | ||
273 | + initialValue={contextBody.vendor} | ||
274 | + readonly | ||
275 | + /> | ||
276 | + | ||
277 | + <ProFormText | ||
278 | + width="md" | ||
279 | + name="terminal" | ||
280 | + label="终端名称" | ||
281 | + placeholder="请输入" | ||
282 | + initialValue={contextBody.terminal} | ||
283 | + readonly | ||
284 | + /> | ||
285 | + | ||
286 | + <ProFormDatePicker | ||
287 | + name="dateRange" | ||
288 | + width="md" | ||
289 | + label="签合同日期" | ||
290 | + placeholder="请选择日期" | ||
291 | + fieldProps={{ | ||
292 | + format: (value) => value.format('YYYY-MM-DD'), | ||
293 | + }} | ||
294 | + initialValue={contextBody.dateRange} | ||
295 | + readonly | ||
296 | + /> | ||
297 | + | ||
298 | + <ProFormText | ||
299 | + width="md" | ||
300 | + name="payWay" | ||
301 | + label="付款比例" | ||
302 | + placeholder="请输入" | ||
303 | + initialValue={contextBody.payWay} | ||
304 | + readonly | ||
305 | + onBlur={(e) => { | ||
306 | + handleInputChange(e.target.value, 1); | ||
307 | + }} | ||
308 | + /> | ||
309 | + | ||
310 | + <ProFormText | ||
311 | + width="md" | ||
312 | + name="contract" | ||
313 | + label="合同编号" | ||
314 | + placeholder="请输入" | ||
315 | + initialValue={contextBody.contract} | ||
316 | + readonly | ||
317 | + /> | ||
318 | + | ||
319 | + {/* <ProFormText | ||
320 | + width="md" | ||
321 | + name="annex" | ||
322 | + label="合同附件" | ||
323 | + placeholder="请输入" | ||
324 | + initialValue={contextBody.fileUrl} | ||
325 | + readonly | ||
326 | + /> */} | ||
327 | + | ||
328 | + <ProFormText | ||
329 | + width="md" | ||
330 | + name="totalPrice" | ||
331 | + label="合同金额" | ||
332 | + placeholder="请输入" | ||
333 | + disabled | ||
334 | + readonly | ||
335 | + // rules={[{ required: true, message: '此项为必填项' }]} | ||
336 | + // value={contextBody.totalPrice} | ||
337 | + initialValue={contextBody.totalPrice} | ||
338 | + /> | ||
339 | + </ProForm.Group> | ||
340 | + </ProCard> | ||
341 | + <ProCard | ||
342 | + title="产品明细" | ||
343 | + style={{ marginTop: 10 }} | ||
344 | + headerBordered | ||
345 | + bordered | ||
346 | + > | ||
347 | + <ProductDetail | ||
348 | + productBody={contextBody.orderStagesDeviceVoList} | ||
349 | + EditProductBody={getEditProductBody} | ||
350 | + ></ProductDetail> | ||
351 | + </ProCard> | ||
352 | + | ||
353 | + <ProCard | ||
354 | + title="付款信息" | ||
355 | + style={{ marginTop: 10 }} | ||
356 | + headerBordered | ||
357 | + bordered | ||
358 | + > | ||
359 | + <PayWayDetail | ||
360 | + payBody={payWayBody} | ||
361 | + thisId={contextBody.id} | ||
362 | + currtSave={setSave} | ||
363 | + ></PayWayDetail> | ||
364 | + </ProCard> | ||
365 | + | ||
366 | + <ProCard style={{ marginTop: 10 }} headerBordered bordered> | ||
367 | + <ProFormTextArea | ||
368 | + label="备注" | ||
369 | + name="remark" | ||
370 | + initialValue={contextBody.remark} | ||
371 | + readonly | ||
372 | + /> | ||
373 | + </ProCard> | ||
374 | + </ModalForm> | ||
375 | + ); | ||
376 | +}; |
src/pages/Instalment/components/read/readPayWay.tsx
0 → 100644
1 | +import { postOrderErpOrderStagesPayWaySelect } from '@/services'; | ||
2 | +import type { ProColumns } from '@ant-design/pro-components'; | ||
3 | +import { | ||
4 | + EditableProTable, | ||
5 | + ProFormRadio, | ||
6 | + ProFormUploadButton, | ||
7 | +} from '@ant-design/pro-components'; | ||
8 | +import { message } from 'antd'; | ||
9 | +import React, { useEffect, useState } from 'react'; | ||
10 | + | ||
11 | +const waitTime = (time: number = 100) => { | ||
12 | + return new Promise((resolve) => { | ||
13 | + setTimeout(() => { | ||
14 | + resolve(true); | ||
15 | + }, time); | ||
16 | + }); | ||
17 | +}; | ||
18 | + | ||
19 | +type DataSourceType = { | ||
20 | + id: number; | ||
21 | + payStep?: string; | ||
22 | + proportion?: string; | ||
23 | + ossId?: number; | ||
24 | + payPrice?: number; | ||
25 | + payDate?: Date; | ||
26 | + fileName?: string; | ||
27 | + fileUrl?: string; | ||
28 | +}; | ||
29 | + | ||
30 | +export default ({ payBody, thisId, currtSave }) => { | ||
31 | + const defaultData: DataSourceType[] = [ | ||
32 | + { | ||
33 | + id: 1, | ||
34 | + payStep: '预付款', | ||
35 | + proportion: undefined, | ||
36 | + payPrice: undefined, | ||
37 | + ossId: undefined, | ||
38 | + payDate: undefined, | ||
39 | + fileName: undefined, | ||
40 | + fileUrl: undefined, | ||
41 | + }, | ||
42 | + { | ||
43 | + id: 2, | ||
44 | + payStep: '发贷款', | ||
45 | + proportion: undefined, | ||
46 | + payPrice: undefined, | ||
47 | + ossId: undefined, | ||
48 | + payDate: undefined, | ||
49 | + fileName: undefined, | ||
50 | + fileUrl: undefined, | ||
51 | + }, | ||
52 | + { | ||
53 | + id: 3, | ||
54 | + payStep: '验收款', | ||
55 | + proportion: undefined, | ||
56 | + payPrice: undefined, | ||
57 | + ossId: undefined, | ||
58 | + payDate: undefined, | ||
59 | + fileName: undefined, | ||
60 | + fileUrl: undefined, | ||
61 | + }, | ||
62 | + { | ||
63 | + id: 4, | ||
64 | + payStep: '质保金', | ||
65 | + proportion: undefined, | ||
66 | + payPrice: undefined, | ||
67 | + ossId: undefined, | ||
68 | + payDate: undefined, | ||
69 | + fileName: undefined, | ||
70 | + fileUrl: undefined, | ||
71 | + }, | ||
72 | + ]; | ||
73 | + | ||
74 | + const [editableKeys, setEditableRowKeys] = useState<React.Key[]>([]); | ||
75 | + const [position, setPosition] = useState<'top' | 'bottom' | 'hidden'>( | ||
76 | + 'hidden', | ||
77 | + ); | ||
78 | + const [payWayDetailBody, setPayWayDetailBody] = useState< | ||
79 | + readonly DataSourceType[] | ||
80 | + >([...defaultData]); | ||
81 | + const [isAccept] = useState(null); | ||
82 | + // const [isCurrtSave, setIsCurrtSave] = useState(false); | ||
83 | + | ||
84 | + async function getOther(value, arr) { | ||
85 | + const res = await postOrderErpOrderStagesPayWaySelect({ | ||
86 | + data: { ossId: value }, | ||
87 | + }); | ||
88 | + if (res.data) { | ||
89 | + const context = res.data; | ||
90 | + const remake = arr.map((obj) => { | ||
91 | + let currt = obj; | ||
92 | + context.forEach((object) => { | ||
93 | + if (object.number === obj.id) { | ||
94 | + currt = { | ||
95 | + ...obj, | ||
96 | + ossId: value, | ||
97 | + payDate: object.dateRange, | ||
98 | + fileName: object.fileName, | ||
99 | + fileUrl: object.fileUrl, | ||
100 | + }; | ||
101 | + return currt; | ||
102 | + } | ||
103 | + }); | ||
104 | + return currt; | ||
105 | + }); | ||
106 | + setPayWayDetailBody(remake); | ||
107 | + } | ||
108 | + } | ||
109 | + | ||
110 | + function setPayWay(value) { | ||
111 | + const remakeData = payWayDetailBody.map((obj) => { | ||
112 | + return { | ||
113 | + ...obj, | ||
114 | + proportion: value[obj.id - 1]?.proportion, | ||
115 | + payPrice: value[obj.id - 1]?.payPrice, | ||
116 | + }; | ||
117 | + }); | ||
118 | + | ||
119 | + setPayWayDetailBody(remakeData); | ||
120 | + | ||
121 | + if (thisId !== null) { | ||
122 | + getOther(thisId, remakeData); | ||
123 | + } | ||
124 | + } | ||
125 | + // useEffect(() => { | ||
126 | + // getOther(thisId) | ||
127 | + // }, [thisId]) | ||
128 | + | ||
129 | + useEffect(() => { | ||
130 | + setPayWay(payBody); | ||
131 | + }, [payBody]); | ||
132 | + | ||
133 | + // function setCurrtSave(_value) { | ||
134 | + // setIsCurrtSave(payWayDetailBody) | ||
135 | + // } | ||
136 | + | ||
137 | + const columns: ProColumns<DataSourceType>[] = [ | ||
138 | + { | ||
139 | + title: '编号', | ||
140 | + dataIndex: 'id', | ||
141 | + hideInTable: true, | ||
142 | + editable: false, | ||
143 | + }, | ||
144 | + { | ||
145 | + title: '付款信息', | ||
146 | + dataIndex: 'payStep', | ||
147 | + editable: false, | ||
148 | + }, | ||
149 | + { | ||
150 | + title: '付款比例', | ||
151 | + dataIndex: 'proportion', | ||
152 | + editable: false, | ||
153 | + }, | ||
154 | + { | ||
155 | + title: '付款金额', | ||
156 | + dataIndex: 'payPrice', | ||
157 | + editable: false, | ||
158 | + }, | ||
159 | + { | ||
160 | + title: '对应的订单', | ||
161 | + dataIndex: 'ossId', | ||
162 | + editable: false, | ||
163 | + hideInTable: true, | ||
164 | + }, | ||
165 | + { | ||
166 | + title: '付款时间', | ||
167 | + dataIndex: 'payDate', | ||
168 | + editable: false, | ||
169 | + render: (_text, record) => { | ||
170 | + return ( | ||
171 | + <span> | ||
172 | + {new Intl.DateTimeFormat('zh-CN', { | ||
173 | + year: 'numeric', | ||
174 | + month: 'long', | ||
175 | + day: 'numeric', | ||
176 | + }).format(record.payDate)} | ||
177 | + </span> | ||
178 | + // <ProFormDatePicker | ||
179 | + // className='dataChoose' | ||
180 | + // initialValue={record.payDate} | ||
181 | + // value={record.payDate} | ||
182 | + // placeholder={"请填写时间"} | ||
183 | + // fieldProps={{ | ||
184 | + // format: (value) => value.format('YYYY-MM-DD'), | ||
185 | + // onChange: handleChange, | ||
186 | + // }} | ||
187 | + // /> | ||
188 | + ); | ||
189 | + }, | ||
190 | + }, | ||
191 | + { | ||
192 | + title: '付款单回执', | ||
193 | + dataIndex: 'fileName', | ||
194 | + render: (_text, record) => { | ||
195 | + if (isAccept !== record.id) { | ||
196 | + if ( | ||
197 | + typeof record.fileUrl === 'object' && | ||
198 | + record.fileUrl instanceof File | ||
199 | + ) { | ||
200 | + return ( | ||
201 | + <a onClick={() => message.error('请先保存')}>{record.fileName}</a> | ||
202 | + ); | ||
203 | + } else { | ||
204 | + return <a href={record.fileUrl}>{record.fileName}</a>; | ||
205 | + } | ||
206 | + } else { | ||
207 | + return ( | ||
208 | + <ProFormUploadButton | ||
209 | + name={record.id} | ||
210 | + onChange={(value) => { | ||
211 | + let remakeBody = []; | ||
212 | + let remakeBodyItem = {}; | ||
213 | + payWayDetailBody.forEach((item) => { | ||
214 | + if (item.id === record.id) { | ||
215 | + remakeBodyItem = { | ||
216 | + ...item, | ||
217 | + fileUrl: value.file.originFileObj, | ||
218 | + fileName: value.file.name, | ||
219 | + }; | ||
220 | + } else { | ||
221 | + remakeBodyItem = { ...item }; | ||
222 | + } | ||
223 | + if (value.fileList.length === 0) { | ||
224 | + remakeBodyItem = { | ||
225 | + ...item, | ||
226 | + fileUrl: undefined, | ||
227 | + fileName: undefined, | ||
228 | + }; | ||
229 | + } | ||
230 | + remakeBody.push(remakeBodyItem); | ||
231 | + }); | ||
232 | + setPayWayDetailBody(remakeBody); | ||
233 | + currtSave(remakeBody); | ||
234 | + }} | ||
235 | + width="md" | ||
236 | + max={1} | ||
237 | + /> | ||
238 | + ); | ||
239 | + } | ||
240 | + }, | ||
241 | + }, | ||
242 | + ]; | ||
243 | + | ||
244 | + return ( | ||
245 | + <> | ||
246 | + <EditableProTable<DataSourceType> | ||
247 | + rowKey="id" | ||
248 | + className="payway-detail-index" | ||
249 | + toolbar={{ style: { display: 'none' } }} | ||
250 | + ghost={true} | ||
251 | + scroll={{ | ||
252 | + x: 960, | ||
253 | + }} | ||
254 | + recordCreatorProps={ | ||
255 | + position !== 'hidden' | ||
256 | + ? { | ||
257 | + position: position as 'top', | ||
258 | + record: () => ({ id: (Math.random() * 1000000).toFixed(0) }), | ||
259 | + } | ||
260 | + : false | ||
261 | + } | ||
262 | + loading={false} | ||
263 | + toolBarRender={() => [ | ||
264 | + <ProFormRadio.Group | ||
265 | + key="render" | ||
266 | + fieldProps={{ | ||
267 | + value: position, | ||
268 | + onChange: (e) => setPosition(e.target.value), | ||
269 | + }} | ||
270 | + />, | ||
271 | + ]} | ||
272 | + columns={columns} | ||
273 | + request={payWayDetailBody} | ||
274 | + value={payWayDetailBody} | ||
275 | + onChange={(value) => { | ||
276 | + setPayWayDetailBody(value); | ||
277 | + // setCurrtSave(payWayDetailBody) | ||
278 | + }} | ||
279 | + editable={{ | ||
280 | + type: 'multiple', | ||
281 | + editableKeys, | ||
282 | + onSave: async () => { | ||
283 | + await waitTime(2000); | ||
284 | + }, | ||
285 | + onChange: setEditableRowKeys, | ||
286 | + }} | ||
287 | + /> | ||
288 | + </> | ||
289 | + ); | ||
290 | +}; |
src/pages/Instalment/components/read/readProduct.tsx
0 → 100644
1 | +import type { ProColumns } from '@ant-design/pro-components'; | ||
2 | +import { EditableProTable, ProFormRadio } from '@ant-design/pro-components'; | ||
3 | +import { Form } from 'antd'; | ||
4 | +import React, { useEffect, useState } from 'react'; | ||
5 | + | ||
6 | +const waitTime = (time: number = 100) => { | ||
7 | + return new Promise((resolve) => { | ||
8 | + setTimeout(() => { | ||
9 | + resolve(true); | ||
10 | + }, time); | ||
11 | + }); | ||
12 | +}; | ||
13 | + | ||
14 | +// type DataSourceType = { | ||
15 | +// count?: number; | ||
16 | +// id: React.Key; | ||
17 | +// deviceModel?: string; | ||
18 | +// deviceName?: string; | ||
19 | +// price?: number; | ||
20 | +// unitPrice?: number; | ||
21 | +// }; | ||
22 | + | ||
23 | +export default ({ productBody, EditProductBody }) => { | ||
24 | + const [editableKeys, setEditableRowKeys] = useState<React.Key[]>([]); | ||
25 | + const [dataSource, setDataSource] = useState<readonly DataSourceType[]>([]); | ||
26 | + const [form] = Form.useForm<{ name: string; company: string }>(); | ||
27 | + const [position, setPosition] = useState<'top' | 'bottom' | 'hidden'>( | ||
28 | + 'hidden', | ||
29 | + ); | ||
30 | + function getDataSourece() { | ||
31 | + if (productBody.length !== 0) { | ||
32 | + setDataSource(productBody); | ||
33 | + } | ||
34 | + } | ||
35 | + function setEditProductBody(value) { | ||
36 | + const modifiedArray = value.map((obj) => { | ||
37 | + if (obj.dId && Number(obj.dId) <= 1000) { | ||
38 | + return { | ||
39 | + ...obj, | ||
40 | + count: obj.count, | ||
41 | + dId: null, | ||
42 | + deviceModel: obj.deviceModel, | ||
43 | + deviceName: obj.deviceName, | ||
44 | + price: obj.price, | ||
45 | + unitPrice: obj.unitPrice, | ||
46 | + }; | ||
47 | + } else { | ||
48 | + return obj; | ||
49 | + } | ||
50 | + }); | ||
51 | + | ||
52 | + EditProductBody(modifiedArray); | ||
53 | + setDataSource(value); | ||
54 | + } | ||
55 | + | ||
56 | + useEffect(() => { | ||
57 | + getDataSourece(); | ||
58 | + }, [productBody]); | ||
59 | + | ||
60 | + type DataSourceType = { | ||
61 | + id: React.Key; | ||
62 | + count: number; | ||
63 | + dId?: number; | ||
64 | + deviceModel: string; | ||
65 | + deviceName: string; | ||
66 | + price: number; | ||
67 | + unitPrice: number; | ||
68 | + }; | ||
69 | + | ||
70 | + const columns: ProColumns<DataSourceType>[] = [ | ||
71 | + { | ||
72 | + title: '设备编号', | ||
73 | + dataIndex: 'dId', | ||
74 | + hideInTable: true, | ||
75 | + }, | ||
76 | + { | ||
77 | + title: '设备名称', | ||
78 | + dataIndex: 'deviceName', | ||
79 | + formItemProps: () => { | ||
80 | + return { | ||
81 | + rules: [{ required: true, message: '此项为必填项' }], | ||
82 | + }; | ||
83 | + }, | ||
84 | + }, | ||
85 | + { | ||
86 | + title: '设备型号', | ||
87 | + dataIndex: 'deviceModel', | ||
88 | + width: '15%', | ||
89 | + formItemProps: () => { | ||
90 | + return { | ||
91 | + rules: [{ required: true, message: '此项为必填项' }], | ||
92 | + }; | ||
93 | + }, | ||
94 | + }, | ||
95 | + { | ||
96 | + title: '数量', | ||
97 | + dataIndex: 'count', | ||
98 | + onChange: (e) => { | ||
99 | + const unitPrice = form.getFieldValue(`data[${rowIndex}].unitPrice`); | ||
100 | + form.setFieldsValue({ | ||
101 | + [`data[${rowIndex}].price`]: e * unitPrice, | ||
102 | + }); | ||
103 | + }, | ||
104 | + formItemProps: () => { | ||
105 | + return { | ||
106 | + rules: [{ required: true, message: '此项为必填项' }], | ||
107 | + }; | ||
108 | + }, | ||
109 | + }, | ||
110 | + { | ||
111 | + title: '单价', | ||
112 | + dataIndex: 'unitPrice', | ||
113 | + formItemProps: () => { | ||
114 | + return { | ||
115 | + rules: [{ required: true, message: '此项为必填项' }], | ||
116 | + }; | ||
117 | + }, | ||
118 | + }, | ||
119 | + { | ||
120 | + title: '总价', | ||
121 | + dataIndex: 'price', | ||
122 | + formItemProps: () => { | ||
123 | + return { | ||
124 | + rules: [{ required: true, message: '此项为必填项' }], | ||
125 | + }; | ||
126 | + }, | ||
127 | + }, | ||
128 | + ]; | ||
129 | + | ||
130 | + return ( | ||
131 | + <> | ||
132 | + <EditableProTable<DataSourceType> | ||
133 | + className="product-detail-index" | ||
134 | + rowKey="dId" | ||
135 | + toolbar={{ style: { display: 'none' } }} | ||
136 | + ghost={true} | ||
137 | + scroll={{ | ||
138 | + x: 960, | ||
139 | + }} | ||
140 | + recordCreatorProps={ | ||
141 | + position !== 'hidden' | ||
142 | + ? { | ||
143 | + position: position as 'top', | ||
144 | + record: () => ({ dId: (Math.random() * 1000).toFixed(0) }), | ||
145 | + } | ||
146 | + : false | ||
147 | + } | ||
148 | + loading={false} | ||
149 | + toolBarRender={() => [ | ||
150 | + <ProFormRadio.Group | ||
151 | + key="render" | ||
152 | + fieldProps={{ | ||
153 | + value: position, | ||
154 | + onChange: (e) => setPosition(e.target.value), | ||
155 | + }} | ||
156 | + />, | ||
157 | + ]} | ||
158 | + columns={columns} | ||
159 | + request={dataSource} | ||
160 | + value={dataSource} | ||
161 | + onChange={setEditProductBody} | ||
162 | + editable={{ | ||
163 | + type: 'multiple', | ||
164 | + editableKeys, | ||
165 | + onSave: async () => { | ||
166 | + await waitTime(500); | ||
167 | + }, | ||
168 | + onChange: setEditableRowKeys, | ||
169 | + }} | ||
170 | + /> | ||
171 | + </> | ||
172 | + ); | ||
173 | +}; |
src/pages/Instalment/components/title/title.less
0 → 100644
1 | +.item { | ||
2 | + background: '#0092ff'; | ||
3 | + padding: '8px 0'; | ||
4 | + display: flex; | ||
5 | + flex-flow: row nowrap; | ||
6 | + // flex-direction: row; | ||
7 | + // flex-wrap: nowrap; | ||
8 | + align-content: normal; | ||
9 | + align-items: center; | ||
10 | + padding-bottom: 20px; | ||
11 | +} | ||
12 | + | ||
13 | +// .titleSpan{ | ||
14 | +// font-weight: bold; | ||
15 | +// width: 100px; | ||
16 | +// } | ||
17 | + | ||
18 | +// .Btn{ | ||
19 | +// background: '#0092ff'; | ||
20 | +// padding: '8px 0'; | ||
21 | +// display: flex; | ||
22 | +// flex-flow: row nowrap; | ||
23 | +// // flex-direction: row; | ||
24 | +// // flex-wrap: nowrap; | ||
25 | +// align-content: normal; | ||
26 | +// align-items: center; | ||
27 | +// padding-bottom: 20px; | ||
28 | +// justify-content: space-between; | ||
29 | +// width: 160px; | ||
30 | +// } | ||
31 | + | ||
32 | +.title-index td { | ||
33 | + font-family: 'San Francisco', 'Helvetica Neue', Helvetica, Arial, | ||
34 | + 'Microsoft YaHei', 'PingFang SC', 'Hiragino Sans GB', 'Heiti SC', | ||
35 | + 'WenQuanYi Micro Hei', sans-serif; | ||
36 | + font-size: 14px; | ||
37 | +} |
src/pages/Instalment/components/title/title.tsx
0 → 100644
1 | +import { | ||
2 | + deleteOrderErpOrderStagesDelect, | ||
3 | + getOrderErpOrderStagesListAll, | ||
4 | + postOrderErpOrderStagesSearch, | ||
5 | +} from '@/services'; | ||
6 | +import { orderExport } from '@/services/order'; | ||
7 | +import { VerticalAlignTopOutlined } from '@ant-design/icons'; | ||
8 | +import type { ProColumns } from '@ant-design/pro-components'; | ||
9 | +import { ProTable } from '@ant-design/pro-components'; | ||
10 | +import { Button, message } from 'antd'; | ||
11 | +import { useRef } from 'react'; | ||
12 | +import Comfire from '../comfire/comfire'; | ||
13 | +import AddModel from '../detail/detail'; | ||
14 | +import EditorModel from '../edit/edit'; | ||
15 | +import ReadModel from '../read/read'; | ||
16 | +import UploadModel from '../upload/uploadModel'; | ||
17 | +import './title.less'; | ||
18 | +export const waitTimePromise = async (time: number = 100) => { | ||
19 | + return new Promise((resolve) => { | ||
20 | + setTimeout(() => { | ||
21 | + resolve(true); | ||
22 | + }, time); | ||
23 | + }); | ||
24 | +}; | ||
25 | + | ||
26 | +export const waitTime = async (time: number = 100) => { | ||
27 | + await waitTimePromise(time); | ||
28 | +}; | ||
29 | + | ||
30 | +type OrderStagesItem = { | ||
31 | + //文件编号 | ||
32 | + id?: number; | ||
33 | + //合同编号 | ||
34 | + contract?: string; | ||
35 | + //供应商名称 | ||
36 | + vendor?: string; | ||
37 | + //签合同日期 | ||
38 | + dateRange?: Date; | ||
39 | + //终端名称 | ||
40 | + terminal?: string; | ||
41 | + //设备编号 | ||
42 | + dId?: number; | ||
43 | + //设备名称 | ||
44 | + deviceName?: string; | ||
45 | + //设备型号 | ||
46 | + deviceModel?: string; | ||
47 | + //数量 | ||
48 | + count?: number; | ||
49 | + //单价 | ||
50 | + unitPrice?: number; | ||
51 | + //总价 | ||
52 | + price?: number; | ||
53 | + //合同总金额 | ||
54 | + totalPrice?: number; | ||
55 | + //付款方式 | ||
56 | + payWay?: string; | ||
57 | + //附件 | ||
58 | + annex?: string; | ||
59 | + //备注 | ||
60 | + remark?: string; | ||
61 | +}; | ||
62 | + | ||
63 | +type OrderStagesWithListItem = { | ||
64 | + //文件编号 | ||
65 | + id: number; | ||
66 | + //合同编号 | ||
67 | + contract: string; | ||
68 | + //供应商名称 | ||
69 | + vendor: string; | ||
70 | + //签合同日期 | ||
71 | + dateRange: Date; | ||
72 | + //终端名称 | ||
73 | + terminal: string; | ||
74 | + orderStagesDeviceVoList: orderStagesDevice[]; | ||
75 | + //合同总金额 | ||
76 | + totalPrice: number; | ||
77 | + //付款方式 | ||
78 | + payWay: string; | ||
79 | + //附件 | ||
80 | + annex: string; | ||
81 | + //备注 | ||
82 | + remark: string; | ||
83 | +}; | ||
84 | + | ||
85 | +type orderStagesDevice = { | ||
86 | + //设备id | ||
87 | + dId: number; | ||
88 | + //设备名称 | ||
89 | + deviceName: string; | ||
90 | + //设备型号 | ||
91 | + deviceModel: string; | ||
92 | + //数量 | ||
93 | + count: number; | ||
94 | + //单价 | ||
95 | + unitPrice: number; | ||
96 | + //总价 | ||
97 | + price: number; | ||
98 | +}; | ||
99 | + | ||
100 | +export default () => { | ||
101 | + // const actionRef = useRef<ActionType>(); | ||
102 | + // const [TableItem, setTableItem] = useState([]); | ||
103 | + | ||
104 | + interface ActionType { | ||
105 | + reload: (resetPageIndex?: boolean) => void; | ||
106 | + reloadAndRest: () => void; | ||
107 | + reset: () => void; | ||
108 | + clearSelected?: () => void; | ||
109 | + startEditable: (rowKey: Key) => boolean; | ||
110 | + cancelEditable: (rowKey: Key) => boolean; | ||
111 | + } | ||
112 | + | ||
113 | + const ref = useRef<ActionType>({ | ||
114 | + reload: () => { | ||
115 | + // implementation for reload | ||
116 | + }, | ||
117 | + reloadAndRest: () => { | ||
118 | + // implementation for reloadAndRest | ||
119 | + }, | ||
120 | + reset: () => { | ||
121 | + // implementation for reset | ||
122 | + }, | ||
123 | + startEditable: () => { | ||
124 | + // implementation for startEditable | ||
125 | + }, | ||
126 | + cancelEditable: () => { | ||
127 | + // implementation for cancelEditable | ||
128 | + }, | ||
129 | + }); | ||
130 | + | ||
131 | + function reload() { | ||
132 | + ref.current.reload(); | ||
133 | + } | ||
134 | + | ||
135 | + async function toDelete(value) { | ||
136 | + const res = await deleteOrderErpOrderStagesDelect({ | ||
137 | + data: { | ||
138 | + ids: null, | ||
139 | + deviceIds: value, | ||
140 | + }, | ||
141 | + }); | ||
142 | + if (res) { | ||
143 | + message.success('删除成功'); | ||
144 | + ref.current.reload(); | ||
145 | + } else { | ||
146 | + message.error('删除失败'); | ||
147 | + } | ||
148 | + } | ||
149 | + | ||
150 | + const exportLoadingDestory = () => { | ||
151 | + message.success('导出成功'); | ||
152 | + }; | ||
153 | + | ||
154 | + async function toExport() { | ||
155 | + // await getOrderErpOrderStagesExport() | ||
156 | + orderExport( | ||
157 | + '/api/order/erp/orderStages/export', | ||
158 | + '分期订单.xlsx', | ||
159 | + 'get', | ||
160 | + {}, | ||
161 | + exportLoadingDestory, | ||
162 | + ); | ||
163 | + } | ||
164 | + | ||
165 | + const columns: ProColumns<OrderStagesItem>[] = [ | ||
166 | + { | ||
167 | + title: '文件编号', | ||
168 | + dataIndex: 'id', | ||
169 | + width: '7%', | ||
170 | + render: (_, record) => { | ||
171 | + if (record.id) { | ||
172 | + const text = record.id.toString(); | ||
173 | + const paddedText = '0'.repeat(4 - text.length) + text; | ||
174 | + return paddedText; | ||
175 | + } | ||
176 | + }, | ||
177 | + }, | ||
178 | + { | ||
179 | + title: '签合同日期', | ||
180 | + dataIndex: 'dateRange', | ||
181 | + valueType: 'date', | ||
182 | + filters: true, | ||
183 | + onFilter: true, | ||
184 | + ellipsis: true, | ||
185 | + width: '8%', | ||
186 | + }, | ||
187 | + { | ||
188 | + disable: true, | ||
189 | + title: '合同编号', | ||
190 | + dataIndex: 'contract', | ||
191 | + filters: true, | ||
192 | + onFilter: true, | ||
193 | + ellipsis: true, | ||
194 | + width: '9%', | ||
195 | + }, | ||
196 | + { | ||
197 | + disable: true, | ||
198 | + title: '供应商名称', | ||
199 | + dataIndex: 'vendor', | ||
200 | + filters: true, | ||
201 | + onFilter: true, | ||
202 | + ellipsis: true, | ||
203 | + }, | ||
204 | + { | ||
205 | + disable: true, | ||
206 | + title: '终端名称', | ||
207 | + dataIndex: 'terminal', | ||
208 | + filters: true, | ||
209 | + onFilter: true, | ||
210 | + ellipsis: true, | ||
211 | + width: '6%', | ||
212 | + }, | ||
213 | + { | ||
214 | + disable: true, | ||
215 | + title: '设备名称', | ||
216 | + dataIndex: 'deviceName', | ||
217 | + filters: true, | ||
218 | + onFilter: true, | ||
219 | + ellipsis: true, | ||
220 | + }, | ||
221 | + { | ||
222 | + disable: true, | ||
223 | + title: '设备型号', | ||
224 | + dataIndex: 'deviceModel', | ||
225 | + filters: true, | ||
226 | + hideInSearch: true, | ||
227 | + onFilter: false, | ||
228 | + ellipsis: true, | ||
229 | + width: '10%', | ||
230 | + }, | ||
231 | + { | ||
232 | + disable: true, | ||
233 | + title: '数量', | ||
234 | + dataIndex: 'count', | ||
235 | + filters: true, | ||
236 | + hideInSearch: true, | ||
237 | + onFilter: false, | ||
238 | + ellipsis: true, | ||
239 | + width: '4%', | ||
240 | + }, | ||
241 | + { | ||
242 | + disable: true, | ||
243 | + title: '单价', | ||
244 | + dataIndex: 'unitPrice', | ||
245 | + filters: true, | ||
246 | + hideInSearch: true, | ||
247 | + onFilter: false, | ||
248 | + ellipsis: true, | ||
249 | + width: '5%', | ||
250 | + }, | ||
251 | + { | ||
252 | + disable: true, | ||
253 | + title: '总价', | ||
254 | + dataIndex: 'price', | ||
255 | + filters: true, | ||
256 | + hideInSearch: true, | ||
257 | + onFilter: false, | ||
258 | + ellipsis: true, | ||
259 | + width: '5%', | ||
260 | + }, | ||
261 | + { | ||
262 | + disable: true, | ||
263 | + title: '合同总金额', | ||
264 | + dataIndex: 'totalPrice', | ||
265 | + filters: true, | ||
266 | + hideInSearch: true, | ||
267 | + onFilter: false, | ||
268 | + ellipsis: true, | ||
269 | + width: '6%', | ||
270 | + }, | ||
271 | + { | ||
272 | + disable: true, | ||
273 | + title: '付款方式', | ||
274 | + dataIndex: 'payWay', | ||
275 | + filters: true, | ||
276 | + hideInSearch: true, | ||
277 | + onFilter: false, | ||
278 | + ellipsis: true, | ||
279 | + }, | ||
280 | + { | ||
281 | + disable: true, | ||
282 | + title: '附件', | ||
283 | + dataIndex: 'annex', | ||
284 | + filters: true, | ||
285 | + hideInSearch: true, | ||
286 | + onFilter: false, | ||
287 | + ellipsis: true, | ||
288 | + width: '5%', | ||
289 | + render: (_, record) => { | ||
290 | + if (record.id) { | ||
291 | + return <a href={record.annex}>{record.annex}</a>; | ||
292 | + } | ||
293 | + }, | ||
294 | + }, | ||
295 | + { | ||
296 | + disable: true, | ||
297 | + title: '备注', | ||
298 | + dataIndex: 'remark', | ||
299 | + filters: true, | ||
300 | + hideInSearch: true, | ||
301 | + onFilter: false, | ||
302 | + ellipsis: true, | ||
303 | + width: '5%', | ||
304 | + }, | ||
305 | + { | ||
306 | + title: '操作', | ||
307 | + valueType: 'option', | ||
308 | + key: 'option', | ||
309 | + width: '10%', | ||
310 | + render: (_text, record) => { | ||
311 | + if (record?.id) { | ||
312 | + return ( | ||
313 | + <> | ||
314 | + <ReadModel currentContract={record.contract}></ReadModel> | ||
315 | + | ||
316 | + <EditorModel | ||
317 | + currentContract={record.contract} | ||
318 | + toReload={reload} | ||
319 | + ></EditorModel> | ||
320 | + | ||
321 | + {/* <a key="delect" target="_blank" rel="noopener noreferrer" onClick={() => { toDelete([record.dId]) }}> | ||
322 | + 删除 | ||
323 | + </a> */} | ||
324 | + <Comfire currtDid={record.dId} sureDelete={toDelete}></Comfire> | ||
325 | + </> | ||
326 | + ); | ||
327 | + } | ||
328 | + return null; | ||
329 | + }, | ||
330 | + }, | ||
331 | + ]; | ||
332 | + | ||
333 | + return ( | ||
334 | + <ProTable<OrderStagesItem> | ||
335 | + className="title-index" | ||
336 | + columnEmptyText="" | ||
337 | + columns={columns} | ||
338 | + actionRef={ref} | ||
339 | + cardBordered | ||
340 | + request={async (params) => { | ||
341 | + // console.log(params); | ||
342 | + if ( | ||
343 | + params.id !== null || | ||
344 | + params.contract !== null || | ||
345 | + params.vendor !== null || | ||
346 | + params.terminal !== null || | ||
347 | + params.deviceName !== null || | ||
348 | + params.dateRange !== null | ||
349 | + ) { | ||
350 | + // console.log(params.id); | ||
351 | + // console.log(params.contract); | ||
352 | + // console.log(params.vendor); | ||
353 | + let PostOrderErpOrderStagesSearchOption = { | ||
354 | + id: params.id, | ||
355 | + contract: params.contract, | ||
356 | + vendor: params.vendor, | ||
357 | + terminal: params.terminal, | ||
358 | + deviceName: params.deviceName, | ||
359 | + dateRange: params.dateRange, | ||
360 | + }; | ||
361 | + let res = await postOrderErpOrderStagesSearch({ | ||
362 | + data: { ...PostOrderErpOrderStagesSearchOption }, | ||
363 | + }); | ||
364 | + await waitTime(2000); | ||
365 | + if (res) { | ||
366 | + // setTableItem(res.data) | ||
367 | + const orderStagesWithList: OrderStagesWithListItem[] = res?.data; | ||
368 | + let orderStagesList: OrderStagesItem[] = []; | ||
369 | + for (let ind = 0; ind < orderStagesWithList.length; ind++) { | ||
370 | + for ( | ||
371 | + let index = 0; | ||
372 | + index < orderStagesWithList[ind].orderStagesDeviceVoList.length; | ||
373 | + index++ | ||
374 | + ) { | ||
375 | + let item: OrderStagesItem = { | ||
376 | + id: undefined, | ||
377 | + contract: undefined, | ||
378 | + vendor: undefined, | ||
379 | + dateRange: undefined, | ||
380 | + terminal: undefined, | ||
381 | + dId: undefined, | ||
382 | + deviceName: undefined, | ||
383 | + deviceModel: undefined, | ||
384 | + count: undefined, | ||
385 | + unitPrice: undefined, | ||
386 | + price: undefined, | ||
387 | + totalPrice: undefined, | ||
388 | + payWay: undefined, | ||
389 | + annex: undefined, | ||
390 | + remark: undefined, | ||
391 | + }; | ||
392 | + if (index === 0) { | ||
393 | + item.id = orderStagesWithList[ind].id; | ||
394 | + item.contract = orderStagesWithList[ind].contract; | ||
395 | + item.vendor = orderStagesWithList[ind].vendor; | ||
396 | + item.dateRange = orderStagesWithList[ind].dateRange; | ||
397 | + item.terminal = orderStagesWithList[ind].terminal; | ||
398 | + item.dId = | ||
399 | + orderStagesWithList[ind].orderStagesDeviceVoList[index].dId; | ||
400 | + item.deviceName = | ||
401 | + orderStagesWithList[ind].orderStagesDeviceVoList[ | ||
402 | + index | ||
403 | + ].deviceName; | ||
404 | + item.deviceModel = | ||
405 | + orderStagesWithList[ind].orderStagesDeviceVoList[ | ||
406 | + index | ||
407 | + ].deviceModel; | ||
408 | + item.count = | ||
409 | + orderStagesWithList[ind].orderStagesDeviceVoList[ | ||
410 | + index | ||
411 | + ].count; | ||
412 | + item.unitPrice = | ||
413 | + orderStagesWithList[ind].orderStagesDeviceVoList[ | ||
414 | + index | ||
415 | + ].unitPrice; | ||
416 | + item.price = | ||
417 | + orderStagesWithList[ind].orderStagesDeviceVoList[ | ||
418 | + index | ||
419 | + ].price; | ||
420 | + item.totalPrice = orderStagesWithList[ind].totalPrice; | ||
421 | + item.payWay = orderStagesWithList[ind].payWay; | ||
422 | + item.annex = orderStagesWithList[ind].annex; | ||
423 | + item.remark = orderStagesWithList[ind].remark; | ||
424 | + orderStagesList.push(item); | ||
425 | + } else { | ||
426 | + item.id = orderStagesWithList[ind].id; | ||
427 | + item.contract = orderStagesWithList[ind].contract; | ||
428 | + item.vendor = orderStagesWithList[ind].vendor; | ||
429 | + item.dateRange = orderStagesWithList[ind].dateRange; | ||
430 | + item.terminal = orderStagesWithList[ind].terminal; | ||
431 | + item.dId = | ||
432 | + orderStagesWithList[ind].orderStagesDeviceVoList[index].dId; | ||
433 | + item.deviceName = | ||
434 | + orderStagesWithList[ind].orderStagesDeviceVoList[ | ||
435 | + index | ||
436 | + ].deviceName; | ||
437 | + item.deviceModel = | ||
438 | + orderStagesWithList[ind].orderStagesDeviceVoList[ | ||
439 | + index | ||
440 | + ].deviceModel; | ||
441 | + item.count = | ||
442 | + orderStagesWithList[ind].orderStagesDeviceVoList[ | ||
443 | + index | ||
444 | + ].count; | ||
445 | + item.unitPrice = | ||
446 | + orderStagesWithList[ind].orderStagesDeviceVoList[ | ||
447 | + index | ||
448 | + ].unitPrice; | ||
449 | + item.price = | ||
450 | + orderStagesWithList[ind].orderStagesDeviceVoList[ | ||
451 | + index | ||
452 | + ].price; | ||
453 | + item.totalPrice = orderStagesWithList[ind].totalPrice; | ||
454 | + item.payWay = orderStagesWithList[ind].payWay; | ||
455 | + item.annex = orderStagesWithList[ind].annex; | ||
456 | + item.remark = orderStagesWithList[ind].remark; | ||
457 | + orderStagesList.push(item); | ||
458 | + } | ||
459 | + } | ||
460 | + } | ||
461 | + return { | ||
462 | + data: orderStagesList || [], | ||
463 | + }; | ||
464 | + } | ||
465 | + } else { | ||
466 | + let res = await getOrderErpOrderStagesListAll(); | ||
467 | + await waitTime(2000); | ||
468 | + if (res) { | ||
469 | + // setTableItem(res.data) | ||
470 | + const orderStagesWithList: OrderStagesWithListItem[] = res?.data; | ||
471 | + let orderStagesList: OrderStagesItem[] = []; | ||
472 | + for (let ind = 0; ind < orderStagesWithList.length; ind++) { | ||
473 | + for ( | ||
474 | + let index = 0; | ||
475 | + index < orderStagesWithList[ind].orderStagesDeviceVoList.length; | ||
476 | + index++ | ||
477 | + ) { | ||
478 | + let item: OrderStagesItem = { | ||
479 | + id: undefined, | ||
480 | + contract: undefined, | ||
481 | + vendor: undefined, | ||
482 | + dateRange: undefined, | ||
483 | + terminal: undefined, | ||
484 | + dId: undefined, | ||
485 | + deviceName: undefined, | ||
486 | + deviceModel: undefined, | ||
487 | + count: undefined, | ||
488 | + unitPrice: undefined, | ||
489 | + price: undefined, | ||
490 | + totalPrice: undefined, | ||
491 | + payWay: undefined, | ||
492 | + annex: undefined, | ||
493 | + remark: undefined, | ||
494 | + }; | ||
495 | + if (index === 0) { | ||
496 | + item.id = orderStagesWithList[ind].id; | ||
497 | + item.contract = orderStagesWithList[ind].contract; | ||
498 | + item.vendor = orderStagesWithList[ind].vendor; | ||
499 | + item.dateRange = orderStagesWithList[ind].dateRange; | ||
500 | + item.terminal = orderStagesWithList[ind].terminal; | ||
501 | + item.dId = | ||
502 | + orderStagesWithList[ind].orderStagesDeviceVoList[index].dId; | ||
503 | + item.deviceName = | ||
504 | + orderStagesWithList[ind].orderStagesDeviceVoList[ | ||
505 | + index | ||
506 | + ].deviceName; | ||
507 | + item.deviceModel = | ||
508 | + orderStagesWithList[ind].orderStagesDeviceVoList[ | ||
509 | + index | ||
510 | + ].deviceModel; | ||
511 | + item.count = | ||
512 | + orderStagesWithList[ind].orderStagesDeviceVoList[ | ||
513 | + index | ||
514 | + ].count; | ||
515 | + item.unitPrice = | ||
516 | + orderStagesWithList[ind].orderStagesDeviceVoList[ | ||
517 | + index | ||
518 | + ].unitPrice; | ||
519 | + item.price = | ||
520 | + orderStagesWithList[ind].orderStagesDeviceVoList[ | ||
521 | + index | ||
522 | + ].price; | ||
523 | + item.totalPrice = orderStagesWithList[ind].totalPrice; | ||
524 | + item.payWay = orderStagesWithList[ind].payWay; | ||
525 | + item.annex = orderStagesWithList[ind].annex; | ||
526 | + item.remark = orderStagesWithList[ind].remark; | ||
527 | + orderStagesList.push(item); | ||
528 | + } else { | ||
529 | + item.id = orderStagesWithList[ind].id; | ||
530 | + item.contract = orderStagesWithList[ind].contract; | ||
531 | + item.vendor = orderStagesWithList[ind].vendor; | ||
532 | + item.dateRange = orderStagesWithList[ind].dateRange; | ||
533 | + item.terminal = orderStagesWithList[ind].terminal; | ||
534 | + item.dId = | ||
535 | + orderStagesWithList[ind].orderStagesDeviceVoList[index].dId; | ||
536 | + item.deviceName = | ||
537 | + orderStagesWithList[ind].orderStagesDeviceVoList[ | ||
538 | + index | ||
539 | + ].deviceName; | ||
540 | + item.deviceModel = | ||
541 | + orderStagesWithList[ind].orderStagesDeviceVoList[ | ||
542 | + index | ||
543 | + ].deviceModel; | ||
544 | + item.count = | ||
545 | + orderStagesWithList[ind].orderStagesDeviceVoList[ | ||
546 | + index | ||
547 | + ].count; | ||
548 | + item.unitPrice = | ||
549 | + orderStagesWithList[ind].orderStagesDeviceVoList[ | ||
550 | + index | ||
551 | + ].unitPrice; | ||
552 | + item.price = | ||
553 | + orderStagesWithList[ind].orderStagesDeviceVoList[ | ||
554 | + index | ||
555 | + ].price; | ||
556 | + item.totalPrice = orderStagesWithList[ind].totalPrice; | ||
557 | + item.payWay = orderStagesWithList[ind].payWay; | ||
558 | + item.annex = orderStagesWithList[ind].annex; | ||
559 | + item.remark = orderStagesWithList[ind].remark; | ||
560 | + orderStagesList.push(item); | ||
561 | + } | ||
562 | + } | ||
563 | + } | ||
564 | + return { | ||
565 | + data: orderStagesList || [], | ||
566 | + }; | ||
567 | + } | ||
568 | + } | ||
569 | + }} | ||
570 | + editable={{ | ||
571 | + type: 'multiple', | ||
572 | + }} | ||
573 | + columnsState={{ | ||
574 | + persistenceKey: 'pro-table-singe-demos', | ||
575 | + persistenceType: 'localStorage', | ||
576 | + defaultValue: { | ||
577 | + option: { fixed: 'right', disable: true }, | ||
578 | + }, | ||
579 | + // onChange(value) { | ||
580 | + // console.log('value: ', value); | ||
581 | + // }, | ||
582 | + }} | ||
583 | + rowKey="dId" | ||
584 | + search={{ | ||
585 | + labelWidth: 'auto', | ||
586 | + }} | ||
587 | + options={{ | ||
588 | + setting: { | ||
589 | + listsHeight: 800, | ||
590 | + }, | ||
591 | + }} | ||
592 | + form={{ | ||
593 | + syncToUrl: (values, type) => { | ||
594 | + if (type === 'get') { | ||
595 | + return { | ||
596 | + ...values, | ||
597 | + created_at: [values.startTime, values.endTime], | ||
598 | + }; | ||
599 | + } | ||
600 | + return values; | ||
601 | + }, | ||
602 | + }} | ||
603 | + pagination={{ | ||
604 | + pageSize: 10, | ||
605 | + // onChange: (page) => console.log(page), | ||
606 | + }} | ||
607 | + dateFormatter="string" | ||
608 | + headerTitle={[]} | ||
609 | + toolBarRender={() => [ | ||
610 | + <> | ||
611 | + <AddModel toReload={reload}></AddModel> | ||
612 | + <UploadModel toReload={reload}></UploadModel> | ||
613 | + <Button | ||
614 | + type="primary" | ||
615 | + onClick={() => { | ||
616 | + toExport(); | ||
617 | + }} | ||
618 | + > | ||
619 | + <VerticalAlignTopOutlined /> | ||
620 | + 导出 | ||
621 | + </Button> | ||
622 | + </>, | ||
623 | + ]} | ||
624 | + /> | ||
625 | + ); | ||
626 | +}; |
src/pages/Instalment/components/upload/uploadApp.tsx
0 → 100644
1 | +import { InboxOutlined } from '@ant-design/icons'; | ||
2 | +import { Upload } from 'antd'; | ||
3 | +import React from 'react'; | ||
4 | + | ||
5 | +const App: React.FC = ({ uploadFile }) => { | ||
6 | + const { Dragger } = Upload; | ||
7 | + | ||
8 | + const props = { | ||
9 | + name: 'file', | ||
10 | + multiple: true, | ||
11 | + maxCount: 1, | ||
12 | + onChange: (info) => { | ||
13 | + uploadFile(info.file.originFileObj); | ||
14 | + }, | ||
15 | + }; | ||
16 | + | ||
17 | + return ( | ||
18 | + <Dragger {...props}> | ||
19 | + <p className="ant-upload-drag-icon"> | ||
20 | + <InboxOutlined /> | ||
21 | + </p> | ||
22 | + <p className="ant-upload-text"> | ||
23 | + Click or drag file to this area to upload | ||
24 | + </p> | ||
25 | + <p className="ant-upload-hint"> | ||
26 | + Support for a single or bulk upload. Strictly prohibited from uploading | ||
27 | + company data or other banned files. | ||
28 | + </p> | ||
29 | + </Dragger> | ||
30 | + ); | ||
31 | +}; | ||
32 | + | ||
33 | +export default App; |
src/pages/Instalment/components/upload/uploadModel.tsx
0 → 100644
1 | +import { postOrderErpOrderStagesImport } from '@/services/request'; | ||
2 | +import { VerticalAlignBottomOutlined } from '@ant-design/icons'; | ||
3 | +import { ModalForm } from '@ant-design/pro-components'; | ||
4 | +import { Button, Form, message } from 'antd'; | ||
5 | +import { RcFile } from 'antd/es/upload'; | ||
6 | +import { useState } from 'react'; | ||
7 | +import App from './uploadApp'; | ||
8 | + | ||
9 | +// const waitTime = (time: number = 100) => { | ||
10 | +// return new Promise((resolve) => { | ||
11 | +// setTimeout(() => { | ||
12 | +// resolve(true); | ||
13 | +// }, time); | ||
14 | +// }); | ||
15 | +// }; | ||
16 | + | ||
17 | +export default ({ toReload }) => { | ||
18 | + const [form] = Form.useForm<{ name: string; company: string }>(); | ||
19 | + const [uploadFile, setUploadFile] = useState({}); | ||
20 | + // function setUploadFileWay(value) { | ||
21 | + // setUploadFile(value) | ||
22 | + // } | ||
23 | + return ( | ||
24 | + <ModalForm<{ | ||
25 | + name: string; | ||
26 | + company: string; | ||
27 | + }> | ||
28 | + title="新建表单" | ||
29 | + trigger={ | ||
30 | + <Button type="primary"> | ||
31 | + <VerticalAlignBottomOutlined /> | ||
32 | + 导入 | ||
33 | + </Button> | ||
34 | + } | ||
35 | + form={form} | ||
36 | + autoFocusFirstInput | ||
37 | + modalProps={{ | ||
38 | + destroyOnClose: true, | ||
39 | + }} | ||
40 | + submitTimeout={2000} | ||
41 | + onFinish={async () => { | ||
42 | + const formData = new FormData(); | ||
43 | + formData.append('file', uploadFile as RcFile); | ||
44 | + const res = await postOrderErpOrderStagesImport({ | ||
45 | + data: formData, | ||
46 | + headers: { | ||
47 | + 'Content-Type': | ||
48 | + 'multipart/form-data; boundary=----WebKitFormBoundarynl6gT1BKdPWIejNq', | ||
49 | + }, | ||
50 | + }); | ||
51 | + if (res) { | ||
52 | + message.success('提交成功'); | ||
53 | + toReload(); | ||
54 | + return true; | ||
55 | + } | ||
56 | + }} | ||
57 | + > | ||
58 | + <App uploadFile={setUploadFile}></App> | ||
59 | + </ModalForm> | ||
60 | + ); | ||
61 | +}; |
src/pages/Instalment/index.tsx
0 → 100644
src/pages/Order/components/CheckModal.tsx
@@ -401,6 +401,9 @@ export default ({ | @@ -401,6 +401,9 @@ export default ({ | ||
401 | if (checkType(CHECK_TYPE.CONFIRM_REISSUE)) { | 401 | if (checkType(CHECK_TYPE.CONFIRM_REISSUE)) { |
402 | type = 'confirm_reissue'; | 402 | type = 'confirm_reissue'; |
403 | } | 403 | } |
404 | + if (checkType(CHECK_TYPE.CREDIT_AUDIT)) { | ||
405 | + type = 'credit_audit'; | ||
406 | + } | ||
404 | return type; | 407 | return type; |
405 | } | 408 | } |
406 | 409 | ||
@@ -648,11 +651,15 @@ export default ({ | @@ -648,11 +651,15 @@ export default ({ | ||
648 | ) : ( | 651 | ) : ( |
649 | <div>请特别注意订单总金额与订单金额。</div> | 652 | <div>请特别注意订单总金额与订单金额。</div> |
650 | )} | 653 | )} |
651 | - <ProFormTextArea | ||
652 | - width="lg" | ||
653 | - name="name" | ||
654 | - placeholder="若驳回,请填写驳回理由" | ||
655 | - /> | 654 | + {!checkType(CHECK_TYPE.CONFIRM_DELIVER) ? ( |
655 | + <ProFormTextArea | ||
656 | + width="lg" | ||
657 | + name="name" | ||
658 | + placeholder="若驳回,请填写驳回理由" | ||
659 | + /> | ||
660 | + ) : ( | ||
661 | + <></> | ||
662 | + )} | ||
656 | {checkType(CHECK_TYPE.FINALCIAL) ? ( | 663 | {checkType(CHECK_TYPE.FINALCIAL) ? ( |
657 | <> | 664 | <> |
658 | <div className="pb-4 text-xs decoration-gray-50"> | 665 | <div className="pb-4 text-xs decoration-gray-50"> |
src/pages/Order/components/ImportExpressBillModal.tsx
0 → 100644
1 | +import { RESPONSE_CODE } from '@/constants/enum'; | ||
2 | +import { postOrderImportImportWeightAndVolume } from '@/services'; | ||
3 | +import { ModalForm, ProFormUploadDragger } from '@ant-design/pro-components'; | ||
4 | +import { Button, Form, message } from 'antd'; | ||
5 | + | ||
6 | +export default () => { | ||
7 | + const [form] = Form.useForm(); | ||
8 | + const [messageApi, contextHolder] = message.useMessage(); | ||
9 | + return ( | ||
10 | + <> | ||
11 | + <ModalForm | ||
12 | + title="导入重量、体积" | ||
13 | + trigger={<Button type="primary">导入重量、体积</Button>} | ||
14 | + form={form} | ||
15 | + autoFocusFirstInput | ||
16 | + modalProps={{ | ||
17 | + destroyOnClose: true, | ||
18 | + }} | ||
19 | + submitTimeout={2000} | ||
20 | + onFinish={async (values) => { | ||
21 | + console.log(values); | ||
22 | + const formData = new FormData(); | ||
23 | + formData.append('file', values.express[0].originFileObj); | ||
24 | + messageApi.open({ | ||
25 | + type: 'loading', | ||
26 | + content: '正在导入...', | ||
27 | + duration: 0, | ||
28 | + }); | ||
29 | + const res = await postOrderImportImportWeightAndVolume({ | ||
30 | + data: formData, | ||
31 | + headers: { | ||
32 | + 'Content-Type': | ||
33 | + 'multipart/form-data; boundary=----WebKitFormBoundarynl6gT1BKdPWIejNq', | ||
34 | + }, | ||
35 | + }); | ||
36 | + if (res.result === RESPONSE_CODE.SUCCESS) { | ||
37 | + return true; | ||
38 | + } else { | ||
39 | + message.error('导入失败'); | ||
40 | + } | ||
41 | + messageApi.destroy(); | ||
42 | + }} | ||
43 | + > | ||
44 | + <ProFormUploadDragger max={1} label="上传快递单" name="express" /> | ||
45 | + </ModalForm> | ||
46 | + {contextHolder} | ||
47 | + </> | ||
48 | + ); | ||
49 | +}; |
src/pages/Order/components/ImportModal.tsx
@@ -26,7 +26,13 @@ export default ({ onClose }) => { | @@ -26,7 +26,13 @@ export default ({ onClose }) => { | ||
26 | }; | 26 | }; |
27 | const downloadTemplate = async () => { | 27 | const downloadTemplate = async () => { |
28 | exportLoading('正在下载模板...'); | 28 | exportLoading('正在下载模板...'); |
29 | - orderExport('/api/service/order/exportTemplate', {}, exportLoadingDestory); | 29 | + orderExport( |
30 | + '/api/service/order/exportTemplate', | ||
31 | + '订单.xlsx', | ||
32 | + 'post', | ||
33 | + {}, | ||
34 | + exportLoadingDestory, | ||
35 | + ); | ||
30 | }; | 36 | }; |
31 | 37 | ||
32 | const handleUpload = async () => { | 38 | const handleUpload = async () => { |
@@ -59,6 +65,8 @@ export default ({ onClose }) => { | @@ -59,6 +65,8 @@ export default ({ onClose }) => { | ||
59 | exportLoading('正在下载错误信息...'); | 65 | exportLoading('正在下载错误信息...'); |
60 | orderExport( | 66 | orderExport( |
61 | '/api/service/order/errorExcelInformation', | 67 | '/api/service/order/errorExcelInformation', |
68 | + '订单.xlsx', | ||
69 | + 'post', | ||
62 | formData, | 70 | formData, |
63 | exportLoadingDestory, | 71 | exportLoadingDestory, |
64 | ); | 72 | ); |
src/pages/Order/components/ModifiedDiffModal.tsx
1 | import { postServiceOrderModifiedDiff } from '@/services'; | 1 | import { postServiceOrderModifiedDiff } from '@/services'; |
2 | -import { | ||
3 | - enumValueToLabel, | ||
4 | - getAliYunOSSFileNameFromUrl, | ||
5 | - getUserInfo, | ||
6 | -} from '@/utils'; | 2 | +import { enumValueToLabel, getAliYunOSSFileNameFromUrl } from '@/utils'; |
7 | import { getReceivingCompanyOptions, isSupplier } from '@/utils/order'; | 3 | import { getReceivingCompanyOptions, isSupplier } from '@/utils/order'; |
8 | import { Button, Divider, Modal, Space, Table, TableProps } from 'antd'; | 4 | import { Button, Divider, Modal, Space, Table, TableProps } from 'antd'; |
9 | -import Base64 from 'base-64'; | ||
10 | import { useEffect, useState } from 'react'; | 5 | import { useEffect, useState } from 'react'; |
11 | import { | 6 | import { |
12 | PAYEE_OPTIONS, | 7 | PAYEE_OPTIONS, |
8 | + PAYMENT_CHANNEL_OPTIONS, | ||
9 | + PAYMENT_METHOD_OPTIONS, | ||
13 | PRODUCT_BELONG_DEPARTMENT_OPTIONS, | 10 | PRODUCT_BELONG_DEPARTMENT_OPTIONS, |
14 | SHIPPING_WAREHOUSE_OPTIONS, | 11 | SHIPPING_WAREHOUSE_OPTIONS, |
15 | } from '../constant'; | 12 | } from '../constant'; |
16 | import '../table.less'; | 13 | import '../table.less'; |
17 | 14 | ||
18 | export default ({ setVisible, subOrders, mainOrder, onClose }) => { | 15 | export default ({ setVisible, subOrders, mainOrder, onClose }) => { |
19 | - const userInfo = getUserInfo(); | ||
20 | let subIds = subOrders?.map((item: any) => { | 16 | let subIds = subOrders?.map((item: any) => { |
21 | return item.id; | 17 | return item.id; |
22 | }); | 18 | }); |
@@ -77,6 +73,12 @@ export default ({ setVisible, subOrders, mainOrder, onClose }) => { | @@ -77,6 +73,12 @@ export default ({ setVisible, subOrders, mainOrder, onClose }) => { | ||
77 | if (key === '发货仓库') { | 73 | if (key === '发货仓库') { |
78 | newText = enumValueToLabel(text, SHIPPING_WAREHOUSE_OPTIONS); | 74 | newText = enumValueToLabel(text, SHIPPING_WAREHOUSE_OPTIONS); |
79 | } | 75 | } |
76 | + if (key === '支付渠道') { | ||
77 | + newText = enumValueToLabel(text, PAYMENT_CHANNEL_OPTIONS); | ||
78 | + } | ||
79 | + if (key === '支付方式') { | ||
80 | + newText = enumValueToLabel(text, PAYMENT_METHOD_OPTIONS); | ||
81 | + } | ||
80 | if (key === '单价' || key === '合计') { | 82 | if (key === '单价' || key === '合计') { |
81 | newText = '¥' + newText; | 83 | newText = '¥' + newText; |
82 | } | 84 | } |
@@ -186,6 +188,8 @@ export default ({ setVisible, subOrders, mainOrder, onClose }) => { | @@ -186,6 +188,8 @@ export default ({ setVisible, subOrders, mainOrder, onClose }) => { | ||
186 | ['productBelongBusiness', '所属事业部'], | 188 | ['productBelongBusiness', '所属事业部'], |
187 | ['shippingWarehouse', '发货仓库'], | 189 | ['shippingWarehouse', '发货仓库'], |
188 | ['notes', '备注'], | 190 | ['notes', '备注'], |
191 | + ['paymentChannel', '支付渠道'], | ||
192 | + ['paymentMethod', '支付方式'], | ||
189 | ['listAnnex', '附件'], | 193 | ['listAnnex', '附件'], |
190 | ]; | 194 | ]; |
191 | for (let field of visibleFields) { | 195 | for (let field of visibleFields) { |
@@ -234,7 +238,6 @@ export default ({ setVisible, subOrders, mainOrder, onClose }) => { | @@ -234,7 +238,6 @@ export default ({ setVisible, subOrders, mainOrder, onClose }) => { | ||
234 | ['institutionContactName', '单位联系人'], | 238 | ['institutionContactName', '单位联系人'], |
235 | ['institution', '单位'], | 239 | ['institution', '单位'], |
236 | ['totalPayment', '支付总金额'], | 240 | ['totalPayment', '支付总金额'], |
237 | - ['paymentChannel', '支付渠道'], | ||
238 | ['notes', '备注'], | 241 | ['notes', '备注'], |
239 | ['bank', '开户银行'], | 242 | ['bank', '开户银行'], |
240 | ['bankAccountNumber', '银行账号'], | 243 | ['bankAccountNumber', '银行账号'], |
src/pages/Order/components/OrderDrawer.tsx
1 | import { RESPONSE_CODE } from '@/constants/enum'; | 1 | import { RESPONSE_CODE } from '@/constants/enum'; |
2 | import { | 2 | import { |
3 | postCanrdApiUserAddressList, | 3 | postCanrdApiUserAddressList, |
4 | - postCanrdApiUserList, | 4 | + postCanrdApiUserDetail, |
5 | + postCanrdApiUserNowMoneyCheck, | ||
5 | postKingdeeRepCustomerDetail, | 6 | postKingdeeRepCustomerDetail, |
6 | postKingdeeRepMaterial, | 7 | postKingdeeRepMaterial, |
7 | postKingdeeRepMaterialUnit, | 8 | postKingdeeRepMaterialUnit, |
8 | postKingdeeRepMeasureUnit, | 9 | postKingdeeRepMeasureUnit, |
10 | + postPrepaidPhoneAvailableList, | ||
9 | postServiceOrderAddOrder, | 11 | postServiceOrderAddOrder, |
10 | postServiceOrderAfterSalesQuerySnapshotOrder, | 12 | postServiceOrderAfterSalesQuerySnapshotOrder, |
11 | postServiceOrderApplyAfterSales, | 13 | postServiceOrderApplyAfterSales, |
12 | postServiceOrderApplyModify, | 14 | postServiceOrderApplyModify, |
13 | - postServiceOrderQuerySalesCode, | ||
14 | postServiceOrderUpdateOrder, | 15 | postServiceOrderUpdateOrder, |
15 | } from '@/services'; | 16 | } from '@/services'; |
16 | import { | 17 | import { |
@@ -22,6 +23,7 @@ import { | @@ -22,6 +23,7 @@ import { | ||
22 | } from '@/utils'; | 23 | } from '@/utils'; |
23 | import { getDefaultString } from '@/utils/StringUtil'; | 24 | import { getDefaultString } from '@/utils/StringUtil'; |
24 | import { getTeacherCustomFieldNumber } from '@/utils/kingdee'; | 25 | import { getTeacherCustomFieldNumber } from '@/utils/kingdee'; |
26 | +import { getSalesCodeOptions } from '@/utils/order'; | ||
25 | import { | 27 | import { |
26 | DrawerForm, | 28 | DrawerForm, |
27 | FormListActionType, | 29 | FormListActionType, |
@@ -106,6 +108,7 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | @@ -106,6 +108,7 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
106 | }, | 108 | }, |
107 | ]; | 109 | ]; |
108 | }>(); | 110 | }>(); |
111 | + const [accountOptions, setAccountOptions] = useState<any>([]); | ||
109 | 112 | ||
110 | let copyData = cloneDeep(data); | 113 | let copyData = cloneDeep(data); |
111 | 114 | ||
@@ -122,15 +125,8 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | @@ -122,15 +125,8 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
122 | /** | 125 | /** |
123 | * 获取销售代码枚举,在复制和编辑的时候判断是否为旧的代码 | 126 | * 获取销售代码枚举,在复制和编辑的时候判断是否为旧的代码 |
124 | */ | 127 | */ |
125 | - const getSalesCodeOptions = async () => { | ||
126 | - const res = await postServiceOrderQuerySalesCode(); | ||
127 | - let options = res.data?.map((item) => { | ||
128 | - return { | ||
129 | - label: item.userName, | ||
130 | - value: item.userName, | ||
131 | - number: item.number, | ||
132 | - }; | ||
133 | - }); | 128 | + const loadSalesCodeOptions = async () => { |
129 | + let options = await getSalesCodeOptions(); | ||
134 | setSalesCodeOptions(options); | 130 | setSalesCodeOptions(options); |
135 | 131 | ||
136 | if (optType('copy') || optType('edit')) { | 132 | if (optType('copy') || optType('edit')) { |
@@ -236,6 +232,38 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | @@ -236,6 +232,38 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
236 | // } | 232 | // } |
237 | 233 | ||
238 | /** | 234 | /** |
235 | + * 加载预存账号的options | ||
236 | + */ | ||
237 | + async function loadAccountOptions(phone: any) { | ||
238 | + let newAccountOptions = []; | ||
239 | + //预存账号id | ||
240 | + let uid = copyData.prepaidUid; | ||
241 | + let res = await postCanrdApiUserDetail({ data: { uid: uid } }); | ||
242 | + if (res && res.result === RESPONSE_CODE.SUCCESS && res.data !== null) { | ||
243 | + let uidDetail = res.data; | ||
244 | + uidDetail.value = uid; | ||
245 | + uidDetail.label = uidDetail.realName; | ||
246 | + newAccountOptions.push(uidDetail); | ||
247 | + } | ||
248 | + | ||
249 | + //查询当前手机号允许使用的预存账号 | ||
250 | + if (phone) { | ||
251 | + let res = await postPrepaidPhoneAvailableList({ data: { phone: phone } }); | ||
252 | + if (res && res.result === RESPONSE_CODE.SUCCESS) { | ||
253 | + let uidDetails = res.data; | ||
254 | + for (let detail of uidDetails) { | ||
255 | + detail.value = detail.uid; | ||
256 | + detail.label = detail.realName; | ||
257 | + newAccountOptions.push(detail); | ||
258 | + } | ||
259 | + } | ||
260 | + } | ||
261 | + | ||
262 | + console.log(newAccountOptions); | ||
263 | + setAccountOptions(newAccountOptions); | ||
264 | + } | ||
265 | + | ||
266 | + /** | ||
239 | * 构建回显数据 | 267 | * 构建回显数据 |
240 | */ | 268 | */ |
241 | function buildOrderData() { | 269 | function buildOrderData() { |
@@ -303,6 +331,8 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | @@ -303,6 +331,8 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
303 | if (!optType('after-sales-check')) { | 331 | if (!optType('after-sales-check')) { |
304 | // showKindeeInfo(); | 332 | // showKindeeInfo(); |
305 | } | 333 | } |
334 | + | ||
335 | + loadAccountOptions(form.getFieldValue('customerContactNumber')); | ||
306 | } | 336 | } |
307 | } | 337 | } |
308 | 338 | ||
@@ -524,6 +554,8 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | @@ -524,6 +554,8 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
524 | getDefaultString(option.detail), | 554 | getDefaultString(option.detail), |
525 | ); | 555 | ); |
526 | form.setFieldValue('customerNameString', option.realName); | 556 | form.setFieldValue('customerNameString', option.realName); |
557 | + | ||
558 | + loadAccountOptions(option.phone); | ||
527 | } | 559 | } |
528 | 560 | ||
529 | //erp收货地址:需要与客户联系人中的地址一样:姓名,手机号,地址 | 561 | //erp收货地址:需要与客户联系人中的地址一样:姓名,手机号,地址 |
@@ -586,6 +618,56 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | @@ -586,6 +618,56 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
586 | } | 618 | } |
587 | 619 | ||
588 | /** | 620 | /** |
621 | + * 检查用户额度 | ||
622 | + * @param option | ||
623 | + */ | ||
624 | + const checkAccountMoney = async (uid: any, subPrice: any) => { | ||
625 | + let res = await postCanrdApiUserNowMoneyCheck({ | ||
626 | + data: { uid: uid, subPrice: subPrice }, | ||
627 | + }); | ||
628 | + if (res && res.result === RESPONSE_CODE.SUCCESS && res.data) { | ||
629 | + let data = res.data; | ||
630 | + let isCredit = data.isCredit; | ||
631 | + if (isCredit) { | ||
632 | + return true; | ||
633 | + } | ||
634 | + | ||
635 | + message.error( | ||
636 | + '用户余额不足,当前预减的金额为:' + | ||
637 | + data.subPrice + | ||
638 | + ',当前账号余额为:' + | ||
639 | + data.nowMoney + | ||
640 | + ',当前账号可赊账额度为:' + | ||
641 | + data.creditLimit, | ||
642 | + ); | ||
643 | + return false; | ||
644 | + } | ||
645 | + | ||
646 | + return false; | ||
647 | + }; | ||
648 | + | ||
649 | + /** | ||
650 | + * 总金额改变触发事件 | ||
651 | + * 如果是预存单,需要检查余额 | ||
652 | + * @param value | ||
653 | + */ | ||
654 | + const totalPaymentChange = (value: any) => { | ||
655 | + let paymentMethod = form.getFieldValue('paymentMethod'); | ||
656 | + let prepaidUid = form.getFieldValue('prepaidUid'); | ||
657 | + if ( | ||
658 | + value && | ||
659 | + paymentMethod && | ||
660 | + paymentMethod === 'WITHHOLDING_ADVANCE_DEPOSIT' && | ||
661 | + prepaidUid | ||
662 | + ) { | ||
663 | + let valid = checkAccountMoney(prepaidUid, value); | ||
664 | + if (!valid) { | ||
665 | + form.setFieldValue('prepaidUid', undefined); | ||
666 | + } | ||
667 | + } | ||
668 | + }; | ||
669 | + | ||
670 | + /** | ||
589 | * 检查客户是否可以编辑 | 671 | * 检查客户是否可以编辑 |
590 | * @returns | 672 | * @returns |
591 | */ | 673 | */ |
@@ -658,6 +740,18 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | @@ -658,6 +740,18 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
658 | } | 740 | } |
659 | } | 741 | } |
660 | 742 | ||
743 | + const validateContactNumber = (_: any, value: any) => { | ||
744 | + const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; | ||
745 | + const phoneRegex = /^\d{1,11}(-\d{1,11})?$/; | ||
746 | + | ||
747 | + if (emailRegex.test(value) || phoneRegex.test(value)) { | ||
748 | + return Promise.resolve(); | ||
749 | + } | ||
750 | + return Promise.reject( | ||
751 | + new Error('联系方式必须是邮箱或手机号格式(不能包含空格等特殊符号)'), | ||
752 | + ); | ||
753 | + }; | ||
754 | + | ||
661 | /** | 755 | /** |
662 | * 刪除草稿数据 | 756 | * 刪除草稿数据 |
663 | */ | 757 | */ |
@@ -667,7 +761,7 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | @@ -667,7 +761,7 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
667 | 761 | ||
668 | useEffect(() => { | 762 | useEffect(() => { |
669 | checkHasLocalData(); | 763 | checkHasLocalData(); |
670 | - getSalesCodeOptions(); | 764 | + loadSalesCodeOptions(); |
671 | if (optType('after-sales-check')) { | 765 | if (optType('after-sales-check')) { |
672 | getOldOrderData(data.id); | 766 | getOldOrderData(data.id); |
673 | } else { | 767 | } else { |
@@ -949,7 +1043,6 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | @@ -949,7 +1043,6 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
949 | } | 1043 | } |
950 | 1044 | ||
951 | let title = ''; | 1045 | let title = ''; |
952 | - let spanText = ''; | ||
953 | let realName = item.realName; | 1046 | let realName = item.realName; |
954 | let phone = item.phone; | 1047 | let phone = item.phone; |
955 | let province = item.province; | 1048 | let province = item.province; |
@@ -959,31 +1052,41 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | @@ -959,31 +1052,41 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
959 | let institution = item.institution; | 1052 | let institution = item.institution; |
960 | let institutionContactName = item.institutionContactName; | 1053 | let institutionContactName = item.institutionContactName; |
961 | 1054 | ||
962 | - title = | ||
963 | - getDefaultString(realName) + | ||
964 | - '|' + | ||
965 | - getDefaultString(phone) + | ||
966 | - '|' + | ||
967 | - getDefaultString(institution) + | ||
968 | - '|' + | ||
969 | - getDefaultString(institutionContactName) + | ||
970 | - '|' + | 1055 | + let address = |
971 | getDefaultString(province) + | 1056 | getDefaultString(province) + |
972 | getDefaultString(city) + | 1057 | getDefaultString(city) + |
973 | getDefaultString(district) + | 1058 | getDefaultString(district) + |
974 | getDefaultString(detail); | 1059 | getDefaultString(detail); |
975 | 1060 | ||
976 | - spanText = | 1061 | + title = |
977 | getDefaultString(realName) + | 1062 | getDefaultString(realName) + |
978 | '|' + | 1063 | '|' + |
979 | getDefaultString(phone) + | 1064 | getDefaultString(phone) + |
980 | '|' + | 1065 | '|' + |
981 | getDefaultString(institution) + | 1066 | getDefaultString(institution) + |
982 | '|' + | 1067 | '|' + |
983 | - getDefaultString(institutionContactName); | 1068 | + getDefaultString(institutionContactName) + |
1069 | + '|' + | ||
1070 | + address; | ||
1071 | + | ||
984 | return ( | 1072 | return ( |
985 | - <div title={title}> | ||
986 | - <span style={{ color: '#333333' }}>{spanText}</span> | 1073 | + <div title={title} className="whitespace-normal"> |
1074 | + <span style={{ color: '#333333' }}> | ||
1075 | + {getDefaultString(realName)} | ||
1076 | + </span> | ||
1077 | + | | ||
1078 | + <span className="text-sky-600"> | ||
1079 | + {getDefaultString(phone)} | ||
1080 | + </span> | ||
1081 | + | | ||
1082 | + <span style={{ color: '#333333' }}> | ||
1083 | + {getDefaultString(institution)} | ||
1084 | + </span> | ||
1085 | + | | ||
1086 | + <span style={{ color: '#333333' }}> | ||
1087 | + {getDefaultString(institutionContactName)} | ||
1088 | + </span> | ||
1089 | + |<span className="text-orange-400">{address}</span> | ||
987 | </div> | 1090 | </div> |
988 | ); | 1091 | ); |
989 | }, | 1092 | }, |
@@ -991,6 +1094,9 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | @@ -991,6 +1094,9 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
991 | debounceTime={1000} | 1094 | debounceTime={1000} |
992 | request={async (value, {}) => { | 1095 | request={async (value, {}) => { |
993 | const keywords = value.keyWords; | 1096 | const keywords = value.keyWords; |
1097 | + if (keywords === '') { | ||
1098 | + return []; | ||
1099 | + } | ||
994 | const res = await postCanrdApiUserAddressList({ | 1100 | const res = await postCanrdApiUserAddressList({ |
995 | data: { keywords: keywords }, | 1101 | data: { keywords: keywords }, |
996 | }); | 1102 | }); |
@@ -1044,7 +1150,15 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | @@ -1044,7 +1150,15 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
1044 | name="customerContactNumber" | 1150 | name="customerContactNumber" |
1045 | label="联系方式" | 1151 | label="联系方式" |
1046 | placeholder="请输入联系方式" | 1152 | placeholder="请输入联系方式" |
1047 | - rules={[{ required: true, message: '联系方式必填' }]} | 1153 | + fieldProps={{ |
1154 | + onBlur: (v) => { | ||
1155 | + loadAccountOptions(v.target.value); | ||
1156 | + }, | ||
1157 | + }} | ||
1158 | + rules={[ | ||
1159 | + { required: true, message: '联系方式必填' }, | ||
1160 | + { validator: validateContactNumber }, | ||
1161 | + ]} | ||
1048 | /> | 1162 | /> |
1049 | <ProFormText | 1163 | <ProFormText |
1050 | width="lg" | 1164 | width="lg" |
@@ -1080,7 +1194,12 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | @@ -1080,7 +1194,12 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
1080 | { required: true, message: '支付总额必填' }, | 1194 | { required: true, message: '支付总额必填' }, |
1081 | { | 1195 | { |
1082 | validator: (_, value) => { | 1196 | validator: (_, value) => { |
1083 | - if (value <= 0) { | 1197 | + let paymentMethod = form.getFieldValue('paymentMethod'); |
1198 | + if ( | ||
1199 | + value <= 0 && | ||
1200 | + paymentMethod && | ||
1201 | + paymentMethod === 'WITHHOLDING_ADVANCE_DEPOSIT' | ||
1202 | + ) { | ||
1084 | return Promise.reject( | 1203 | return Promise.reject( |
1085 | new Error( | 1204 | new Error( |
1086 | '支付总额必须大于0 (扣预存的订单现在也必须填写实际金额)', | 1205 | '支付总额必须大于0 (扣预存的订单现在也必须填写实际金额)', |
@@ -1103,6 +1222,9 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | @@ -1103,6 +1222,9 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
1103 | 计算 | 1222 | 计算 |
1104 | </Button> | 1223 | </Button> |
1105 | ), | 1224 | ), |
1225 | + onChange: (value: any) => { | ||
1226 | + totalPaymentChange(value); | ||
1227 | + }, | ||
1106 | }} | 1228 | }} |
1107 | disabled={optType('after-sales-check')} | 1229 | disabled={optType('after-sales-check')} |
1108 | /> | 1230 | /> |
@@ -1138,8 +1260,15 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | @@ -1138,8 +1260,15 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
1138 | hidden={paymentMethod !== 'WITHHOLDING_ADVANCE_DEPOSIT'} | 1260 | hidden={paymentMethod !== 'WITHHOLDING_ADVANCE_DEPOSIT'} |
1139 | showSearch | 1261 | showSearch |
1140 | label="预存账号" | 1262 | label="预存账号" |
1141 | - onChange={(option: any) => { | ||
1142 | - form.setFieldValue('prepaidAmount', option.nowMoney); | 1263 | + onChange={(value: any) => { |
1264 | + //检查用户额度 | ||
1265 | + let valid = checkAccountMoney( | ||
1266 | + value, | ||
1267 | + form.getFieldValue('totalPayment'), | ||
1268 | + ); | ||
1269 | + if (!valid) { | ||
1270 | + form.setFieldValue('prepaidUid', undefined); | ||
1271 | + } | ||
1143 | }} | 1272 | }} |
1144 | placeholder="请选择预存账号" | 1273 | placeholder="请选择预存账号" |
1145 | rules={[ | 1274 | rules={[ |
@@ -1170,21 +1299,22 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | @@ -1170,21 +1299,22 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
1170 | }, | 1299 | }, |
1171 | }} | 1300 | }} |
1172 | debounceTime={1000} | 1301 | debounceTime={1000} |
1173 | - request={async (value, {}) => { | ||
1174 | - const keywords = value.keyWords; | ||
1175 | - const res = await postCanrdApiUserList({ | ||
1176 | - data: { keywords: keywords, pageSize: 1000000 }, | ||
1177 | - }); | ||
1178 | - let options = res?.data?.data?.map((c: any) => { | ||
1179 | - return { | ||
1180 | - ...c, | ||
1181 | - label: c.realName, | ||
1182 | - value: c.uid, | ||
1183 | - key: c.uid, | ||
1184 | - }; | ||
1185 | - }); | ||
1186 | - return options; | ||
1187 | - }} | 1302 | + // request={async (value, {}) => { |
1303 | + // const keywords = value.keyWords; | ||
1304 | + // const res = await postCanrdApiUserList({ | ||
1305 | + // data: { keywords: keywords, pageSize: 50 }, | ||
1306 | + // }); | ||
1307 | + // let options = res?.data?.data?.map((c: any) => { | ||
1308 | + // return { | ||
1309 | + // ...c, | ||
1310 | + // label: c.realName, | ||
1311 | + // value: c.uid, | ||
1312 | + // key: c.uid, | ||
1313 | + // }; | ||
1314 | + // }); | ||
1315 | + // return options; | ||
1316 | + // }} | ||
1317 | + options={accountOptions} | ||
1188 | /> | 1318 | /> |
1189 | <ProFormSelect | 1319 | <ProFormSelect |
1190 | placeholder="选择是否需要开票" | 1320 | placeholder="选择是否需要开票" |
@@ -1305,8 +1435,6 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | @@ -1305,8 +1435,6 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
1305 | (sum, item) => FloatAdd(sum, item.subOrderPayment), | 1435 | (sum, item) => FloatAdd(sum, item.subOrderPayment), |
1306 | 0, | 1436 | 0, |
1307 | ); | 1437 | ); |
1308 | - console.log(reduce); | ||
1309 | - console.log(totalPayment); | ||
1310 | if (reduce === totalPayment || value) { | 1438 | if (reduce === totalPayment || value) { |
1311 | return Promise.resolve(); | 1439 | return Promise.resolve(); |
1312 | } | 1440 | } |
@@ -1516,8 +1644,20 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | @@ -1516,8 +1644,20 @@ export default ({ onClose, data, subOrders, orderOptType }) => { | ||
1516 | label="商品数量" | 1644 | label="商品数量" |
1517 | fieldProps={{ | 1645 | fieldProps={{ |
1518 | onChange: (value) => { | 1646 | onChange: (value) => { |
1519 | - listMeta.record.quantity = value; | ||
1520 | - computeSubOrderPayment(listMeta); | 1647 | + // 确保变更后的值为整数 |
1648 | + const intValue = parseInt(value, 10); | ||
1649 | + if (!isNaN(intValue)) { | ||
1650 | + listMeta.record.quantity = intValue; | ||
1651 | + computeSubOrderPayment(listMeta); | ||
1652 | + } | ||
1653 | + }, | ||
1654 | + parser: (value) => { | ||
1655 | + // 将输入的值转换为整数,如果不是合法数字则返回空字符串触发校验错误 | ||
1656 | + return value ? parseInt(value, 10) : ''; | ||
1657 | + }, | ||
1658 | + formatter: (value) => { | ||
1659 | + // 在显示时始终将其格式化为不带小数部分的整数字符串 | ||
1660 | + return value ? value.toString() : ''; | ||
1521 | }, | 1661 | }, |
1522 | }} | 1662 | }} |
1523 | placeholder="请输入商品数量" | 1663 | placeholder="请输入商品数量" |
src/pages/Order/constant.ts
1 | import { postServiceOrderQueryCustomerInformation } from '@/services'; | 1 | import { postServiceOrderQueryCustomerInformation } from '@/services'; |
2 | import { enumToProTableEnumValue } from '@/utils'; | 2 | import { enumToProTableEnumValue } from '@/utils'; |
3 | import { getReceivingCompanyOptions, isSupplier } from '@/utils/order'; | 3 | import { getReceivingCompanyOptions, isSupplier } from '@/utils/order'; |
4 | - | ||
5 | export const COMFIR_RECEIPT_IMAGES_NUMBER = 3; | 4 | export const COMFIR_RECEIPT_IMAGES_NUMBER = 3; |
6 | 5 | ||
7 | export const PAYMENT_CHANNEL_OPTIONS = { | 6 | export const PAYMENT_CHANNEL_OPTIONS = { |
@@ -29,6 +28,7 @@ export const PAYMENT_METHOD_OPTIONS = { | @@ -29,6 +28,7 @@ export const PAYMENT_METHOD_OPTIONS = { | ||
29 | CASH_ON_DELIVERY: '货到付款', | 28 | CASH_ON_DELIVERY: '货到付款', |
30 | HIRE_PURCHASE: '分期付款', | 29 | HIRE_PURCHASE: '分期付款', |
31 | PAYMENT_RECEIPT: '已回款', | 30 | PAYMENT_RECEIPT: '已回款', |
31 | + PREPAID_NO_NEED_SEND: '预存款无需发货', | ||
32 | }; | 32 | }; |
33 | 33 | ||
34 | export const PRODUCT_BELONG_DEPARTMENT_OPTIONS = { | 34 | export const PRODUCT_BELONG_DEPARTMENT_OPTIONS = { |
@@ -108,6 +108,7 @@ export const CHECK_TYPE = { | @@ -108,6 +108,7 @@ export const CHECK_TYPE = { | ||
108 | PAYMENT_RECEIPTS_AUDIT: 'PAYMENT_RECEIPTS_AUDIT', | 108 | PAYMENT_RECEIPTS_AUDIT: 'PAYMENT_RECEIPTS_AUDIT', |
109 | CONFIRM_REISSUE: 'CONFIRM_REISSUE', | 109 | CONFIRM_REISSUE: 'CONFIRM_REISSUE', |
110 | PREPAID_AUDIT: 'PREPAID_AUDIT', | 110 | PREPAID_AUDIT: 'PREPAID_AUDIT', |
111 | + CREDIT_AUDIT: 'CREDIT_AUDIT', | ||
111 | }; | 112 | }; |
112 | 113 | ||
113 | /** | 114 | /** |
@@ -170,6 +171,7 @@ export const PAYMENT_RECEIPTS_STATUS_OPTIONS = { | @@ -170,6 +171,7 @@ export const PAYMENT_RECEIPTS_STATUS_OPTIONS = { | ||
170 | 171 | ||
171 | export const ORDER_STATUS_OPTIONS = { | 172 | export const ORDER_STATUS_OPTIONS = { |
172 | WAIT_CONFIRM_DELIVER_AFTER_INVOICE: '待开票后确认发货', | 173 | WAIT_CONFIRM_DELIVER_AFTER_INVOICE: '待开票后确认发货', |
174 | + SALES_CONFIRM: '销售待确认', | ||
173 | UNAUDITED: '未审核', | 175 | UNAUDITED: '未审核', |
174 | LEADER_PROCESS: '领导待审核', | 176 | LEADER_PROCESS: '领导待审核', |
175 | MODIFY_APPLY_WAIT_FOR_AUDIT: '修改待审核', | 177 | MODIFY_APPLY_WAIT_FOR_AUDIT: '修改待审核', |
@@ -190,6 +192,7 @@ export const ORDER_STATUS_OPTIONS = { | @@ -190,6 +192,7 @@ export const ORDER_STATUS_OPTIONS = { | ||
190 | AFTER_SALES_FAILURE: '售后失败', | 192 | AFTER_SALES_FAILURE: '售后失败', |
191 | NO_NEED_SEND: '无需发货', | 193 | NO_NEED_SEND: '无需发货', |
192 | PROCURE_CONVERT_WAREHOUSE_KEEPER: '采购转仓库', | 194 | PROCURE_CONVERT_WAREHOUSE_KEEPER: '采购转仓库', |
195 | + CREDIT_CONFIRM: '赊账待审核', | ||
193 | }; | 196 | }; |
194 | 197 | ||
195 | export const MODIFIED_AUDIT_STATUS_OPTIONS = { | 198 | export const MODIFIED_AUDIT_STATUS_OPTIONS = { |
@@ -221,17 +224,11 @@ export const FINANCIAL_STATUS_OPTIONS = { | @@ -221,17 +224,11 @@ export const FINANCIAL_STATUS_OPTIONS = { | ||
221 | UN_INVOICING: '取消开票', | 224 | UN_INVOICING: '取消开票', |
222 | }; | 225 | }; |
223 | 226 | ||
224 | -/*export const getAfterInvoicingStatus = async () => { | ||
225 | - let res = await postServiceConstAfterInvoicingStatus(); | ||
226 | - if (res.result === RESPONSE_CODE.SUCCESS) { | ||
227 | - return res.data; | ||
228 | - } | ||
229 | - return {}; | ||
230 | -};*/ | ||
231 | -export let AFTER_INVOICING_STATUS = { | 227 | +export const AFTER_INVOICING_STATUS = { |
232 | NOT_YET_INVOICED: '尚未开票', | 228 | NOT_YET_INVOICED: '尚未开票', |
233 | APPLY_FOR_INVOICING: '申请开票', | 229 | APPLY_FOR_INVOICING: '申请开票', |
234 | URGENT_INVOICE_AUDITING: '加急待审核', | 230 | URGENT_INVOICE_AUDITING: '加急待审核', |
231 | + URGENT_INVOICE_AUDIT_NOTPASS: '加急审核失败', | ||
235 | PARTIAL_INVOICING: '部分开票', | 232 | PARTIAL_INVOICING: '部分开票', |
236 | COMPLETE_INVOICING: '完全开票', | 233 | COMPLETE_INVOICING: '完全开票', |
237 | INVOICING: '开票中', | 234 | INVOICING: '开票中', |
@@ -281,6 +278,10 @@ export const TAGS_COLOR = new Map<string, string>([ | @@ -281,6 +278,10 @@ export const TAGS_COLOR = new Map<string, string>([ | ||
281 | ['AUDIT_NOTPASS', 'error'], | 278 | ['AUDIT_NOTPASS', 'error'], |
282 | ['WAIT_CONFIRM_DELIVER_AFTER_INVOICE', 'processing'], | 279 | ['WAIT_CONFIRM_DELIVER_AFTER_INVOICE', 'processing'], |
283 | ['INVOICING', 'processing'], | 280 | ['INVOICING', 'processing'], |
281 | + ['SALES_CONFIRM', 'warning'], | ||
282 | + ['URGENT_INVOICE_AUDIT_NOTPASS', 'red'], | ||
283 | + ['REISSUE', 'processing'], | ||
284 | + ['CREDIT_CONFIRM', 'warning'], | ||
284 | ]); | 285 | ]); |
285 | export const SALES_CODE_OPTIONS = [ | 286 | export const SALES_CODE_OPTIONS = [ |
286 | { label: 'D-Linda', value: 'D-Linda' }, | 287 | { label: 'D-Linda', value: 'D-Linda' }, |
@@ -408,6 +409,8 @@ export const HISTORY_OPT_TYPE = new Map<string, string>([ | @@ -408,6 +409,8 @@ export const HISTORY_OPT_TYPE = new Map<string, string>([ | ||
408 | ['applyModify', '申请修改订单信息'], | 409 | ['applyModify', '申请修改订单信息'], |
409 | ['OUTSIDE_SYSTEM_PUSH', '外部系统推送了本订单'], | 410 | ['OUTSIDE_SYSTEM_PUSH', '外部系统推送了本订单'], |
410 | ['cancelSendOrder', '取消发货'], | 411 | ['cancelSendOrder', '取消发货'], |
412 | + ['salesConfirm', '商城订单销售确认'], | ||
413 | + ['credit_audit', '赊账审核'], | ||
411 | ]); | 414 | ]); |
412 | 415 | ||
413 | export const MAIN_ORDER_COLUMNS = [ | 416 | export const MAIN_ORDER_COLUMNS = [ |
@@ -621,10 +624,6 @@ export const MAIN_ORDER_COLUMNS = [ | @@ -621,10 +624,6 @@ export const MAIN_ORDER_COLUMNS = [ | ||
621 | dataIndex: 'afterInvoicingStatus', | 624 | dataIndex: 'afterInvoicingStatus', |
622 | valueType: 'select', | 625 | valueType: 'select', |
623 | hideInTable: true, | 626 | hideInTable: true, |
624 | - /*request: async () => { | ||
625 | - let status = await getAfterInvoicingStatus(); | ||
626 | - return enumToSelect(status); | ||
627 | - },*/ | ||
628 | valueEnum: enumToProTableEnumValue(AFTER_INVOICING_STATUS), | 627 | valueEnum: enumToProTableEnumValue(AFTER_INVOICING_STATUS), |
629 | }, | 628 | }, |
630 | { | 629 | { |
src/pages/Order/index.tsx
1 | import ButtonConfirm from '@/components/ButtomConfirm'; | 1 | import ButtonConfirm from '@/components/ButtomConfirm'; |
2 | import { RESPONSE_CODE } from '@/constants/enum'; | 2 | import { RESPONSE_CODE } from '@/constants/enum'; |
3 | +import ImportExpressBillModal from '@/pages/Order/components/ImportExpressBillModal'; | ||
3 | import InvoicingDrawerForm from '@/pages/Order/components/InvoicingDrawerForm'; | 4 | import InvoicingDrawerForm from '@/pages/Order/components/InvoicingDrawerForm'; |
4 | import ReissueModal from '@/pages/Order/components/ReissueModal'; | 5 | import ReissueModal from '@/pages/Order/components/ReissueModal'; |
5 | import { | 6 | import { |
@@ -15,6 +16,7 @@ import { | @@ -15,6 +16,7 @@ import { | ||
15 | postServiceOrderProvideProcurementRoles, | 16 | postServiceOrderProvideProcurementRoles, |
16 | postServiceOrderQueryServiceOrder, | 17 | postServiceOrderQueryServiceOrder, |
17 | postServiceOrderSaleCancelInvoicing, | 18 | postServiceOrderSaleCancelInvoicing, |
19 | + postServiceOrderSalesConfirm, | ||
18 | } from '@/services'; | 20 | } from '@/services'; |
19 | import { orderExport } from '@/services/order'; | 21 | import { orderExport } from '@/services/order'; |
20 | import { | 22 | import { |
@@ -798,7 +800,7 @@ const OrderPage = () => { | @@ -798,7 +800,7 @@ const OrderPage = () => { | ||
798 | key={index} | 800 | key={index} |
799 | onConfirm={() => { | 801 | onConfirm={() => { |
800 | window.open( | 802 | window.open( |
801 | - '/previewApi/onlinePreview?url=' + | 803 | + '/onlinePreview?url=' + |
802 | encodeURIComponent(Base64.encode(item.url)), | 804 | encodeURIComponent(Base64.encode(item.url)), |
803 | ); | 805 | ); |
804 | }} | 806 | }} |
@@ -1261,6 +1263,25 @@ const OrderPage = () => { | @@ -1261,6 +1263,25 @@ const OrderPage = () => { | ||
1261 | </div> | 1263 | </div> |
1262 | </Flex> | 1264 | </Flex> |
1263 | <Flex className="w-[18%]" wrap="wrap" gap="small"> | 1265 | <Flex className="w-[18%]" wrap="wrap" gap="small"> |
1266 | + {optRecord.subPath?.includes('salesConfirm') && ( | ||
1267 | + <ButtonConfirm | ||
1268 | + className="p-0" | ||
1269 | + title="是否确认此商城订单信息无误?确认无误之后订单将进入审核流程。" | ||
1270 | + text="订单确认" | ||
1271 | + onConfirm={async () => { | ||
1272 | + let res = await postServiceOrderSalesConfirm({ | ||
1273 | + data: { | ||
1274 | + subOrderIds: [optRecord.id], | ||
1275 | + }, | ||
1276 | + }); | ||
1277 | + | ||
1278 | + if (res && res.result === RESPONSE_CODE.SUCCESS) { | ||
1279 | + message.success(res.message); | ||
1280 | + refreshTable(); | ||
1281 | + } | ||
1282 | + }} | ||
1283 | + /> | ||
1284 | + )} | ||
1264 | {optRecord.subPath?.includes('uploadPaymentReceiptBill') ? ( | 1285 | {optRecord.subPath?.includes('uploadPaymentReceiptBill') ? ( |
1265 | <Button | 1286 | <Button |
1266 | className="p-0" | 1287 | className="p-0" |
@@ -1327,6 +1348,23 @@ const OrderPage = () => { | @@ -1327,6 +1348,23 @@ const OrderPage = () => { | ||
1327 | '' | 1348 | '' |
1328 | )} | 1349 | )} |
1329 | 1350 | ||
1351 | + {optRecord.subPath?.includes('creditAudit') ? ( | ||
1352 | + <Button | ||
1353 | + className="p-0" | ||
1354 | + type="link" | ||
1355 | + onClick={() => { | ||
1356 | + setCurrentMainId(record.id); | ||
1357 | + setCurretnOptSubId(optRecord.id); | ||
1358 | + setCheckVisible(true); | ||
1359 | + setOrderCheckType(CHECK_TYPE.CREDIT_AUDIT); | ||
1360 | + }} | ||
1361 | + > | ||
1362 | + 赊账审核 | ||
1363 | + </Button> | ||
1364 | + ) : ( | ||
1365 | + '' | ||
1366 | + )} | ||
1367 | + | ||
1330 | {optRecord.subPath?.includes('auditPaymentReceipt') ? ( | 1368 | {optRecord.subPath?.includes('auditPaymentReceipt') ? ( |
1331 | <Button | 1369 | <Button |
1332 | className="p-0" | 1370 | className="p-0" |
@@ -1975,7 +2013,7 @@ const OrderPage = () => { | @@ -1975,7 +2013,7 @@ const OrderPage = () => { | ||
1975 | 2013 | ||
1976 | <Flex title={optRecord.notes}> | 2014 | <Flex title={optRecord.notes}> |
1977 | <div | 2015 | <div |
1978 | - className="overflow-hidden whitespace-normal overflow-ellipsis hover:cursor-pointer" | 2016 | + className="max-w-[1100px] overflow-hidden whitespace-normal overflow-ellipsis hover:cursor-pointer" |
1979 | onClick={() => { | 2017 | onClick={() => { |
1980 | copyToClipboard(optRecord.notes); | 2018 | copyToClipboard(optRecord.notes); |
1981 | message.info('备注复制成功:' + optRecord.notes); | 2019 | message.info('备注复制成功:' + optRecord.notes); |
@@ -2427,7 +2465,7 @@ const OrderPage = () => { | @@ -2427,7 +2465,7 @@ const OrderPage = () => { | ||
2427 | )} | 2465 | )} |
2428 | className="whitespace-no-wrap overflow-hidden overflow-ellipsis max-w-[400px]" | 2466 | className="whitespace-no-wrap overflow-hidden overflow-ellipsis max-w-[400px]" |
2429 | > | 2467 | > |
2430 | - <span className="text-[#8C8C8C]">开票付款单位:</span> | 2468 | + <span className="text-[#8C8C8C]">开票收款单位:</span> |
2431 | <span className="text-slate-700"> | 2469 | <span className="text-slate-700"> |
2432 | {record.receivingCompany !== null | 2470 | {record.receivingCompany !== null |
2433 | ? enumValueToLabel( | 2471 | ? enumValueToLabel( |
@@ -2571,6 +2609,37 @@ const OrderPage = () => { | @@ -2571,6 +2609,37 @@ const OrderPage = () => { | ||
2571 | <Flex justify="flex-end"> | 2609 | <Flex justify="flex-end"> |
2572 | <Space.Compact direction="vertical" align="end"> | 2610 | <Space.Compact direction="vertical" align="end"> |
2573 | <Space wrap> | 2611 | <Space wrap> |
2612 | + {record.mainPath?.includes('salesConfirm') && ( | ||
2613 | + <ButtonConfirm | ||
2614 | + className="p-0" | ||
2615 | + title="是否确认此商城订单信息无误?确认无误之后订单将进入审核流程。" | ||
2616 | + text="订单确认" | ||
2617 | + onConfirm={async () => { | ||
2618 | + let subIds = subOrderSelectedMap | ||
2619 | + .get(record.id) | ||
2620 | + ?.map((item) => { | ||
2621 | + return item.id; | ||
2622 | + }); | ||
2623 | + if (subIds === null || subIds === undefined) { | ||
2624 | + subIds = record.subOrderInformationLists.map( | ||
2625 | + (item) => { | ||
2626 | + return item.id; | ||
2627 | + }, | ||
2628 | + ); | ||
2629 | + } | ||
2630 | + let res = await postServiceOrderSalesConfirm({ | ||
2631 | + data: { | ||
2632 | + subOrderIds: subIds, | ||
2633 | + }, | ||
2634 | + }); | ||
2635 | + | ||
2636 | + if (res && res.result === RESPONSE_CODE.SUCCESS) { | ||
2637 | + message.success(res.message); | ||
2638 | + refreshTable(); | ||
2639 | + } | ||
2640 | + }} | ||
2641 | + /> | ||
2642 | + )} | ||
2574 | {record.mainPath?.includes('uploadPaymentReceiptBill') ? ( | 2643 | {record.mainPath?.includes('uploadPaymentReceiptBill') ? ( |
2575 | <Button | 2644 | <Button |
2576 | className="p-0" | 2645 | className="p-0" |
@@ -2862,6 +2931,38 @@ const OrderPage = () => { | @@ -2862,6 +2931,38 @@ const OrderPage = () => { | ||
2862 | '' | 2931 | '' |
2863 | )} | 2932 | )} |
2864 | 2933 | ||
2934 | + {record.mainPath?.includes('creditAudit') ? ( | ||
2935 | + <Button | ||
2936 | + className="p-0" | ||
2937 | + type="link" | ||
2938 | + onClick={() => { | ||
2939 | + let selectedSubOrders = subOrderSelectedMap.get( | ||
2940 | + record.id, | ||
2941 | + ); | ||
2942 | + setSelectedRows(selectedSubOrders); | ||
2943 | + if (selectedSubOrders === undefined) { | ||
2944 | + selectedSubOrders = record.subOrderInformationLists; | ||
2945 | + } | ||
2946 | + for (let i = 0; i < selectedSubOrders.length; i++) { | ||
2947 | + if ( | ||
2948 | + selectedSubOrders[i].orderStatus !== | ||
2949 | + 'CREDIT_CONFIRM' | ||
2950 | + ) { | ||
2951 | + message.error('请选择[赊账待审核]的子订单进行审核'); | ||
2952 | + return; | ||
2953 | + } | ||
2954 | + } | ||
2955 | + createOptObject(null, record.id); | ||
2956 | + setCheckVisible(true); | ||
2957 | + setOrderCheckType(CHECK_TYPE.CREDIT_AUDIT); | ||
2958 | + }} | ||
2959 | + > | ||
2960 | + 赊账审核 | ||
2961 | + </Button> | ||
2962 | + ) : ( | ||
2963 | + '' | ||
2964 | + )} | ||
2965 | + | ||
2865 | {record.mainPath?.includes('editProductionTime') ? ( | 2966 | {record.mainPath?.includes('editProductionTime') ? ( |
2866 | <Button | 2967 | <Button |
2867 | className="p-0" | 2968 | className="p-0" |
@@ -3203,10 +3304,11 @@ const OrderPage = () => { | @@ -3203,10 +3304,11 @@ const OrderPage = () => { | ||
3203 | if ( | 3304 | if ( |
3204 | orderStatus !== 'UNAUDITED' && | 3305 | orderStatus !== 'UNAUDITED' && |
3205 | orderStatus !== 'AUDIT_FAILED' && | 3306 | orderStatus !== 'AUDIT_FAILED' && |
3206 | - orderStatus !== 'LEADER_PROCESS' | 3307 | + orderStatus !== 'LEADER_PROCESS' && |
3308 | + orderStatus !== 'SALES_CONFIRM' | ||
3207 | ) { | 3309 | ) { |
3208 | message.error( | 3310 | message.error( |
3209 | - '请选择未审核或者审核失败的订单进行编辑', | 3311 | + '请选择【未审核、审核失败、销售待确认】的订单进行编辑', |
3210 | ); | 3312 | ); |
3211 | return; | 3313 | return; |
3212 | } | 3314 | } |
@@ -3712,6 +3814,7 @@ const OrderPage = () => { | @@ -3712,6 +3814,7 @@ const OrderPage = () => { | ||
3712 | 'subNotes', | 3814 | 'subNotes', |
3713 | 'orderStatus', | 3815 | 'orderStatus', |
3714 | 'createTime', | 3816 | 'createTime', |
3817 | + 'modifiedAuditStatus', | ||
3715 | ]; | 3818 | ]; |
3716 | if (isSupplier() && !canSearchIndex.includes(item.dataIndex)) { | 3819 | if (isSupplier() && !canSearchIndex.includes(item.dataIndex)) { |
3717 | item.search = false; | 3820 | item.search = false; |
@@ -3893,6 +3996,8 @@ const OrderPage = () => { | @@ -3893,6 +3996,8 @@ const OrderPage = () => { | ||
3893 | 3996 | ||
3894 | toolBtns.push(radioGroup); | 3997 | toolBtns.push(radioGroup); |
3895 | 3998 | ||
3999 | + toolBtns.push(<ImportExpressBillModal></ImportExpressBillModal>); | ||
4000 | + | ||
3896 | //导出按钮配置 | 4001 | //导出按钮配置 |
3897 | const exportItems: MenuProps['items'] = [ | 4002 | const exportItems: MenuProps['items'] = [ |
3898 | { | 4003 | { |
@@ -3901,20 +4006,32 @@ const OrderPage = () => { | @@ -3901,20 +4006,32 @@ const OrderPage = () => { | ||
3901 | onClick: async () => { | 4006 | onClick: async () => { |
3902 | let body = { flag: 50, ...searchParams }; | 4007 | let body = { flag: 50, ...searchParams }; |
3903 | exportLoading(); | 4008 | exportLoading(); |
3904 | - orderExport('/api/service/order/export', body, exportLoadingDestory); | 4009 | + orderExport( |
4010 | + '/api/service/order/export', | ||
4011 | + '订单导出结果.xls', | ||
4012 | + 'POST', | ||
4013 | + body, | ||
4014 | + exportLoadingDestory, | ||
4015 | + ); | ||
3905 | }, | 4016 | }, |
3906 | }, | 4017 | }, |
3907 | { | 4018 | { |
3908 | label: '导出已选中订单', | 4019 | label: '导出已选中订单', |
3909 | key: '1', | 4020 | key: '1', |
3910 | onClick: async () => { | 4021 | onClick: async () => { |
3911 | - if (selectedMainOrderKeys.length === 0) { | 4022 | + if (mainOrderSelectedMap.size === 0) { |
3912 | message.error('请选择订单'); | 4023 | message.error('请选择订单'); |
3913 | return; | 4024 | return; |
3914 | } | 4025 | } |
3915 | - let body = { flag: 30, id: selectedMainOrderKeys }; | 4026 | + let body = { flag: 30, id: Array.from(mainOrderSelectedMap.keys()) }; |
3916 | exportLoading(); | 4027 | exportLoading(); |
3917 | - orderExport('/api/service/order/export', body, exportLoadingDestory); | 4028 | + orderExport( |
4029 | + '/api/service/order/export', | ||
4030 | + '订单导出结果.xls', | ||
4031 | + 'POST', | ||
4032 | + body, | ||
4033 | + exportLoadingDestory, | ||
4034 | + ); | ||
3918 | }, | 4035 | }, |
3919 | }, | 4036 | }, |
3920 | { | 4037 | { |
@@ -3923,7 +4040,13 @@ const OrderPage = () => { | @@ -3923,7 +4040,13 @@ const OrderPage = () => { | ||
3923 | onClick: async () => { | 4040 | onClick: async () => { |
3924 | let body = { flag: 40, ids: [] }; | 4041 | let body = { flag: 40, ids: [] }; |
3925 | exportLoading(); | 4042 | exportLoading(); |
3926 | - orderExport('/api/service/order/export', body, exportLoadingDestory); | 4043 | + orderExport( |
4044 | + '/api/service/order/export', | ||
4045 | + '订单导出结果.xls', | ||
4046 | + 'POST', | ||
4047 | + body, | ||
4048 | + exportLoadingDestory, | ||
4049 | + ); | ||
3927 | }, | 4050 | }, |
3928 | }, | 4051 | }, |
3929 | { | 4052 | { |
@@ -3932,7 +4055,13 @@ const OrderPage = () => { | @@ -3932,7 +4055,13 @@ const OrderPage = () => { | ||
3932 | onClick: async () => { | 4055 | onClick: async () => { |
3933 | let body = { flag: 10, ids: [] }; | 4056 | let body = { flag: 10, ids: [] }; |
3934 | exportLoading(); | 4057 | exportLoading(); |
3935 | - orderExport('/api/service/order/export', body, exportLoadingDestory); | 4058 | + orderExport( |
4059 | + '/api/service/order/export', | ||
4060 | + '订单导出结果.xls', | ||
4061 | + 'POST', | ||
4062 | + body, | ||
4063 | + exportLoadingDestory, | ||
4064 | + ); | ||
3936 | }, | 4065 | }, |
3937 | }, | 4066 | }, |
3938 | ]; | 4067 | ]; |
src/pages/OrderPrint/index.css
0 → 100644
1 | +.font0 { | ||
2 | + color: windowtext; | ||
3 | + font-size: 12pt; | ||
4 | + font-weight: 400; | ||
5 | + font-style: normal; | ||
6 | + text-decoration: none; | ||
7 | + font-family: '宋体'; | ||
8 | +} | ||
9 | + | ||
10 | +.font1 { | ||
11 | + color: windowtext; | ||
12 | + font-size: 16pt; | ||
13 | + font-weight: 400; | ||
14 | + font-style: normal; | ||
15 | + text-decoration: none; | ||
16 | + font-family: '宋体'; | ||
17 | +} | ||
18 | + | ||
19 | +.font2 { | ||
20 | + color: windowtext; | ||
21 | + font-size: 10pt; | ||
22 | + font-weight: 400; | ||
23 | + font-style: normal; | ||
24 | + text-decoration: none; | ||
25 | + font-family: '宋体'; | ||
26 | +} | ||
27 | + | ||
28 | +.font3 { | ||
29 | + color: windowtext; | ||
30 | + font-size: 14pt; | ||
31 | + font-weight: 400; | ||
32 | + font-style: normal; | ||
33 | + text-decoration: none; | ||
34 | + font-family: '宋体'; | ||
35 | +} | ||
36 | + | ||
37 | +.font4 { | ||
38 | + color: windowtext; | ||
39 | + font-size: 8pt; | ||
40 | + font-weight: 400; | ||
41 | + font-style: normal; | ||
42 | + text-decoration: none; | ||
43 | + font-family: '宋体'; | ||
44 | +} | ||
45 | + | ||
46 | +.font5 { | ||
47 | + color: #00f; | ||
48 | + font-size: 11pt; | ||
49 | + font-weight: 400; | ||
50 | + font-style: normal; | ||
51 | + text-decoration: underline; | ||
52 | + font-family: '宋体'; | ||
53 | +} | ||
54 | + | ||
55 | +.font6 { | ||
56 | + color: #800080; | ||
57 | + font-size: 11pt; | ||
58 | + font-weight: 400; | ||
59 | + font-style: normal; | ||
60 | + text-decoration: underline; | ||
61 | + font-family: '宋体'; | ||
62 | +} | ||
63 | + | ||
64 | +.font7 { | ||
65 | + color: #000; | ||
66 | + font-size: 11pt; | ||
67 | + font-weight: 400; | ||
68 | + font-style: normal; | ||
69 | + text-decoration: none; | ||
70 | + font-family: '宋体'; | ||
71 | +} | ||
72 | + | ||
73 | +.font8 { | ||
74 | + color: #f00; | ||
75 | + font-size: 11pt; | ||
76 | + font-weight: 400; | ||
77 | + font-style: normal; | ||
78 | + text-decoration: none; | ||
79 | + font-family: '宋体'; | ||
80 | +} | ||
81 | + | ||
82 | +.font9 { | ||
83 | + color: #44546a; | ||
84 | + font-size: 18pt; | ||
85 | + font-weight: 700; | ||
86 | + font-style: normal; | ||
87 | + text-decoration: none; | ||
88 | + font-family: '宋体'; | ||
89 | +} | ||
90 | + | ||
91 | +.font10 { | ||
92 | + color: #7f7f7f; | ||
93 | + font-size: 11pt; | ||
94 | + font-weight: 400; | ||
95 | + font-style: italic; | ||
96 | + text-decoration: none; | ||
97 | + font-family: '宋体'; | ||
98 | +} | ||
99 | + | ||
100 | +.font11 { | ||
101 | + color: #44546a; | ||
102 | + font-size: 15pt; | ||
103 | + font-weight: 700; | ||
104 | + font-style: normal; | ||
105 | + text-decoration: none; | ||
106 | + font-family: '宋体'; | ||
107 | +} | ||
108 | + | ||
109 | +.font12 { | ||
110 | + color: #44546a; | ||
111 | + font-size: 13pt; | ||
112 | + font-weight: 700; | ||
113 | + font-style: normal; | ||
114 | + text-decoration: none; | ||
115 | + font-family: '宋体'; | ||
116 | +} | ||
117 | + | ||
118 | +.font13 { | ||
119 | + color: #44546a; | ||
120 | + font-size: 11pt; | ||
121 | + font-weight: 700; | ||
122 | + font-style: normal; | ||
123 | + text-decoration: none; | ||
124 | + font-family: '宋体'; | ||
125 | +} | ||
126 | + | ||
127 | +.font14 { | ||
128 | + color: #3f3f76; | ||
129 | + font-size: 11pt; | ||
130 | + font-weight: 400; | ||
131 | + font-style: normal; | ||
132 | + text-decoration: none; | ||
133 | + font-family: '宋体'; | ||
134 | +} | ||
135 | + | ||
136 | +.font15 { | ||
137 | + color: #3f3f3f; | ||
138 | + font-size: 11pt; | ||
139 | + font-weight: 700; | ||
140 | + font-style: normal; | ||
141 | + text-decoration: none; | ||
142 | + font-family: '宋体'; | ||
143 | +} | ||
144 | + | ||
145 | +.font16 { | ||
146 | + color: #fa7d00; | ||
147 | + font-size: 11pt; | ||
148 | + font-weight: 700; | ||
149 | + font-style: normal; | ||
150 | + text-decoration: none; | ||
151 | + font-family: '宋体'; | ||
152 | +} | ||
153 | + | ||
154 | +.font17 { | ||
155 | + color: #fff; | ||
156 | + font-size: 11pt; | ||
157 | + font-weight: 700; | ||
158 | + font-style: normal; | ||
159 | + text-decoration: none; | ||
160 | + font-family: '宋体'; | ||
161 | +} | ||
162 | + | ||
163 | +.font18 { | ||
164 | + color: #fa7d00; | ||
165 | + font-size: 11pt; | ||
166 | + font-weight: 400; | ||
167 | + font-style: normal; | ||
168 | + text-decoration: none; | ||
169 | + font-family: '宋体'; | ||
170 | +} | ||
171 | + | ||
172 | +.font19 { | ||
173 | + color: #000; | ||
174 | + font-size: 11pt; | ||
175 | + font-weight: 700; | ||
176 | + font-style: normal; | ||
177 | + text-decoration: none; | ||
178 | + font-family: '宋体'; | ||
179 | +} | ||
180 | + | ||
181 | +.font20 { | ||
182 | + color: #006100; | ||
183 | + font-size: 11pt; | ||
184 | + font-weight: 400; | ||
185 | + font-style: normal; | ||
186 | + text-decoration: none; | ||
187 | + font-family: '宋体'; | ||
188 | +} | ||
189 | + | ||
190 | +.font21 { | ||
191 | + color: #9c0006; | ||
192 | + font-size: 11pt; | ||
193 | + font-weight: 400; | ||
194 | + font-style: normal; | ||
195 | + text-decoration: none; | ||
196 | + font-family: '宋体'; | ||
197 | +} | ||
198 | + | ||
199 | +.font22 { | ||
200 | + color: #9c6500; | ||
201 | + font-size: 11pt; | ||
202 | + font-weight: 400; | ||
203 | + font-style: normal; | ||
204 | + text-decoration: none; | ||
205 | + font-family: '宋体'; | ||
206 | +} | ||
207 | + | ||
208 | +.font23 { | ||
209 | + color: #fff; | ||
210 | + font-size: 11pt; | ||
211 | + font-weight: 400; | ||
212 | + font-style: normal; | ||
213 | + text-decoration: none; | ||
214 | + font-family: '宋体'; | ||
215 | +} | ||
216 | + | ||
217 | +.font24 { | ||
218 | + color: #000; | ||
219 | + font-size: 11pt; | ||
220 | + font-weight: 400; | ||
221 | + font-style: normal; | ||
222 | + text-decoration: none; | ||
223 | + font-family: '宋体'; | ||
224 | +} | ||
225 | + | ||
226 | +.style0 { | ||
227 | + text-align: general; | ||
228 | + vertical-align: middle; | ||
229 | + white-space: nowrap; | ||
230 | + color: windowtext; | ||
231 | + font-size: 12pt; | ||
232 | + font-weight: 400; | ||
233 | + font-style: normal; | ||
234 | + text-decoration: none; | ||
235 | + font-family: '宋体'; | ||
236 | + border: none; | ||
237 | +} | ||
238 | + | ||
239 | +.style21 { | ||
240 | + color: #00f; | ||
241 | + font-size: 11pt; | ||
242 | + font-weight: 400; | ||
243 | + font-style: normal; | ||
244 | + text-decoration: underline; | ||
245 | + font-family: '宋体'; | ||
246 | +} | ||
247 | + | ||
248 | +.style22 { | ||
249 | + color: #800080; | ||
250 | + font-size: 11pt; | ||
251 | + font-weight: 400; | ||
252 | + font-style: normal; | ||
253 | + text-decoration: underline; | ||
254 | + font-family: '宋体'; | ||
255 | +} | ||
256 | + | ||
257 | +.style23 { | ||
258 | + background: #ffc; | ||
259 | + border: 0.5pt solid #b2b2b2; | ||
260 | +} | ||
261 | + | ||
262 | +.style24 { | ||
263 | + color: #f00; | ||
264 | + font-size: 11pt; | ||
265 | + font-weight: 400; | ||
266 | + font-style: normal; | ||
267 | + text-decoration: none; | ||
268 | + font-family: '宋体'; | ||
269 | +} | ||
270 | + | ||
271 | +.style25 { | ||
272 | + color: #44546a; | ||
273 | + font-size: 18pt; | ||
274 | + font-weight: 700; | ||
275 | + font-style: normal; | ||
276 | + text-decoration: none; | ||
277 | + font-family: '宋体'; | ||
278 | +} | ||
279 | + | ||
280 | +.style26 { | ||
281 | + color: #7f7f7f; | ||
282 | + font-size: 11pt; | ||
283 | + font-weight: 400; | ||
284 | + font-style: italic; | ||
285 | + text-decoration: none; | ||
286 | + font-family: '宋体'; | ||
287 | +} | ||
288 | + | ||
289 | +.style27 { | ||
290 | + color: #44546a; | ||
291 | + font-size: 15pt; | ||
292 | + font-weight: 700; | ||
293 | + font-style: normal; | ||
294 | + text-decoration: none; | ||
295 | + font-family: '宋体'; | ||
296 | + border-bottom: 1pt solid #5b9bd5; | ||
297 | +} | ||
298 | + | ||
299 | +.style28 { | ||
300 | + color: #44546a; | ||
301 | + font-size: 13pt; | ||
302 | + font-weight: 700; | ||
303 | + font-style: normal; | ||
304 | + text-decoration: none; | ||
305 | + font-family: '宋体'; | ||
306 | + border-bottom: 1pt solid #5b9bd5; | ||
307 | +} | ||
308 | + | ||
309 | +.style29 { | ||
310 | + color: #44546a; | ||
311 | + font-size: 11pt; | ||
312 | + font-weight: 700; | ||
313 | + font-style: normal; | ||
314 | + text-decoration: none; | ||
315 | + font-family: '宋体'; | ||
316 | + border-bottom: 1pt solid #acccea; | ||
317 | +} | ||
318 | + | ||
319 | +.style30 { | ||
320 | + color: #44546a; | ||
321 | + font-size: 11pt; | ||
322 | + font-weight: 700; | ||
323 | + font-style: normal; | ||
324 | + text-decoration: none; | ||
325 | + font-family: '宋体'; | ||
326 | +} | ||
327 | + | ||
328 | +.style31 { | ||
329 | + background: #fc9; | ||
330 | + color: #3f3f76; | ||
331 | + font-size: 11pt; | ||
332 | + font-weight: 400; | ||
333 | + font-style: normal; | ||
334 | + text-decoration: none; | ||
335 | + font-family: '宋体'; | ||
336 | + border: 0.5pt solid #7f7f7f; | ||
337 | +} | ||
338 | + | ||
339 | +.style32 { | ||
340 | + background: #f2f2f2; | ||
341 | + color: #3f3f3f; | ||
342 | + font-size: 11pt; | ||
343 | + font-weight: 700; | ||
344 | + font-style: normal; | ||
345 | + text-decoration: none; | ||
346 | + font-family: '宋体'; | ||
347 | + border: 0.5pt solid #3f3f3f; | ||
348 | +} | ||
349 | + | ||
350 | +.style33 { | ||
351 | + background: #f2f2f2; | ||
352 | + color: #fa7d00; | ||
353 | + font-size: 11pt; | ||
354 | + font-weight: 700; | ||
355 | + font-style: normal; | ||
356 | + text-decoration: none; | ||
357 | + font-family: '宋体'; | ||
358 | + border: 0.5pt solid #7f7f7f; | ||
359 | +} | ||
360 | + | ||
361 | +.style34 { | ||
362 | + background: #a5a5a5; | ||
363 | + color: #fff; | ||
364 | + font-size: 11pt; | ||
365 | + font-weight: 700; | ||
366 | + font-style: normal; | ||
367 | + text-decoration: none; | ||
368 | + font-family: '宋体'; | ||
369 | + border: 2pt double #3f3f3f; | ||
370 | +} | ||
371 | + | ||
372 | +.style35 { | ||
373 | + color: #fa7d00; | ||
374 | + font-size: 11pt; | ||
375 | + font-weight: 400; | ||
376 | + font-style: normal; | ||
377 | + text-decoration: none; | ||
378 | + font-family: '宋体'; | ||
379 | + border-bottom: 2pt double #ff8001; | ||
380 | +} | ||
381 | + | ||
382 | +.style36 { | ||
383 | + color: #000; | ||
384 | + font-size: 11pt; | ||
385 | + font-weight: 700; | ||
386 | + font-style: normal; | ||
387 | + text-decoration: none; | ||
388 | + font-family: '宋体'; | ||
389 | + border-top: 0.5pt solid #5b9bd5; | ||
390 | + border-bottom: 2pt double #5b9bd5; | ||
391 | +} | ||
392 | + | ||
393 | +.style37 { | ||
394 | + background: #c6efce; | ||
395 | + color: #006100; | ||
396 | + font-size: 11pt; | ||
397 | + font-weight: 400; | ||
398 | + font-style: normal; | ||
399 | + text-decoration: none; | ||
400 | + font-family: '宋体'; | ||
401 | +} | ||
402 | + | ||
403 | +.style38 { | ||
404 | + background: #ffc7ce; | ||
405 | + color: #9c0006; | ||
406 | + font-size: 11pt; | ||
407 | + font-weight: 400; | ||
408 | + font-style: normal; | ||
409 | + text-decoration: none; | ||
410 | + font-family: '宋体'; | ||
411 | +} | ||
412 | + | ||
413 | +.style39 { | ||
414 | + background: #ffeb9c; | ||
415 | + color: #9c6500; | ||
416 | + font-size: 11pt; | ||
417 | + font-weight: 400; | ||
418 | + font-style: normal; | ||
419 | + text-decoration: none; | ||
420 | + font-family: '宋体'; | ||
421 | +} | ||
422 | + | ||
423 | +.style40 { | ||
424 | + background: #5b9bd5; | ||
425 | + color: #fff; | ||
426 | + font-size: 11pt; | ||
427 | + font-weight: 400; | ||
428 | + font-style: normal; | ||
429 | + text-decoration: none; | ||
430 | + font-family: '宋体'; | ||
431 | +} | ||
432 | + | ||
433 | +.style41 { | ||
434 | + background: #ddebf7; | ||
435 | + color: #000; | ||
436 | + font-size: 11pt; | ||
437 | + font-weight: 400; | ||
438 | + font-style: normal; | ||
439 | + text-decoration: none; | ||
440 | + font-family: '宋体'; | ||
441 | +} | ||
442 | + | ||
443 | +.style42 { | ||
444 | + background: #bdd7ee; | ||
445 | + color: #000; | ||
446 | + font-size: 11pt; | ||
447 | + font-weight: 400; | ||
448 | + font-style: normal; | ||
449 | + text-decoration: none; | ||
450 | + font-family: '宋体'; | ||
451 | +} | ||
452 | + | ||
453 | +.style43 { | ||
454 | + background: #9bc2e6; | ||
455 | + color: #fff; | ||
456 | + font-size: 11pt; | ||
457 | + font-weight: 400; | ||
458 | + font-style: normal; | ||
459 | + text-decoration: none; | ||
460 | + font-family: '宋体'; | ||
461 | +} | ||
462 | + | ||
463 | +.style44 { | ||
464 | + background: #ed7d31; | ||
465 | + color: #fff; | ||
466 | + font-size: 11pt; | ||
467 | + font-weight: 400; | ||
468 | + font-style: normal; | ||
469 | + text-decoration: none; | ||
470 | + font-family: '宋体'; | ||
471 | +} | ||
472 | + | ||
473 | +.style45 { | ||
474 | + background: #fce4d6; | ||
475 | + color: #000; | ||
476 | + font-size: 11pt; | ||
477 | + font-weight: 400; | ||
478 | + font-style: normal; | ||
479 | + text-decoration: none; | ||
480 | + font-family: '宋体'; | ||
481 | +} | ||
482 | + | ||
483 | +.style46 { | ||
484 | + background: #f8cbad; | ||
485 | + color: #000; | ||
486 | + font-size: 11pt; | ||
487 | + font-weight: 400; | ||
488 | + font-style: normal; | ||
489 | + text-decoration: none; | ||
490 | + font-family: '宋体'; | ||
491 | +} | ||
492 | + | ||
493 | +.style47 { | ||
494 | + background: #f4b084; | ||
495 | + color: #fff; | ||
496 | + font-size: 11pt; | ||
497 | + font-weight: 400; | ||
498 | + font-style: normal; | ||
499 | + text-decoration: none; | ||
500 | + font-family: '宋体'; | ||
501 | +} | ||
502 | + | ||
503 | +.style48 { | ||
504 | + background: #a5a5a5; | ||
505 | + color: #fff; | ||
506 | + font-size: 11pt; | ||
507 | + font-weight: 400; | ||
508 | + font-style: normal; | ||
509 | + text-decoration: none; | ||
510 | + font-family: '宋体'; | ||
511 | +} | ||
512 | + | ||
513 | +.style49 { | ||
514 | + background: #ededed; | ||
515 | + color: #000; | ||
516 | + font-size: 11pt; | ||
517 | + font-weight: 400; | ||
518 | + font-style: normal; | ||
519 | + text-decoration: none; | ||
520 | + font-family: '宋体'; | ||
521 | +} | ||
522 | + | ||
523 | +.style50 { | ||
524 | + background: #dbdbdb; | ||
525 | + color: #000; | ||
526 | + font-size: 11pt; | ||
527 | + font-weight: 400; | ||
528 | + font-style: normal; | ||
529 | + text-decoration: none; | ||
530 | + font-family: '宋体'; | ||
531 | +} | ||
532 | + | ||
533 | +.style51 { | ||
534 | + background: #c9c9c9; | ||
535 | + color: #fff; | ||
536 | + font-size: 11pt; | ||
537 | + font-weight: 400; | ||
538 | + font-style: normal; | ||
539 | + text-decoration: none; | ||
540 | + font-family: '宋体'; | ||
541 | +} | ||
542 | + | ||
543 | +.style52 { | ||
544 | + background: #ffc000; | ||
545 | + color: #fff; | ||
546 | + font-size: 11pt; | ||
547 | + font-weight: 400; | ||
548 | + font-style: normal; | ||
549 | + text-decoration: none; | ||
550 | + font-family: '宋体'; | ||
551 | +} | ||
552 | + | ||
553 | +.style53 { | ||
554 | + background: #fff2cc; | ||
555 | + color: #000; | ||
556 | + font-size: 11pt; | ||
557 | + font-weight: 400; | ||
558 | + font-style: normal; | ||
559 | + text-decoration: none; | ||
560 | + font-family: '宋体'; | ||
561 | +} | ||
562 | + | ||
563 | +.style54 { | ||
564 | + background: #ffe699; | ||
565 | + color: #000; | ||
566 | + font-size: 11pt; | ||
567 | + font-weight: 400; | ||
568 | + font-style: normal; | ||
569 | + text-decoration: none; | ||
570 | + font-family: '宋体'; | ||
571 | +} | ||
572 | + | ||
573 | +.style55 { | ||
574 | + background: #ffd966; | ||
575 | + color: #fff; | ||
576 | + font-size: 11pt; | ||
577 | + font-weight: 400; | ||
578 | + font-style: normal; | ||
579 | + text-decoration: none; | ||
580 | + font-family: '宋体'; | ||
581 | +} | ||
582 | + | ||
583 | +.style56 { | ||
584 | + background: #4472c4; | ||
585 | + color: #fff; | ||
586 | + font-size: 11pt; | ||
587 | + font-weight: 400; | ||
588 | + font-style: normal; | ||
589 | + text-decoration: none; | ||
590 | + font-family: '宋体'; | ||
591 | +} | ||
592 | + | ||
593 | +.style57 { | ||
594 | + background: #d9e1f2; | ||
595 | + color: #000; | ||
596 | + font-size: 11pt; | ||
597 | + font-weight: 400; | ||
598 | + font-style: normal; | ||
599 | + text-decoration: none; | ||
600 | + font-family: '宋体'; | ||
601 | +} | ||
602 | + | ||
603 | +.style58 { | ||
604 | + background: #b4c6e7; | ||
605 | + color: #000; | ||
606 | + font-size: 11pt; | ||
607 | + font-weight: 400; | ||
608 | + font-style: normal; | ||
609 | + text-decoration: none; | ||
610 | + font-family: '宋体'; | ||
611 | +} | ||
612 | + | ||
613 | +.style59 { | ||
614 | + background: #8ea9db; | ||
615 | + color: #fff; | ||
616 | + font-size: 11pt; | ||
617 | + font-weight: 400; | ||
618 | + font-style: normal; | ||
619 | + text-decoration: none; | ||
620 | + font-family: '宋体'; | ||
621 | +} | ||
622 | + | ||
623 | +.style60 { | ||
624 | + background: #70ad47; | ||
625 | + color: #fff; | ||
626 | + font-size: 11pt; | ||
627 | + font-weight: 400; | ||
628 | + font-style: normal; | ||
629 | + text-decoration: none; | ||
630 | + font-family: '宋体'; | ||
631 | +} | ||
632 | + | ||
633 | +.style61 { | ||
634 | + background: #e2efda; | ||
635 | + color: #000; | ||
636 | + font-size: 11pt; | ||
637 | + font-weight: 400; | ||
638 | + font-style: normal; | ||
639 | + text-decoration: none; | ||
640 | + font-family: '宋体'; | ||
641 | +} | ||
642 | + | ||
643 | +.style62 { | ||
644 | + background: #c6e0b4; | ||
645 | + color: #000; | ||
646 | + font-size: 11pt; | ||
647 | + font-weight: 400; | ||
648 | + font-style: normal; | ||
649 | + text-decoration: none; | ||
650 | + font-family: '宋体'; | ||
651 | +} | ||
652 | + | ||
653 | +.style63 { | ||
654 | + background: #a9d08e; | ||
655 | + color: #fff; | ||
656 | + font-size: 11pt; | ||
657 | + font-weight: 400; | ||
658 | + font-style: normal; | ||
659 | + text-decoration: none; | ||
660 | + font-family: '宋体'; | ||
661 | +} | ||
662 | + | ||
663 | +td { | ||
664 | + padding-top: 1px; | ||
665 | + padding-right: 1px; | ||
666 | + padding-left: 1px; | ||
667 | + text-align: general; | ||
668 | + vertical-align: middle; | ||
669 | + white-space: nowrap; | ||
670 | + color: windowtext; | ||
671 | + font-size: 12pt; | ||
672 | + font-weight: 400; | ||
673 | + font-style: normal; | ||
674 | + text-decoration: none; | ||
675 | + font-family: '宋体'; | ||
676 | + border: none; | ||
677 | +} | ||
678 | + | ||
679 | +.xl65 { | ||
680 | + text-align: center; | ||
681 | + font-size: 16pt; | ||
682 | +} | ||
683 | + | ||
684 | +.xl66 { | ||
685 | + text-align: center; | ||
686 | + font-size: 10pt; | ||
687 | +} | ||
688 | + | ||
689 | +.xl67 { | ||
690 | + text-align: center; | ||
691 | + font-size: 14pt; | ||
692 | +} | ||
693 | + | ||
694 | +.xl68 { | ||
695 | + text-align: center; | ||
696 | + font-size: 14pt; | ||
697 | +} | ||
698 | + | ||
699 | +.xl69 { | ||
700 | + text-align: left; | ||
701 | + font-size: 8pt; | ||
702 | +} | ||
703 | + | ||
704 | +.xl70 { | ||
705 | + text-align: left; | ||
706 | + font-size: 8pt; | ||
707 | +} | ||
708 | + | ||
709 | +.xl71 { | ||
710 | + text-align: center; | ||
711 | + font-size: 8pt; | ||
712 | + border: 0.5pt solid windowtext; | ||
713 | +} | ||
714 | + | ||
715 | +.xl72 { | ||
716 | + text-align: center; | ||
717 | + font-size: 8pt; | ||
718 | + border: 0.5pt solid windowtext; | ||
719 | + white-space: normal; | ||
720 | +} | ||
721 | + | ||
722 | +.xl73 { | ||
723 | + white-space: normal; | ||
724 | + font-size: 8pt; | ||
725 | + border: 0.5pt solid windowtext; | ||
726 | +} | ||
727 | + | ||
728 | +.xl74 { | ||
729 | + text-align: center; | ||
730 | + white-space: normal; | ||
731 | + font-size: 8pt; | ||
732 | + border: 0.5pt solid windowtext; | ||
733 | +} | ||
734 | + | ||
735 | +.xl75 { | ||
736 | + text-align: center; | ||
737 | + white-space: normal; | ||
738 | + font-size: 8pt; | ||
739 | + border: 0.5pt solid windowtext; | ||
740 | +} | ||
741 | + | ||
742 | +.xl76 { | ||
743 | + font-size: 8pt; | ||
744 | +} | ||
745 | + | ||
746 | +.xl77 { | ||
747 | + font-size: 8pt; | ||
748 | +} | ||
749 | + | ||
750 | +.xl78 { | ||
751 | + text-align: center; | ||
752 | + font-size: 8pt; | ||
753 | +} |
src/pages/Prepaid/constant.tsx
@@ -226,6 +226,13 @@ export const BALANCE_CHANGE_COLUMNS = [ | @@ -226,6 +226,13 @@ export const BALANCE_CHANGE_COLUMNS = [ | ||
226 | width: 140, | 226 | width: 140, |
227 | }, | 227 | }, |
228 | { | 228 | { |
229 | + title: '变动人', | ||
230 | + dataIndex: 'updateBy', | ||
231 | + key: 'updateBy', | ||
232 | + dataType: 'text', | ||
233 | + width: 200, | ||
234 | + }, | ||
235 | + { | ||
229 | title: '类型', | 236 | title: '类型', |
230 | dataIndex: 'title', | 237 | dataIndex: 'title', |
231 | key: 'title', | 238 | key: 'title', |
src/pages/ResearchGroup/components/AuditModal.tsx
0 → 100644
1 | +import { RESPONSE_CODE } from '@/constants/enum'; | ||
2 | +import { postCommonAudit } from '@/services'; | ||
3 | +import { ModalForm, ProFormTextArea } from '@ant-design/pro-components'; | ||
4 | +import { Button, Form, message } from 'antd'; | ||
5 | +import { cloneDeep } from 'lodash'; | ||
6 | + | ||
7 | +// import { cloneDeep } from 'lodash'; | ||
8 | +export default ({ setVisible, ids, onClose }) => { | ||
9 | + const [form] = Form.useForm(); | ||
10 | + let auditIds = cloneDeep(ids); | ||
11 | + | ||
12 | + const parseValues = (values: any) => { | ||
13 | + values.ids = auditIds; | ||
14 | + values.notes = form.getFieldValue('auditNotes'); | ||
15 | + }; | ||
16 | + | ||
17 | + const doAudit = async (values: any) => { | ||
18 | + values.type = 'research_group_member_request_audit'; | ||
19 | + let res = await postCommonAudit({ data: values }); | ||
20 | + if (res && res.result === RESPONSE_CODE.SUCCESS) { | ||
21 | + message.success(res.message); | ||
22 | + onClose(); | ||
23 | + } | ||
24 | + }; | ||
25 | + | ||
26 | + const loadbtns = (props: any, defaultDoms: any) => { | ||
27 | + let btns = []; | ||
28 | + //取消 | ||
29 | + btns.push(defaultDoms[0]); | ||
30 | + | ||
31 | + //驳回 | ||
32 | + btns.push( | ||
33 | + <Button | ||
34 | + type="primary" | ||
35 | + onClick={() => { | ||
36 | + let values = form.getFieldsValue(); | ||
37 | + values.pass = false; | ||
38 | + parseValues(values); | ||
39 | + doAudit(values); | ||
40 | + }} | ||
41 | + > | ||
42 | + 驳回 | ||
43 | + </Button>, | ||
44 | + ); | ||
45 | + | ||
46 | + //确认 | ||
47 | + btns.push(defaultDoms[1]); | ||
48 | + | ||
49 | + return btns; | ||
50 | + }; | ||
51 | + | ||
52 | + return ( | ||
53 | + <> | ||
54 | + <ModalForm | ||
55 | + width={500} | ||
56 | + open | ||
57 | + title="审核" | ||
58 | + form={form} | ||
59 | + autoFocusFirstInput | ||
60 | + modalProps={{ | ||
61 | + okText: '通过', | ||
62 | + cancelText: '取消', | ||
63 | + destroyOnClose: true, | ||
64 | + onCancel: () => { | ||
65 | + setVisible(false); | ||
66 | + }, | ||
67 | + }} | ||
68 | + onFinish={async (values) => { | ||
69 | + values.pass = true; | ||
70 | + parseValues(values); | ||
71 | + doAudit(values); | ||
72 | + onClose(); | ||
73 | + }} | ||
74 | + onOpenChange={setVisible} | ||
75 | + submitter={{ | ||
76 | + render: (props, defaultDoms) => { | ||
77 | + return loadbtns(props, defaultDoms); | ||
78 | + }, | ||
79 | + }} | ||
80 | + > | ||
81 | + <ProFormTextArea | ||
82 | + name="auditNotes" | ||
83 | + key="auditNotes" | ||
84 | + placeholder="备注" | ||
85 | + label="若驳回,请填写备注" | ||
86 | + /> | ||
87 | + </ModalForm> | ||
88 | + </> | ||
89 | + ); | ||
90 | +}; |
src/pages/ResearchGroup/components/ImportModal.tsx
0 → 100644
1 | +import { RESPONSE_CODE } from '@/constants/enum'; | ||
2 | +import { postResearchGroupsImport } from '@/services'; | ||
3 | +import { orderExport } from '@/services/order'; | ||
4 | +import { UploadOutlined } from '@ant-design/icons'; | ||
5 | +import { Button, Modal, Upload, message } from 'antd'; | ||
6 | +import { RcFile, UploadFile, UploadProps } from 'antd/es/upload'; | ||
7 | +import { useState } from 'react'; | ||
8 | +export default ({ onClose }) => { | ||
9 | + // const [form] = Form.useForm<{ name: string; company: string }>(); | ||
10 | + const [messageApi, contextHolder] = message.useMessage(); | ||
11 | + const [fileList, setFileList] = useState<UploadFile[]>([]); | ||
12 | + const [uploading, setUploading] = useState(false); | ||
13 | + const handleChange: UploadProps['onChange'] = ({ fileList: newFileList }) => | ||
14 | + setFileList(newFileList); | ||
15 | + | ||
16 | + const exportLoading = (content: string) => { | ||
17 | + messageApi.open({ | ||
18 | + type: 'loading', | ||
19 | + content: content, | ||
20 | + duration: 0, | ||
21 | + }); | ||
22 | + }; | ||
23 | + | ||
24 | + const exportLoadingDestory = () => { | ||
25 | + messageApi.destroy(); | ||
26 | + }; | ||
27 | + const downloadTemplate = async () => { | ||
28 | + exportLoading('正在下载模板...'); | ||
29 | + orderExport( | ||
30 | + '/api/research/groups/download/importTemplate', | ||
31 | + '导入模板.xls', | ||
32 | + 'POST', | ||
33 | + {}, | ||
34 | + exportLoadingDestory, | ||
35 | + ); | ||
36 | + }; | ||
37 | + | ||
38 | + const handleUpload = async () => { | ||
39 | + const formData = new FormData(); | ||
40 | + fileList.forEach((file) => { | ||
41 | + //originFileObj二进制文件 | ||
42 | + formData.append('file', file.originFileObj as RcFile); | ||
43 | + }); | ||
44 | + // console.log(fileList[0] as RcFile) | ||
45 | + // formData.append('file', fileList[0] as RcFile); | ||
46 | + setUploading(true); | ||
47 | + // You can use any AJAX library you like | ||
48 | + const res = await postResearchGroupsImport({ | ||
49 | + data: formData, | ||
50 | + headers: { | ||
51 | + 'Content-Type': | ||
52 | + 'multipart/form-data; boundary=----WebKitFormBoundarynl6gT1BKdPWIejNq', | ||
53 | + }, | ||
54 | + }); | ||
55 | + | ||
56 | + if (res.result === RESPONSE_CODE.SUCCESS) { | ||
57 | + message.success(res.message); | ||
58 | + onClose(); | ||
59 | + } | ||
60 | + | ||
61 | + setUploading(false); | ||
62 | + }; | ||
63 | + | ||
64 | + const props: UploadProps = { | ||
65 | + onRemove: (file) => { | ||
66 | + const index = fileList.indexOf(file); | ||
67 | + const newFileList = fileList.slice(); | ||
68 | + newFileList.splice(index, 1); | ||
69 | + setFileList(newFileList); | ||
70 | + }, | ||
71 | + beforeUpload: (file) => { | ||
72 | + setFileList([...fileList, file]); | ||
73 | + | ||
74 | + return false; | ||
75 | + }, | ||
76 | + fileList, | ||
77 | + onChange: handleChange, | ||
78 | + accept: '.xlsx', | ||
79 | + }; | ||
80 | + | ||
81 | + return ( | ||
82 | + <> | ||
83 | + <Modal | ||
84 | + width={500} | ||
85 | + open | ||
86 | + title="课题组信息导入" | ||
87 | + footer={[ | ||
88 | + <Button key="cancel" onClick={onClose}> | ||
89 | + 取消 | ||
90 | + </Button>, | ||
91 | + <Button | ||
92 | + type="primary" | ||
93 | + key="ok" | ||
94 | + onClick={handleUpload} | ||
95 | + disabled={fileList.length === 0} | ||
96 | + loading={uploading} | ||
97 | + > | ||
98 | + {uploading ? '上传中' : '提交'} | ||
99 | + </Button>, | ||
100 | + ]} | ||
101 | + onCancel={async () => { | ||
102 | + onClose(); | ||
103 | + }} | ||
104 | + > | ||
105 | + <div className="py-4 font-semibold"> | ||
106 | + 导入课题组信息 | ||
107 | + <Button type="link" onClick={downloadTemplate}> | ||
108 | + 下载模板 | ||
109 | + </Button> | ||
110 | + </div> | ||
111 | + <Upload {...props}> | ||
112 | + <Button icon={<UploadOutlined />} disabled={fileList.length > 0}> | ||
113 | + 点击选择文件 | ||
114 | + </Button> | ||
115 | + </Upload> | ||
116 | + </Modal> | ||
117 | + {contextHolder} | ||
118 | + </> | ||
119 | + ); | ||
120 | +}; |
src/pages/ResearchGroup/components/ResearchGroupAddModal.tsx
0 → 100644
1 | +import { RESPONSE_CODE } from '@/constants/enum'; | ||
2 | +import { | ||
3 | + postCanrdApiUserAddressList, | ||
4 | + postCanrdApiUserList, | ||
5 | + postResearchGroupsAdd, | ||
6 | + postResearchGroupsDetail, | ||
7 | + postResearchGroupsEdit, | ||
8 | +} from '@/services'; | ||
9 | +import { getDefaultString, isEmpty } from '@/utils/StringUtil'; | ||
10 | +import { getRandomNumber } from '@/utils/numberUtil'; | ||
11 | +import { getSalesCodeOptions } from '@/utils/order'; | ||
12 | +import { validatePhoneNumberBool } from '@/utils/validators'; | ||
13 | +import { | ||
14 | + ModalForm, | ||
15 | + ProCard, | ||
16 | + ProForm, | ||
17 | + ProFormSelect, | ||
18 | + ProFormText, | ||
19 | +} from '@ant-design/pro-components'; | ||
20 | +import { Button, Form, Spin, message } from 'antd'; | ||
21 | +import { cloneDeep } from 'lodash'; | ||
22 | +import { useEffect, useState } from 'react'; | ||
23 | +import '../index.less'; | ||
24 | + | ||
25 | +// import { cloneDeep } from 'lodash'; | ||
26 | +export default ({ setVisible, researchGroupId, onClose }) => { | ||
27 | + const [form] = Form.useForm(); | ||
28 | + const [salesCodeOptions, setSalesCodeOptions] = useState([]); | ||
29 | + const [memberOptions, setMemberOptions] = useState<any[]>([]); | ||
30 | + const [accountOptions, setAccountOptions] = useState<any[]>([]); | ||
31 | + const [researchGroupInfo, setResearchGroupInfo] = useState<any>(null); | ||
32 | + const [modalLoading, setModalLoading] = useState(false); | ||
33 | + const groupId = cloneDeep(researchGroupId); | ||
34 | + const [requestCount, setRequestCount] = useState(1); | ||
35 | + | ||
36 | + /** | ||
37 | + * 获取课题组信息 | ||
38 | + * @returns | ||
39 | + */ | ||
40 | + const loadResearchGroupInfo = async () => { | ||
41 | + if (groupId === null) { | ||
42 | + return; | ||
43 | + } | ||
44 | + setModalLoading(true); | ||
45 | + let res = await postResearchGroupsDetail({ data: { id: groupId } }); | ||
46 | + if (res && res.result === RESPONSE_CODE.SUCCESS) { | ||
47 | + setResearchGroupInfo(res.data); | ||
48 | + } | ||
49 | + setModalLoading(false); | ||
50 | + }; | ||
51 | + | ||
52 | + /** | ||
53 | + * 获取销售代码枚举,在复制和编辑的时候判断是否为旧的代码 | ||
54 | + */ | ||
55 | + const loadSalesCodeOptions = async () => { | ||
56 | + let options = await getSalesCodeOptions(); | ||
57 | + setSalesCodeOptions(options); | ||
58 | + }; | ||
59 | + | ||
60 | + /** | ||
61 | + * 对options去重 | ||
62 | + * @param options | ||
63 | + * @returns | ||
64 | + */ | ||
65 | + function deduplicateOptions(options: any) { | ||
66 | + const seen = new Set(); | ||
67 | + const result: any[] = []; | ||
68 | + options.forEach((option: any) => { | ||
69 | + const uniqueKey = `${option.realName}-${option.phone}`; | ||
70 | + if (!seen.has(uniqueKey)) { | ||
71 | + seen.add(uniqueKey); | ||
72 | + result.push(option); | ||
73 | + } | ||
74 | + }); | ||
75 | + return result; | ||
76 | + } | ||
77 | + | ||
78 | + /** | ||
79 | + * 自动填充客户信息 | ||
80 | + * @param option | ||
81 | + */ | ||
82 | + function autoFillCustomerInfo(option: any) { | ||
83 | + if (!option) { | ||
84 | + return; | ||
85 | + } | ||
86 | + let realName = option.realName; | ||
87 | + let id = option.value; | ||
88 | + if (id === 3.1415926) { | ||
89 | + message.warning( | ||
90 | + '请填写下方的【客户名称】和【手机号】,填写完成确保信息无误后点击添加按钮。', | ||
91 | + ); | ||
92 | + form.setFieldValue('realName', option.name); | ||
93 | + return; | ||
94 | + } | ||
95 | + //判断当前客户信息是否已添加过:id匹配或者option的phone匹配说明添加过了 | ||
96 | + let memberIds = form.getFieldValue('members'); | ||
97 | + if (!memberIds) { | ||
98 | + //表单项没值的时候默认是undefined。初始化为数组 | ||
99 | + memberIds = []; | ||
100 | + } | ||
101 | + if (memberIds.includes(id)) { | ||
102 | + message.info(`${realName} 重复添加`); | ||
103 | + return; | ||
104 | + } | ||
105 | + //表单项的value添加当前option的value | ||
106 | + memberIds.push(id); | ||
107 | + form.setFieldValue('members', memberIds); | ||
108 | + message.success(`${realName} 添加成功`); | ||
109 | + //判断options中是否已经有这个option | ||
110 | + for (let memberOption of memberOptions) { | ||
111 | + if ( | ||
112 | + memberIds.includes(memberOption.value) && | ||
113 | + memberOption.phone === option.phone | ||
114 | + ) { | ||
115 | + return; | ||
116 | + } | ||
117 | + } | ||
118 | + //option添加到memberOptions中 | ||
119 | + let newMemberOptions = [...memberOptions]; | ||
120 | + newMemberOptions.push(option); | ||
121 | + setMemberOptions(newMemberOptions); | ||
122 | + | ||
123 | + //清空信息 | ||
124 | + form.setFieldValue('realName', undefined); | ||
125 | + form.setFieldValue('phone', undefined); | ||
126 | + form.setFieldValue('customerName', null); | ||
127 | + } | ||
128 | + | ||
129 | + /** | ||
130 | + * 保存account的options | ||
131 | + * @param option | ||
132 | + * @returns | ||
133 | + */ | ||
134 | + function autoAccountSelectOptions(option: any) { | ||
135 | + if (!option) { | ||
136 | + return; | ||
137 | + } | ||
138 | + let id = option.value; | ||
139 | + //判断当前客户信息是否已添加过:id匹配或者option的phone匹配说明添加过了 | ||
140 | + let accountIds = form.getFieldValue('accounts'); | ||
141 | + if (!accountIds) { | ||
142 | + //表单项没值的时候默认是undefined。初始化为数组 | ||
143 | + accountIds = []; | ||
144 | + } | ||
145 | + if (accountIds.includes(id)) { | ||
146 | + return; | ||
147 | + } | ||
148 | + //option添加到accountOptions中 | ||
149 | + setAccountOptions(option); | ||
150 | + } | ||
151 | + | ||
152 | + /** | ||
153 | + * 添加自定义成员 | ||
154 | + */ | ||
155 | + function addCustomMember() { | ||
156 | + let realName = form.getFieldValue('realName'); | ||
157 | + let phone = form.getFieldValue('phone'); | ||
158 | + if (isEmpty(realName)) { | ||
159 | + message.error('请填写客户名称'); | ||
160 | + } | ||
161 | + if (isEmpty(phone)) { | ||
162 | + message.error('请填写手机号'); | ||
163 | + } | ||
164 | + if (!validatePhoneNumberBool(phone)) { | ||
165 | + message.error('请填写正确格式的手机号'); | ||
166 | + return; | ||
167 | + } | ||
168 | + let customOption = { | ||
169 | + value: getRandomNumber(10), | ||
170 | + realName: realName, | ||
171 | + phone: phone, | ||
172 | + }; | ||
173 | + autoFillCustomerInfo(customOption); | ||
174 | + } | ||
175 | + | ||
176 | + function parseFormValues(values: any) { | ||
177 | + if (!values) { | ||
178 | + return {}; | ||
179 | + } | ||
180 | + | ||
181 | + let memberIds = values.members; | ||
182 | + let accountIds = values.accounts; | ||
183 | + values.id = groupId; | ||
184 | + | ||
185 | + //成员对象封装 | ||
186 | + if (memberIds) { | ||
187 | + let memberObjs: any[] = []; | ||
188 | + for (let memberOption of memberOptions) { | ||
189 | + if (memberIds.includes(memberOption.value)) { | ||
190 | + memberObjs.push({ | ||
191 | + memberName: memberOption.realName, | ||
192 | + memberPhone: memberOption.phone, | ||
193 | + id: memberOption.id, | ||
194 | + groupId: memberOption.groupId, | ||
195 | + }); | ||
196 | + } | ||
197 | + } | ||
198 | + values.members = memberObjs; | ||
199 | + } | ||
200 | + | ||
201 | + //预存账号对象封装 | ||
202 | + if (accountIds) { | ||
203 | + let accountObjs: any[] = []; | ||
204 | + for (let accountOption of accountOptions) { | ||
205 | + if (accountIds.includes(accountOption.uid)) { | ||
206 | + accountObjs.push({ | ||
207 | + accountPhone: accountOption.phone, | ||
208 | + accountId: accountOption.uid, | ||
209 | + accountName: accountOption.realName, | ||
210 | + id: accountOption.id, | ||
211 | + groupId: accountOption.groupId, | ||
212 | + }); | ||
213 | + } | ||
214 | + } | ||
215 | + values.accounts = accountObjs; | ||
216 | + } | ||
217 | + | ||
218 | + return values; | ||
219 | + } | ||
220 | + | ||
221 | + /** | ||
222 | + * 设置表单默认信息 | ||
223 | + * @returns | ||
224 | + */ | ||
225 | + const loadFormDefaultValue = async () => { | ||
226 | + if (!researchGroupInfo) { | ||
227 | + return; | ||
228 | + } | ||
229 | + | ||
230 | + let members = researchGroupInfo.members; | ||
231 | + if (members !== null) { | ||
232 | + let newMemberOptions = []; | ||
233 | + for (let member of members) { | ||
234 | + let name = member.memberName; | ||
235 | + let phone = member.memberPhone; | ||
236 | + let id = member.id; | ||
237 | + newMemberOptions.push({ | ||
238 | + ...member, | ||
239 | + realName: name, | ||
240 | + phone: phone, | ||
241 | + value: id, | ||
242 | + }); | ||
243 | + } | ||
244 | + setMemberOptions(newMemberOptions); | ||
245 | + form.setFieldValue( | ||
246 | + 'members', | ||
247 | + members?.map((item: any) => { | ||
248 | + return item.id; | ||
249 | + }), | ||
250 | + ); | ||
251 | + } | ||
252 | + | ||
253 | + let accounts = researchGroupInfo.accounts; | ||
254 | + if (accounts !== null) { | ||
255 | + let phones: any[] = []; | ||
256 | + let accountIds = accounts | ||
257 | + .filter((account: any) => { | ||
258 | + //id为空的按照手机号查询 | ||
259 | + if (account.accountId === null) { | ||
260 | + phones.push(account.accountPhone); | ||
261 | + return false; | ||
262 | + } | ||
263 | + return true; | ||
264 | + }) | ||
265 | + .map((item: any) => item.accountId); | ||
266 | + | ||
267 | + let uidIdMap = new Map( | ||
268 | + accounts.map((item: any) => [item.accountId, item.id]), | ||
269 | + ); | ||
270 | + let res = await postCanrdApiUserList({ | ||
271 | + data: { uids: accountIds, phones: phones }, | ||
272 | + }); | ||
273 | + if (res && res.result === RESPONSE_CODE.SUCCESS) { | ||
274 | + let accountList = res?.data?.data; | ||
275 | + console.log(accountList); | ||
276 | + let newAccountOptions = accountList?.map((item) => { | ||
277 | + item.value = uidIdMap.get(item.uid); | ||
278 | + return item; | ||
279 | + }); | ||
280 | + | ||
281 | + console.log(newAccountOptions); | ||
282 | + setAccountOptions(newAccountOptions); | ||
283 | + } | ||
284 | + | ||
285 | + form.setFieldValue('accounts', accountIds); | ||
286 | + } | ||
287 | + | ||
288 | + form.setFieldValue('group', researchGroupInfo.groupName); | ||
289 | + form.setFieldValue('leader', researchGroupInfo.leaderName); | ||
290 | + }; | ||
291 | + | ||
292 | + useEffect(() => { | ||
293 | + loadSalesCodeOptions(); | ||
294 | + loadResearchGroupInfo(); | ||
295 | + }, []); | ||
296 | + | ||
297 | + useEffect(() => { | ||
298 | + loadFormDefaultValue(); | ||
299 | + }, [researchGroupInfo]); | ||
300 | + | ||
301 | + return ( | ||
302 | + <div className="research-group-index"> | ||
303 | + <ModalForm | ||
304 | + width={800} | ||
305 | + open | ||
306 | + title="新增/编辑课题组" | ||
307 | + form={form} | ||
308 | + autoFocusFirstInput | ||
309 | + submitter={{}} | ||
310 | + modalProps={{ | ||
311 | + okText: '提交', | ||
312 | + cancelText: '关闭', | ||
313 | + destroyOnClose: true, | ||
314 | + onCancel: () => { | ||
315 | + setVisible(false); | ||
316 | + }, | ||
317 | + }} | ||
318 | + onFinish={async (values) => { | ||
319 | + let newValues = parseFormValues(values); | ||
320 | + let res; | ||
321 | + if (researchGroupInfo === null) { | ||
322 | + res = await postResearchGroupsAdd({ | ||
323 | + data: newValues, | ||
324 | + }); | ||
325 | + } else { | ||
326 | + res = await postResearchGroupsEdit({ | ||
327 | + data: newValues, | ||
328 | + }); | ||
329 | + } | ||
330 | + if (res && res.result === RESPONSE_CODE.SUCCESS) { | ||
331 | + message.success(res.message); | ||
332 | + onClose(); | ||
333 | + } | ||
334 | + }} | ||
335 | + onOpenChange={setVisible} | ||
336 | + > | ||
337 | + <Spin spinning={modalLoading} tip="加载中..."> | ||
338 | + <ProForm.Group> | ||
339 | + <ProFormText | ||
340 | + name="group" | ||
341 | + label="课题组名称" | ||
342 | + placeholder="请输入课题组名称" | ||
343 | + rules={[{ required: true, message: '请输入课题组名称' }]} | ||
344 | + /> | ||
345 | + <ProFormSelect | ||
346 | + name="leader" | ||
347 | + key="leader" | ||
348 | + width="lg" | ||
349 | + showSearch | ||
350 | + label="负责人" | ||
351 | + placeholder="请输入课题组负责人" | ||
352 | + rules={[{ required: true, message: '请输入课题组负责人' }]} | ||
353 | + options={salesCodeOptions} | ||
354 | + /> | ||
355 | + </ProForm.Group> | ||
356 | + | ||
357 | + <ProFormSelect | ||
358 | + name="accounts" | ||
359 | + key="accounts" | ||
360 | + width="lg" | ||
361 | + showSearch | ||
362 | + label="绑定预存账号(可多选)" | ||
363 | + placeholder="请选择预存账号" | ||
364 | + onChange={(_, option) => { | ||
365 | + autoAccountSelectOptions(option); | ||
366 | + }} | ||
367 | + rules={[{ required: true, message: '请至少选择绑定一个预存账号' }]} | ||
368 | + fieldProps={{ | ||
369 | + mode: 'multiple', | ||
370 | + filterOption() { | ||
371 | + return true; | ||
372 | + }, | ||
373 | + optionItemRender(item: any) { | ||
374 | + let name = | ||
375 | + item.label + | ||
376 | + ' | ' + | ||
377 | + item.institution + | ||
378 | + ' | ' + | ||
379 | + item.nowMoney + | ||
380 | + '¥' + | ||
381 | + ' | ' + | ||
382 | + item.phone; | ||
383 | + return ( | ||
384 | + <div title={name}> | ||
385 | + <span style={{ color: '#333333' }}>{name}</span> | ||
386 | + </div> | ||
387 | + ); | ||
388 | + }, | ||
389 | + }} | ||
390 | + debounceTime={1000} | ||
391 | + request={async (value, {}) => { | ||
392 | + const keywords = value.keyWords; | ||
393 | + let body = { | ||
394 | + keywords: keywords, | ||
395 | + pageSize: 20, | ||
396 | + researchGroupId: undefined, | ||
397 | + }; | ||
398 | + | ||
399 | + if (requestCount === 1) { | ||
400 | + body.researchGroupId = groupId; | ||
401 | + } | ||
402 | + | ||
403 | + const res = await postCanrdApiUserList({ | ||
404 | + data: body, | ||
405 | + }); | ||
406 | + let options = res?.data?.data?.map((c: any) => { | ||
407 | + return { | ||
408 | + ...c, | ||
409 | + label: c.realName, | ||
410 | + value: c.uid, | ||
411 | + key: c.uid, | ||
412 | + }; | ||
413 | + }); | ||
414 | + | ||
415 | + setRequestCount(requestCount + 1); | ||
416 | + return options; | ||
417 | + }} | ||
418 | + /> | ||
419 | + | ||
420 | + <ProFormSelect | ||
421 | + name="members" | ||
422 | + key="members" | ||
423 | + width="lg" | ||
424 | + showSearch | ||
425 | + label="课题组成员" | ||
426 | + placeholder="请添加课题组成员" | ||
427 | + fieldProps={{ | ||
428 | + mode: 'multiple', | ||
429 | + filterOption() { | ||
430 | + return true; | ||
431 | + }, | ||
432 | + optionItemRender(item: any) { | ||
433 | + let name = item.realName + ' | ' + item.phone; | ||
434 | + return ( | ||
435 | + <div title={name}> | ||
436 | + <span style={{ color: '#333333' }}>{name}</span> | ||
437 | + </div> | ||
438 | + ); | ||
439 | + }, | ||
440 | + }} | ||
441 | + options={memberOptions} | ||
442 | + /> | ||
443 | + | ||
444 | + <ProCard | ||
445 | + title="选择或自定义课题组成员信息" | ||
446 | + bordered | ||
447 | + tooltip="从【客户信息】选择框中可以直接搜索客户,选中后自动添加到【课题组成员】中。也可以自定义输入【客户名称】和【手机号】,点击添加按钮手动添加到【课题组成员】中。" | ||
448 | + > | ||
449 | + <ProForm.Group> | ||
450 | + <ProFormSelect | ||
451 | + key="customerName" | ||
452 | + label="客户信息(选择)" | ||
453 | + width="lg" | ||
454 | + showSearch | ||
455 | + name="customerName" | ||
456 | + placeholder="请选择客户信息" | ||
457 | + onChange={(_, option) => { | ||
458 | + autoFillCustomerInfo(option); | ||
459 | + }} | ||
460 | + fieldProps={{ | ||
461 | + filterOption() { | ||
462 | + return true; | ||
463 | + }, | ||
464 | + optionItemRender(item: any) { | ||
465 | + if (item.type === 'add') { | ||
466 | + return ( | ||
467 | + <div title={item.name + '(新增客户)'}> | ||
468 | + <span style={{ color: '#333333' }}>{item.name}</span> | ||
469 | + {' | '} | ||
470 | + <span style={{ color: 'orange' }}>自定义</span> | ||
471 | + </div> | ||
472 | + ); | ||
473 | + } | ||
474 | + | ||
475 | + let title = ''; | ||
476 | + let spanText = ''; | ||
477 | + let realName = item.realName; | ||
478 | + let phone = item.phone; | ||
479 | + | ||
480 | + title = | ||
481 | + getDefaultString(realName) + | ||
482 | + '|' + | ||
483 | + getDefaultString(phone); | ||
484 | + | ||
485 | + spanText = | ||
486 | + getDefaultString(realName) + | ||
487 | + '|' + | ||
488 | + getDefaultString(phone); | ||
489 | + return ( | ||
490 | + <div title={title}> | ||
491 | + <span style={{ color: '#333333' }}>{spanText}</span> | ||
492 | + </div> | ||
493 | + ); | ||
494 | + }, | ||
495 | + }} | ||
496 | + debounceTime={1000} | ||
497 | + request={async (value, {}) => { | ||
498 | + const keywords = value.keyWords; | ||
499 | + if (keywords === '') { | ||
500 | + return []; | ||
501 | + } | ||
502 | + const res = await postCanrdApiUserAddressList({ | ||
503 | + data: { keywords: keywords }, | ||
504 | + }); | ||
505 | + let options = res?.data?.map((c: any) => { | ||
506 | + return { | ||
507 | + ...c, | ||
508 | + label: c.name, | ||
509 | + value: c.id, | ||
510 | + key: c.id, | ||
511 | + }; | ||
512 | + }); | ||
513 | + | ||
514 | + //对options去重,realName和phone唯一 | ||
515 | + options = deduplicateOptions(options); | ||
516 | + | ||
517 | + //第一个商品默认为要新增客户 | ||
518 | + if (keywords.trim() !== '') { | ||
519 | + options.unshift({ | ||
520 | + name: keywords, | ||
521 | + type: 'add', | ||
522 | + label: keywords, | ||
523 | + value: 3.1415926, | ||
524 | + key: keywords, | ||
525 | + }); | ||
526 | + } | ||
527 | + | ||
528 | + return options; | ||
529 | + }} | ||
530 | + /> | ||
531 | + </ProForm.Group> | ||
532 | + | ||
533 | + <ProForm.Group> | ||
534 | + <ProFormText | ||
535 | + name="realName" | ||
536 | + label="客户名称(自定义)" | ||
537 | + placeholder="请输入客户名称" | ||
538 | + rules={[{ required: false, message: '请输入客户名称' }]} | ||
539 | + /> | ||
540 | + <ProFormText | ||
541 | + name="phone" | ||
542 | + label="手机号(自定义)" | ||
543 | + width="md" | ||
544 | + placeholder="请输入手机号" | ||
545 | + rules={[{ required: false, message: '请输入手机号' }]} | ||
546 | + /> | ||
547 | + </ProForm.Group> | ||
548 | + <Button | ||
549 | + type="primary" | ||
550 | + onClick={() => { | ||
551 | + addCustomMember(); | ||
552 | + }} | ||
553 | + > | ||
554 | + 添加 | ||
555 | + </Button> | ||
556 | + </ProCard> | ||
557 | + </Spin> | ||
558 | + </ModalForm> | ||
559 | + </div> | ||
560 | + ); | ||
561 | +}; |
src/pages/ResearchGroup/components/ResearchGroupMemberRequestAddModal.tsx
0 → 100644
1 | +import { RESPONSE_CODE } from '@/constants/enum'; | ||
2 | +import { | ||
3 | + postCanrdApiUserAddressList, | ||
4 | + postResearchGroupMemberRequestsAdd, | ||
5 | + postResearchGroupMemberRequestsDetail, | ||
6 | + postResearchGroupMemberRequestsEdit, | ||
7 | + postResearchGroupsDetail, | ||
8 | + postResearchGroupsList, | ||
9 | +} from '@/services'; | ||
10 | +import { getDefaultString, isEmpty } from '@/utils/StringUtil'; | ||
11 | +import { getRandomNumber } from '@/utils/numberUtil'; | ||
12 | + | ||
13 | +import { validatePhoneNumberBool } from '@/utils/validators'; | ||
14 | +import { | ||
15 | + ModalForm, | ||
16 | + ProCard, | ||
17 | + ProForm, | ||
18 | + ProFormSelect, | ||
19 | + ProFormText, | ||
20 | + ProFormTextArea, | ||
21 | +} from '@ant-design/pro-components'; | ||
22 | +import { Button, Form, Spin, message } from 'antd'; | ||
23 | +import { cloneDeep } from 'lodash'; | ||
24 | +import { useEffect, useState } from 'react'; | ||
25 | +import '../index.less'; | ||
26 | + | ||
27 | +// import { cloneDeep } from 'lodash'; | ||
28 | +export default ({ setVisible, requestId, onClose }) => { | ||
29 | + const [form] = Form.useForm(); | ||
30 | + const [memberOptions, setMemberOptions] = useState<any[]>([]); | ||
31 | + const [requestInfo, setRequestInfo] = useState<any>(null); | ||
32 | + const [modalLoading, setModalLoading] = useState(false); | ||
33 | + const [groupOption, setGroupOption] = useState<any>(null); | ||
34 | + const copyRequestId = cloneDeep(requestId); | ||
35 | + | ||
36 | + /** | ||
37 | + * 获取课题组信息 | ||
38 | + * @returns | ||
39 | + */ | ||
40 | + const loadRequestInfo = async () => { | ||
41 | + if (copyRequestId === null) { | ||
42 | + return; | ||
43 | + } | ||
44 | + setModalLoading(true); | ||
45 | + let res = await postResearchGroupMemberRequestsDetail({ | ||
46 | + data: { id: copyRequestId }, | ||
47 | + }); | ||
48 | + if (res && res.result === RESPONSE_CODE.SUCCESS) { | ||
49 | + setRequestInfo(res.data); | ||
50 | + } | ||
51 | + setModalLoading(false); | ||
52 | + }; | ||
53 | + | ||
54 | + /** | ||
55 | + * 对options去重 | ||
56 | + * @param options | ||
57 | + * @returns | ||
58 | + */ | ||
59 | + function deduplicateOptions(options: any) { | ||
60 | + const seen = new Set(); | ||
61 | + const result: any[] = []; | ||
62 | + options.forEach((option: any) => { | ||
63 | + const uniqueKey = `${option.realName}-${option.phone}`; | ||
64 | + if (!seen.has(uniqueKey)) { | ||
65 | + seen.add(uniqueKey); | ||
66 | + result.push(option); | ||
67 | + } | ||
68 | + }); | ||
69 | + return result; | ||
70 | + } | ||
71 | + | ||
72 | + /** | ||
73 | + * 自动填充客户信息 | ||
74 | + * @param option | ||
75 | + */ | ||
76 | + function autoFillCustomerInfo(option: any) { | ||
77 | + if (!option) { | ||
78 | + return; | ||
79 | + } | ||
80 | + let realName = option.realName; | ||
81 | + let id = option.value; | ||
82 | + if (id === 3.1415926) { | ||
83 | + message.warning( | ||
84 | + '请填写下方的【客户名称】和【手机号】,填写完成确保信息无误后点击添加按钮。', | ||
85 | + ); | ||
86 | + form.setFieldValue('realName', option.name); | ||
87 | + return; | ||
88 | + } | ||
89 | + //判断当前客户信息是否已添加过:id匹配或者option的phone匹配说明添加过了 | ||
90 | + let memberIds = form.getFieldValue('members'); | ||
91 | + if (!memberIds) { | ||
92 | + //表单项没值的时候默认是undefined。初始化为数组 | ||
93 | + memberIds = []; | ||
94 | + } | ||
95 | + if (memberIds.includes(id)) { | ||
96 | + message.info(`${realName} 重复添加`); | ||
97 | + return; | ||
98 | + } | ||
99 | + //表单项的value添加当前option的value | ||
100 | + memberIds.push(id); | ||
101 | + | ||
102 | + //如果是编辑,每次只保存一个 | ||
103 | + if (requestInfo !== null) { | ||
104 | + form.setFieldValue('members', [id]); | ||
105 | + } else { | ||
106 | + form.setFieldValue('members', memberIds); | ||
107 | + } | ||
108 | + | ||
109 | + message.success(`${realName} 添加成功`); | ||
110 | + //判断options中是否已经有这个option | ||
111 | + for (let memberOption of memberOptions) { | ||
112 | + if ( | ||
113 | + memberIds.includes(memberOption.value) && | ||
114 | + memberOption.phone === option.phone | ||
115 | + ) { | ||
116 | + return; | ||
117 | + } | ||
118 | + } | ||
119 | + //option添加到memberOptions中 | ||
120 | + let newMemberOptions = [...memberOptions]; | ||
121 | + newMemberOptions.push(option); | ||
122 | + setMemberOptions(newMemberOptions); | ||
123 | + | ||
124 | + //清空信息 | ||
125 | + form.setFieldValue('realName', undefined); | ||
126 | + form.setFieldValue('phone', undefined); | ||
127 | + form.setFieldValue('customerName', null); | ||
128 | + } | ||
129 | + | ||
130 | + /** | ||
131 | + * 添加自定义成员 | ||
132 | + */ | ||
133 | + function addCustomMember() { | ||
134 | + let realName = form.getFieldValue('realName'); | ||
135 | + let phone = form.getFieldValue('phone'); | ||
136 | + if (isEmpty(realName)) { | ||
137 | + message.error('请填写客户名称'); | ||
138 | + } | ||
139 | + if (isEmpty(phone)) { | ||
140 | + message.error('请填写手机号'); | ||
141 | + } | ||
142 | + if (!validatePhoneNumberBool(phone)) { | ||
143 | + message.error('请填写正确格式的手机号'); | ||
144 | + return; | ||
145 | + } | ||
146 | + let customOption = { | ||
147 | + value: getRandomNumber(10), | ||
148 | + realName: realName, | ||
149 | + phone: phone, | ||
150 | + }; | ||
151 | + autoFillCustomerInfo(customOption); | ||
152 | + } | ||
153 | + | ||
154 | + function parseFormValues(values: any) { | ||
155 | + if (!values) { | ||
156 | + return {}; | ||
157 | + } | ||
158 | + | ||
159 | + let memberIds = values.members; | ||
160 | + values.id = copyRequestId; | ||
161 | + | ||
162 | + //成员对象封装 | ||
163 | + if (memberIds) { | ||
164 | + let memberObjs: any[] = []; | ||
165 | + for (let memberOption of memberOptions) { | ||
166 | + if (memberIds.includes(memberOption.value)) { | ||
167 | + memberObjs.push({ | ||
168 | + memberName: memberOption.realName, | ||
169 | + memberPhone: memberOption.phone, | ||
170 | + id: memberOption.id, | ||
171 | + groupId: memberOption.groupId, | ||
172 | + }); | ||
173 | + | ||
174 | + values.memberName = memberOption.realName; | ||
175 | + values.memberPhone = memberOption.phone; | ||
176 | + } | ||
177 | + } | ||
178 | + values.members = memberObjs; | ||
179 | + } | ||
180 | + | ||
181 | + //课题组信息封装 | ||
182 | + if (groupOption) { | ||
183 | + values.groupName = groupOption.groupName; | ||
184 | + } | ||
185 | + | ||
186 | + return values; | ||
187 | + } | ||
188 | + | ||
189 | + /** | ||
190 | + * 设置表单默认信息 | ||
191 | + * @returns | ||
192 | + */ | ||
193 | + const loadFormDefaultValue = async () => { | ||
194 | + if (!requestInfo) { | ||
195 | + return; | ||
196 | + } | ||
197 | + | ||
198 | + let groupId = requestInfo.groupId; | ||
199 | + if (groupId !== null) { | ||
200 | + let res = await postResearchGroupsDetail({ data: { id: groupId } }); | ||
201 | + if (res && res.result === RESPONSE_CODE.SUCCESS) { | ||
202 | + setGroupOption(res.data); | ||
203 | + } | ||
204 | + | ||
205 | + form.setFieldValue('groupId', groupId); | ||
206 | + } | ||
207 | + | ||
208 | + form.setFieldValue('requestNotes', requestInfo.requestNotes); | ||
209 | + | ||
210 | + let memberName = requestInfo.memberName; | ||
211 | + let memberPhone = requestInfo.memberPhone; | ||
212 | + | ||
213 | + let uid = getRandomNumber(10); | ||
214 | + let newMemberOption = [ | ||
215 | + { realName: memberName, phone: memberPhone, uid: uid, value: uid }, | ||
216 | + ]; | ||
217 | + setMemberOptions(newMemberOption); | ||
218 | + //编辑只能选一个member | ||
219 | + form.setFieldValue('members', [uid]); | ||
220 | + }; | ||
221 | + | ||
222 | + useEffect(() => { | ||
223 | + loadRequestInfo(); | ||
224 | + }, []); | ||
225 | + | ||
226 | + useEffect(() => { | ||
227 | + loadFormDefaultValue(); | ||
228 | + }, [requestInfo]); | ||
229 | + | ||
230 | + return ( | ||
231 | + <div className="research-group-index"> | ||
232 | + <ModalForm | ||
233 | + width={800} | ||
234 | + open | ||
235 | + title={requestInfo !== null ? '编辑申请信息' : '新增申请'} | ||
236 | + form={form} | ||
237 | + autoFocusFirstInput | ||
238 | + submitter={{}} | ||
239 | + modalProps={{ | ||
240 | + okText: '提交', | ||
241 | + cancelText: '关闭', | ||
242 | + destroyOnClose: true, | ||
243 | + onCancel: () => { | ||
244 | + setVisible(false); | ||
245 | + }, | ||
246 | + }} | ||
247 | + onFinish={async (values) => { | ||
248 | + let newValues = parseFormValues(values); | ||
249 | + let res; | ||
250 | + if (requestInfo === null) { | ||
251 | + res = await postResearchGroupMemberRequestsAdd({ | ||
252 | + data: newValues, | ||
253 | + }); | ||
254 | + } else { | ||
255 | + res = await postResearchGroupMemberRequestsEdit({ | ||
256 | + data: newValues, | ||
257 | + }); | ||
258 | + } | ||
259 | + if (res && res.result === RESPONSE_CODE.SUCCESS) { | ||
260 | + message.success(res.message); | ||
261 | + onClose(); | ||
262 | + } | ||
263 | + }} | ||
264 | + onOpenChange={setVisible} | ||
265 | + > | ||
266 | + <Spin spinning={modalLoading} tip="加载中..."> | ||
267 | + <ProForm.Group> | ||
268 | + <ProFormSelect | ||
269 | + name="groupId" | ||
270 | + key="groupId" | ||
271 | + width="lg" | ||
272 | + showSearch | ||
273 | + label="课题组" | ||
274 | + placeholder="请选择课题组" | ||
275 | + rules={[{ required: true, message: '请选择课题组' }]} | ||
276 | + onChange={(_, option) => { | ||
277 | + setGroupOption(option); | ||
278 | + }} | ||
279 | + fieldProps={{ | ||
280 | + filterOption() { | ||
281 | + return true; | ||
282 | + }, | ||
283 | + optionItemRender(item: any) { | ||
284 | + let name = item.groupName + ' | ' + item.leaderName; | ||
285 | + return ( | ||
286 | + <div title={name}> | ||
287 | + <span style={{ color: '#333333' }}>{name}</span> | ||
288 | + </div> | ||
289 | + ); | ||
290 | + }, | ||
291 | + }} | ||
292 | + debounceTime={1000} | ||
293 | + request={async (value, {}) => { | ||
294 | + const groupName = value.keyWords; | ||
295 | + let body = { groupName: groupName, pageSize: 20 }; | ||
296 | + | ||
297 | + const res = await postResearchGroupsList({ | ||
298 | + data: body, | ||
299 | + }); | ||
300 | + let options = res?.data?.data?.map((c: any) => { | ||
301 | + return { | ||
302 | + ...c, | ||
303 | + label: c.groupName, | ||
304 | + value: c.id, | ||
305 | + key: c.id, | ||
306 | + }; | ||
307 | + }); | ||
308 | + return options; | ||
309 | + }} | ||
310 | + /> | ||
311 | + </ProForm.Group> | ||
312 | + | ||
313 | + <ProFormSelect | ||
314 | + name="members" | ||
315 | + key="members" | ||
316 | + width="lg" | ||
317 | + showSearch | ||
318 | + label="课题组成员" | ||
319 | + placeholder="请添加课题组成员" | ||
320 | + rules={[{ required: true, message: '请至少添加一个成员' }]} | ||
321 | + fieldProps={{ | ||
322 | + mode: 'multiple', | ||
323 | + filterOption() { | ||
324 | + return true; | ||
325 | + }, | ||
326 | + optionItemRender(item: any) { | ||
327 | + let name = item.realName + ' | ' + item.phone; | ||
328 | + return ( | ||
329 | + <div title={name}> | ||
330 | + <span style={{ color: '#333333' }}>{name}</span> | ||
331 | + </div> | ||
332 | + ); | ||
333 | + }, | ||
334 | + }} | ||
335 | + options={memberOptions} | ||
336 | + /> | ||
337 | + | ||
338 | + <ProCard | ||
339 | + title="选择或自定义课题组成员信息" | ||
340 | + bordered | ||
341 | + tooltip="从【客户信息】选择框中可以直接搜索客户,选中后自动添加到【课题组成员】中。也可以自定义输入【客户名称】和【手机号】,点击添加按钮手动添加到【课题组成员】中。" | ||
342 | + > | ||
343 | + <ProForm.Group> | ||
344 | + <ProFormSelect | ||
345 | + key="customerName" | ||
346 | + label="客户信息(选择)" | ||
347 | + width="lg" | ||
348 | + showSearch | ||
349 | + name="customerName" | ||
350 | + placeholder="请选择客户信息" | ||
351 | + onChange={(_, option) => { | ||
352 | + autoFillCustomerInfo(option); | ||
353 | + }} | ||
354 | + fieldProps={{ | ||
355 | + filterOption() { | ||
356 | + return true; | ||
357 | + }, | ||
358 | + optionItemRender(item: any) { | ||
359 | + if (item.type === 'add') { | ||
360 | + return ( | ||
361 | + <div title={item.name + '(新增客户)'}> | ||
362 | + <span style={{ color: '#333333' }}>{item.name}</span> | ||
363 | + {' | '} | ||
364 | + <span style={{ color: 'orange' }}>自定义</span> | ||
365 | + </div> | ||
366 | + ); | ||
367 | + } | ||
368 | + | ||
369 | + let title = ''; | ||
370 | + let spanText = ''; | ||
371 | + let realName = item.realName; | ||
372 | + let phone = item.phone; | ||
373 | + | ||
374 | + title = | ||
375 | + getDefaultString(realName) + | ||
376 | + '|' + | ||
377 | + getDefaultString(phone); | ||
378 | + | ||
379 | + spanText = | ||
380 | + getDefaultString(realName) + | ||
381 | + '|' + | ||
382 | + getDefaultString(phone); | ||
383 | + return ( | ||
384 | + <div title={title}> | ||
385 | + <span style={{ color: '#333333' }}>{spanText}</span> | ||
386 | + </div> | ||
387 | + ); | ||
388 | + }, | ||
389 | + }} | ||
390 | + debounceTime={1000} | ||
391 | + request={async (value, {}) => { | ||
392 | + const keywords = value.keyWords; | ||
393 | + if (keywords === '') { | ||
394 | + return []; | ||
395 | + } | ||
396 | + const res = await postCanrdApiUserAddressList({ | ||
397 | + data: { keywords: keywords }, | ||
398 | + }); | ||
399 | + let options = res?.data?.map((c: any) => { | ||
400 | + return { | ||
401 | + ...c, | ||
402 | + label: c.name, | ||
403 | + value: c.id, | ||
404 | + key: c.id, | ||
405 | + }; | ||
406 | + }); | ||
407 | + | ||
408 | + //对options去重,realName和phone唯一 | ||
409 | + options = deduplicateOptions(options); | ||
410 | + | ||
411 | + //第一个商品默认为要新增客户 | ||
412 | + if (keywords.trim() !== '') { | ||
413 | + options.unshift({ | ||
414 | + name: keywords, | ||
415 | + type: 'add', | ||
416 | + label: keywords, | ||
417 | + value: 3.1415926, | ||
418 | + key: keywords, | ||
419 | + }); | ||
420 | + } | ||
421 | + | ||
422 | + return options; | ||
423 | + }} | ||
424 | + /> | ||
425 | + </ProForm.Group> | ||
426 | + | ||
427 | + <ProForm.Group> | ||
428 | + <ProFormText | ||
429 | + name="realName" | ||
430 | + label="客户名称(自定义)" | ||
431 | + placeholder="请输入客户名称" | ||
432 | + rules={[{ required: false, message: '请输入客户名称' }]} | ||
433 | + /> | ||
434 | + <ProFormText | ||
435 | + name="phone" | ||
436 | + label="手机号(自定义)" | ||
437 | + width="md" | ||
438 | + placeholder="请输入手机号" | ||
439 | + rules={[{ required: false, message: '请输入手机号' }]} | ||
440 | + /> | ||
441 | + </ProForm.Group> | ||
442 | + <Button | ||
443 | + type="primary" | ||
444 | + onClick={() => { | ||
445 | + addCustomMember(); | ||
446 | + }} | ||
447 | + > | ||
448 | + 添加 | ||
449 | + </Button> | ||
450 | + </ProCard> | ||
451 | + | ||
452 | + <ProFormTextArea | ||
453 | + name="requestNotes" | ||
454 | + key="requestNotes" | ||
455 | + label="申请备注" | ||
456 | + /> | ||
457 | + </Spin> | ||
458 | + </ModalForm> | ||
459 | + </div> | ||
460 | + ); | ||
461 | +}; |
src/pages/ResearchGroup/constant.tsx
0 → 100644
1 | +import { enumToProTableEnumValue } from '@/utils'; | ||
2 | +export const AUDIT_STATUS_OPTIONS = { | ||
3 | + CREATED: '未审核', | ||
4 | + AUDIT_PASS: '审核通过', | ||
5 | + AUDIT_FAIL: '审核失败', | ||
6 | +}; | ||
7 | +export const RESEARCH_GROUP_COLUMNS = [ | ||
8 | + { | ||
9 | + title: '序号', | ||
10 | + dataIndex: 'index', | ||
11 | + valueType: 'index', | ||
12 | + width: 70, | ||
13 | + }, | ||
14 | + { | ||
15 | + title: 'ID', | ||
16 | + dataIndex: 'id', | ||
17 | + key: 'id', | ||
18 | + valueType: 'index', | ||
19 | + hideInSearch: true, | ||
20 | + hideInTable: true, | ||
21 | + }, | ||
22 | + { | ||
23 | + title: '课题组名称', | ||
24 | + dataIndex: 'groupName', | ||
25 | + key: 'groupName', | ||
26 | + fieldProps: { | ||
27 | + placeholder: '请输入课题组名称', | ||
28 | + }, | ||
29 | + }, | ||
30 | + { | ||
31 | + title: '预存账号', | ||
32 | + dataIndex: 'accounts', | ||
33 | + key: 'accounts', | ||
34 | + hideInSearch: true, | ||
35 | + }, | ||
36 | + { | ||
37 | + title: '预存手机号', | ||
38 | + dataIndex: 'accountPhone', | ||
39 | + key: 'accountPhone', | ||
40 | + hideInTable: true, | ||
41 | + }, | ||
42 | + { | ||
43 | + title: '成员名称', | ||
44 | + dataIndex: 'memberName', | ||
45 | + key: 'memberName', | ||
46 | + hideInTable: true, | ||
47 | + }, | ||
48 | + { | ||
49 | + title: '成员手机号', | ||
50 | + dataIndex: 'memberPhone', | ||
51 | + key: 'memberPhone', | ||
52 | + hideInTable: true, | ||
53 | + }, | ||
54 | + { | ||
55 | + title: '课题组成员', | ||
56 | + dataIndex: 'members', | ||
57 | + key: 'members', | ||
58 | + hideInSearch: true, | ||
59 | + }, | ||
60 | + { | ||
61 | + title: '负责人', | ||
62 | + dataIndex: 'leaderName', | ||
63 | + key: 'leaderName', | ||
64 | + fieldProps: { | ||
65 | + placeholder: '请输入负责人姓名', | ||
66 | + }, | ||
67 | + }, | ||
68 | + { | ||
69 | + title: '创建时间', | ||
70 | + dataIndex: 'createTime', | ||
71 | + key: 'createTime', | ||
72 | + valueType: 'dateTime', | ||
73 | + fieldProps: { | ||
74 | + placeholder: '请选择创建时间', | ||
75 | + }, | ||
76 | + hideInSearch: true, | ||
77 | + }, | ||
78 | + | ||
79 | + { | ||
80 | + title: '创建人', | ||
81 | + dataIndex: 'createByName', | ||
82 | + key: 'createByName', | ||
83 | + fieldProps: { | ||
84 | + placeholder: '请输入选择创建人', | ||
85 | + }, | ||
86 | + hideInSearch: true, | ||
87 | + }, | ||
88 | +]; | ||
89 | + | ||
90 | +export const RESEARCH_GROUP_MEMBER_REQUEST_COLUMNS = [ | ||
91 | + { | ||
92 | + title: '序号', | ||
93 | + dataIndex: 'index', | ||
94 | + valueType: 'index', | ||
95 | + width: 70, | ||
96 | + }, | ||
97 | + { | ||
98 | + title: '主键ID', | ||
99 | + dataIndex: 'id', | ||
100 | + key: 'id', | ||
101 | + valueType: 'index', | ||
102 | + hideInSearch: true, | ||
103 | + hideInTable: true, | ||
104 | + }, | ||
105 | + { | ||
106 | + title: '课题组名称', | ||
107 | + dataIndex: 'groupName', | ||
108 | + key: 'groupName', | ||
109 | + fieldProps: { | ||
110 | + placeholder: '请输入课题组名称', | ||
111 | + }, | ||
112 | + }, | ||
113 | + { | ||
114 | + title: '课题组ID', | ||
115 | + dataIndex: 'groupId', | ||
116 | + key: 'groupId', | ||
117 | + hideInSearch: true, | ||
118 | + }, | ||
119 | + { | ||
120 | + title: '成员名称', | ||
121 | + dataIndex: 'memberName', | ||
122 | + key: 'memberName', | ||
123 | + }, | ||
124 | + { | ||
125 | + title: '成员手机号', | ||
126 | + dataIndex: 'memberPhone', | ||
127 | + key: 'memberPhone', | ||
128 | + }, | ||
129 | + { | ||
130 | + title: '申请类型', | ||
131 | + dataIndex: 'requestType', | ||
132 | + key: 'requestType', | ||
133 | + fieldProps: { | ||
134 | + placeholder: '请输入申请类型:APPEND-新增 REMOVE-删除 MODIFY-修改', | ||
135 | + }, | ||
136 | + hideInTable: true, | ||
137 | + hideInSearch: true, | ||
138 | + }, | ||
139 | + { | ||
140 | + title: '审核状态', | ||
141 | + dataIndex: 'auditStatusText', | ||
142 | + key: 'auditStatusText', | ||
143 | + valueType: 'select', | ||
144 | + hideInSearch: true, | ||
145 | + }, | ||
146 | + { | ||
147 | + title: '审核状态', | ||
148 | + dataIndex: 'auditStatus', | ||
149 | + key: 'auditStatus', | ||
150 | + valueType: 'select', | ||
151 | + valueEnum: enumToProTableEnumValue(AUDIT_STATUS_OPTIONS), | ||
152 | + hideInTable: true, | ||
153 | + }, | ||
154 | + { | ||
155 | + title: '申请备注', | ||
156 | + dataIndex: 'requestNotes', | ||
157 | + key: 'requestNotes', | ||
158 | + }, | ||
159 | + { | ||
160 | + title: '审核备注', | ||
161 | + dataIndex: 'auditNotes', | ||
162 | + key: 'auditNotes', | ||
163 | + }, | ||
164 | + { | ||
165 | + title: '创建时间', | ||
166 | + dataIndex: 'createTime', | ||
167 | + key: 'createTime', | ||
168 | + valueType: 'dateTime', | ||
169 | + fieldProps: { | ||
170 | + placeholder: '请选择创建时间', | ||
171 | + }, | ||
172 | + hideInSearch: true, | ||
173 | + }, | ||
174 | + { | ||
175 | + title: '创建人', | ||
176 | + dataIndex: 'createByName', | ||
177 | + key: 'createByName', | ||
178 | + fieldProps: { | ||
179 | + placeholder: '请输入创建人', | ||
180 | + }, | ||
181 | + hideInSearch: true, | ||
182 | + }, | ||
183 | +]; |
src/pages/ResearchGroup/index.less
0 → 100644
src/pages/ResearchGroup/index.tsx
0 → 100644
1 | +import ButtonConfirm from '@/components/ButtomConfirm'; | ||
2 | +import EllipsisDiv from '@/components/Div/EllipsisDiv'; | ||
3 | +import { RESPONSE_CODE } from '@/constants/enum'; | ||
4 | +import {} from '@/pages/Invoice/constant'; | ||
5 | +import { | ||
6 | + postCanrdApiUserDetail, | ||
7 | + postResearchGroupMemberRequestsDelete, | ||
8 | + postResearchGroupMemberRequestsList, | ||
9 | + postResearchGroupsDelete, | ||
10 | + postResearchGroupsList, | ||
11 | +} from '@/services'; | ||
12 | +import { formatDateTime } from '@/utils'; | ||
13 | +import { PlusOutlined } from '@ant-design/icons'; | ||
14 | +import { ActionType, ProTable } from '@ant-design/pro-components'; | ||
15 | +import { | ||
16 | + Button, | ||
17 | + Col, | ||
18 | + Divider, | ||
19 | + Image, | ||
20 | + Popconfirm, | ||
21 | + Row, | ||
22 | + Space, | ||
23 | + Spin, | ||
24 | + Table, | ||
25 | + Tabs, | ||
26 | + Tag, | ||
27 | + message, | ||
28 | +} from 'antd'; | ||
29 | +import React, { useRef, useState } from 'react'; | ||
30 | +import AuditModal from './components/AuditModal'; | ||
31 | +import ImportModal from './components/ImportModal'; | ||
32 | +import ResearchGroupAddModal from './components/ResearchGroupAddModal'; | ||
33 | +import ResearchGroupMemberRequestAddModal from './components/ResearchGroupMemberRequestAddModal'; | ||
34 | +import { | ||
35 | + RESEARCH_GROUP_COLUMNS, | ||
36 | + RESEARCH_GROUP_MEMBER_REQUEST_COLUMNS, | ||
37 | +} from './constant'; | ||
38 | +import './index.less'; | ||
39 | +const PrepaidPage = () => { | ||
40 | + const researchGroupActionRef = useRef<ActionType>(); | ||
41 | + const memberApplyActionRef = useRef<ActionType>(); | ||
42 | + const [researchGroupAddModalVisible, setResearchGroupAddModalVisible] = | ||
43 | + useState(false); | ||
44 | + const [importModalVisible, setImportModalVisible] = useState(false); | ||
45 | + const [auditIds, setAuditIds] = useState<any[]>([]); | ||
46 | + const [auditModalVisible, setAuditModalVisible] = useState(false); | ||
47 | + const [ | ||
48 | + researchGroupMemberRequestAddModalVisible, | ||
49 | + setResearchGroupMemberRequestAddModalVisible, | ||
50 | + ] = useState(false); | ||
51 | + // const [checkVisible, setCheckVisible] = useState(false); | ||
52 | + const [accountInfo, setAccountInfo] = useState({ | ||
53 | + realName: '', | ||
54 | + phone: '', | ||
55 | + nowMoney: '', | ||
56 | + uid: '', | ||
57 | + }); | ||
58 | + const [accountInfoLoading, setAccountInfoLoading] = useState(false); | ||
59 | + const [perms, setPerms] = useState<string[]>([]); | ||
60 | + const [optRecordId, setOptRecordId] = useState<any>(null); | ||
61 | + | ||
62 | + const reloadResearchGroupTable = () => { | ||
63 | + researchGroupActionRef.current?.reload(); | ||
64 | + }; | ||
65 | + | ||
66 | + const reloadMemberApplyTable = () => { | ||
67 | + memberApplyActionRef.current?.reload(); | ||
68 | + }; | ||
69 | + | ||
70 | + // const getTableCellText = (target: any) => { | ||
71 | + // if (!target) { | ||
72 | + // return ''; | ||
73 | + // } | ||
74 | + | ||
75 | + // if (target.props) { | ||
76 | + // return target.props.text; | ||
77 | + // } | ||
78 | + | ||
79 | + // return target; | ||
80 | + // }; | ||
81 | + | ||
82 | + const renderMembersCell = (value: any) => { | ||
83 | + if (!value) { | ||
84 | + return <span></span>; | ||
85 | + } | ||
86 | + let tags = value.map((item: any) => { | ||
87 | + let memberName = item.memberName; | ||
88 | + let memberPhone = item.memberPhone; | ||
89 | + return ( | ||
90 | + <Tag | ||
91 | + className="mt-1 mb-0" | ||
92 | + key={item.id} | ||
93 | + color="cyan" | ||
94 | + title={memberName + ' | ' + memberPhone} | ||
95 | + > | ||
96 | + {memberName} | ||
97 | + </Tag> | ||
98 | + ); | ||
99 | + }); | ||
100 | + return <div className="whitespace-normal">{tags}</div>; | ||
101 | + }; | ||
102 | + | ||
103 | + /** | ||
104 | + * 获取预存账号信息 | ||
105 | + * @param accountId | ||
106 | + */ | ||
107 | + const loadAccountInfo = async (accountId: any, phone: any) => { | ||
108 | + setAccountInfoLoading(true); | ||
109 | + let res = await postCanrdApiUserDetail({ | ||
110 | + data: { uid: accountId, phone: phone }, | ||
111 | + }); | ||
112 | + if (res && res.result === RESPONSE_CODE.SUCCESS && res.data !== null) { | ||
113 | + setAccountInfo(res.data); | ||
114 | + } else { | ||
115 | + setAccountInfo({ | ||
116 | + realName: '加载失败', | ||
117 | + phone: '加载失败', | ||
118 | + nowMoney: '加载失败', | ||
119 | + uid: '加载失败', | ||
120 | + }); | ||
121 | + } | ||
122 | + setAccountInfoLoading(false); | ||
123 | + }; | ||
124 | + | ||
125 | + const renderAccountsCell = (value: any) => { | ||
126 | + if (!value) { | ||
127 | + return <span></span>; | ||
128 | + } | ||
129 | + | ||
130 | + return ( | ||
131 | + <div className="whitespace-normal"> | ||
132 | + {value.map((item: any) => { | ||
133 | + let accountPhone = item.accountPhone; | ||
134 | + let accountName = item.accountName; | ||
135 | + let accountId = item.accountId; | ||
136 | + return ( | ||
137 | + <Popconfirm | ||
138 | + key={item.id} | ||
139 | + title="账号详情" | ||
140 | + description={ | ||
141 | + <div className="w-[170px]"> | ||
142 | + {accountInfoLoading ? ( | ||
143 | + <div> | ||
144 | + <Spin /> | ||
145 | + </div> | ||
146 | + ) : ( | ||
147 | + <div> | ||
148 | + <Row gutter={4}> | ||
149 | + <Col span={10}> | ||
150 | + <div>编号:</div> | ||
151 | + </Col> | ||
152 | + <Col span={14}> | ||
153 | + <div>{accountInfo.uid}</div> | ||
154 | + </Col> | ||
155 | + </Row> | ||
156 | + <Row gutter={4}> | ||
157 | + <Col span={10}> | ||
158 | + <div>名称:</div> | ||
159 | + </Col> | ||
160 | + <Col span={14}> | ||
161 | + <div>{accountInfo.realName}</div> | ||
162 | + </Col> | ||
163 | + </Row> | ||
164 | + <Row gutter={4}> | ||
165 | + <Col span={10}> | ||
166 | + <div>手机号:</div> | ||
167 | + </Col> | ||
168 | + <Col span={14}> | ||
169 | + <EllipsisDiv text={accountInfo.phone} /> | ||
170 | + </Col> | ||
171 | + </Row> | ||
172 | + <Row gutter={4}> | ||
173 | + <Col span={10}> | ||
174 | + <div>余额:</div> | ||
175 | + </Col> | ||
176 | + <Col span={14}> | ||
177 | + <div>{accountInfo.nowMoney}</div> | ||
178 | + </Col> | ||
179 | + </Row> | ||
180 | + </div> | ||
181 | + )} | ||
182 | + </div> | ||
183 | + } | ||
184 | + cancelButtonProps={{ | ||
185 | + hidden: true, | ||
186 | + }} | ||
187 | + okButtonProps={{ | ||
188 | + hidden: true, | ||
189 | + }} | ||
190 | + > | ||
191 | + <Tag | ||
192 | + className="mt-1 mb-0 hover:cursor-pointer" | ||
193 | + color="geekblue" | ||
194 | + title={accountName + ' | ' + accountPhone} | ||
195 | + onClick={() => { | ||
196 | + loadAccountInfo(accountId, accountPhone); | ||
197 | + }} | ||
198 | + > | ||
199 | + {accountName} | ||
200 | + </Tag> | ||
201 | + </Popconfirm> | ||
202 | + ); | ||
203 | + })} | ||
204 | + </div> | ||
205 | + ); | ||
206 | + }; | ||
207 | + | ||
208 | + /** | ||
209 | + * 删除课题组信息 | ||
210 | + * @param ids | ||
211 | + */ | ||
212 | + const doDeleteResearchGroup = async (ids: any[]) => { | ||
213 | + let res = await postResearchGroupsDelete({ | ||
214 | + data: { ids: ids }, | ||
215 | + }); | ||
216 | + if (res && res.result === RESPONSE_CODE.SUCCESS) { | ||
217 | + message.success(res.message); | ||
218 | + reloadResearchGroupTable(); | ||
219 | + } | ||
220 | + }; | ||
221 | + | ||
222 | + /** | ||
223 | + * 删除课题组信息 | ||
224 | + * @param ids | ||
225 | + */ | ||
226 | + const doDeleteRequest = async (ids: any[]) => { | ||
227 | + let res = await postResearchGroupMemberRequestsDelete({ | ||
228 | + data: { ids: ids }, | ||
229 | + }); | ||
230 | + if (res && res.result === RESPONSE_CODE.SUCCESS) { | ||
231 | + message.success(res.message); | ||
232 | + reloadMemberApplyTable(); | ||
233 | + } | ||
234 | + }; | ||
235 | + | ||
236 | + /** | ||
237 | + * 加载课题组列表表格的各个列格式 | ||
238 | + */ | ||
239 | + const researchGroupColumnsInit = () => { | ||
240 | + let columns = RESEARCH_GROUP_COLUMNS.map((item) => { | ||
241 | + let newItem = { ...item }; | ||
242 | + let dataIndex = item.dataIndex; | ||
243 | + | ||
244 | + newItem.render = (text, record, index) => { | ||
245 | + let textValue = record[dataIndex]; | ||
246 | + | ||
247 | + if (dataIndex.endsWith('Time')) { | ||
248 | + textValue = formatDateTime(textValue); | ||
249 | + } | ||
250 | + | ||
251 | + if (dataIndex === 'members') { | ||
252 | + return renderMembersCell(textValue); | ||
253 | + } | ||
254 | + | ||
255 | + if (dataIndex === 'accounts') { | ||
256 | + return renderAccountsCell(textValue); | ||
257 | + } | ||
258 | + | ||
259 | + if (dataIndex === 'index') { | ||
260 | + textValue = index + 1; | ||
261 | + } | ||
262 | + | ||
263 | + if ( | ||
264 | + dataIndex === 'proofImages' && | ||
265 | + textValue !== null && | ||
266 | + textValue !== undefined | ||
267 | + ) { | ||
268 | + return ( | ||
269 | + <Image.PreviewGroup | ||
270 | + className="mr-10" | ||
271 | + preview={{ | ||
272 | + onChange: (current, prev) => | ||
273 | + console.log(`current index: ${current}, prev index: ${prev}`), | ||
274 | + }} | ||
275 | + > | ||
276 | + {textValue.map((item, index) => ( | ||
277 | + <React.Fragment key={index}> | ||
278 | + {index > 0 ? <Divider type="vertical" /> : ''} | ||
279 | + <Image | ||
280 | + className="max-h-[35px] max-w-[45px]" | ||
281 | + src={item} | ||
282 | + title={item} | ||
283 | + />{' '} | ||
284 | + </React.Fragment> | ||
285 | + ))} | ||
286 | + </Image.PreviewGroup> | ||
287 | + ); | ||
288 | + } | ||
289 | + | ||
290 | + return <EllipsisDiv text={textValue} />; | ||
291 | + }; | ||
292 | + | ||
293 | + return newItem; | ||
294 | + }); | ||
295 | + | ||
296 | + columns.push({ | ||
297 | + title: '操作', | ||
298 | + valueType: 'option', | ||
299 | + key: 'option', | ||
300 | + fixed: 'right', | ||
301 | + width: 120, | ||
302 | + render: (text, record) => { | ||
303 | + let btns = []; | ||
304 | + if (perms?.includes('modify')) { | ||
305 | + btns.push( | ||
306 | + <Button | ||
307 | + className="p-0" | ||
308 | + key="modify" | ||
309 | + type="link" | ||
310 | + onClick={() => { | ||
311 | + setResearchGroupAddModalVisible(true); | ||
312 | + setOptRecordId(record?.id); | ||
313 | + }} | ||
314 | + > | ||
315 | + 编辑 | ||
316 | + </Button>, | ||
317 | + ); | ||
318 | + } | ||
319 | + | ||
320 | + if (perms?.includes('delete')) { | ||
321 | + btns.push( | ||
322 | + <ButtonConfirm | ||
323 | + key="delete" | ||
324 | + className="p-0" | ||
325 | + title={'确认删除这个课题组吗?'} | ||
326 | + text="删除" | ||
327 | + onConfirm={async () => { | ||
328 | + doDeleteResearchGroup([record.id]); | ||
329 | + }} | ||
330 | + />, | ||
331 | + ); | ||
332 | + } | ||
333 | + return btns; | ||
334 | + }, | ||
335 | + }); | ||
336 | + | ||
337 | + return columns; | ||
338 | + }; | ||
339 | + | ||
340 | + /** | ||
341 | + * 加载申请列表表格的各个列格式 | ||
342 | + */ | ||
343 | + const memberApplyColumnsInit = () => { | ||
344 | + let columns = RESEARCH_GROUP_MEMBER_REQUEST_COLUMNS.map((item) => { | ||
345 | + let newItem = { ...item }; | ||
346 | + let dataIndex = item.dataIndex; | ||
347 | + | ||
348 | + newItem.render = (text, record, index) => { | ||
349 | + let textValue = record[dataIndex]; | ||
350 | + | ||
351 | + if (dataIndex.endsWith('Time')) { | ||
352 | + textValue = formatDateTime(textValue); | ||
353 | + } | ||
354 | + | ||
355 | + if (dataIndex === 'members') { | ||
356 | + return renderMembersCell(textValue); | ||
357 | + } | ||
358 | + | ||
359 | + if (dataIndex === 'accounts') { | ||
360 | + return renderAccountsCell(textValue); | ||
361 | + } | ||
362 | + | ||
363 | + if (dataIndex === 'index') { | ||
364 | + textValue = index + 1; | ||
365 | + } | ||
366 | + | ||
367 | + if ( | ||
368 | + dataIndex === 'proofImages' && | ||
369 | + textValue !== null && | ||
370 | + textValue !== undefined | ||
371 | + ) { | ||
372 | + return ( | ||
373 | + <Image.PreviewGroup | ||
374 | + className="mr-10" | ||
375 | + preview={{ | ||
376 | + onChange: (current, prev) => | ||
377 | + console.log(`current index: ${current}, prev index: ${prev}`), | ||
378 | + }} | ||
379 | + > | ||
380 | + {textValue.map((item, index) => ( | ||
381 | + <React.Fragment key={index}> | ||
382 | + {index > 0 ? <Divider type="vertical" /> : ''} | ||
383 | + <Image | ||
384 | + className="max-h-[35px] max-w-[45px]" | ||
385 | + src={item} | ||
386 | + title={item} | ||
387 | + />{' '} | ||
388 | + </React.Fragment> | ||
389 | + ))} | ||
390 | + </Image.PreviewGroup> | ||
391 | + ); | ||
392 | + } | ||
393 | + | ||
394 | + return <EllipsisDiv text={textValue} />; | ||
395 | + }; | ||
396 | + | ||
397 | + return newItem; | ||
398 | + }); | ||
399 | + | ||
400 | + columns.push({ | ||
401 | + title: '操作', | ||
402 | + valueType: 'option', | ||
403 | + key: 'option', | ||
404 | + fixed: 'right', | ||
405 | + width: 120, | ||
406 | + render: (text, record) => { | ||
407 | + let btns = []; | ||
408 | + if (record.permissions?.includes('modify')) { | ||
409 | + btns.push( | ||
410 | + <Button | ||
411 | + className="p-0" | ||
412 | + key="modify" | ||
413 | + type="link" | ||
414 | + onClick={() => { | ||
415 | + setResearchGroupMemberRequestAddModalVisible(true); | ||
416 | + setOptRecordId(record?.id); | ||
417 | + }} | ||
418 | + > | ||
419 | + 编辑 | ||
420 | + </Button>, | ||
421 | + ); | ||
422 | + } | ||
423 | + | ||
424 | + if (record.permissions?.includes('delete')) { | ||
425 | + btns.push( | ||
426 | + <ButtonConfirm | ||
427 | + key="delete" | ||
428 | + className="p-0" | ||
429 | + title={'确认删除这个申请吗?'} | ||
430 | + text="删除" | ||
431 | + onConfirm={async () => { | ||
432 | + doDeleteRequest([record.id]); | ||
433 | + }} | ||
434 | + />, | ||
435 | + ); | ||
436 | + } | ||
437 | + | ||
438 | + if (record.permissions?.includes('audit')) { | ||
439 | + btns.push( | ||
440 | + <Button | ||
441 | + key="delete" | ||
442 | + className="p-0" | ||
443 | + type="link" | ||
444 | + onClick={async () => { | ||
445 | + setAuditIds([record.id]); | ||
446 | + setAuditModalVisible(true); | ||
447 | + }} | ||
448 | + > | ||
449 | + 审核 | ||
450 | + </Button>, | ||
451 | + ); | ||
452 | + } | ||
453 | + return btns; | ||
454 | + }, | ||
455 | + }); | ||
456 | + | ||
457 | + return columns; | ||
458 | + }; | ||
459 | + | ||
460 | + const tabsItems = [ | ||
461 | + { | ||
462 | + key: 1, | ||
463 | + label: '课题组列表', | ||
464 | + children: ( | ||
465 | + <ProTable | ||
466 | + columns={researchGroupColumnsInit()} | ||
467 | + actionRef={researchGroupActionRef} | ||
468 | + cardBordered | ||
469 | + pagination={{ | ||
470 | + pageSize: 10, | ||
471 | + }} | ||
472 | + request={async (params) => { | ||
473 | + const res = await postResearchGroupsList({ | ||
474 | + data: { ...params }, | ||
475 | + }); | ||
476 | + setPerms(res.data.specialPath); | ||
477 | + return { | ||
478 | + data: res?.data?.data || [], | ||
479 | + total: res?.data?.total || 0, | ||
480 | + }; | ||
481 | + }} | ||
482 | + columnsState={{ | ||
483 | + persistenceKey: 'pro-table-singe-research-group', | ||
484 | + persistenceType: 'localStorage', | ||
485 | + defaultValue: { | ||
486 | + option: { fixed: 'right', disable: true }, | ||
487 | + }, | ||
488 | + onChange(value) { | ||
489 | + console.log('value: ', value); | ||
490 | + }, | ||
491 | + }} | ||
492 | + rowKey="id" | ||
493 | + search={{ | ||
494 | + labelWidth: 'auto', | ||
495 | + }} | ||
496 | + options={{ | ||
497 | + setting: { | ||
498 | + listsHeight: 400, | ||
499 | + }, | ||
500 | + }} | ||
501 | + form={{}} | ||
502 | + dateFormatter="string" | ||
503 | + headerTitle="课题组列表" | ||
504 | + scroll={{ x: 1400 }} | ||
505 | + toolBarRender={() => { | ||
506 | + let btns = []; | ||
507 | + if (perms?.includes('add')) { | ||
508 | + btns.push( | ||
509 | + <Button | ||
510 | + key="button" | ||
511 | + icon={<PlusOutlined />} | ||
512 | + onClick={() => { | ||
513 | + setResearchGroupAddModalVisible(true); | ||
514 | + }} | ||
515 | + type="primary" | ||
516 | + > | ||
517 | + 新建 | ||
518 | + </Button>, | ||
519 | + ); | ||
520 | + } | ||
521 | + | ||
522 | + if (perms?.includes('import')) { | ||
523 | + btns.push( | ||
524 | + <Button | ||
525 | + key="button" | ||
526 | + icon={<PlusOutlined />} | ||
527 | + onClick={() => { | ||
528 | + setImportModalVisible(true); | ||
529 | + }} | ||
530 | + type="primary" | ||
531 | + > | ||
532 | + 批量导入 | ||
533 | + </Button>, | ||
534 | + ); | ||
535 | + } | ||
536 | + | ||
537 | + return btns; | ||
538 | + }} | ||
539 | + rowSelection={{ | ||
540 | + // 自定义选择项参考: https://ant.design/components/table-cn/#components-table-demo-row-selection-custom | ||
541 | + // 注释该行则默认不显示下拉选项 | ||
542 | + selections: [Table.SELECTION_ALL, Table.SELECTION_INVERT], | ||
543 | + defaultSelectedRowKeys: [], | ||
544 | + }} | ||
545 | + tableAlertOptionRender={({ selectedRows, onCleanSelected }) => { | ||
546 | + let ids = selectedRows.map((item: any) => { | ||
547 | + return item.id; | ||
548 | + }); | ||
549 | + return ( | ||
550 | + <Space size={16}> | ||
551 | + <ButtonConfirm | ||
552 | + title="确认删除所选中的课题组信息吗?" | ||
553 | + text="批量删除" | ||
554 | + onConfirm={() => { | ||
555 | + doDeleteResearchGroup(ids); | ||
556 | + onCleanSelected(); | ||
557 | + }} | ||
558 | + /> | ||
559 | + | ||
560 | + <Button type="link" onClick={onCleanSelected}> | ||
561 | + 取消选中 | ||
562 | + </Button> | ||
563 | + </Space> | ||
564 | + ); | ||
565 | + }} | ||
566 | + /> | ||
567 | + ), | ||
568 | + }, | ||
569 | + { | ||
570 | + key: 2, | ||
571 | + label: '申请列表', | ||
572 | + children: ( | ||
573 | + <ProTable | ||
574 | + columns={memberApplyColumnsInit()} | ||
575 | + actionRef={memberApplyActionRef} | ||
576 | + cardBordered | ||
577 | + pagination={{ | ||
578 | + pageSize: 10, | ||
579 | + }} | ||
580 | + request={async (params) => { | ||
581 | + const res = await postResearchGroupMemberRequestsList({ | ||
582 | + data: { ...params }, | ||
583 | + }); | ||
584 | + setPerms(res.data.specialPath); | ||
585 | + return { | ||
586 | + data: res?.data?.data || [], | ||
587 | + total: res?.data?.total || 0, | ||
588 | + }; | ||
589 | + }} | ||
590 | + columnsState={{ | ||
591 | + persistenceKey: 'pro-table-singe-research-group', | ||
592 | + persistenceType: 'localStorage', | ||
593 | + defaultValue: { | ||
594 | + option: { fixed: 'right', disable: true }, | ||
595 | + }, | ||
596 | + onChange(value) { | ||
597 | + console.log('value: ', value); | ||
598 | + }, | ||
599 | + }} | ||
600 | + rowKey="id" | ||
601 | + search={{ | ||
602 | + labelWidth: 'auto', | ||
603 | + }} | ||
604 | + options={{ | ||
605 | + setting: { | ||
606 | + listsHeight: 400, | ||
607 | + }, | ||
608 | + }} | ||
609 | + form={{}} | ||
610 | + dateFormatter="string" | ||
611 | + headerTitle="申请列表" | ||
612 | + scroll={{ x: 1400 }} | ||
613 | + toolBarRender={() => { | ||
614 | + let btns = []; | ||
615 | + btns.push( | ||
616 | + <Button | ||
617 | + key="button" | ||
618 | + icon={<PlusOutlined />} | ||
619 | + onClick={() => { | ||
620 | + setResearchGroupMemberRequestAddModalVisible(true); | ||
621 | + }} | ||
622 | + type="primary" | ||
623 | + > | ||
624 | + 新建 | ||
625 | + </Button>, | ||
626 | + ); | ||
627 | + return btns; | ||
628 | + }} | ||
629 | + rowSelection={{ | ||
630 | + // 自定义选择项参考: https://ant.design/components/table-cn/#components-table-demo-row-selection-custom | ||
631 | + // 注释该行则默认不显示下拉选项 | ||
632 | + selections: [Table.SELECTION_ALL, Table.SELECTION_INVERT], | ||
633 | + defaultSelectedRowKeys: [], | ||
634 | + }} | ||
635 | + tableAlertOptionRender={({ selectedRows, onCleanSelected }) => { | ||
636 | + let ids = selectedRows.map((item: any) => { | ||
637 | + return item.id; | ||
638 | + }); | ||
639 | + return ( | ||
640 | + <Space size={16}> | ||
641 | + <ButtonConfirm | ||
642 | + title="确认删除所选中的课题组信息吗?" | ||
643 | + text="批量删除" | ||
644 | + onConfirm={() => { | ||
645 | + doDeleteRequest(ids); | ||
646 | + onCleanSelected(); | ||
647 | + }} | ||
648 | + /> | ||
649 | + <Button | ||
650 | + key="delete" | ||
651 | + className="p-0" | ||
652 | + type="link" | ||
653 | + onClick={async () => { | ||
654 | + setAuditIds(ids); | ||
655 | + setAuditModalVisible(true); | ||
656 | + }} | ||
657 | + > | ||
658 | + 批量审核 | ||
659 | + </Button> | ||
660 | + <Button type="link" onClick={onCleanSelected}> | ||
661 | + 取消选中 | ||
662 | + </Button> | ||
663 | + </Space> | ||
664 | + ); | ||
665 | + }} | ||
666 | + /> | ||
667 | + ), | ||
668 | + }, | ||
669 | + ]; | ||
670 | + return ( | ||
671 | + <div className="research-group-index"> | ||
672 | + <Tabs | ||
673 | + defaultActiveKey="1" | ||
674 | + items={tabsItems} | ||
675 | + onChange={(value) => { | ||
676 | + if (value === 1) { | ||
677 | + reloadResearchGroupTable(); | ||
678 | + } else { | ||
679 | + reloadMemberApplyTable(); | ||
680 | + } | ||
681 | + }} | ||
682 | + /> | ||
683 | + | ||
684 | + {researchGroupAddModalVisible && ( | ||
685 | + <ResearchGroupAddModal | ||
686 | + setVisible={(val: boolean) => { | ||
687 | + setResearchGroupAddModalVisible(val); | ||
688 | + if (!val) { | ||
689 | + setOptRecordId(null); | ||
690 | + } | ||
691 | + }} | ||
692 | + researchGroupId={optRecordId} | ||
693 | + onClose={() => { | ||
694 | + setResearchGroupAddModalVisible(false); | ||
695 | + setOptRecordId(null); | ||
696 | + reloadResearchGroupTable(); | ||
697 | + }} | ||
698 | + /> | ||
699 | + )} | ||
700 | + | ||
701 | + {researchGroupMemberRequestAddModalVisible && ( | ||
702 | + <ResearchGroupMemberRequestAddModal | ||
703 | + setVisible={(val: boolean) => { | ||
704 | + setResearchGroupMemberRequestAddModalVisible(val); | ||
705 | + if (!val) { | ||
706 | + setOptRecordId(null); | ||
707 | + } | ||
708 | + }} | ||
709 | + requestId={optRecordId} | ||
710 | + onClose={() => { | ||
711 | + setResearchGroupMemberRequestAddModalVisible(false); | ||
712 | + setOptRecordId(null); | ||
713 | + reloadMemberApplyTable(); | ||
714 | + }} | ||
715 | + /> | ||
716 | + )} | ||
717 | + | ||
718 | + {auditModalVisible && ( | ||
719 | + <AuditModal | ||
720 | + setVisible={(val: boolean) => { | ||
721 | + setAuditModalVisible(val); | ||
722 | + if (!val) { | ||
723 | + setOptRecordId(null); | ||
724 | + } | ||
725 | + }} | ||
726 | + ids={auditIds} | ||
727 | + onClose={() => { | ||
728 | + setAuditModalVisible(false); | ||
729 | + setAuditIds([]); | ||
730 | + reloadMemberApplyTable(); | ||
731 | + }} | ||
732 | + /> | ||
733 | + )} | ||
734 | + | ||
735 | + {importModalVisible && ( | ||
736 | + <ImportModal | ||
737 | + onClose={() => { | ||
738 | + setImportModalVisible(false); | ||
739 | + reloadMemberApplyTable(); | ||
740 | + }} | ||
741 | + /> | ||
742 | + )} | ||
743 | + </div> | ||
744 | + ); | ||
745 | +}; | ||
746 | + | ||
747 | +export default PrepaidPage; |
src/services/definition.ts
@@ -86,6 +86,8 @@ export interface AdminAuthUserVO { | @@ -86,6 +86,8 @@ export interface AdminAuthUserVO { | ||
86 | export interface AdminDeptQueryVO { | 86 | export interface AdminDeptQueryVO { |
87 | /** @format int32 */ | 87 | /** @format int32 */ |
88 | current?: number; | 88 | current?: number; |
89 | + /** @format int32 */ | ||
90 | + end?: number; | ||
89 | /** @format int64 */ | 91 | /** @format int64 */ |
90 | id?: number; | 92 | id?: number; |
91 | ids?: Array<number>; | 93 | ids?: Array<number>; |
@@ -95,6 +97,8 @@ export interface AdminDeptQueryVO { | @@ -95,6 +97,8 @@ export interface AdminDeptQueryVO { | ||
95 | /** @format int64 */ | 97 | /** @format int64 */ |
96 | pid?: number; | 98 | pid?: number; |
97 | /** @format int32 */ | 99 | /** @format int32 */ |
100 | + start?: number; | ||
101 | + /** @format int32 */ | ||
98 | total?: number; | 102 | total?: number; |
99 | } | 103 | } |
100 | 104 | ||
@@ -109,6 +113,8 @@ export interface AdminDeptVO { | @@ -109,6 +113,8 @@ export interface AdminDeptVO { | ||
109 | export interface AdminJobQueryVO { | 113 | export interface AdminJobQueryVO { |
110 | /** @format int32 */ | 114 | /** @format int32 */ |
111 | current?: number; | 115 | current?: number; |
116 | + /** @format int32 */ | ||
117 | + end?: number; | ||
112 | /** @format int64 */ | 118 | /** @format int64 */ |
113 | id?: number; | 119 | id?: number; |
114 | ids?: Array<number>; | 120 | ids?: Array<number>; |
@@ -118,6 +124,8 @@ export interface AdminJobQueryVO { | @@ -118,6 +124,8 @@ export interface AdminJobQueryVO { | ||
118 | /** @format int32 */ | 124 | /** @format int32 */ |
119 | sort?: number; | 125 | sort?: number; |
120 | /** @format int32 */ | 126 | /** @format int32 */ |
127 | + start?: number; | ||
128 | + /** @format int32 */ | ||
121 | total?: number; | 129 | total?: number; |
122 | } | 130 | } |
123 | 131 | ||
@@ -136,6 +144,8 @@ export interface AdminMenuQueryVO { | @@ -136,6 +144,8 @@ export interface AdminMenuQueryVO { | ||
136 | /** @format int32 */ | 144 | /** @format int32 */ |
137 | current?: number; | 145 | current?: number; |
138 | /** @format int32 */ | 146 | /** @format int32 */ |
147 | + end?: number; | ||
148 | + /** @format int32 */ | ||
139 | hidden?: number; | 149 | hidden?: number; |
140 | icon?: string; | 150 | icon?: string; |
141 | /** @format int64 */ | 151 | /** @format int64 */ |
@@ -151,6 +161,8 @@ export interface AdminMenuQueryVO { | @@ -151,6 +161,8 @@ export interface AdminMenuQueryVO { | ||
151 | /** @format int64 */ | 161 | /** @format int64 */ |
152 | pid?: number; | 162 | pid?: number; |
153 | /** @format int32 */ | 163 | /** @format int32 */ |
164 | + start?: number; | ||
165 | + /** @format int32 */ | ||
154 | total?: number; | 166 | total?: number; |
155 | /** @format int32 */ | 167 | /** @format int32 */ |
156 | type?: number; | 168 | type?: number; |
@@ -181,6 +193,8 @@ export interface AdminRoleQueryVO { | @@ -181,6 +193,8 @@ export interface AdminRoleQueryVO { | ||
181 | /** @format int32 */ | 193 | /** @format int32 */ |
182 | current?: number; | 194 | current?: number; |
183 | dataScope?: string; | 195 | dataScope?: string; |
196 | + /** @format int32 */ | ||
197 | + end?: number; | ||
184 | /** @format int64 */ | 198 | /** @format int64 */ |
185 | id?: number; | 199 | id?: number; |
186 | ids?: Array<number>; | 200 | ids?: Array<number>; |
@@ -192,6 +206,8 @@ export interface AdminRoleQueryVO { | @@ -192,6 +206,8 @@ export interface AdminRoleQueryVO { | ||
192 | permission?: string; | 206 | permission?: string; |
193 | remark?: string; | 207 | remark?: string; |
194 | /** @format int32 */ | 208 | /** @format int32 */ |
209 | + start?: number; | ||
210 | + /** @format int32 */ | ||
195 | total?: number; | 211 | total?: number; |
196 | } | 212 | } |
197 | 213 | ||
@@ -209,22 +225,30 @@ export interface AdminUserLoginByPhoneVO { | @@ -209,22 +225,30 @@ export interface AdminUserLoginByPhoneVO { | ||
209 | /** @format int32 */ | 225 | /** @format int32 */ |
210 | current?: number; | 226 | current?: number; |
211 | /** @format int32 */ | 227 | /** @format int32 */ |
228 | + end?: number; | ||
229 | + /** @format int32 */ | ||
212 | pageSize?: number; | 230 | pageSize?: number; |
213 | phone?: string; | 231 | phone?: string; |
214 | smsCaptchaCode?: string; | 232 | smsCaptchaCode?: string; |
215 | /** @format int32 */ | 233 | /** @format int32 */ |
234 | + start?: number; | ||
235 | + /** @format int32 */ | ||
216 | total?: number; | 236 | total?: number; |
217 | } | 237 | } |
218 | 238 | ||
219 | export interface AdminUserLoginByPwdVO { | 239 | export interface AdminUserLoginByPwdVO { |
220 | /** @format int32 */ | 240 | /** @format int32 */ |
221 | current?: number; | 241 | current?: number; |
242 | + /** @format int32 */ | ||
243 | + end?: number; | ||
222 | imgCaptchaCode?: string; | 244 | imgCaptchaCode?: string; |
223 | imgCaptchaUuid?: string; | 245 | imgCaptchaUuid?: string; |
224 | /** @format int32 */ | 246 | /** @format int32 */ |
225 | pageSize?: number; | 247 | pageSize?: number; |
226 | password?: string; | 248 | password?: string; |
227 | /** @format int32 */ | 249 | /** @format int32 */ |
250 | + start?: number; | ||
251 | + /** @format int32 */ | ||
228 | total?: number; | 252 | total?: number; |
229 | userName?: string; | 253 | userName?: string; |
230 | } | 254 | } |
@@ -234,11 +258,15 @@ export interface AdminUserModifyPwdVO { | @@ -234,11 +258,15 @@ export interface AdminUserModifyPwdVO { | ||
234 | /** @format int32 */ | 258 | /** @format int32 */ |
235 | current?: number; | 259 | current?: number; |
236 | /** @format int32 */ | 260 | /** @format int32 */ |
261 | + end?: number; | ||
262 | + /** @format int32 */ | ||
237 | pageSize?: number; | 263 | pageSize?: number; |
238 | password?: string; | 264 | password?: string; |
239 | phone?: string; | 265 | phone?: string; |
240 | smsCaptchaCode?: string; | 266 | smsCaptchaCode?: string; |
241 | /** @format int32 */ | 267 | /** @format int32 */ |
268 | + start?: number; | ||
269 | + /** @format int32 */ | ||
242 | total?: number; | 270 | total?: number; |
243 | } | 271 | } |
244 | 272 | ||
@@ -246,8 +274,12 @@ export interface AdminUserPasswordRecoverEmailVO { | @@ -246,8 +274,12 @@ export interface AdminUserPasswordRecoverEmailVO { | ||
246 | /** @format int32 */ | 274 | /** @format int32 */ |
247 | current?: number; | 275 | current?: number; |
248 | /** @format int32 */ | 276 | /** @format int32 */ |
277 | + end?: number; | ||
278 | + /** @format int32 */ | ||
249 | pageSize?: number; | 279 | pageSize?: number; |
250 | /** @format int32 */ | 280 | /** @format int32 */ |
281 | + start?: number; | ||
282 | + /** @format int32 */ | ||
251 | total?: number; | 283 | total?: number; |
252 | userName?: string; | 284 | userName?: string; |
253 | } | 285 | } |
@@ -256,6 +288,8 @@ export interface AdminUserQueryVO { | @@ -256,6 +288,8 @@ export interface AdminUserQueryVO { | ||
256 | /** @format int32 */ | 288 | /** @format int32 */ |
257 | current?: number; | 289 | current?: number; |
258 | email?: string; | 290 | email?: string; |
291 | + /** @format int32 */ | ||
292 | + end?: number; | ||
259 | /** @format int64 */ | 293 | /** @format int64 */ |
260 | id?: number; | 294 | id?: number; |
261 | ids?: Array<number>; | 295 | ids?: Array<number>; |
@@ -266,6 +300,8 @@ export interface AdminUserQueryVO { | @@ -266,6 +300,8 @@ export interface AdminUserQueryVO { | ||
266 | phone?: string; | 300 | phone?: string; |
267 | sex?: string; | 301 | sex?: string; |
268 | /** @format int32 */ | 302 | /** @format int32 */ |
303 | + start?: number; | ||
304 | + /** @format int32 */ | ||
269 | total?: number; | 305 | total?: number; |
270 | userName?: string; | 306 | userName?: string; |
271 | workerType?: string; | 307 | workerType?: string; |
@@ -276,6 +312,8 @@ export interface AdminUserRegisterVO { | @@ -276,6 +312,8 @@ export interface AdminUserRegisterVO { | ||
276 | /** @format int32 */ | 312 | /** @format int32 */ |
277 | current?: number; | 313 | current?: number; |
278 | email?: string; | 314 | email?: string; |
315 | + /** @format int32 */ | ||
316 | + end?: number; | ||
279 | isAgreeAgreement?: boolean; | 317 | isAgreeAgreement?: boolean; |
280 | /** @format int32 */ | 318 | /** @format int32 */ |
281 | pageSize?: number; | 319 | pageSize?: number; |
@@ -285,6 +323,8 @@ export interface AdminUserRegisterVO { | @@ -285,6 +323,8 @@ export interface AdminUserRegisterVO { | ||
285 | safeQuestion?: string; | 323 | safeQuestion?: string; |
286 | smsCaptchaCode?: string; | 324 | smsCaptchaCode?: string; |
287 | /** @format int32 */ | 325 | /** @format int32 */ |
326 | + start?: number; | ||
327 | + /** @format int32 */ | ||
288 | total?: number; | 328 | total?: number; |
289 | userName?: string; | 329 | userName?: string; |
290 | } | 330 | } |
@@ -480,8 +520,12 @@ export interface ApiOrderCustomersRequest { | @@ -480,8 +520,12 @@ export interface ApiOrderCustomersRequest { | ||
480 | /** @format int32 */ | 520 | /** @format int32 */ |
481 | current?: number; | 521 | current?: number; |
482 | /** @format int32 */ | 522 | /** @format int32 */ |
523 | + end?: number; | ||
524 | + /** @format int32 */ | ||
483 | pageSize?: number; | 525 | pageSize?: number; |
484 | /** @format int32 */ | 526 | /** @format int32 */ |
527 | + start?: number; | ||
528 | + /** @format int32 */ | ||
485 | total?: number; | 529 | total?: number; |
486 | } | 530 | } |
487 | 531 | ||
@@ -528,220 +572,6 @@ export interface ApiQueryOrderStatusCountsRequest { | @@ -528,220 +572,6 @@ export interface ApiQueryOrderStatusCountsRequest { | ||
528 | uid?: number; | 572 | uid?: number; |
529 | } | 573 | } |
530 | 574 | ||
531 | -export interface ApplyInvoiceDto { | ||
532 | - /** | ||
533 | - * @description | ||
534 | - * 备注 | ||
535 | - */ | ||
536 | - applyInvoicingNotes?: string; | ||
537 | - /** | ||
538 | - * @description | ||
539 | - * 开票备注 | ||
540 | - */ | ||
541 | - comment?: string; | ||
542 | - /** | ||
543 | - * @description | ||
544 | - * 联系人 | ||
545 | - */ | ||
546 | - contacts?: string; | ||
547 | - /** | ||
548 | - * @description | ||
549 | - * 开票内容 | ||
550 | - */ | ||
551 | - content?: string; | ||
552 | - createByName?: string; | ||
553 | - /** @format date-time */ | ||
554 | - createTime?: string; | ||
555 | - /** | ||
556 | - * @description | ||
557 | - * id | ||
558 | - * @format int64 | ||
559 | - */ | ||
560 | - id?: number; | ||
561 | - /** | ||
562 | - * @description | ||
563 | - * 发票地址 | ||
564 | - */ | ||
565 | - invoiceAddress?: string; | ||
566 | - /** | ||
567 | - * @description | ||
568 | - * 发票明细 | ||
569 | - */ | ||
570 | - invoiceDetails?: Array<InvoiceDetail>; | ||
571 | - /** | ||
572 | - * @description | ||
573 | - * 关联发票id | ||
574 | - */ | ||
575 | - invoiceId?: string; | ||
576 | - /** | ||
577 | - * @description | ||
578 | - * 发票号码 | ||
579 | - */ | ||
580 | - invoiceNumber?: string; | ||
581 | - /** | ||
582 | - * @description | ||
583 | - * 开票人 | ||
584 | - */ | ||
585 | - invoicingPerson?: string; | ||
586 | - /** | ||
587 | - * @description | ||
588 | - * 开票时间 | ||
589 | - * @format date-time | ||
590 | - */ | ||
591 | - invoicingTime?: string; | ||
592 | - /** | ||
593 | - * @description | ||
594 | - * 开具类型 | ||
595 | - */ | ||
596 | - invoicingType?: string; | ||
597 | - /** | ||
598 | - * @description | ||
599 | - * 开具类型 | ||
600 | - */ | ||
601 | - invoicingTypeText?: string; | ||
602 | - /** @format date */ | ||
603 | - invoicingdate?: string; | ||
604 | - /** | ||
605 | - * @description | ||
606 | - * 是否加急 | ||
607 | - */ | ||
608 | - isUrgent?: boolean; | ||
609 | - /** | ||
610 | - * @description | ||
611 | - * 是否加急文本 | ||
612 | - */ | ||
613 | - isUrgentText?: string; | ||
614 | - logicDelete?: boolean; | ||
615 | - /** | ||
616 | - * @description | ||
617 | - * 买方注册地址 | ||
618 | - */ | ||
619 | - partyAAddress?: string; | ||
620 | - /** | ||
621 | - * @description | ||
622 | - * 买方开户行账号 | ||
623 | - */ | ||
624 | - partyABankAccount?: string; | ||
625 | - /** | ||
626 | - * @description | ||
627 | - * 买方名称 | ||
628 | - */ | ||
629 | - partyAName?: string; | ||
630 | - /** | ||
631 | - * @description | ||
632 | - * 买方开户行 | ||
633 | - */ | ||
634 | - partyAOpenBank?: string; | ||
635 | - /** | ||
636 | - * @description | ||
637 | - * 买方电话号码 | ||
638 | - */ | ||
639 | - partyAPhoneNumber?: string; | ||
640 | - /** | ||
641 | - * @description | ||
642 | - * 买方税号 | ||
643 | - */ | ||
644 | - partyATaxid?: string; | ||
645 | - /** | ||
646 | - * @description | ||
647 | - * 抬头类型 | ||
648 | - */ | ||
649 | - partyAType?: string; | ||
650 | - partyB?: string; | ||
651 | - /** | ||
652 | - * @description | ||
653 | - * 卖方注册地址 | ||
654 | - */ | ||
655 | - partyBAddress?: string; | ||
656 | - /** | ||
657 | - * @description | ||
658 | - * 卖方开户行账号 | ||
659 | - */ | ||
660 | - partyBBankAccount?: string; | ||
661 | - /** | ||
662 | - * @description | ||
663 | - * 卖方名称 | ||
664 | - */ | ||
665 | - partyBName?: string; | ||
666 | - /** | ||
667 | - * @description | ||
668 | - * 卖方开户行 | ||
669 | - */ | ||
670 | - partyBOpenBank?: string; | ||
671 | - /** | ||
672 | - * @description | ||
673 | - * 卖方电话号码 | ||
674 | - */ | ||
675 | - partyBPhoneNumber?: string; | ||
676 | - /** | ||
677 | - * @description | ||
678 | - * 卖方税号 | ||
679 | - */ | ||
680 | - partyBTaxid?: string; | ||
681 | - /** | ||
682 | - * @description | ||
683 | - * 发票金额 | ||
684 | - * @format double | ||
685 | - */ | ||
686 | - price?: number; | ||
687 | - /** | ||
688 | - * @description | ||
689 | - * 接收邮箱地址 | ||
690 | - */ | ||
691 | - receiveEmail?: string; | ||
692 | - /** | ||
693 | - * @description | ||
694 | - * 订单来源 | ||
695 | - */ | ||
696 | - salesCodes?: Array<string>; | ||
697 | - /** | ||
698 | - * @description | ||
699 | - * 订单来源 | ||
700 | - */ | ||
701 | - salesCodesText?: string; | ||
702 | - /** | ||
703 | - * @description | ||
704 | - * 开票状态 | ||
705 | - */ | ||
706 | - status?: string; | ||
707 | - /** | ||
708 | - * @description | ||
709 | - * 开票状态 | ||
710 | - */ | ||
711 | - statusText?: string; | ||
712 | - /** | ||
713 | - * @description | ||
714 | - * 子订单id | ||
715 | - */ | ||
716 | - subOrderIds?: Array<number>; | ||
717 | - /** | ||
718 | - * @description | ||
719 | - * 关联订单 | ||
720 | - */ | ||
721 | - subOrders?: Array<SubOrder>; | ||
722 | - /** @format double */ | ||
723 | - totalPrice?: number; | ||
724 | - totalPriceText?: string; | ||
725 | - /** | ||
726 | - * @description | ||
727 | - * 开票类型 | ||
728 | - */ | ||
729 | - type?: string; | ||
730 | - /** | ||
731 | - * @description | ||
732 | - * 开票类型文本 | ||
733 | - */ | ||
734 | - typeText?: string; | ||
735 | - /** | ||
736 | - * @description | ||
737 | - * 用户id | ||
738 | - */ | ||
739 | - uid?: string; | ||
740 | - updateByName?: string; | ||
741 | - /** @format date-time */ | ||
742 | - updateTime?: string; | ||
743 | -} | ||
744 | - | ||
745 | export interface AuditDto { | 575 | export interface AuditDto { |
746 | /** | 576 | /** |
747 | * @description | 577 | * @description |
@@ -766,11 +596,15 @@ export interface AuditDto { | @@ -766,11 +596,15 @@ export interface AuditDto { | ||
766 | export interface AuditVO { | 596 | export interface AuditVO { |
767 | /** @format int32 */ | 597 | /** @format int32 */ |
768 | current?: number; | 598 | current?: number; |
599 | + /** @format int32 */ | ||
600 | + end?: number; | ||
769 | /** @format int64 */ | 601 | /** @format int64 */ |
770 | id?: number; | 602 | id?: number; |
771 | /** @format int32 */ | 603 | /** @format int32 */ |
772 | pageSize?: number; | 604 | pageSize?: number; |
773 | /** @format int32 */ | 605 | /** @format int32 */ |
606 | + start?: number; | ||
607 | + /** @format int32 */ | ||
774 | status?: number; | 608 | status?: number; |
775 | /** @format int32 */ | 609 | /** @format int32 */ |
776 | total?: number; | 610 | total?: number; |
@@ -840,16 +674,32 @@ export interface CancelSendOrderDto { | @@ -840,16 +674,32 @@ export interface CancelSendOrderDto { | ||
840 | export interface CaptchaMessageVO { | 674 | export interface CaptchaMessageVO { |
841 | /** @format int32 */ | 675 | /** @format int32 */ |
842 | current?: number; | 676 | current?: number; |
677 | + /** @format int32 */ | ||
678 | + end?: number; | ||
843 | imgCaptchaCode?: string; | 679 | imgCaptchaCode?: string; |
844 | imgCaptchaUuid?: string; | 680 | imgCaptchaUuid?: string; |
845 | /** @format int32 */ | 681 | /** @format int32 */ |
846 | pageSize?: number; | 682 | pageSize?: number; |
847 | phone?: string; | 683 | phone?: string; |
848 | /** @format int32 */ | 684 | /** @format int32 */ |
685 | + start?: number; | ||
686 | + /** @format int32 */ | ||
849 | total?: number; | 687 | total?: number; |
850 | type?: string; | 688 | type?: string; |
851 | } | 689 | } |
852 | 690 | ||
691 | +export interface CommonAuditRequest { | ||
692 | + extend?: any; | ||
693 | + /** | ||
694 | + * @description | ||
695 | + * id集合 | ||
696 | + */ | ||
697 | + ids?: Array<string>; | ||
698 | + notes?: string; | ||
699 | + pass?: boolean; | ||
700 | + type?: string; | ||
701 | +} | ||
702 | + | ||
853 | export interface Contactperson { | 703 | export interface Contactperson { |
854 | birthday?: string; | 704 | birthday?: string; |
855 | contactAddress?: string; | 705 | contactAddress?: string; |
@@ -1037,6 +887,8 @@ export interface DictionaryQueryVO { | @@ -1037,6 +887,8 @@ export interface DictionaryQueryVO { | ||
1037 | dictCode?: string; | 887 | dictCode?: string; |
1038 | dictName?: string; | 888 | dictName?: string; |
1039 | dictValue?: string; | 889 | dictValue?: string; |
890 | + /** @format int32 */ | ||
891 | + end?: number; | ||
1040 | /** @format int64 */ | 892 | /** @format int64 */ |
1041 | id?: number; | 893 | id?: number; |
1042 | ids?: Array<number>; | 894 | ids?: Array<number>; |
@@ -1046,6 +898,8 @@ export interface DictionaryQueryVO { | @@ -1046,6 +898,8 @@ export interface DictionaryQueryVO { | ||
1046 | /** @format int32 */ | 898 | /** @format int32 */ |
1047 | sort?: number; | 899 | sort?: number; |
1048 | /** @format int32 */ | 900 | /** @format int32 */ |
901 | + start?: number; | ||
902 | + /** @format int32 */ | ||
1049 | total?: number; | 903 | total?: number; |
1050 | } | 904 | } |
1051 | 905 | ||
@@ -1096,6 +950,8 @@ export interface FilePathDto { | @@ -1096,6 +950,8 @@ export interface FilePathDto { | ||
1096 | url?: string; | 950 | url?: string; |
1097 | } | 951 | } |
1098 | 952 | ||
953 | +export type InputStream = any; | ||
954 | + | ||
1099 | export interface InventoryMaterialStockReq { | 955 | export interface InventoryMaterialStockReq { |
1100 | auxPropId?: string; | 956 | auxPropId?: string; |
1101 | isShowStockPosition?: boolean; | 957 | isShowStockPosition?: boolean; |
@@ -1174,254 +1030,45 @@ export interface InvoiceDto { | @@ -1174,254 +1030,45 @@ export interface InvoiceDto { | ||
1174 | status?: string; | 1030 | status?: string; |
1175 | } | 1031 | } |
1176 | 1032 | ||
1177 | -export interface InvoiceRecordDto { | ||
1178 | - /** | ||
1179 | - * @description | ||
1180 | - * 开票备注 | ||
1181 | - */ | ||
1182 | - comment?: string; | 1033 | +export interface InvoiceRecordQueryRequest { |
1034 | + /** @format date */ | ||
1035 | + createTimeGe?: string; | ||
1036 | + /** @format date */ | ||
1037 | + createTimeLe?: string; | ||
1038 | + /** @format int32 */ | ||
1039 | + pageNumber?: number; | ||
1040 | + /** @format int32 */ | ||
1041 | + pageSize?: number; | ||
1183 | /** | 1042 | /** |
1184 | * @description | 1043 | * @description |
1185 | - * 联系人 | 1044 | + * 用户id |
1186 | */ | 1045 | */ |
1187 | - contacts?: string; | 1046 | + uid?: string; |
1047 | +} | ||
1048 | + | ||
1049 | +export interface Item { | ||
1050 | + billDate?: string; | ||
1051 | + billNo?: string; | ||
1052 | + entryList?: Array<Entry>; | ||
1053 | + id?: string; | ||
1054 | + remark?: string; | ||
1055 | +} | ||
1056 | + | ||
1057 | +export interface ItemSaItem { | ||
1058 | + itemId?: string; | ||
1059 | + itemValue?: string; | ||
1060 | +} | ||
1061 | + | ||
1062 | +export interface MainOrderqueryRequest { | ||
1063 | + afterInvoicingStatusIsNull?: boolean; | ||
1064 | + orderStatusNotIn?: Array<string>; | ||
1065 | + /** @format int32 */ | ||
1066 | + pageNumber?: number; | ||
1067 | + /** @format int32 */ | ||
1068 | + pageSize?: number; | ||
1188 | /** | 1069 | /** |
1189 | * @description | 1070 | * @description |
1190 | - * 开票内容 | ||
1191 | - */ | ||
1192 | - content?: string; | ||
1193 | - createByName?: string; | ||
1194 | - /** @format date-time */ | ||
1195 | - createTime?: string; | ||
1196 | - /** | ||
1197 | - * @description | ||
1198 | - * id | ||
1199 | - * @format int64 | ||
1200 | - */ | ||
1201 | - id?: number; | ||
1202 | - /** | ||
1203 | - * @description | ||
1204 | - * 发票地址 | ||
1205 | - */ | ||
1206 | - invoiceAddress?: string; | ||
1207 | - /** | ||
1208 | - * @description | ||
1209 | - * 发票明细 | ||
1210 | - */ | ||
1211 | - invoiceDetails?: Array<InvoiceDetail>; | ||
1212 | - /** | ||
1213 | - * @description | ||
1214 | - * 关联发票id | ||
1215 | - */ | ||
1216 | - invoiceId?: string; | ||
1217 | - /** | ||
1218 | - * @description | ||
1219 | - * 发票号码 | ||
1220 | - */ | ||
1221 | - invoiceNumber?: string; | ||
1222 | - /** | ||
1223 | - * @description | ||
1224 | - * 开票人 | ||
1225 | - */ | ||
1226 | - invoicingPerson?: string; | ||
1227 | - /** | ||
1228 | - * @description | ||
1229 | - * 开票时间 | ||
1230 | - * @format date-time | ||
1231 | - */ | ||
1232 | - invoicingTime?: string; | ||
1233 | - /** | ||
1234 | - * @description | ||
1235 | - * 开具类型 | ||
1236 | - */ | ||
1237 | - invoicingType?: string; | ||
1238 | - /** | ||
1239 | - * @description | ||
1240 | - * 开具类型 | ||
1241 | - */ | ||
1242 | - invoicingTypeText?: string; | ||
1243 | - /** @format date */ | ||
1244 | - invoicingdate?: string; | ||
1245 | - /** | ||
1246 | - * @description | ||
1247 | - * 是否加急 | ||
1248 | - */ | ||
1249 | - isUrgent?: boolean; | ||
1250 | - /** | ||
1251 | - * @description | ||
1252 | - * 是否加急文本 | ||
1253 | - */ | ||
1254 | - isUrgentText?: string; | ||
1255 | - logicDelete?: boolean; | ||
1256 | - /** | ||
1257 | - * @description | ||
1258 | - * 买方注册地址 | ||
1259 | - */ | ||
1260 | - partyAAddress?: string; | ||
1261 | - /** | ||
1262 | - * @description | ||
1263 | - * 买方开户行账号 | ||
1264 | - */ | ||
1265 | - partyABankAccount?: string; | ||
1266 | - /** | ||
1267 | - * @description | ||
1268 | - * 买方名称 | ||
1269 | - */ | ||
1270 | - partyAName?: string; | ||
1271 | - /** | ||
1272 | - * @description | ||
1273 | - * 买方开户行 | ||
1274 | - */ | ||
1275 | - partyAOpenBank?: string; | ||
1276 | - /** | ||
1277 | - * @description | ||
1278 | - * 买方电话号码 | ||
1279 | - */ | ||
1280 | - partyAPhoneNumber?: string; | ||
1281 | - /** | ||
1282 | - * @description | ||
1283 | - * 买方税号 | ||
1284 | - */ | ||
1285 | - partyATaxid?: string; | ||
1286 | - /** | ||
1287 | - * @description | ||
1288 | - * 抬头类型 | ||
1289 | - */ | ||
1290 | - partyAType?: string; | ||
1291 | - partyB?: string; | ||
1292 | - /** | ||
1293 | - * @description | ||
1294 | - * 卖方注册地址 | ||
1295 | - */ | ||
1296 | - partyBAddress?: string; | ||
1297 | - /** | ||
1298 | - * @description | ||
1299 | - * 卖方开户行账号 | ||
1300 | - */ | ||
1301 | - partyBBankAccount?: string; | ||
1302 | - /** | ||
1303 | - * @description | ||
1304 | - * 卖方名称 | ||
1305 | - */ | ||
1306 | - partyBName?: string; | ||
1307 | - /** | ||
1308 | - * @description | ||
1309 | - * 卖方开户行 | ||
1310 | - */ | ||
1311 | - partyBOpenBank?: string; | ||
1312 | - /** | ||
1313 | - * @description | ||
1314 | - * 卖方电话号码 | ||
1315 | - */ | ||
1316 | - partyBPhoneNumber?: string; | ||
1317 | - /** | ||
1318 | - * @description | ||
1319 | - * 卖方税号 | ||
1320 | - */ | ||
1321 | - partyBTaxid?: string; | ||
1322 | - /** | ||
1323 | - * @description | ||
1324 | - * 发票金额 | ||
1325 | - * @format double | ||
1326 | - */ | ||
1327 | - price?: number; | ||
1328 | - /** | ||
1329 | - * @description | ||
1330 | - * 接收邮箱地址 | ||
1331 | - */ | ||
1332 | - receiveEmail?: string; | ||
1333 | - /** | ||
1334 | - * @description | ||
1335 | - * 订单来源 | ||
1336 | - */ | ||
1337 | - salesCodes?: Array<string>; | ||
1338 | - /** | ||
1339 | - * @description | ||
1340 | - * 订单来源 | ||
1341 | - */ | ||
1342 | - salesCodesText?: string; | ||
1343 | - /** | ||
1344 | - * @description | ||
1345 | - * 开票状态 | ||
1346 | - */ | ||
1347 | - status?: string; | ||
1348 | - /** | ||
1349 | - * @description | ||
1350 | - * 开票状态 | ||
1351 | - */ | ||
1352 | - statusText?: string; | ||
1353 | - /** | ||
1354 | - * @description | ||
1355 | - * 子订单id | ||
1356 | - */ | ||
1357 | - subOrderIds?: Array<number>; | ||
1358 | - /** | ||
1359 | - * @description | ||
1360 | - * 关联订单 | ||
1361 | - */ | ||
1362 | - subOrders?: Array<SubOrder>; | ||
1363 | - /** @format double */ | ||
1364 | - totalPrice?: number; | ||
1365 | - totalPriceText?: string; | ||
1366 | - /** | ||
1367 | - * @description | ||
1368 | - * 开票类型 | ||
1369 | - */ | ||
1370 | - type?: string; | ||
1371 | - /** | ||
1372 | - * @description | ||
1373 | - * 开票类型文本 | ||
1374 | - */ | ||
1375 | - typeText?: string; | ||
1376 | - /** | ||
1377 | - * @description | ||
1378 | - * 用户id | ||
1379 | - */ | ||
1380 | - uid?: string; | ||
1381 | - updateByName?: string; | ||
1382 | - /** @format date-time */ | ||
1383 | - updateTime?: string; | ||
1384 | -} | ||
1385 | - | ||
1386 | -export interface InvoiceRecordQueryRequest { | ||
1387 | - /** @format date */ | ||
1388 | - createTimeGe?: string; | ||
1389 | - /** @format date */ | ||
1390 | - createTimeLe?: string; | ||
1391 | - /** @format int32 */ | ||
1392 | - pageNumber?: number; | ||
1393 | - /** @format int32 */ | ||
1394 | - pageSize?: number; | ||
1395 | - /** | ||
1396 | - * @description | ||
1397 | - * 用户id | ||
1398 | - */ | ||
1399 | - uid?: string; | ||
1400 | -} | ||
1401 | - | ||
1402 | -export interface Item { | ||
1403 | - billDate?: string; | ||
1404 | - billNo?: string; | ||
1405 | - entryList?: Array<Entry>; | ||
1406 | - id?: string; | ||
1407 | - remark?: string; | ||
1408 | -} | ||
1409 | - | ||
1410 | -export interface ItemSaItem { | ||
1411 | - itemId?: string; | ||
1412 | - itemValue?: string; | ||
1413 | -} | ||
1414 | - | ||
1415 | -export interface MainOrderqueryRequest { | ||
1416 | - afterInvoicingStatusIsNull?: boolean; | ||
1417 | - orderStatusNotIn?: Array<string>; | ||
1418 | - /** @format int32 */ | ||
1419 | - pageNumber?: number; | ||
1420 | - /** @format int32 */ | ||
1421 | - pageSize?: number; | ||
1422 | - /** | ||
1423 | - * @description | ||
1424 | - * 用户id | 1071 | + * 用户id |
1425 | */ | 1072 | */ |
1426 | uid?: string; | 1073 | uid?: string; |
1427 | } | 1074 | } |
@@ -1555,10 +1202,14 @@ export interface MeasureUnitListResRow { | @@ -1555,10 +1202,14 @@ export interface MeasureUnitListResRow { | ||
1555 | export interface MessageQueryDTO { | 1202 | export interface MessageQueryDTO { |
1556 | /** @format int32 */ | 1203 | /** @format int32 */ |
1557 | current?: number; | 1204 | current?: number; |
1205 | + /** @format int32 */ | ||
1206 | + end?: number; | ||
1558 | isReaded?: string; | 1207 | isReaded?: string; |
1559 | /** @format int32 */ | 1208 | /** @format int32 */ |
1560 | pageSize?: number; | 1209 | pageSize?: number; |
1561 | /** @format int32 */ | 1210 | /** @format int32 */ |
1211 | + start?: number; | ||
1212 | + /** @format int32 */ | ||
1562 | total?: number; | 1213 | total?: number; |
1563 | username?: string; | 1214 | username?: string; |
1564 | } | 1215 | } |
@@ -1594,6 +1245,8 @@ export interface OrderAuditLogQueryVO { | @@ -1594,6 +1245,8 @@ export interface OrderAuditLogQueryVO { | ||
1594 | applyId?: number; | 1245 | applyId?: number; |
1595 | /** @format int32 */ | 1246 | /** @format int32 */ |
1596 | current?: number; | 1247 | current?: number; |
1248 | + /** @format int32 */ | ||
1249 | + end?: number; | ||
1597 | /** @format int64 */ | 1250 | /** @format int64 */ |
1598 | id?: number; | 1251 | id?: number; |
1599 | ids?: Array<number>; | 1252 | ids?: Array<number>; |
@@ -1603,6 +1256,8 @@ export interface OrderAuditLogQueryVO { | @@ -1603,6 +1256,8 @@ export interface OrderAuditLogQueryVO { | ||
1603 | /** @format int32 */ | 1256 | /** @format int32 */ |
1604 | pageSize?: number; | 1257 | pageSize?: number; |
1605 | /** @format int32 */ | 1258 | /** @format int32 */ |
1259 | + start?: number; | ||
1260 | + /** @format int32 */ | ||
1606 | total?: number; | 1261 | total?: number; |
1607 | } | 1262 | } |
1608 | 1263 | ||
@@ -1637,6 +1292,8 @@ export interface OrderBaseInfoQueryVO { | @@ -1637,6 +1292,8 @@ export interface OrderBaseInfoQueryVO { | ||
1637 | customerCode?: string; | 1292 | customerCode?: string; |
1638 | customerPo?: string; | 1293 | customerPo?: string; |
1639 | customerStyle?: string; | 1294 | customerStyle?: string; |
1295 | + /** @format int32 */ | ||
1296 | + end?: number; | ||
1640 | /** @format int64 */ | 1297 | /** @format int64 */ |
1641 | id?: number; | 1298 | id?: number; |
1642 | ids?: Array<number>; | 1299 | ids?: Array<number>; |
@@ -1658,6 +1315,8 @@ export interface OrderBaseInfoQueryVO { | @@ -1658,6 +1315,8 @@ export interface OrderBaseInfoQueryVO { | ||
1658 | productionDepartmentConsignTime?: string; | 1315 | productionDepartmentConsignTime?: string; |
1659 | projectNo?: string; | 1316 | projectNo?: string; |
1660 | /** @format int32 */ | 1317 | /** @format int32 */ |
1318 | + start?: number; | ||
1319 | + /** @format int32 */ | ||
1661 | total?: number; | 1320 | total?: number; |
1662 | } | 1321 | } |
1663 | 1322 | ||
@@ -1718,6 +1377,8 @@ export interface OrderFieldLockApplyQueryVO { | @@ -1718,6 +1377,8 @@ export interface OrderFieldLockApplyQueryVO { | ||
1718 | auditUserId?: number; | 1377 | auditUserId?: number; |
1719 | /** @format int32 */ | 1378 | /** @format int32 */ |
1720 | current?: number; | 1379 | current?: number; |
1380 | + /** @format int32 */ | ||
1381 | + end?: number; | ||
1721 | fields?: string; | 1382 | fields?: string; |
1722 | /** @format int64 */ | 1383 | /** @format int64 */ |
1723 | id?: number; | 1384 | id?: number; |
@@ -1727,6 +1388,8 @@ export interface OrderFieldLockApplyQueryVO { | @@ -1727,6 +1388,8 @@ export interface OrderFieldLockApplyQueryVO { | ||
1727 | /** @format int32 */ | 1388 | /** @format int32 */ |
1728 | pageSize?: number; | 1389 | pageSize?: number; |
1729 | /** @format int32 */ | 1390 | /** @format int32 */ |
1391 | + start?: number; | ||
1392 | + /** @format int32 */ | ||
1730 | status?: number; | 1393 | status?: number; |
1731 | statusList?: Array<number>; | 1394 | statusList?: Array<number>; |
1732 | /** @format int32 */ | 1395 | /** @format int32 */ |
@@ -1775,6 +1438,8 @@ export interface OrderInspectionStageVO { | @@ -1775,6 +1438,8 @@ export interface OrderInspectionStageVO { | ||
1775 | export interface OrderOptLogQueryVO { | 1438 | export interface OrderOptLogQueryVO { |
1776 | /** @format int32 */ | 1439 | /** @format int32 */ |
1777 | current?: number; | 1440 | current?: number; |
1441 | + /** @format int32 */ | ||
1442 | + end?: number; | ||
1778 | /** @format int64 */ | 1443 | /** @format int64 */ |
1779 | id?: number; | 1444 | id?: number; |
1780 | ids?: Array<number>; | 1445 | ids?: Array<number>; |
@@ -1783,6 +1448,8 @@ export interface OrderOptLogQueryVO { | @@ -1783,6 +1448,8 @@ export interface OrderOptLogQueryVO { | ||
1783 | /** @format int32 */ | 1448 | /** @format int32 */ |
1784 | pageSize?: number; | 1449 | pageSize?: number; |
1785 | /** @format int32 */ | 1450 | /** @format int32 */ |
1451 | + start?: number; | ||
1452 | + /** @format int32 */ | ||
1786 | total?: number; | 1453 | total?: number; |
1787 | } | 1454 | } |
1788 | 1455 | ||
@@ -1832,6 +1499,93 @@ export interface OrderProfitAnalysisVo { | @@ -1832,6 +1499,93 @@ export interface OrderProfitAnalysisVo { | ||
1832 | orderIds?: Array<number>; | 1499 | orderIds?: Array<number>; |
1833 | } | 1500 | } |
1834 | 1501 | ||
1502 | +export interface OrderStageFileDo { | ||
1503 | + file?: File; | ||
1504 | +} | ||
1505 | + | ||
1506 | +export interface OrderStagesDelDo { | ||
1507 | + deviceIds?: Array<number>; | ||
1508 | + ids?: Array<number>; | ||
1509 | +} | ||
1510 | + | ||
1511 | +export interface OrderStagesDeviceDo { | ||
1512 | + /** @format int32 */ | ||
1513 | + count?: number; | ||
1514 | + createByName?: string; | ||
1515 | + /** @format date-time */ | ||
1516 | + createTime?: string; | ||
1517 | + deviceModel?: string; | ||
1518 | + deviceName?: string; | ||
1519 | + /** @format int32 */ | ||
1520 | + did?: number; | ||
1521 | + logicDelete?: boolean; | ||
1522 | + /** @format double */ | ||
1523 | + price?: number; | ||
1524 | + /** @format double */ | ||
1525 | + unitPrice?: number; | ||
1526 | + updateByName?: string; | ||
1527 | + /** @format date-time */ | ||
1528 | + updateTime?: string; | ||
1529 | +} | ||
1530 | + | ||
1531 | +export interface OrderStagesFromDo { | ||
1532 | + annex?: string; | ||
1533 | + contract?: string; | ||
1534 | + createByName?: string; | ||
1535 | + /** @format date-time */ | ||
1536 | + createTime?: string; | ||
1537 | + /** @format date-time */ | ||
1538 | + dateRange?: string; | ||
1539 | + /** @format int32 */ | ||
1540 | + id?: number; | ||
1541 | + logicDelete?: boolean; | ||
1542 | + orderStagesDeviceDoList?: Array<OrderStagesDeviceDo>; | ||
1543 | + payWay?: string; | ||
1544 | + remark?: string; | ||
1545 | + terminal?: string; | ||
1546 | + /** @format double */ | ||
1547 | + totalPrice?: number; | ||
1548 | + updateByName?: string; | ||
1549 | + /** @format date-time */ | ||
1550 | + updateTime?: string; | ||
1551 | + vendor?: string; | ||
1552 | + /** @format int32 */ | ||
1553 | + version?: number; | ||
1554 | +} | ||
1555 | + | ||
1556 | +export interface OrderStagesPayWay { | ||
1557 | + /** @format date-time */ | ||
1558 | + dateRange?: string; | ||
1559 | + fileName?: string; | ||
1560 | + fileUrl?: string; | ||
1561 | + /** @format int32 */ | ||
1562 | + id?: number; | ||
1563 | + /** @format int32 */ | ||
1564 | + number?: number; | ||
1565 | + /** @format int32 */ | ||
1566 | + ossId?: number; | ||
1567 | +} | ||
1568 | + | ||
1569 | +export interface OrderStagesPayWayDo { | ||
1570 | + /** @format int32 */ | ||
1571 | + ossId?: number; | ||
1572 | +} | ||
1573 | + | ||
1574 | +export interface OrderStagesPayWayFileDo { | ||
1575 | + fileList?: Array<OrderStageFileDo>; | ||
1576 | +} | ||
1577 | + | ||
1578 | +export interface OrderStagesSelDo { | ||
1579 | + contract?: string; | ||
1580 | + /** @format date-time */ | ||
1581 | + dateRange?: string; | ||
1582 | + deviceName?: string; | ||
1583 | + /** @format int64 */ | ||
1584 | + id?: number; | ||
1585 | + terminal?: string; | ||
1586 | + vendor?: string; | ||
1587 | +} | ||
1588 | + | ||
1835 | export interface OrderTrackStageFieldVO { | 1589 | export interface OrderTrackStageFieldVO { |
1836 | aitexTestFinishResult?: string; | 1590 | aitexTestFinishResult?: string; |
1837 | aitexTestSendTime?: string; | 1591 | aitexTestSendTime?: string; |
@@ -1981,6 +1735,8 @@ export interface QueryBankStatementDto { | @@ -1981,6 +1735,8 @@ export interface QueryBankStatementDto { | ||
1981 | collectionDatetimeEnd?: string; | 1735 | collectionDatetimeEnd?: string; |
1982 | /** @format int32 */ | 1736 | /** @format int32 */ |
1983 | current?: number; | 1737 | current?: number; |
1738 | + /** @format int32 */ | ||
1739 | + end?: number; | ||
1984 | /** @format int64 */ | 1740 | /** @format int64 */ |
1985 | id?: number; | 1741 | id?: number; |
1986 | /** @format int32 */ | 1742 | /** @format int32 */ |
@@ -2002,6 +1758,8 @@ export interface QueryBankStatementDto { | @@ -2002,6 +1758,8 @@ export interface QueryBankStatementDto { | ||
2002 | remark?: string; | 1758 | remark?: string; |
2003 | remarkNote?: string; | 1759 | remarkNote?: string; |
2004 | serialNumber?: string; | 1760 | serialNumber?: string; |
1761 | + /** @format int32 */ | ||
1762 | + start?: number; | ||
2005 | status?: string; | 1763 | status?: string; |
2006 | /** @format int32 */ | 1764 | /** @format int32 */ |
2007 | total?: number; | 1765 | total?: number; |
@@ -2028,202 +1786,23 @@ export interface QueryCustomerInformationDto { | @@ -2028,202 +1786,23 @@ export interface QueryCustomerInformationDto { | ||
2028 | export interface QueryHistoryRecordDto { | 1786 | export interface QueryHistoryRecordDto { |
2029 | /** | 1787 | /** |
2030 | * @description | 1788 | * @description |
2031 | - * 子订单id集合 | ||
2032 | - */ | ||
2033 | - ids?: Array<number>; | ||
2034 | - /** | ||
2035 | - * @description | ||
2036 | - * 查看已经删除的订单,false表示查看未删除的订单,true表示查看删除的订单 | ||
2037 | - */ | ||
2038 | - isDeleteQueryOrder?: boolean; | ||
2039 | -} | ||
2040 | - | ||
2041 | -export interface QueryInvoiceDetailDto { | ||
2042 | - /** | ||
2043 | - * @description | ||
2044 | - * 发票id | ||
2045 | - * @format int64 | ||
2046 | - */ | ||
2047 | - invoiceId?: number; | ||
2048 | -} | ||
2049 | - | ||
2050 | -export interface QueryInvoiceProjectDto { | ||
2051 | - /** @format int32 */ | ||
2052 | - current?: number; | ||
2053 | - nameLike?: string; | ||
2054 | - /** @format int32 */ | ||
2055 | - pageSize?: number; | ||
2056 | - /** @format int32 */ | ||
2057 | - total?: number; | ||
2058 | -} | ||
2059 | - | ||
2060 | -export interface QueryInvoiceRecordDto { | ||
2061 | - /** | ||
2062 | - * @description | ||
2063 | - * 联系人 | ||
2064 | - */ | ||
2065 | - contactsLike?: string; | ||
2066 | - /** @format date-time */ | ||
2067 | - createTimeGe?: string; | ||
2068 | - /** @format date-time */ | ||
2069 | - createTimeLe?: string; | ||
2070 | - /** @format int32 */ | ||
2071 | - current?: number; | ||
2072 | - /** | ||
2073 | - * @description | ||
2074 | - * id | ||
2075 | - * @format int64 | ||
2076 | - */ | ||
2077 | - id?: number; | ||
2078 | - /** | ||
2079 | - * @description | ||
2080 | - * IdIn | ||
2081 | - */ | ||
2082 | - idIn?: Array<number>; | ||
2083 | - /** | ||
2084 | - * @description | ||
2085 | - * 关联发票id | ||
2086 | - */ | ||
2087 | - invoiceId?: string; | ||
2088 | - /** | ||
2089 | - * @description | ||
2090 | - * 发票号码 | ||
2091 | - */ | ||
2092 | - invoiceNumber?: string; | ||
2093 | - /** | ||
2094 | - * @description | ||
2095 | - * 发票号码 | ||
2096 | - */ | ||
2097 | - invoiceNumberLike?: string; | ||
2098 | - /** | ||
2099 | - * @description | ||
2100 | - * 开票时间 | ||
2101 | - * @format date-time | ||
2102 | - */ | ||
2103 | - invoicingTimeGe?: string; | ||
2104 | - /** | ||
2105 | - * @description | ||
2106 | - * 开票时间 | ||
2107 | - * @format date-time | ||
2108 | - */ | ||
2109 | - invoicingTimeLe?: string; | ||
2110 | - /** | ||
2111 | - * @description | ||
2112 | - * 开票类型 | ||
2113 | - */ | ||
2114 | - invoicingType?: string; | ||
2115 | - /** | ||
2116 | - * @description | ||
2117 | - * 是否加急 | ||
2118 | - */ | ||
2119 | - isUrgent?: boolean; | ||
2120 | - /** | ||
2121 | - * @description | ||
2122 | - * 订单号 | ||
2123 | - * @format int64 | ||
2124 | - */ | ||
2125 | - mainOrderId?: number; | ||
2126 | - /** | ||
2127 | - * @description | ||
2128 | - * 主订单idIn | ||
2129 | - */ | ||
2130 | - mainOrderIdIn?: Array<number>; | ||
2131 | - /** | ||
2132 | - * @description | ||
2133 | - * 订单号 | ||
2134 | - */ | ||
2135 | - mainOrderIdLike?: string; | ||
2136 | - /** | ||
2137 | - * @description | ||
2138 | - * 是否需要构建发票明细 | ||
2139 | - */ | ||
2140 | - needBuildDetails?: boolean; | ||
2141 | - /** @format int32 */ | ||
2142 | - pageSize?: number; | ||
2143 | - /** | ||
2144 | - * @description | ||
2145 | - * 买方名称 | ||
2146 | - */ | ||
2147 | - partyANameLike?: string; | ||
2148 | - /** | ||
2149 | - * @description | ||
2150 | - * 买方电话号码 | ||
2151 | - */ | ||
2152 | - partyAPhoneNumberLike?: string; | ||
2153 | - /** | ||
2154 | - * @description | ||
2155 | - * 买方税号 | ||
2156 | - */ | ||
2157 | - partyATaxid?: string; | ||
2158 | - /** | ||
2159 | - * @description | ||
2160 | - * 买方税号 | ||
2161 | - */ | ||
2162 | - partyATaxidLike?: string; | ||
2163 | - partyB?: string; | ||
2164 | - /** | ||
2165 | - * @description | ||
2166 | - * 卖方名称 | ||
2167 | - */ | ||
2168 | - partyBName?: string; | ||
2169 | - /** | ||
2170 | - * @description | ||
2171 | - * 销售代表 | ||
2172 | - */ | ||
2173 | - salesCode?: string; | ||
2174 | - /** | ||
2175 | - * @description | ||
2176 | - * 销售代表 | ||
2177 | - */ | ||
2178 | - salesCodeLike?: string; | ||
2179 | - /** | ||
2180 | - * @description | ||
2181 | - * 发票状态 | ||
2182 | - */ | ||
2183 | - status?: string; | ||
2184 | - /** | ||
2185 | - * @description | ||
2186 | - * 状态非空 | ||
2187 | - */ | ||
2188 | - statusIn?: Array<string>; | ||
2189 | - /** | ||
2190 | - * @description | ||
2191 | - * 状态非空 | ||
2192 | - */ | ||
2193 | - statusIsNotNull?: boolean; | ||
2194 | - /** | ||
2195 | - * @description | ||
2196 | - * 状态为空 | ||
2197 | - */ | ||
2198 | - statusIsNull?: boolean; | ||
2199 | - /** | ||
2200 | - * @description | ||
2201 | - * 子订单 | ||
2202 | - * @format int64 | ||
2203 | - */ | ||
2204 | - subOrderId?: number; | ||
2205 | - /** | ||
2206 | - * @description | ||
2207 | - * 子订单idIn | ||
2208 | - */ | ||
2209 | - subOrderIdIn?: Array<number>; | ||
2210 | - /** | ||
2211 | - * @description | ||
2212 | - * 子订单 | 1789 | + * 子订单id集合 |
2213 | */ | 1790 | */ |
2214 | - subOrderIdLike?: string; | ||
2215 | - /** @format int32 */ | ||
2216 | - total?: number; | 1791 | + ids?: Array<number>; |
2217 | /** | 1792 | /** |
2218 | * @description | 1793 | * @description |
2219 | - * 开票类型 | 1794 | + * 查看已经删除的订单,false表示查看未删除的订单,true表示查看删除的订单 |
2220 | */ | 1795 | */ |
2221 | - type?: string; | 1796 | + isDeleteQueryOrder?: boolean; |
1797 | +} | ||
1798 | + | ||
1799 | +export interface QueryInvoiceDetailDto { | ||
2222 | /** | 1800 | /** |
2223 | * @description | 1801 | * @description |
2224 | - * 用户id | 1802 | + * 发票id |
1803 | + * @format int64 | ||
2225 | */ | 1804 | */ |
2226 | - uid?: string; | 1805 | + invoiceId?: number; |
2227 | } | 1806 | } |
2228 | 1807 | ||
2229 | export interface QueryMainOrderDto { | 1808 | export interface QueryMainOrderDto { |
@@ -2395,16 +1974,18 @@ export interface ResearchGroupListRequest { | @@ -2395,16 +1974,18 @@ export interface ResearchGroupListRequest { | ||
2395 | accountPhone?: string; | 1974 | accountPhone?: string; |
2396 | /** @format int32 */ | 1975 | /** @format int32 */ |
2397 | current?: number; | 1976 | current?: number; |
1977 | + /** @format int32 */ | ||
1978 | + end?: number; | ||
2398 | /** | 1979 | /** |
2399 | * @description | 1980 | * @description |
2400 | * 课题组名称 | 1981 | * 课题组名称 |
2401 | */ | 1982 | */ |
2402 | - group?: string; | 1983 | + groupName?: string; |
2403 | /** | 1984 | /** |
2404 | * @description | 1985 | * @description |
2405 | * 课题组负责人 | 1986 | * 课题组负责人 |
2406 | */ | 1987 | */ |
2407 | - leader?: string; | 1988 | + leaderName?: string; |
2408 | /** | 1989 | /** |
2409 | * @description | 1990 | * @description |
2410 | * 课题组成员名称 | 1991 | * 课题组成员名称 |
@@ -2418,6 +1999,8 @@ export interface ResearchGroupListRequest { | @@ -2418,6 +1999,8 @@ export interface ResearchGroupListRequest { | ||
2418 | /** @format int32 */ | 1999 | /** @format int32 */ |
2419 | pageSize?: number; | 2000 | pageSize?: number; |
2420 | /** @format int32 */ | 2001 | /** @format int32 */ |
2002 | + start?: number; | ||
2003 | + /** @format int32 */ | ||
2421 | total?: number; | 2004 | total?: number; |
2422 | } | 2005 | } |
2423 | 2006 | ||
@@ -2465,11 +2048,142 @@ export interface ResearchGroupMemberEditRequest { | @@ -2465,11 +2048,142 @@ export interface ResearchGroupMemberEditRequest { | ||
2465 | memberPhone?: string; | 2048 | memberPhone?: string; |
2466 | } | 2049 | } |
2467 | 2050 | ||
2051 | +export interface ResearchGroupMemberRequestAddRequest { | ||
2052 | + /** | ||
2053 | + * @description | ||
2054 | + * 课题组ID | ||
2055 | + * @format int64 | ||
2056 | + */ | ||
2057 | + groupId?: number; | ||
2058 | + /** | ||
2059 | + * @description | ||
2060 | + * 课题组名称 | ||
2061 | + */ | ||
2062 | + groupName?: string; | ||
2063 | + members?: Array<ResearchGroupMemberAddRequest>; | ||
2064 | + /** | ||
2065 | + * @description | ||
2066 | + * 申请备注 | ||
2067 | + */ | ||
2068 | + requestNotes?: string; | ||
2069 | +} | ||
2070 | + | ||
2071 | +export interface ResearchGroupMemberRequestDeleteRequest { | ||
2072 | + /** | ||
2073 | + * @description | ||
2074 | + * 主键id | ||
2075 | + */ | ||
2076 | + ids?: Array<number>; | ||
2077 | +} | ||
2078 | + | ||
2079 | +export interface ResearchGroupMemberRequestDetailRequest { | ||
2080 | + /** | ||
2081 | + * @description | ||
2082 | + * 主键id | ||
2083 | + * @format int64 | ||
2084 | + */ | ||
2085 | + id?: number; | ||
2086 | +} | ||
2087 | + | ||
2088 | +export interface ResearchGroupMemberRequestEditRequest { | ||
2089 | + /** | ||
2090 | + * @description | ||
2091 | + * 课题组ID | ||
2092 | + * @format int64 | ||
2093 | + */ | ||
2094 | + groupId?: number; | ||
2095 | + /** | ||
2096 | + * @description | ||
2097 | + * 课题组名称 | ||
2098 | + */ | ||
2099 | + groupName?: string; | ||
2100 | + /** | ||
2101 | + * @description | ||
2102 | + * 主键id | ||
2103 | + * @format int64 | ||
2104 | + */ | ||
2105 | + id?: number; | ||
2106 | + /** | ||
2107 | + * @description | ||
2108 | + * 成员名称 | ||
2109 | + */ | ||
2110 | + memberName?: string; | ||
2111 | + /** | ||
2112 | + * @description | ||
2113 | + * 成员手机号 | ||
2114 | + */ | ||
2115 | + memberPhone?: string; | ||
2116 | + /** | ||
2117 | + * @description | ||
2118 | + * 申请备注 | ||
2119 | + */ | ||
2120 | + requestNotes?: string; | ||
2121 | +} | ||
2122 | + | ||
2123 | +export interface ResearchGroupMemberRequestsRequest { | ||
2124 | + /** | ||
2125 | + * @description | ||
2126 | + * 审核备注 | ||
2127 | + */ | ||
2128 | + auditNotes?: string; | ||
2129 | + /** | ||
2130 | + * @description | ||
2131 | + * 审核状态 | ||
2132 | + */ | ||
2133 | + auditStatus?: string; | ||
2134 | + /** | ||
2135 | + * @description | ||
2136 | + * 创建人 | ||
2137 | + */ | ||
2138 | + createByName?: string; | ||
2139 | + /** @format int32 */ | ||
2140 | + current?: number; | ||
2141 | + /** @format int32 */ | ||
2142 | + end?: number; | ||
2143 | + /** | ||
2144 | + * @description | ||
2145 | + * 课题组名称 | ||
2146 | + */ | ||
2147 | + groupName?: string; | ||
2148 | + /** | ||
2149 | + * @description | ||
2150 | + * 成员名称 | ||
2151 | + */ | ||
2152 | + memberName?: string; | ||
2153 | + /** | ||
2154 | + * @description | ||
2155 | + * 成员手机号 | ||
2156 | + */ | ||
2157 | + memberPhone?: string; | ||
2158 | + /** @format int32 */ | ||
2159 | + pageSize?: number; | ||
2160 | + /** | ||
2161 | + * @description | ||
2162 | + * 申请备注 | ||
2163 | + */ | ||
2164 | + requestNotes?: string; | ||
2165 | + /** @format int32 */ | ||
2166 | + start?: number; | ||
2167 | + /** @format int32 */ | ||
2168 | + total?: number; | ||
2169 | +} | ||
2170 | + | ||
2468 | export interface ResetPwdVO { | 2171 | export interface ResetPwdVO { |
2469 | /** @format int64 */ | 2172 | /** @format int64 */ |
2470 | userId?: number; | 2173 | userId?: number; |
2471 | } | 2174 | } |
2472 | 2175 | ||
2176 | +export interface Resource { | ||
2177 | + description?: string; | ||
2178 | + file?: TsgFile; | ||
2179 | + filename?: string; | ||
2180 | + inputStream?: InputStream; | ||
2181 | + open?: boolean; | ||
2182 | + readable?: boolean; | ||
2183 | + uri?: URI; | ||
2184 | + url?: TsgURL; | ||
2185 | +} | ||
2186 | + | ||
2473 | export interface SalOrderSaveDto { | 2187 | export interface SalOrderSaveDto { |
2474 | id?: string; | 2188 | id?: string; |
2475 | } | 2189 | } |
@@ -2493,134 +2207,14 @@ export interface ShippingWarehouseChangeDto { | @@ -2493,134 +2207,14 @@ export interface ShippingWarehouseChangeDto { | ||
2493 | shippingWarehouse?: string; | 2207 | shippingWarehouse?: string; |
2494 | } | 2208 | } |
2495 | 2209 | ||
2496 | -export interface SubOrder { | ||
2497 | - afterInvoicingStatus?: string; | ||
2498 | - /** @format date-time */ | ||
2499 | - afterInvoicingStatusUpdateTime?: string; | ||
2500 | - afterSalesAnnex?: string; | ||
2501 | - afterSalesNotes?: string; | ||
2502 | - afterSalesPlan?: string; | ||
2503 | - annex?: string; | ||
2504 | - applyInvoicingAnnex?: string; | ||
2505 | - applyInvoicingNotes?: string; | ||
2506 | - /** @format date-time */ | ||
2507 | - applyTime?: string; | ||
2508 | - /** @format int32 */ | ||
2509 | - attrId?: number; | ||
2510 | - checkNotes?: string; | ||
2511 | - /** @format date-time */ | ||
2512 | - collectMoneyTime?: string; | ||
2513 | - confirmDeliverNotes?: string; | ||
2514 | - confirmReissueNotes?: string; | ||
2515 | - createByName?: string; | ||
2516 | - /** @format date-time */ | ||
2517 | - createTime?: string; | ||
2518 | - /** @format date-time */ | ||
2519 | - deadline?: string; | ||
2520 | - ext?: string; | ||
2521 | - extendField?: string; | ||
2522 | - /** @format date-time */ | ||
2523 | - financialReceiptIssuanceTime?: string; | ||
2524 | - fullPaymentStatus?: string; | ||
2525 | - /** @format double */ | ||
2526 | - goodsVolume?: number; | ||
2527 | - /** @format double */ | ||
2528 | - goodsWeight?: number; | ||
2529 | - /** @format int64 */ | ||
2530 | - id?: number; | ||
2531 | - image?: string; | ||
2532 | - invoiceApplyUsername?: string; | ||
2533 | - invoiceInformation?: string; | ||
2534 | - /** @format int64 */ | ||
2535 | - invoiceRecordId?: number; | ||
2536 | - invoicingCheckAnnex?: string; | ||
2537 | - invoicingNotes?: string; | ||
2538 | - invoicingStatus?: string; | ||
2539 | - /** @format date-time */ | ||
2540 | - invoicingTime?: string; | ||
2541 | - invoicingUrgentCause?: string; | ||
2542 | - isUrgent?: boolean; | ||
2543 | - kingdeeErrorMessage?: string; | ||
2544 | - logicDelete?: boolean; | ||
2545 | - logisticsMethod?: string; | ||
2546 | - logisticsNotes?: string; | ||
2547 | - /** @format int64 */ | ||
2548 | - mainOrderAmountProportion?: number; | ||
2549 | - /** @format int64 */ | ||
2550 | - mainOrderId?: number; | ||
2551 | - materialId?: string; | ||
2552 | - modified?: boolean; | ||
2553 | - modifiedAuditNotes?: string; | ||
2554 | - modifiedAuditStatus?: string; | ||
2555 | - modifiedOptFlag?: string; | ||
2556 | - nextOrderStatus?: string; | ||
2557 | - notes?: string; | ||
2558 | - orderStatus?: string; | ||
2559 | - orderStatusBeforeModify?: string; | ||
2560 | - /** @format date-time */ | ||
2561 | - orderStatusUpdateTime?: string; | ||
2562 | - /** @format int32 */ | ||
2563 | - packageNumber?: number; | ||
2564 | - parameters?: string; | ||
2565 | - paymentChannel?: string; | ||
2566 | - paymentMethod?: string; | ||
2567 | - paymentReceiptAnnex?: string; | ||
2568 | - paymentReceiptNotes?: string; | ||
2569 | - paymentReceiptStatus?: string; | ||
2570 | - paymentStatus?: string; | ||
2571 | - paymentTransactionId?: string; | ||
2572 | - postAuditNotes?: string; | ||
2573 | - postAuditStatus?: string; | ||
2574 | - /** @format date-time */ | ||
2575 | - postAuditStatusUpdateTime?: string; | ||
2576 | - preAfterInvoicingStatus?: string; | ||
2577 | - procureConvertNotes?: string; | ||
2578 | - procureNotes?: string; | ||
2579 | - /** @format date-time */ | ||
2580 | - procureOrderDatetime?: string; | ||
2581 | - procureOrderStatus?: string; | ||
2582 | - productBelongBusiness?: string; | ||
2583 | - productCode?: string; | ||
2584 | - /** @format int32 */ | ||
2585 | - productId?: number; | ||
2586 | - productName?: string; | ||
2587 | - /** @format int64 */ | ||
2588 | - productPrice?: number; | ||
2589 | - /** @format date-time */ | ||
2590 | - productionEndTime?: string; | ||
2591 | - /** @format date-time */ | ||
2592 | - productionStartTime?: string; | ||
2593 | - productionTimePushStatus?: string; | ||
2594 | - /** @format int32 */ | ||
2595 | - quantity?: number; | ||
2596 | - receivingCompany?: string; | ||
2597 | - reissueNotes?: string; | ||
2598 | - serialNumber?: string; | ||
2599 | - shippingWarehouse?: string; | ||
2600 | - /** @format int64 */ | ||
2601 | - subOrderPayment?: number; | ||
2602 | - supplierName?: string; | ||
2603 | - supplierNotes?: string; | ||
2604 | - /** @format int64 */ | ||
2605 | - totalPayment?: number; | ||
2606 | - /** @format int32 */ | ||
2607 | - uid?: number; | ||
2608 | - unit?: string; | ||
2609 | - unitId?: string; | ||
2610 | - updateByName?: string; | ||
2611 | - /** @format date-time */ | ||
2612 | - updateTime?: string; | ||
2613 | - urgentInvoiceAuditNotes?: string; | ||
2614 | - /** @format int32 */ | ||
2615 | - version?: number; | ||
2616 | -} | ||
2617 | - | ||
2618 | export interface SysLogQueryVO { | 2210 | export interface SysLogQueryVO { |
2619 | address?: string; | 2211 | address?: string; |
2620 | browser?: string; | 2212 | browser?: string; |
2621 | /** @format int32 */ | 2213 | /** @format int32 */ |
2622 | current?: number; | 2214 | current?: number; |
2623 | description?: string; | 2215 | description?: string; |
2216 | + /** @format int32 */ | ||
2217 | + end?: number; | ||
2624 | exceptionDetail?: string; | 2218 | exceptionDetail?: string; |
2625 | /** @format int64 */ | 2219 | /** @format int64 */ |
2626 | id?: number; | 2220 | id?: number; |
@@ -2631,6 +2225,8 @@ export interface SysLogQueryVO { | @@ -2631,6 +2225,8 @@ export interface SysLogQueryVO { | ||
2631 | pageSize?: number; | 2225 | pageSize?: number; |
2632 | params?: string; | 2226 | params?: string; |
2633 | requestIp?: string; | 2227 | requestIp?: string; |
2228 | + /** @format int32 */ | ||
2229 | + start?: number; | ||
2634 | /** @format int64 */ | 2230 | /** @format int64 */ |
2635 | time?: number; | 2231 | time?: number; |
2636 | /** @format int32 */ | 2232 | /** @format int32 */ |
@@ -2653,6 +2249,29 @@ export interface TokenApiDto { | @@ -2653,6 +2249,29 @@ export interface TokenApiDto { | ||
2653 | username?: string; | 2249 | username?: string; |
2654 | } | 2250 | } |
2655 | 2251 | ||
2252 | +export interface URI { | ||
2253 | + absolute?: boolean; | ||
2254 | + authority?: string; | ||
2255 | + fragment?: string; | ||
2256 | + host?: string; | ||
2257 | + opaque?: boolean; | ||
2258 | + path?: string; | ||
2259 | + /** @format int32 */ | ||
2260 | + port?: number; | ||
2261 | + query?: string; | ||
2262 | + rawAuthority?: string; | ||
2263 | + rawFragment?: string; | ||
2264 | + rawPath?: string; | ||
2265 | + rawQuery?: string; | ||
2266 | + rawSchemeSpecificPart?: string; | ||
2267 | + rawUserInfo?: string; | ||
2268 | + scheme?: string; | ||
2269 | + schemeSpecificPart?: string; | ||
2270 | + userInfo?: string; | ||
2271 | +} | ||
2272 | + | ||
2273 | +export type URLStreamHandler = any; | ||
2274 | + | ||
2656 | export interface Unit { | 2275 | export interface Unit { |
2657 | /** @format float */ | 2276 | /** @format float */ |
2658 | coefficient?: number; | 2277 | coefficient?: number; |
@@ -2771,8 +2390,12 @@ export interface UserCenterInfoRequest { | @@ -2771,8 +2390,12 @@ export interface UserCenterInfoRequest { | ||
2771 | /** @format int32 */ | 2390 | /** @format int32 */ |
2772 | current?: number; | 2391 | current?: number; |
2773 | /** @format int32 */ | 2392 | /** @format int32 */ |
2393 | + end?: number; | ||
2394 | + /** @format int32 */ | ||
2774 | pageSize?: number; | 2395 | pageSize?: number; |
2775 | /** @format int32 */ | 2396 | /** @format int32 */ |
2397 | + start?: number; | ||
2398 | + /** @format int32 */ | ||
2776 | total?: number; | 2399 | total?: number; |
2777 | /** | 2400 | /** |
2778 | * @description | 2401 | * @description |
@@ -2792,6 +2415,8 @@ export interface UserDetailRequest { | @@ -2792,6 +2415,8 @@ export interface UserDetailRequest { | ||
2792 | /** @format int32 */ | 2415 | /** @format int32 */ |
2793 | current?: number; | 2416 | current?: number; |
2794 | /** @format int32 */ | 2417 | /** @format int32 */ |
2418 | + end?: number; | ||
2419 | + /** @format int32 */ | ||
2795 | pageSize?: number; | 2420 | pageSize?: number; |
2796 | /** | 2421 | /** |
2797 | * @description | 2422 | * @description |
@@ -2799,6 +2424,8 @@ export interface UserDetailRequest { | @@ -2799,6 +2424,8 @@ export interface UserDetailRequest { | ||
2799 | */ | 2424 | */ |
2800 | phone?: string; | 2425 | phone?: string; |
2801 | /** @format int32 */ | 2426 | /** @format int32 */ |
2427 | + start?: number; | ||
2428 | + /** @format int32 */ | ||
2802 | total?: number; | 2429 | total?: number; |
2803 | /** | 2430 | /** |
2804 | * @description | 2431 | * @description |
@@ -2815,6 +2442,8 @@ export interface UserListRequest { | @@ -2815,6 +2442,8 @@ export interface UserListRequest { | ||
2815 | * 创建日期开始时间 | 2442 | * 创建日期开始时间 |
2816 | */ | 2443 | */ |
2817 | dateLimit?: string; | 2444 | dateLimit?: string; |
2445 | + /** @format int32 */ | ||
2446 | + end?: number; | ||
2818 | /** | 2447 | /** |
2819 | * @description | 2448 | * @description |
2820 | * 单位 | 2449 | * 单位 |
@@ -2839,10 +2468,23 @@ export interface UserListRequest { | @@ -2839,10 +2468,23 @@ export interface UserListRequest { | ||
2839 | phone?: string; | 2468 | phone?: string; |
2840 | /** | 2469 | /** |
2841 | * @description | 2470 | * @description |
2471 | + * phones | ||
2472 | + */ | ||
2473 | + phones?: Array<string>; | ||
2474 | + /** | ||
2475 | + * @description | ||
2476 | + * 内部订单系统课题组id | ||
2477 | + * @format int64 | ||
2478 | + */ | ||
2479 | + researchGroupId?: number; | ||
2480 | + /** | ||
2481 | + * @description | ||
2842 | * salesCode | 2482 | * salesCode |
2843 | */ | 2483 | */ |
2844 | salesCode?: string; | 2484 | salesCode?: string; |
2845 | /** @format int32 */ | 2485 | /** @format int32 */ |
2486 | + start?: number; | ||
2487 | + /** @format int32 */ | ||
2846 | total?: number; | 2488 | total?: number; |
2847 | /** | 2489 | /** |
2848 | * @description | 2490 | * @description |
@@ -2862,6 +2504,13 @@ export interface UserListRequest { | @@ -2862,6 +2504,13 @@ export interface UserListRequest { | ||
2862 | username?: string; | 2504 | username?: string; |
2863 | } | 2505 | } |
2864 | 2506 | ||
2507 | +export interface UserNowMoneyCheckRequest { | ||
2508 | + phone?: string; | ||
2509 | + subPrice?: number; | ||
2510 | + /** @format int64 */ | ||
2511 | + uid?: number; | ||
2512 | +} | ||
2513 | + | ||
2865 | export interface View { | 2514 | export interface View { |
2866 | contentType?: string; | 2515 | contentType?: string; |
2867 | } | 2516 | } |
@@ -2884,42 +2533,30 @@ export interface ApiOrderConfirmReceiveRequest { | @@ -2884,42 +2533,30 @@ export interface ApiOrderConfirmReceiveRequest { | ||
2884 | subOrderIds?: Array<number>; | 2533 | subOrderIds?: Array<number>; |
2885 | } | 2534 | } |
2886 | 2535 | ||
2887 | -export interface InvoiceDetail { | 2536 | +export interface TsgFile { |
2537 | + absolute?: boolean; | ||
2538 | + absoluteFile?: TsgFile; | ||
2539 | + absolutePath?: string; | ||
2540 | + canonicalFile?: TsgFile; | ||
2541 | + canonicalPath?: string; | ||
2542 | + directory?: boolean; | ||
2543 | + executable?: boolean; | ||
2544 | + file?: boolean; | ||
2888 | /** @format int64 */ | 2545 | /** @format int64 */ |
2889 | - id?: number; | ||
2890 | - /** | ||
2891 | - * @description | ||
2892 | - * 发票id | ||
2893 | - * @format int64 | ||
2894 | - */ | ||
2895 | - invoiceRecordId?: number; | ||
2896 | - /** | ||
2897 | - * @description | ||
2898 | - * 单价 | ||
2899 | - * @format double | ||
2900 | - */ | ||
2901 | - price?: number; | ||
2902 | - projectName?: string; | ||
2903 | - /** @format double */ | ||
2904 | - quantity?: number; | ||
2905 | - /** | ||
2906 | - * @description | ||
2907 | - * 型号 | ||
2908 | - */ | ||
2909 | - specification?: string; | 2546 | + freeSpace?: number; |
2547 | + hidden?: boolean; | ||
2910 | /** @format int64 */ | 2548 | /** @format int64 */ |
2911 | - subOrderId?: number; | ||
2912 | - /** @format double */ | ||
2913 | - taxPrice?: number; | ||
2914 | - /** @format double */ | ||
2915 | - taxRate?: number; | ||
2916 | - /** | ||
2917 | - * @description | ||
2918 | - * 总价 | ||
2919 | - * @format double | ||
2920 | - */ | ||
2921 | - totalPrice?: number; | ||
2922 | - unit?: string; | 2549 | + lastModified?: number; |
2550 | + name?: string; | ||
2551 | + parent?: string; | ||
2552 | + parentFile?: TsgFile; | ||
2553 | + path?: string; | ||
2554 | + readable?: boolean; | ||
2555 | + /** @format int64 */ | ||
2556 | + totalSpace?: number; | ||
2557 | + /** @format int64 */ | ||
2558 | + usableSpace?: number; | ||
2559 | + writable?: boolean; | ||
2923 | } | 2560 | } |
2924 | 2561 | ||
2925 | export interface SalesRechargePrepaymentAuditRequest { | 2562 | export interface SalesRechargePrepaymentAuditRequest { |
@@ -2938,6 +2575,11 @@ export interface SalesRechargePrepaymentAuditRequest { | @@ -2938,6 +2575,11 @@ export interface SalesRechargePrepaymentAuditRequest { | ||
2938 | * 是否通过 | 2575 | * 是否通过 |
2939 | */ | 2576 | */ |
2940 | pass?: boolean; | 2577 | pass?: boolean; |
2578 | + /** | ||
2579 | + * @description | ||
2580 | + * 手机号 | ||
2581 | + */ | ||
2582 | + phone?: string; | ||
2941 | } | 2583 | } |
2942 | 2584 | ||
2943 | export interface SalesRechargePrepaymentCreateRequest { | 2585 | export interface SalesRechargePrepaymentCreateRequest { |
@@ -3043,6 +2685,8 @@ export interface SalesRechargePrepaymentRequest { | @@ -3043,6 +2685,8 @@ export interface SalesRechargePrepaymentRequest { | ||
3043 | * @format int32 | 2685 | * @format int32 |
3044 | */ | 2686 | */ |
3045 | enableFlag?: number; | 2687 | enableFlag?: number; |
2688 | + /** @format int32 */ | ||
2689 | + end?: number; | ||
3046 | /** | 2690 | /** |
3047 | * @description | 2691 | * @description |
3048 | * id | 2692 | * id |
@@ -3087,6 +2731,8 @@ export interface SalesRechargePrepaymentRequest { | @@ -3087,6 +2731,8 @@ export interface SalesRechargePrepaymentRequest { | ||
3087 | * 销售代表 | 2731 | * 销售代表 |
3088 | */ | 2732 | */ |
3089 | salesCode?: string; | 2733 | salesCode?: string; |
2734 | + /** @format int32 */ | ||
2735 | + start?: number; | ||
3090 | /** | 2736 | /** |
3091 | * @description | 2737 | * @description |
3092 | * 状态 | 2738 | * 状态 |
@@ -3246,6 +2892,25 @@ export interface StoreOrderInvoiceRequest { | @@ -3246,6 +2892,25 @@ export interface StoreOrderInvoiceRequest { | ||
3246 | updateTime?: string; | 2892 | updateTime?: string; |
3247 | } | 2893 | } |
3248 | 2894 | ||
2895 | +export interface TsgURL { | ||
2896 | + authority?: string; | ||
2897 | + content?: any; | ||
2898 | + /** @format int32 */ | ||
2899 | + defaultPort?: number; | ||
2900 | + deserializedFields?: URLStreamHandler; | ||
2901 | + file?: string; | ||
2902 | + host?: string; | ||
2903 | + path?: string; | ||
2904 | + /** @format int32 */ | ||
2905 | + port?: number; | ||
2906 | + protocol?: string; | ||
2907 | + query?: string; | ||
2908 | + ref?: string; | ||
2909 | + /** @format int32 */ | ||
2910 | + serializedHashCode?: number; | ||
2911 | + userInfo?: string; | ||
2912 | +} | ||
2913 | + | ||
3249 | /** | 2914 | /** |
3250 | * @description | 2915 | * @description |
3251 | * 保存用户地址请求对象 | 2916 | * 保存用户地址请求对象 |
src/services/order.ts
@@ -2,12 +2,14 @@ import axios from 'axios'; | @@ -2,12 +2,14 @@ import axios from 'axios'; | ||
2 | 2 | ||
3 | export const orderExport = async ( | 3 | export const orderExport = async ( |
4 | url: any = '', | 4 | url: any = '', |
5 | + fileName: any = '', | ||
6 | + method: any = '', | ||
5 | data: any = {}, | 7 | data: any = {}, |
6 | exportLoadingDestory: any, | 8 | exportLoadingDestory: any, |
7 | ) => { | 9 | ) => { |
8 | axios({ | 10 | axios({ |
9 | url: url, | 11 | url: url, |
10 | - method: 'post', | 12 | + method: method, |
11 | responseType: 'blob', | 13 | responseType: 'blob', |
12 | headers: { Authorization: localStorage.getItem('token') }, | 14 | headers: { Authorization: localStorage.getItem('token') }, |
13 | data, | 15 | data, |
@@ -18,7 +20,7 @@ export const orderExport = async ( | @@ -18,7 +20,7 @@ export const orderExport = async ( | ||
18 | const downloadUrl = window.URL.createObjectURL(blob); | 20 | const downloadUrl = window.URL.createObjectURL(blob); |
19 | const a = document.createElement('a'); | 21 | const a = document.createElement('a'); |
20 | a.href = downloadUrl; | 22 | a.href = downloadUrl; |
21 | - a.download = '订单.xlsx'; // 你可以为文件命名 | 23 | + a.download = fileName; // 你可以为文件命名 |
22 | document.body.appendChild(a); | 24 | document.body.appendChild(a); |
23 | a.click(); // 模拟点击操作来下载文件 | 25 | a.click(); // 模拟点击操作来下载文件 |
24 | URL.revokeObjectURL(downloadUrl); // 释放掉 blob 对象所占用的内存 | 26 | URL.revokeObjectURL(downloadUrl); // 释放掉 blob 对象所占用的内存 |
src/services/request.ts
@@ -29,12 +29,12 @@ import type { | @@ -29,12 +29,12 @@ import type { | ||
29 | ApiOrderEvaluatedRequest, | 29 | ApiOrderEvaluatedRequest, |
30 | ApiQueryOrderDetailRequest, | 30 | ApiQueryOrderDetailRequest, |
31 | ApiQueryOrderStatusCountsRequest, | 31 | ApiQueryOrderStatusCountsRequest, |
32 | - ApplyInvoiceDto, | ||
33 | AuditDto, | 32 | AuditDto, |
34 | AuditVO, | 33 | AuditVO, |
35 | CancelInvoiceAndBankStatementDto, | 34 | CancelInvoiceAndBankStatementDto, |
36 | CancelSendOrderDto, | 35 | CancelSendOrderDto, |
37 | CaptchaMessageVO, | 36 | CaptchaMessageVO, |
37 | + CommonAuditRequest, | ||
38 | CustomFieldRes, | 38 | CustomFieldRes, |
39 | CustomerCustomerListReq, | 39 | CustomerCustomerListReq, |
40 | CustomerDetailDto, | 40 | CustomerDetailDto, |
@@ -46,7 +46,6 @@ import type { | @@ -46,7 +46,6 @@ import type { | ||
46 | Dto, | 46 | Dto, |
47 | InventoryMaterialStockReq, | 47 | InventoryMaterialStockReq, |
48 | InvoiceDto, | 48 | InvoiceDto, |
49 | - InvoiceRecordDto, | ||
50 | InvoiceRecordQueryRequest, | 49 | InvoiceRecordQueryRequest, |
51 | MainOrderqueryRequest, | 50 | MainOrderqueryRequest, |
52 | MaterialListReply, | 51 | MaterialListReply, |
@@ -55,13 +54,18 @@ import type { | @@ -55,13 +54,18 @@ import type { | ||
55 | MaterialUnitListRes, | 54 | MaterialUnitListRes, |
56 | MeasureUnitListRes, | 55 | MeasureUnitListRes, |
57 | MessageQueryDTO, | 56 | MessageQueryDTO, |
58 | - ModelAndView, | ||
59 | OrderAddVO, | 57 | OrderAddVO, |
60 | OrderAuditLogQueryVO, | 58 | OrderAuditLogQueryVO, |
61 | OrderBaseInfoQueryVO, | 59 | OrderBaseInfoQueryVO, |
62 | OrderFieldLockApplyQueryVO, | 60 | OrderFieldLockApplyQueryVO, |
63 | OrderOptLogQueryVO, | 61 | OrderOptLogQueryVO, |
64 | OrderProfitAnalysisVo, | 62 | OrderProfitAnalysisVo, |
63 | + OrderStagesDelDo, | ||
64 | + OrderStagesFromDo, | ||
65 | + OrderStagesPayWay, | ||
66 | + OrderStagesPayWayDo, | ||
67 | + OrderStagesPayWayFileDo, | ||
68 | + OrderStagesSelDo, | ||
65 | OrderUnlockFieldApplyVO, | 69 | OrderUnlockFieldApplyVO, |
66 | OrderUpdateVO, | 70 | OrderUpdateVO, |
67 | ProcureConvertProcureDto, | 71 | ProcureConvertProcureDto, |
@@ -74,8 +78,6 @@ import type { | @@ -74,8 +78,6 @@ import type { | ||
74 | QueryCustomerInformationDto, | 78 | QueryCustomerInformationDto, |
75 | QueryHistoryRecordDto, | 79 | QueryHistoryRecordDto, |
76 | QueryInvoiceDetailDto, | 80 | QueryInvoiceDetailDto, |
77 | - QueryInvoiceProjectDto, | ||
78 | - QueryInvoiceRecordDto, | ||
79 | QueryMainOrderDto, | 81 | QueryMainOrderDto, |
80 | QueryReportFormsDto, | 82 | QueryReportFormsDto, |
81 | ReissueInvoiceDto, | 83 | ReissueInvoiceDto, |
@@ -84,6 +86,11 @@ import type { | @@ -84,6 +86,11 @@ import type { | ||
84 | ResearchGroupDetailRequest, | 86 | ResearchGroupDetailRequest, |
85 | ResearchGroupEditRequest, | 87 | ResearchGroupEditRequest, |
86 | ResearchGroupListRequest, | 88 | ResearchGroupListRequest, |
89 | + ResearchGroupMemberRequestAddRequest, | ||
90 | + ResearchGroupMemberRequestDeleteRequest, | ||
91 | + ResearchGroupMemberRequestDetailRequest, | ||
92 | + ResearchGroupMemberRequestEditRequest, | ||
93 | + ResearchGroupMemberRequestsRequest, | ||
87 | ResetPwdVO, | 94 | ResetPwdVO, |
88 | SalOrderSaveDto, | 95 | SalOrderSaveDto, |
89 | SalesRechargePrepaymentAuditRequest, | 96 | SalesRechargePrepaymentAuditRequest, |
@@ -109,6 +116,7 @@ import type { | @@ -109,6 +116,7 @@ import type { | ||
109 | UserCenterInfoRequest, | 116 | UserCenterInfoRequest, |
110 | UserDetailRequest, | 117 | UserDetailRequest, |
111 | UserListRequest, | 118 | UserListRequest, |
119 | + UserNowMoneyCheckRequest, | ||
112 | } from './definition'; | 120 | } from './definition'; |
113 | 121 | ||
114 | /** @description request parameter type for postApiLocalStorageUpload */ | 122 | /** @description request parameter type for postApiLocalStorageUpload */ |
@@ -1614,13 +1622,156 @@ export const postCanrdApiUserList = /* #__PURE__ */ (() => { | @@ -1614,13 +1622,156 @@ export const postCanrdApiUserList = /* #__PURE__ */ (() => { | ||
1614 | return request; | 1622 | return request; |
1615 | })(); | 1623 | })(); |
1616 | 1624 | ||
1625 | +/** @description request parameter type for postCanrdApiUserNowMoneyCheck */ | ||
1626 | +export interface PostCanrdApiUserNowMoneyCheckOption { | ||
1627 | + /** | ||
1628 | + * @description | ||
1629 | + * request | ||
1630 | + */ | ||
1631 | + body: { | ||
1632 | + /** | ||
1633 | + @description | ||
1634 | + request */ | ||
1635 | + request: UserNowMoneyCheckRequest; | ||
1636 | + }; | ||
1637 | +} | ||
1638 | + | ||
1639 | +/** @description response type for postCanrdApiUserNowMoneyCheck */ | ||
1640 | +export interface PostCanrdApiUserNowMoneyCheckResponse { | ||
1641 | + /** | ||
1642 | + * @description | ||
1643 | + * OK | ||
1644 | + */ | ||
1645 | + 200: ServerResult; | ||
1646 | + /** | ||
1647 | + * @description | ||
1648 | + * Created | ||
1649 | + */ | ||
1650 | + 201: any; | ||
1651 | + /** | ||
1652 | + * @description | ||
1653 | + * Unauthorized | ||
1654 | + */ | ||
1655 | + 401: any; | ||
1656 | + /** | ||
1657 | + * @description | ||
1658 | + * Forbidden | ||
1659 | + */ | ||
1660 | + 403: any; | ||
1661 | + /** | ||
1662 | + * @description | ||
1663 | + * Not Found | ||
1664 | + */ | ||
1665 | + 404: any; | ||
1666 | +} | ||
1667 | + | ||
1668 | +export type PostCanrdApiUserNowMoneyCheckResponseSuccess = | ||
1669 | + PostCanrdApiUserNowMoneyCheckResponse[200]; | ||
1670 | +/** | ||
1671 | + * @description | ||
1672 | + * 检查用户额度 | ||
1673 | + * @tags canrd-mobile-api-controller | ||
1674 | + * @produces * | ||
1675 | + * @consumes application/json | ||
1676 | + */ | ||
1677 | +export const postCanrdApiUserNowMoneyCheck = /* #__PURE__ */ (() => { | ||
1678 | + const method = 'post'; | ||
1679 | + const url = '/canrd/api/user/nowMoney/check'; | ||
1680 | + function request( | ||
1681 | + option: PostCanrdApiUserNowMoneyCheckOption, | ||
1682 | + ): Promise<PostCanrdApiUserNowMoneyCheckResponseSuccess> { | ||
1683 | + return requester(request.url, { | ||
1684 | + method: request.method, | ||
1685 | + ...option, | ||
1686 | + }) as unknown as Promise<PostCanrdApiUserNowMoneyCheckResponseSuccess>; | ||
1687 | + } | ||
1688 | + | ||
1689 | + /** http method */ | ||
1690 | + request.method = method; | ||
1691 | + /** request url */ | ||
1692 | + request.url = url; | ||
1693 | + return request; | ||
1694 | +})(); | ||
1695 | + | ||
1696 | +/** @description request parameter type for postCommonAudit */ | ||
1697 | +export interface PostCommonAuditOption { | ||
1698 | + /** | ||
1699 | + * @description | ||
1700 | + * request | ||
1701 | + */ | ||
1702 | + body: { | ||
1703 | + /** | ||
1704 | + @description | ||
1705 | + request */ | ||
1706 | + request: CommonAuditRequest; | ||
1707 | + }; | ||
1708 | +} | ||
1709 | + | ||
1710 | +/** @description response type for postCommonAudit */ | ||
1711 | +export interface PostCommonAuditResponse { | ||
1712 | + /** | ||
1713 | + * @description | ||
1714 | + * OK | ||
1715 | + */ | ||
1716 | + 200: ServerResult; | ||
1717 | + /** | ||
1718 | + * @description | ||
1719 | + * Created | ||
1720 | + */ | ||
1721 | + 201: any; | ||
1722 | + /** | ||
1723 | + * @description | ||
1724 | + * Unauthorized | ||
1725 | + */ | ||
1726 | + 401: any; | ||
1727 | + /** | ||
1728 | + * @description | ||
1729 | + * Forbidden | ||
1730 | + */ | ||
1731 | + 403: any; | ||
1732 | + /** | ||
1733 | + * @description | ||
1734 | + * Not Found | ||
1735 | + */ | ||
1736 | + 404: any; | ||
1737 | +} | ||
1738 | + | ||
1739 | +export type PostCommonAuditResponseSuccess = PostCommonAuditResponse[200]; | ||
1740 | +/** | ||
1741 | + * @description | ||
1742 | + * audit | ||
1743 | + * @tags common-controller | ||
1744 | + * @produces * | ||
1745 | + * @consumes application/json | ||
1746 | + */ | ||
1747 | +export const postCommonAudit = /* #__PURE__ */ (() => { | ||
1748 | + const method = 'post'; | ||
1749 | + const url = '/common/audit'; | ||
1750 | + function request( | ||
1751 | + option: PostCommonAuditOption, | ||
1752 | + ): Promise<PostCommonAuditResponseSuccess> { | ||
1753 | + return requester(request.url, { | ||
1754 | + method: request.method, | ||
1755 | + ...option, | ||
1756 | + }) as unknown as Promise<PostCommonAuditResponseSuccess>; | ||
1757 | + } | ||
1758 | + | ||
1759 | + /** http method */ | ||
1760 | + request.method = method; | ||
1761 | + /** request url */ | ||
1762 | + request.url = url; | ||
1763 | + return request; | ||
1764 | +})(); | ||
1765 | + | ||
1617 | /** @description response type for getError */ | 1766 | /** @description response type for getError */ |
1618 | export interface GetErrorResponse { | 1767 | export interface GetErrorResponse { |
1619 | /** | 1768 | /** |
1620 | * @description | 1769 | * @description |
1621 | * OK | 1770 | * OK |
1622 | */ | 1771 | */ |
1623 | - 200: ModelAndView; | 1772 | + 200: { |
1773 | + [propertyName: string]: any; | ||
1774 | + }; | ||
1624 | /** | 1775 | /** |
1625 | * @description | 1776 | * @description |
1626 | * Unauthorized | 1777 | * Unauthorized |
@@ -1641,9 +1792,9 @@ export interface GetErrorResponse { | @@ -1641,9 +1792,9 @@ export interface GetErrorResponse { | ||
1641 | export type GetErrorResponseSuccess = GetErrorResponse[200]; | 1792 | export type GetErrorResponseSuccess = GetErrorResponse[200]; |
1642 | /** | 1793 | /** |
1643 | * @description | 1794 | * @description |
1644 | - * errorHtml | 1795 | + * error |
1645 | * @tags basic-error-controller | 1796 | * @tags basic-error-controller |
1646 | - * @produces text/html | 1797 | + * @produces * |
1647 | */ | 1798 | */ |
1648 | export const getError = /* #__PURE__ */ (() => { | 1799 | export const getError = /* #__PURE__ */ (() => { |
1649 | const method = 'get'; | 1800 | const method = 'get'; |
@@ -1667,7 +1818,9 @@ export interface PutErrorResponse { | @@ -1667,7 +1818,9 @@ export interface PutErrorResponse { | ||
1667 | * @description | 1818 | * @description |
1668 | * OK | 1819 | * OK |
1669 | */ | 1820 | */ |
1670 | - 200: ModelAndView; | 1821 | + 200: { |
1822 | + [propertyName: string]: any; | ||
1823 | + }; | ||
1671 | /** | 1824 | /** |
1672 | * @description | 1825 | * @description |
1673 | * Created | 1826 | * Created |
@@ -1693,9 +1846,9 @@ export interface PutErrorResponse { | @@ -1693,9 +1846,9 @@ export interface PutErrorResponse { | ||
1693 | export type PutErrorResponseSuccess = PutErrorResponse[200]; | 1846 | export type PutErrorResponseSuccess = PutErrorResponse[200]; |
1694 | /** | 1847 | /** |
1695 | * @description | 1848 | * @description |
1696 | - * errorHtml | 1849 | + * error |
1697 | * @tags basic-error-controller | 1850 | * @tags basic-error-controller |
1698 | - * @produces text/html | 1851 | + * @produces * |
1699 | * @consumes application/json | 1852 | * @consumes application/json |
1700 | */ | 1853 | */ |
1701 | export const putError = /* #__PURE__ */ (() => { | 1854 | export const putError = /* #__PURE__ */ (() => { |
@@ -1720,7 +1873,9 @@ export interface PostErrorResponse { | @@ -1720,7 +1873,9 @@ export interface PostErrorResponse { | ||
1720 | * @description | 1873 | * @description |
1721 | * OK | 1874 | * OK |
1722 | */ | 1875 | */ |
1723 | - 200: ModelAndView; | 1876 | + 200: { |
1877 | + [propertyName: string]: any; | ||
1878 | + }; | ||
1724 | /** | 1879 | /** |
1725 | * @description | 1880 | * @description |
1726 | * Created | 1881 | * Created |
@@ -1746,9 +1901,9 @@ export interface PostErrorResponse { | @@ -1746,9 +1901,9 @@ export interface PostErrorResponse { | ||
1746 | export type PostErrorResponseSuccess = PostErrorResponse[200]; | 1901 | export type PostErrorResponseSuccess = PostErrorResponse[200]; |
1747 | /** | 1902 | /** |
1748 | * @description | 1903 | * @description |
1749 | - * errorHtml | 1904 | + * error |
1750 | * @tags basic-error-controller | 1905 | * @tags basic-error-controller |
1751 | - * @produces text/html | 1906 | + * @produces * |
1752 | * @consumes application/json | 1907 | * @consumes application/json |
1753 | */ | 1908 | */ |
1754 | export const postError = /* #__PURE__ */ (() => { | 1909 | export const postError = /* #__PURE__ */ (() => { |
@@ -1773,7 +1928,9 @@ export interface DeleteErrorResponse { | @@ -1773,7 +1928,9 @@ export interface DeleteErrorResponse { | ||
1773 | * @description | 1928 | * @description |
1774 | * OK | 1929 | * OK |
1775 | */ | 1930 | */ |
1776 | - 200: ModelAndView; | 1931 | + 200: { |
1932 | + [propertyName: string]: any; | ||
1933 | + }; | ||
1777 | /** | 1934 | /** |
1778 | * @description | 1935 | * @description |
1779 | * No Content | 1936 | * No Content |
@@ -1794,9 +1951,9 @@ export interface DeleteErrorResponse { | @@ -1794,9 +1951,9 @@ export interface DeleteErrorResponse { | ||
1794 | export type DeleteErrorResponseSuccess = DeleteErrorResponse[200]; | 1951 | export type DeleteErrorResponseSuccess = DeleteErrorResponse[200]; |
1795 | /** | 1952 | /** |
1796 | * @description | 1953 | * @description |
1797 | - * errorHtml | 1954 | + * error |
1798 | * @tags basic-error-controller | 1955 | * @tags basic-error-controller |
1799 | - * @produces text/html | 1956 | + * @produces * |
1800 | */ | 1957 | */ |
1801 | export const deleteError = /* #__PURE__ */ (() => { | 1958 | export const deleteError = /* #__PURE__ */ (() => { |
1802 | const method = 'delete'; | 1959 | const method = 'delete'; |
@@ -1820,7 +1977,9 @@ export interface OptionsErrorResponse { | @@ -1820,7 +1977,9 @@ export interface OptionsErrorResponse { | ||
1820 | * @description | 1977 | * @description |
1821 | * OK | 1978 | * OK |
1822 | */ | 1979 | */ |
1823 | - 200: ModelAndView; | 1980 | + 200: { |
1981 | + [propertyName: string]: any; | ||
1982 | + }; | ||
1824 | /** | 1983 | /** |
1825 | * @description | 1984 | * @description |
1826 | * No Content | 1985 | * No Content |
@@ -1841,9 +2000,9 @@ export interface OptionsErrorResponse { | @@ -1841,9 +2000,9 @@ export interface OptionsErrorResponse { | ||
1841 | export type OptionsErrorResponseSuccess = OptionsErrorResponse[200]; | 2000 | export type OptionsErrorResponseSuccess = OptionsErrorResponse[200]; |
1842 | /** | 2001 | /** |
1843 | * @description | 2002 | * @description |
1844 | - * errorHtml | 2003 | + * error |
1845 | * @tags basic-error-controller | 2004 | * @tags basic-error-controller |
1846 | - * @produces text/html | 2005 | + * @produces * |
1847 | * @consumes application/json | 2006 | * @consumes application/json |
1848 | */ | 2007 | */ |
1849 | export const optionsError = /* #__PURE__ */ (() => { | 2008 | export const optionsError = /* #__PURE__ */ (() => { |
@@ -1868,7 +2027,9 @@ export interface HeadErrorResponse { | @@ -1868,7 +2027,9 @@ export interface HeadErrorResponse { | ||
1868 | * @description | 2027 | * @description |
1869 | * OK | 2028 | * OK |
1870 | */ | 2029 | */ |
1871 | - 200: ModelAndView; | 2030 | + 200: { |
2031 | + [propertyName: string]: any; | ||
2032 | + }; | ||
1872 | /** | 2033 | /** |
1873 | * @description | 2034 | * @description |
1874 | * No Content | 2035 | * No Content |
@@ -1889,9 +2050,9 @@ export interface HeadErrorResponse { | @@ -1889,9 +2050,9 @@ export interface HeadErrorResponse { | ||
1889 | export type HeadErrorResponseSuccess = HeadErrorResponse[200]; | 2050 | export type HeadErrorResponseSuccess = HeadErrorResponse[200]; |
1890 | /** | 2051 | /** |
1891 | * @description | 2052 | * @description |
1892 | - * errorHtml | 2053 | + * error |
1893 | * @tags basic-error-controller | 2054 | * @tags basic-error-controller |
1894 | - * @produces text/html | 2055 | + * @produces * |
1895 | * @consumes application/json | 2056 | * @consumes application/json |
1896 | */ | 2057 | */ |
1897 | export const headError = /* #__PURE__ */ (() => { | 2058 | export const headError = /* #__PURE__ */ (() => { |
@@ -1916,7 +2077,9 @@ export interface PatchErrorResponse { | @@ -1916,7 +2077,9 @@ export interface PatchErrorResponse { | ||
1916 | * @description | 2077 | * @description |
1917 | * OK | 2078 | * OK |
1918 | */ | 2079 | */ |
1919 | - 200: ModelAndView; | 2080 | + 200: { |
2081 | + [propertyName: string]: any; | ||
2082 | + }; | ||
1920 | /** | 2083 | /** |
1921 | * @description | 2084 | * @description |
1922 | * No Content | 2085 | * No Content |
@@ -1937,9 +2100,9 @@ export interface PatchErrorResponse { | @@ -1937,9 +2100,9 @@ export interface PatchErrorResponse { | ||
1937 | export type PatchErrorResponseSuccess = PatchErrorResponse[200]; | 2100 | export type PatchErrorResponseSuccess = PatchErrorResponse[200]; |
1938 | /** | 2101 | /** |
1939 | * @description | 2102 | * @description |
1940 | - * errorHtml | 2103 | + * error |
1941 | * @tags basic-error-controller | 2104 | * @tags basic-error-controller |
1942 | - * @produces text/html | 2105 | + * @produces * |
1943 | * @consumes application/json | 2106 | * @consumes application/json |
1944 | */ | 2107 | */ |
1945 | export const patchError = /* #__PURE__ */ (() => { | 2108 | export const patchError = /* #__PURE__ */ (() => { |
@@ -6134,22 +6297,22 @@ export const postOrderErpOrderQueryById = /* #__PURE__ */ (() => { | @@ -6134,22 +6297,22 @@ export const postOrderErpOrderQueryById = /* #__PURE__ */ (() => { | ||
6134 | return request; | 6297 | return request; |
6135 | })(); | 6298 | })(); |
6136 | 6299 | ||
6137 | -/** @description request parameter type for postOrderErpProfitAnalysis */ | ||
6138 | -export interface PostOrderErpProfitAnalysisOption { | 6300 | +/** @description request parameter type for postOrderErpOrderStagesAdd */ |
6301 | +export interface PostOrderErpOrderStagesAddOption { | ||
6139 | /** | 6302 | /** |
6140 | * @description | 6303 | * @description |
6141 | - * orderProfitAnalysisVo | 6304 | + * orderStagesFromDo |
6142 | */ | 6305 | */ |
6143 | body: { | 6306 | body: { |
6144 | /** | 6307 | /** |
6145 | @description | 6308 | @description |
6146 | - orderProfitAnalysisVo */ | ||
6147 | - orderProfitAnalysisVo: OrderProfitAnalysisVo; | 6309 | + orderStagesFromDo */ |
6310 | + orderStagesFromDo: OrderStagesFromDo; | ||
6148 | }; | 6311 | }; |
6149 | } | 6312 | } |
6150 | 6313 | ||
6151 | -/** @description response type for postOrderErpProfitAnalysis */ | ||
6152 | -export interface PostOrderErpProfitAnalysisResponse { | 6314 | +/** @description response type for postOrderErpOrderStagesAdd */ |
6315 | +export interface PostOrderErpOrderStagesAddResponse { | ||
6153 | /** | 6316 | /** |
6154 | * @description | 6317 | * @description |
6155 | * OK | 6318 | * OK |
@@ -6177,25 +6340,25 @@ export interface PostOrderErpProfitAnalysisResponse { | @@ -6177,25 +6340,25 @@ export interface PostOrderErpProfitAnalysisResponse { | ||
6177 | 404: any; | 6340 | 404: any; |
6178 | } | 6341 | } |
6179 | 6342 | ||
6180 | -export type PostOrderErpProfitAnalysisResponseSuccess = | ||
6181 | - PostOrderErpProfitAnalysisResponse[200]; | 6343 | +export type PostOrderErpOrderStagesAddResponseSuccess = |
6344 | + PostOrderErpOrderStagesAddResponse[200]; | ||
6182 | /** | 6345 | /** |
6183 | * @description | 6346 | * @description |
6184 | - * analysis | ||
6185 | - * @tags order-profit-controller | 6347 | + * 添加或者修改分期账单 |
6348 | + * @tags order-stages-controller | ||
6186 | * @produces * | 6349 | * @produces * |
6187 | * @consumes application/json | 6350 | * @consumes application/json |
6188 | */ | 6351 | */ |
6189 | -export const postOrderErpProfitAnalysis = /* #__PURE__ */ (() => { | 6352 | +export const postOrderErpOrderStagesAdd = /* #__PURE__ */ (() => { |
6190 | const method = 'post'; | 6353 | const method = 'post'; |
6191 | - const url = '/order/erp/profit/analysis'; | 6354 | + const url = '/order/erp/orderStages/add'; |
6192 | function request( | 6355 | function request( |
6193 | - option: PostOrderErpProfitAnalysisOption, | ||
6194 | - ): Promise<PostOrderErpProfitAnalysisResponseSuccess> { | 6356 | + option: PostOrderErpOrderStagesAddOption, |
6357 | + ): Promise<PostOrderErpOrderStagesAddResponseSuccess> { | ||
6195 | return requester(request.url, { | 6358 | return requester(request.url, { |
6196 | method: request.method, | 6359 | method: request.method, |
6197 | ...option, | 6360 | ...option, |
6198 | - }) as unknown as Promise<PostOrderErpProfitAnalysisResponseSuccess>; | 6361 | + }) as unknown as Promise<PostOrderErpOrderStagesAddResponseSuccess>; |
6199 | } | 6362 | } |
6200 | 6363 | ||
6201 | /** http method */ | 6364 | /** http method */ |
@@ -6205,22 +6368,22 @@ export const postOrderErpProfitAnalysis = /* #__PURE__ */ (() => { | @@ -6205,22 +6368,22 @@ export const postOrderErpProfitAnalysis = /* #__PURE__ */ (() => { | ||
6205 | return request; | 6368 | return request; |
6206 | })(); | 6369 | })(); |
6207 | 6370 | ||
6208 | -/** @description request parameter type for postOrderErpRolesAdd */ | ||
6209 | -export interface PostOrderErpRolesAddOption { | 6371 | +/** @description request parameter type for deleteOrderErpOrderStagesDelect */ |
6372 | +export interface DeleteOrderErpOrderStagesDelectOption { | ||
6210 | /** | 6373 | /** |
6211 | * @description | 6374 | * @description |
6212 | - * roleVO | 6375 | + * orderStagesDelDo |
6213 | */ | 6376 | */ |
6214 | body: { | 6377 | body: { |
6215 | /** | 6378 | /** |
6216 | @description | 6379 | @description |
6217 | - roleVO */ | ||
6218 | - roleVO: AdminRoleVO; | 6380 | + orderStagesDelDo */ |
6381 | + orderStagesDelDo: OrderStagesDelDo; | ||
6219 | }; | 6382 | }; |
6220 | } | 6383 | } |
6221 | 6384 | ||
6222 | -/** @description response type for postOrderErpRolesAdd */ | ||
6223 | -export interface PostOrderErpRolesAddResponse { | 6385 | +/** @description response type for deleteOrderErpOrderStagesDelect */ |
6386 | +export interface DeleteOrderErpOrderStagesDelectResponse { | ||
6224 | /** | 6387 | /** |
6225 | * @description | 6388 | * @description |
6226 | * OK | 6389 | * OK |
@@ -6228,9 +6391,9 @@ export interface PostOrderErpRolesAddResponse { | @@ -6228,9 +6391,9 @@ export interface PostOrderErpRolesAddResponse { | ||
6228 | 200: ServerResult; | 6391 | 200: ServerResult; |
6229 | /** | 6392 | /** |
6230 | * @description | 6393 | * @description |
6231 | - * Created | 6394 | + * No Content |
6232 | */ | 6395 | */ |
6233 | - 201: any; | 6396 | + 204: any; |
6234 | /** | 6397 | /** |
6235 | * @description | 6398 | * @description |
6236 | * Unauthorized | 6399 | * Unauthorized |
@@ -6241,32 +6404,26 @@ export interface PostOrderErpRolesAddResponse { | @@ -6241,32 +6404,26 @@ export interface PostOrderErpRolesAddResponse { | ||
6241 | * Forbidden | 6404 | * Forbidden |
6242 | */ | 6405 | */ |
6243 | 403: any; | 6406 | 403: any; |
6244 | - /** | ||
6245 | - * @description | ||
6246 | - * Not Found | ||
6247 | - */ | ||
6248 | - 404: any; | ||
6249 | } | 6407 | } |
6250 | 6408 | ||
6251 | -export type PostOrderErpRolesAddResponseSuccess = | ||
6252 | - PostOrderErpRolesAddResponse[200]; | 6409 | +export type DeleteOrderErpOrderStagesDelectResponseSuccess = |
6410 | + DeleteOrderErpOrderStagesDelectResponse[200]; | ||
6253 | /** | 6411 | /** |
6254 | * @description | 6412 | * @description |
6255 | - * 新增角色 | ||
6256 | - * @tags 系统:角色管理 | 6413 | + * 删除分期账单 |
6414 | + * @tags order-stages-controller | ||
6257 | * @produces * | 6415 | * @produces * |
6258 | - * @consumes application/json | ||
6259 | */ | 6416 | */ |
6260 | -export const postOrderErpRolesAdd = /* #__PURE__ */ (() => { | ||
6261 | - const method = 'post'; | ||
6262 | - const url = '/order/erp/roles/add'; | 6417 | +export const deleteOrderErpOrderStagesDelect = /* #__PURE__ */ (() => { |
6418 | + const method = 'delete'; | ||
6419 | + const url = '/order/erp/orderStages/delect'; | ||
6263 | function request( | 6420 | function request( |
6264 | - option: PostOrderErpRolesAddOption, | ||
6265 | - ): Promise<PostOrderErpRolesAddResponseSuccess> { | 6421 | + option: DeleteOrderErpOrderStagesDelectOption, |
6422 | + ): Promise<DeleteOrderErpOrderStagesDelectResponseSuccess> { | ||
6266 | return requester(request.url, { | 6423 | return requester(request.url, { |
6267 | method: request.method, | 6424 | method: request.method, |
6268 | ...option, | 6425 | ...option, |
6269 | - }) as unknown as Promise<PostOrderErpRolesAddResponseSuccess>; | 6426 | + }) as unknown as Promise<DeleteOrderErpOrderStagesDelectResponseSuccess>; |
6270 | } | 6427 | } |
6271 | 6428 | ||
6272 | /** http method */ | 6429 | /** http method */ |
@@ -6276,32 +6433,13 @@ export const postOrderErpRolesAdd = /* #__PURE__ */ (() => { | @@ -6276,32 +6433,13 @@ export const postOrderErpRolesAdd = /* #__PURE__ */ (() => { | ||
6276 | return request; | 6433 | return request; |
6277 | })(); | 6434 | })(); |
6278 | 6435 | ||
6279 | -/** @description request parameter type for postOrderErpRolesAll */ | ||
6280 | -export interface PostOrderErpRolesAllOption { | ||
6281 | - /** | ||
6282 | - * @description | ||
6283 | - * queryVO | ||
6284 | - */ | ||
6285 | - body: { | ||
6286 | - /** | ||
6287 | - @description | ||
6288 | - queryVO */ | ||
6289 | - queryVO: AdminRoleQueryVO; | ||
6290 | - }; | ||
6291 | -} | ||
6292 | - | ||
6293 | -/** @description response type for postOrderErpRolesAll */ | ||
6294 | -export interface PostOrderErpRolesAllResponse { | 6436 | +/** @description response type for getOrderErpOrderStagesExport */ |
6437 | +export interface GetOrderErpOrderStagesExportResponse { | ||
6295 | /** | 6438 | /** |
6296 | * @description | 6439 | * @description |
6297 | * OK | 6440 | * OK |
6298 | */ | 6441 | */ |
6299 | - 200: ServerResult; | ||
6300 | - /** | ||
6301 | - * @description | ||
6302 | - * Created | ||
6303 | - */ | ||
6304 | - 201: any; | 6442 | + 200: any; |
6305 | /** | 6443 | /** |
6306 | * @description | 6444 | * @description |
6307 | * Unauthorized | 6445 | * Unauthorized |
@@ -6319,25 +6457,21 @@ export interface PostOrderErpRolesAllResponse { | @@ -6319,25 +6457,21 @@ export interface PostOrderErpRolesAllResponse { | ||
6319 | 404: any; | 6457 | 404: any; |
6320 | } | 6458 | } |
6321 | 6459 | ||
6322 | -export type PostOrderErpRolesAllResponseSuccess = | ||
6323 | - PostOrderErpRolesAllResponse[200]; | 6460 | +export type GetOrderErpOrderStagesExportResponseSuccess = |
6461 | + GetOrderErpOrderStagesExportResponse[200]; | ||
6324 | /** | 6462 | /** |
6325 | * @description | 6463 | * @description |
6326 | - * 返回全部的角色 | ||
6327 | - * @tags 系统:角色管理 | 6464 | + * 导出分期账单 |
6465 | + * @tags order-stages-controller | ||
6328 | * @produces * | 6466 | * @produces * |
6329 | - * @consumes application/json | ||
6330 | */ | 6467 | */ |
6331 | -export const postOrderErpRolesAll = /* #__PURE__ */ (() => { | ||
6332 | - const method = 'post'; | ||
6333 | - const url = '/order/erp/roles/all'; | ||
6334 | - function request( | ||
6335 | - option: PostOrderErpRolesAllOption, | ||
6336 | - ): Promise<PostOrderErpRolesAllResponseSuccess> { | 6468 | +export const getOrderErpOrderStagesExport = /* #__PURE__ */ (() => { |
6469 | + const method = 'get'; | ||
6470 | + const url = '/order/erp/orderStages/export'; | ||
6471 | + function request(): Promise<GetOrderErpOrderStagesExportResponseSuccess> { | ||
6337 | return requester(request.url, { | 6472 | return requester(request.url, { |
6338 | method: request.method, | 6473 | method: request.method, |
6339 | - ...option, | ||
6340 | - }) as unknown as Promise<PostOrderErpRolesAllResponseSuccess>; | 6474 | + }) as unknown as Promise<GetOrderErpOrderStagesExportResponseSuccess>; |
6341 | } | 6475 | } |
6342 | 6476 | ||
6343 | /** http method */ | 6477 | /** http method */ |
@@ -6347,22 +6481,22 @@ export const postOrderErpRolesAll = /* #__PURE__ */ (() => { | @@ -6347,22 +6481,22 @@ export const postOrderErpRolesAll = /* #__PURE__ */ (() => { | ||
6347 | return request; | 6481 | return request; |
6348 | })(); | 6482 | })(); |
6349 | 6483 | ||
6350 | -/** @description request parameter type for postOrderErpRolesAuthMenu */ | ||
6351 | -export interface PostOrderErpRolesAuthMenuOption { | 6484 | +/** @description request parameter type for postOrderErpOrderStagesImport */ |
6485 | +export interface PostOrderErpOrderStagesImportOption { | ||
6352 | /** | 6486 | /** |
6353 | * @description | 6487 | * @description |
6354 | - * roleVO | 6488 | + * file |
6355 | */ | 6489 | */ |
6356 | - body: { | 6490 | + formData: { |
6357 | /** | 6491 | /** |
6358 | @description | 6492 | @description |
6359 | - roleVO */ | ||
6360 | - roleVO: AdminAuthRoleVO; | 6493 | + file */ |
6494 | + file: File; | ||
6361 | }; | 6495 | }; |
6362 | } | 6496 | } |
6363 | 6497 | ||
6364 | -/** @description response type for postOrderErpRolesAuthMenu */ | ||
6365 | -export interface PostOrderErpRolesAuthMenuResponse { | 6498 | +/** @description response type for postOrderErpOrderStagesImport */ |
6499 | +export interface PostOrderErpOrderStagesImportResponse { | ||
6366 | /** | 6500 | /** |
6367 | * @description | 6501 | * @description |
6368 | * OK | 6502 | * OK |
@@ -6390,25 +6524,25 @@ export interface PostOrderErpRolesAuthMenuResponse { | @@ -6390,25 +6524,25 @@ export interface PostOrderErpRolesAuthMenuResponse { | ||
6390 | 404: any; | 6524 | 404: any; |
6391 | } | 6525 | } |
6392 | 6526 | ||
6393 | -export type PostOrderErpRolesAuthMenuResponseSuccess = | ||
6394 | - PostOrderErpRolesAuthMenuResponse[200]; | 6527 | +export type PostOrderErpOrderStagesImportResponseSuccess = |
6528 | + PostOrderErpOrderStagesImportResponse[200]; | ||
6395 | /** | 6529 | /** |
6396 | * @description | 6530 | * @description |
6397 | - * 授权角色菜单 | ||
6398 | - * @tags 系统:角色管理 | 6531 | + * 导入分期账单 |
6532 | + * @tags order-stages-controller | ||
6399 | * @produces * | 6533 | * @produces * |
6400 | - * @consumes application/json | 6534 | + * @consumes multipart/form-data |
6401 | */ | 6535 | */ |
6402 | -export const postOrderErpRolesAuthMenu = /* #__PURE__ */ (() => { | 6536 | +export const postOrderErpOrderStagesImport = /* #__PURE__ */ (() => { |
6403 | const method = 'post'; | 6537 | const method = 'post'; |
6404 | - const url = '/order/erp/roles/auth_menu'; | 6538 | + const url = '/order/erp/orderStages/import'; |
6405 | function request( | 6539 | function request( |
6406 | - option: PostOrderErpRolesAuthMenuOption, | ||
6407 | - ): Promise<PostOrderErpRolesAuthMenuResponseSuccess> { | 6540 | + option: PostOrderErpOrderStagesImportOption, |
6541 | + ): Promise<PostOrderErpOrderStagesImportResponseSuccess> { | ||
6408 | return requester(request.url, { | 6542 | return requester(request.url, { |
6409 | method: request.method, | 6543 | method: request.method, |
6410 | ...option, | 6544 | ...option, |
6411 | - }) as unknown as Promise<PostOrderErpRolesAuthMenuResponseSuccess>; | 6545 | + }) as unknown as Promise<PostOrderErpOrderStagesImportResponseSuccess>; |
6412 | } | 6546 | } |
6413 | 6547 | ||
6414 | /** http method */ | 6548 | /** http method */ |
@@ -6418,22 +6552,8 @@ export const postOrderErpRolesAuthMenu = /* #__PURE__ */ (() => { | @@ -6418,22 +6552,8 @@ export const postOrderErpRolesAuthMenu = /* #__PURE__ */ (() => { | ||
6418 | return request; | 6552 | return request; |
6419 | })(); | 6553 | })(); |
6420 | 6554 | ||
6421 | -/** @description request parameter type for postOrderErpRolesDelete */ | ||
6422 | -export interface PostOrderErpRolesDeleteOption { | ||
6423 | - /** | ||
6424 | - * @description | ||
6425 | - * queryVO | ||
6426 | - */ | ||
6427 | - body: { | ||
6428 | - /** | ||
6429 | - @description | ||
6430 | - queryVO */ | ||
6431 | - queryVO: AdminRoleQueryVO; | ||
6432 | - }; | ||
6433 | -} | ||
6434 | - | ||
6435 | -/** @description response type for postOrderErpRolesDelete */ | ||
6436 | -export interface PostOrderErpRolesDeleteResponse { | 6555 | +/** @description response type for getOrderErpOrderStagesListAll */ |
6556 | +export interface GetOrderErpOrderStagesListAllResponse { | ||
6437 | /** | 6557 | /** |
6438 | * @description | 6558 | * @description |
6439 | * OK | 6559 | * OK |
@@ -6441,11 +6561,6 @@ export interface PostOrderErpRolesDeleteResponse { | @@ -6441,11 +6561,6 @@ export interface PostOrderErpRolesDeleteResponse { | ||
6441 | 200: ServerResult; | 6561 | 200: ServerResult; |
6442 | /** | 6562 | /** |
6443 | * @description | 6563 | * @description |
6444 | - * Created | ||
6445 | - */ | ||
6446 | - 201: any; | ||
6447 | - /** | ||
6448 | - * @description | ||
6449 | * Unauthorized | 6564 | * Unauthorized |
6450 | */ | 6565 | */ |
6451 | 401: any; | 6566 | 401: any; |
@@ -6461,25 +6576,21 @@ export interface PostOrderErpRolesDeleteResponse { | @@ -6461,25 +6576,21 @@ export interface PostOrderErpRolesDeleteResponse { | ||
6461 | 404: any; | 6576 | 404: any; |
6462 | } | 6577 | } |
6463 | 6578 | ||
6464 | -export type PostOrderErpRolesDeleteResponseSuccess = | ||
6465 | - PostOrderErpRolesDeleteResponse[200]; | 6579 | +export type GetOrderErpOrderStagesListAllResponseSuccess = |
6580 | + GetOrderErpOrderStagesListAllResponse[200]; | ||
6466 | /** | 6581 | /** |
6467 | * @description | 6582 | * @description |
6468 | - * 删除角色 | ||
6469 | - * @tags 系统:角色管理 | 6583 | + * 查询所有分期账单 |
6584 | + * @tags order-stages-controller | ||
6470 | * @produces * | 6585 | * @produces * |
6471 | - * @consumes application/json | ||
6472 | */ | 6586 | */ |
6473 | -export const postOrderErpRolesDelete = /* #__PURE__ */ (() => { | ||
6474 | - const method = 'post'; | ||
6475 | - const url = '/order/erp/roles/delete'; | ||
6476 | - function request( | ||
6477 | - option: PostOrderErpRolesDeleteOption, | ||
6478 | - ): Promise<PostOrderErpRolesDeleteResponseSuccess> { | 6587 | +export const getOrderErpOrderStagesListAll = /* #__PURE__ */ (() => { |
6588 | + const method = 'get'; | ||
6589 | + const url = '/order/erp/orderStages/listAll'; | ||
6590 | + function request(): Promise<GetOrderErpOrderStagesListAllResponseSuccess> { | ||
6479 | return requester(request.url, { | 6591 | return requester(request.url, { |
6480 | method: request.method, | 6592 | method: request.method, |
6481 | - ...option, | ||
6482 | - }) as unknown as Promise<PostOrderErpRolesDeleteResponseSuccess>; | 6593 | + }) as unknown as Promise<GetOrderErpOrderStagesListAllResponseSuccess>; |
6483 | } | 6594 | } |
6484 | 6595 | ||
6485 | /** http method */ | 6596 | /** http method */ |
@@ -6489,22 +6600,22 @@ export const postOrderErpRolesDelete = /* #__PURE__ */ (() => { | @@ -6489,22 +6600,22 @@ export const postOrderErpRolesDelete = /* #__PURE__ */ (() => { | ||
6489 | return request; | 6600 | return request; |
6490 | })(); | 6601 | })(); |
6491 | 6602 | ||
6492 | -/** @description request parameter type for postOrderErpRolesDetail */ | ||
6493 | -export interface PostOrderErpRolesDetailOption { | 6603 | +/** @description request parameter type for postOrderErpOrderStagesSaveOrUpdate */ |
6604 | +export interface PostOrderErpOrderStagesSaveOrUpdateOption { | ||
6494 | /** | 6605 | /** |
6495 | * @description | 6606 | * @description |
6496 | - * queryVO | 6607 | + * orderStagesFromDo |
6497 | */ | 6608 | */ |
6498 | body: { | 6609 | body: { |
6499 | /** | 6610 | /** |
6500 | @description | 6611 | @description |
6501 | - queryVO */ | ||
6502 | - queryVO: AdminRoleQueryVO; | 6612 | + orderStagesFromDo */ |
6613 | + orderStagesFromDo: OrderStagesFromDo; | ||
6503 | }; | 6614 | }; |
6504 | } | 6615 | } |
6505 | 6616 | ||
6506 | -/** @description response type for postOrderErpRolesDetail */ | ||
6507 | -export interface PostOrderErpRolesDetailResponse { | 6617 | +/** @description response type for postOrderErpOrderStagesSaveOrUpdate */ |
6618 | +export interface PostOrderErpOrderStagesSaveOrUpdateResponse { | ||
6508 | /** | 6619 | /** |
6509 | * @description | 6620 | * @description |
6510 | * OK | 6621 | * OK |
@@ -6532,25 +6643,25 @@ export interface PostOrderErpRolesDetailResponse { | @@ -6532,25 +6643,25 @@ export interface PostOrderErpRolesDetailResponse { | ||
6532 | 404: any; | 6643 | 404: any; |
6533 | } | 6644 | } |
6534 | 6645 | ||
6535 | -export type PostOrderErpRolesDetailResponseSuccess = | ||
6536 | - PostOrderErpRolesDetailResponse[200]; | 6646 | +export type PostOrderErpOrderStagesSaveOrUpdateResponseSuccess = |
6647 | + PostOrderErpOrderStagesSaveOrUpdateResponse[200]; | ||
6537 | /** | 6648 | /** |
6538 | * @description | 6649 | * @description |
6539 | - * 获取单个role | ||
6540 | - * @tags 系统:角色管理 | 6650 | + * 添加或者修改分期账单 |
6651 | + * @tags order-stages-controller | ||
6541 | * @produces * | 6652 | * @produces * |
6542 | * @consumes application/json | 6653 | * @consumes application/json |
6543 | */ | 6654 | */ |
6544 | -export const postOrderErpRolesDetail = /* #__PURE__ */ (() => { | 6655 | +export const postOrderErpOrderStagesSaveOrUpdate = /* #__PURE__ */ (() => { |
6545 | const method = 'post'; | 6656 | const method = 'post'; |
6546 | - const url = '/order/erp/roles/detail'; | 6657 | + const url = '/order/erp/orderStages/saveOrUpdate'; |
6547 | function request( | 6658 | function request( |
6548 | - option: PostOrderErpRolesDetailOption, | ||
6549 | - ): Promise<PostOrderErpRolesDetailResponseSuccess> { | 6659 | + option: PostOrderErpOrderStagesSaveOrUpdateOption, |
6660 | + ): Promise<PostOrderErpOrderStagesSaveOrUpdateResponseSuccess> { | ||
6550 | return requester(request.url, { | 6661 | return requester(request.url, { |
6551 | method: request.method, | 6662 | method: request.method, |
6552 | ...option, | 6663 | ...option, |
6553 | - }) as unknown as Promise<PostOrderErpRolesDetailResponseSuccess>; | 6664 | + }) as unknown as Promise<PostOrderErpOrderStagesSaveOrUpdateResponseSuccess>; |
6554 | } | 6665 | } |
6555 | 6666 | ||
6556 | /** http method */ | 6667 | /** http method */ |
@@ -6560,22 +6671,22 @@ export const postOrderErpRolesDetail = /* #__PURE__ */ (() => { | @@ -6560,22 +6671,22 @@ export const postOrderErpRolesDetail = /* #__PURE__ */ (() => { | ||
6560 | return request; | 6671 | return request; |
6561 | })(); | 6672 | })(); |
6562 | 6673 | ||
6563 | -/** @description request parameter type for postOrderErpRolesEdit */ | ||
6564 | -export interface PostOrderErpRolesEditOption { | 6674 | +/** @description request parameter type for postOrderErpOrderStagesSearch */ |
6675 | +export interface PostOrderErpOrderStagesSearchOption { | ||
6565 | /** | 6676 | /** |
6566 | * @description | 6677 | * @description |
6567 | - * roleVO | 6678 | + * orderStagesSelDo |
6568 | */ | 6679 | */ |
6569 | body: { | 6680 | body: { |
6570 | /** | 6681 | /** |
6571 | @description | 6682 | @description |
6572 | - roleVO */ | ||
6573 | - roleVO: AdminRoleVO; | 6683 | + orderStagesSelDo */ |
6684 | + orderStagesSelDo: OrderStagesSelDo; | ||
6574 | }; | 6685 | }; |
6575 | } | 6686 | } |
6576 | 6687 | ||
6577 | -/** @description response type for postOrderErpRolesEdit */ | ||
6578 | -export interface PostOrderErpRolesEditResponse { | 6688 | +/** @description response type for postOrderErpOrderStagesSearch */ |
6689 | +export interface PostOrderErpOrderStagesSearchResponse { | ||
6579 | /** | 6690 | /** |
6580 | * @description | 6691 | * @description |
6581 | * OK | 6692 | * OK |
@@ -6603,25 +6714,25 @@ export interface PostOrderErpRolesEditResponse { | @@ -6603,25 +6714,25 @@ export interface PostOrderErpRolesEditResponse { | ||
6603 | 404: any; | 6714 | 404: any; |
6604 | } | 6715 | } |
6605 | 6716 | ||
6606 | -export type PostOrderErpRolesEditResponseSuccess = | ||
6607 | - PostOrderErpRolesEditResponse[200]; | 6717 | +export type PostOrderErpOrderStagesSearchResponseSuccess = |
6718 | + PostOrderErpOrderStagesSearchResponse[200]; | ||
6608 | /** | 6719 | /** |
6609 | * @description | 6720 | * @description |
6610 | - * 修改角色 | ||
6611 | - * @tags 系统:角色管理 | 6721 | + * 条件搜索分期账单 |
6722 | + * @tags order-stages-controller | ||
6612 | * @produces * | 6723 | * @produces * |
6613 | * @consumes application/json | 6724 | * @consumes application/json |
6614 | */ | 6725 | */ |
6615 | -export const postOrderErpRolesEdit = /* #__PURE__ */ (() => { | 6726 | +export const postOrderErpOrderStagesSearch = /* #__PURE__ */ (() => { |
6616 | const method = 'post'; | 6727 | const method = 'post'; |
6617 | - const url = '/order/erp/roles/edit'; | 6728 | + const url = '/order/erp/orderStages/search'; |
6618 | function request( | 6729 | function request( |
6619 | - option: PostOrderErpRolesEditOption, | ||
6620 | - ): Promise<PostOrderErpRolesEditResponseSuccess> { | 6730 | + option: PostOrderErpOrderStagesSearchOption, |
6731 | + ): Promise<PostOrderErpOrderStagesSearchResponseSuccess> { | ||
6621 | return requester(request.url, { | 6732 | return requester(request.url, { |
6622 | method: request.method, | 6733 | method: request.method, |
6623 | ...option, | 6734 | ...option, |
6624 | - }) as unknown as Promise<PostOrderErpRolesEditResponseSuccess>; | 6735 | + }) as unknown as Promise<PostOrderErpOrderStagesSearchResponseSuccess>; |
6625 | } | 6736 | } |
6626 | 6737 | ||
6627 | /** http method */ | 6738 | /** http method */ |
@@ -6631,22 +6742,22 @@ export const postOrderErpRolesEdit = /* #__PURE__ */ (() => { | @@ -6631,22 +6742,22 @@ export const postOrderErpRolesEdit = /* #__PURE__ */ (() => { | ||
6631 | return request; | 6742 | return request; |
6632 | })(); | 6743 | })(); |
6633 | 6744 | ||
6634 | -/** @description request parameter type for postOrderErpRolesListByPage */ | ||
6635 | -export interface PostOrderErpRolesListByPageOption { | 6745 | +/** @description request parameter type for postOrderErpOrderStagesUpload */ |
6746 | +export interface PostOrderErpOrderStagesUploadOption { | ||
6636 | /** | 6747 | /** |
6637 | * @description | 6748 | * @description |
6638 | - * queryVO | 6749 | + * file |
6639 | */ | 6750 | */ |
6640 | - body: { | 6751 | + formData: { |
6641 | /** | 6752 | /** |
6642 | @description | 6753 | @description |
6643 | - queryVO */ | ||
6644 | - queryVO: AdminRoleQueryVO; | 6754 | + file */ |
6755 | + file: File; | ||
6645 | }; | 6756 | }; |
6646 | } | 6757 | } |
6647 | 6758 | ||
6648 | -/** @description response type for postOrderErpRolesListByPage */ | ||
6649 | -export interface PostOrderErpRolesListByPageResponse { | 6759 | +/** @description response type for postOrderErpOrderStagesUpload */ |
6760 | +export interface PostOrderErpOrderStagesUploadResponse { | ||
6650 | /** | 6761 | /** |
6651 | * @description | 6762 | * @description |
6652 | * OK | 6763 | * OK |
@@ -6674,25 +6785,25 @@ export interface PostOrderErpRolesListByPageResponse { | @@ -6674,25 +6785,25 @@ export interface PostOrderErpRolesListByPageResponse { | ||
6674 | 404: any; | 6785 | 404: any; |
6675 | } | 6786 | } |
6676 | 6787 | ||
6677 | -export type PostOrderErpRolesListByPageResponseSuccess = | ||
6678 | - PostOrderErpRolesListByPageResponse[200]; | 6788 | +export type PostOrderErpOrderStagesUploadResponseSuccess = |
6789 | + PostOrderErpOrderStagesUploadResponse[200]; | ||
6679 | /** | 6790 | /** |
6680 | * @description | 6791 | * @description |
6681 | - * 查询角色 | ||
6682 | - * @tags 系统:角色管理 | 6792 | + * 合同文件上传 |
6793 | + * @tags order-stages-controller | ||
6683 | * @produces * | 6794 | * @produces * |
6684 | - * @consumes application/json | 6795 | + * @consumes multipart/form-data |
6685 | */ | 6796 | */ |
6686 | -export const postOrderErpRolesListByPage = /* #__PURE__ */ (() => { | 6797 | +export const postOrderErpOrderStagesUpload = /* #__PURE__ */ (() => { |
6687 | const method = 'post'; | 6798 | const method = 'post'; |
6688 | - const url = '/order/erp/roles/list_by_page'; | 6799 | + const url = '/order/erp/orderStages/upload'; |
6689 | function request( | 6800 | function request( |
6690 | - option: PostOrderErpRolesListByPageOption, | ||
6691 | - ): Promise<PostOrderErpRolesListByPageResponseSuccess> { | 6801 | + option: PostOrderErpOrderStagesUploadOption, |
6802 | + ): Promise<PostOrderErpOrderStagesUploadResponseSuccess> { | ||
6692 | return requester(request.url, { | 6803 | return requester(request.url, { |
6693 | method: request.method, | 6804 | method: request.method, |
6694 | ...option, | 6805 | ...option, |
6695 | - }) as unknown as Promise<PostOrderErpRolesListByPageResponseSuccess>; | 6806 | + }) as unknown as Promise<PostOrderErpOrderStagesUploadResponseSuccess>; |
6696 | } | 6807 | } |
6697 | 6808 | ||
6698 | /** http method */ | 6809 | /** http method */ |
@@ -6702,22 +6813,22 @@ export const postOrderErpRolesListByPage = /* #__PURE__ */ (() => { | @@ -6702,22 +6813,22 @@ export const postOrderErpRolesListByPage = /* #__PURE__ */ (() => { | ||
6702 | return request; | 6813 | return request; |
6703 | })(); | 6814 | })(); |
6704 | 6815 | ||
6705 | -/** @description request parameter type for postOrderErpUsersAdd */ | ||
6706 | -export interface PostOrderErpUsersAddOption { | 6816 | +/** @description request parameter type for postOrderErpOrderStagesPayWaySaveOrUpdate */ |
6817 | +export interface PostOrderErpOrderStagesPayWaySaveOrUpdateOption { | ||
6707 | /** | 6818 | /** |
6708 | * @description | 6819 | * @description |
6709 | - * userVO | 6820 | + * orderStagesPayWayList |
6710 | */ | 6821 | */ |
6711 | body: { | 6822 | body: { |
6712 | /** | 6823 | /** |
6713 | @description | 6824 | @description |
6714 | - userVO */ | ||
6715 | - userVO: AdminUserVO; | 6825 | + orderStagesPayWayList */ |
6826 | + orderStagesPayWayList: Array<OrderStagesPayWay>; | ||
6716 | }; | 6827 | }; |
6717 | } | 6828 | } |
6718 | 6829 | ||
6719 | -/** @description response type for postOrderErpUsersAdd */ | ||
6720 | -export interface PostOrderErpUsersAddResponse { | 6830 | +/** @description response type for postOrderErpOrderStagesPayWaySaveOrUpdate */ |
6831 | +export interface PostOrderErpOrderStagesPayWaySaveOrUpdateResponse { | ||
6721 | /** | 6832 | /** |
6722 | * @description | 6833 | * @description |
6723 | * OK | 6834 | * OK |
@@ -6745,50 +6856,51 @@ export interface PostOrderErpUsersAddResponse { | @@ -6745,50 +6856,51 @@ export interface PostOrderErpUsersAddResponse { | ||
6745 | 404: any; | 6856 | 404: any; |
6746 | } | 6857 | } |
6747 | 6858 | ||
6748 | -export type PostOrderErpUsersAddResponseSuccess = | ||
6749 | - PostOrderErpUsersAddResponse[200]; | 6859 | +export type PostOrderErpOrderStagesPayWaySaveOrUpdateResponseSuccess = |
6860 | + PostOrderErpOrderStagesPayWaySaveOrUpdateResponse[200]; | ||
6750 | /** | 6861 | /** |
6751 | * @description | 6862 | * @description |
6752 | - * 新增用户 | ||
6753 | - * @tags 系统:用户管理 | 6863 | + * 修改或者保存 |
6864 | + * @tags order-stages-pay-way-controller | ||
6754 | * @produces * | 6865 | * @produces * |
6755 | * @consumes application/json | 6866 | * @consumes application/json |
6756 | */ | 6867 | */ |
6757 | -export const postOrderErpUsersAdd = /* #__PURE__ */ (() => { | ||
6758 | - const method = 'post'; | ||
6759 | - const url = '/order/erp/users/add'; | ||
6760 | - function request( | ||
6761 | - option: PostOrderErpUsersAddOption, | ||
6762 | - ): Promise<PostOrderErpUsersAddResponseSuccess> { | ||
6763 | - return requester(request.url, { | ||
6764 | - method: request.method, | ||
6765 | - ...option, | ||
6766 | - }) as unknown as Promise<PostOrderErpUsersAddResponseSuccess>; | ||
6767 | - } | 6868 | +export const postOrderErpOrderStagesPayWaySaveOrUpdate = |
6869 | + /* #__PURE__ */ (() => { | ||
6870 | + const method = 'post'; | ||
6871 | + const url = '/order/erp/orderStagesPayWay/saveOrUpdate'; | ||
6872 | + function request( | ||
6873 | + option: PostOrderErpOrderStagesPayWaySaveOrUpdateOption, | ||
6874 | + ): Promise<PostOrderErpOrderStagesPayWaySaveOrUpdateResponseSuccess> { | ||
6875 | + return requester(request.url, { | ||
6876 | + method: request.method, | ||
6877 | + ...option, | ||
6878 | + }) as unknown as Promise<PostOrderErpOrderStagesPayWaySaveOrUpdateResponseSuccess>; | ||
6879 | + } | ||
6768 | 6880 | ||
6769 | - /** http method */ | ||
6770 | - request.method = method; | ||
6771 | - /** request url */ | ||
6772 | - request.url = url; | ||
6773 | - return request; | ||
6774 | -})(); | 6881 | + /** http method */ |
6882 | + request.method = method; | ||
6883 | + /** request url */ | ||
6884 | + request.url = url; | ||
6885 | + return request; | ||
6886 | + })(); | ||
6775 | 6887 | ||
6776 | -/** @description request parameter type for postOrderErpUsersAuthRole */ | ||
6777 | -export interface PostOrderErpUsersAuthRoleOption { | 6888 | +/** @description request parameter type for postOrderErpOrderStagesPayWaySelect */ |
6889 | +export interface PostOrderErpOrderStagesPayWaySelectOption { | ||
6778 | /** | 6890 | /** |
6779 | * @description | 6891 | * @description |
6780 | - * userVO | 6892 | + * orderStagesPayWayDo |
6781 | */ | 6893 | */ |
6782 | body: { | 6894 | body: { |
6783 | /** | 6895 | /** |
6784 | @description | 6896 | @description |
6785 | - userVO */ | ||
6786 | - userVO: AdminAuthUserVO; | 6897 | + orderStagesPayWayDo */ |
6898 | + orderStagesPayWayDo: OrderStagesPayWayDo; | ||
6787 | }; | 6899 | }; |
6788 | } | 6900 | } |
6789 | 6901 | ||
6790 | -/** @description response type for postOrderErpUsersAuthRole */ | ||
6791 | -export interface PostOrderErpUsersAuthRoleResponse { | 6902 | +/** @description response type for postOrderErpOrderStagesPayWaySelect */ |
6903 | +export interface PostOrderErpOrderStagesPayWaySelectResponse { | ||
6792 | /** | 6904 | /** |
6793 | * @description | 6905 | * @description |
6794 | * OK | 6906 | * OK |
@@ -6816,25 +6928,25 @@ export interface PostOrderErpUsersAuthRoleResponse { | @@ -6816,25 +6928,25 @@ export interface PostOrderErpUsersAuthRoleResponse { | ||
6816 | 404: any; | 6928 | 404: any; |
6817 | } | 6929 | } |
6818 | 6930 | ||
6819 | -export type PostOrderErpUsersAuthRoleResponseSuccess = | ||
6820 | - PostOrderErpUsersAuthRoleResponse[200]; | 6931 | +export type PostOrderErpOrderStagesPayWaySelectResponseSuccess = |
6932 | + PostOrderErpOrderStagesPayWaySelectResponse[200]; | ||
6821 | /** | 6933 | /** |
6822 | * @description | 6934 | * @description |
6823 | - * 授权角色 | ||
6824 | - * @tags 系统:用户管理 | 6935 | + * 查询该的分期比例 |
6936 | + * @tags order-stages-pay-way-controller | ||
6825 | * @produces * | 6937 | * @produces * |
6826 | * @consumes application/json | 6938 | * @consumes application/json |
6827 | */ | 6939 | */ |
6828 | -export const postOrderErpUsersAuthRole = /* #__PURE__ */ (() => { | 6940 | +export const postOrderErpOrderStagesPayWaySelect = /* #__PURE__ */ (() => { |
6829 | const method = 'post'; | 6941 | const method = 'post'; |
6830 | - const url = '/order/erp/users/auth_role'; | 6942 | + const url = '/order/erp/orderStagesPayWay/select'; |
6831 | function request( | 6943 | function request( |
6832 | - option: PostOrderErpUsersAuthRoleOption, | ||
6833 | - ): Promise<PostOrderErpUsersAuthRoleResponseSuccess> { | 6944 | + option: PostOrderErpOrderStagesPayWaySelectOption, |
6945 | + ): Promise<PostOrderErpOrderStagesPayWaySelectResponseSuccess> { | ||
6834 | return requester(request.url, { | 6946 | return requester(request.url, { |
6835 | method: request.method, | 6947 | method: request.method, |
6836 | ...option, | 6948 | ...option, |
6837 | - }) as unknown as Promise<PostOrderErpUsersAuthRoleResponseSuccess>; | 6949 | + }) as unknown as Promise<PostOrderErpOrderStagesPayWaySelectResponseSuccess>; |
6838 | } | 6950 | } |
6839 | 6951 | ||
6840 | /** http method */ | 6952 | /** http method */ |
@@ -6844,22 +6956,22 @@ export const postOrderErpUsersAuthRole = /* #__PURE__ */ (() => { | @@ -6844,22 +6956,22 @@ export const postOrderErpUsersAuthRole = /* #__PURE__ */ (() => { | ||
6844 | return request; | 6956 | return request; |
6845 | })(); | 6957 | })(); |
6846 | 6958 | ||
6847 | -/** @description request parameter type for postOrderErpUsersDelete */ | ||
6848 | -export interface PostOrderErpUsersDeleteOption { | 6959 | +/** @description request parameter type for postOrderErpOrderStagesPayWayUploadForPayWay */ |
6960 | +export interface PostOrderErpOrderStagesPayWayUploadForPayWayOption { | ||
6849 | /** | 6961 | /** |
6850 | * @description | 6962 | * @description |
6851 | - * queryVO | 6963 | + * orderStagesPayWayFileDo |
6852 | */ | 6964 | */ |
6853 | body: { | 6965 | body: { |
6854 | /** | 6966 | /** |
6855 | @description | 6967 | @description |
6856 | - queryVO */ | ||
6857 | - queryVO: AdminUserQueryVO; | 6968 | + orderStagesPayWayFileDo */ |
6969 | + orderStagesPayWayFileDo: OrderStagesPayWayFileDo; | ||
6858 | }; | 6970 | }; |
6859 | } | 6971 | } |
6860 | 6972 | ||
6861 | -/** @description response type for postOrderErpUsersDelete */ | ||
6862 | -export interface PostOrderErpUsersDeleteResponse { | 6973 | +/** @description response type for postOrderErpOrderStagesPayWayUploadForPayWay */ |
6974 | +export interface PostOrderErpOrderStagesPayWayUploadForPayWayResponse { | ||
6863 | /** | 6975 | /** |
6864 | * @description | 6976 | * @description |
6865 | * OK | 6977 | * OK |
@@ -6887,50 +6999,51 @@ export interface PostOrderErpUsersDeleteResponse { | @@ -6887,50 +6999,51 @@ export interface PostOrderErpUsersDeleteResponse { | ||
6887 | 404: any; | 6999 | 404: any; |
6888 | } | 7000 | } |
6889 | 7001 | ||
6890 | -export type PostOrderErpUsersDeleteResponseSuccess = | ||
6891 | - PostOrderErpUsersDeleteResponse[200]; | 7002 | +export type PostOrderErpOrderStagesPayWayUploadForPayWayResponseSuccess = |
7003 | + PostOrderErpOrderStagesPayWayUploadForPayWayResponse[200]; | ||
6892 | /** | 7004 | /** |
6893 | * @description | 7005 | * @description |
6894 | - * 删除用户 | ||
6895 | - * @tags 系统:用户管理 | 7006 | + * 付款合同文件上传 |
7007 | + * @tags order-stages-pay-way-controller | ||
6896 | * @produces * | 7008 | * @produces * |
6897 | * @consumes application/json | 7009 | * @consumes application/json |
6898 | */ | 7010 | */ |
6899 | -export const postOrderErpUsersDelete = /* #__PURE__ */ (() => { | ||
6900 | - const method = 'post'; | ||
6901 | - const url = '/order/erp/users/delete'; | ||
6902 | - function request( | ||
6903 | - option: PostOrderErpUsersDeleteOption, | ||
6904 | - ): Promise<PostOrderErpUsersDeleteResponseSuccess> { | ||
6905 | - return requester(request.url, { | ||
6906 | - method: request.method, | ||
6907 | - ...option, | ||
6908 | - }) as unknown as Promise<PostOrderErpUsersDeleteResponseSuccess>; | ||
6909 | - } | 7011 | +export const postOrderErpOrderStagesPayWayUploadForPayWay = |
7012 | + /* #__PURE__ */ (() => { | ||
7013 | + const method = 'post'; | ||
7014 | + const url = '/order/erp/orderStagesPayWay/uploadForPayWay'; | ||
7015 | + function request( | ||
7016 | + option: PostOrderErpOrderStagesPayWayUploadForPayWayOption, | ||
7017 | + ): Promise<PostOrderErpOrderStagesPayWayUploadForPayWayResponseSuccess> { | ||
7018 | + return requester(request.url, { | ||
7019 | + method: request.method, | ||
7020 | + ...option, | ||
7021 | + }) as unknown as Promise<PostOrderErpOrderStagesPayWayUploadForPayWayResponseSuccess>; | ||
7022 | + } | ||
6910 | 7023 | ||
6911 | - /** http method */ | ||
6912 | - request.method = method; | ||
6913 | - /** request url */ | ||
6914 | - request.url = url; | ||
6915 | - return request; | ||
6916 | -})(); | 7024 | + /** http method */ |
7025 | + request.method = method; | ||
7026 | + /** request url */ | ||
7027 | + request.url = url; | ||
7028 | + return request; | ||
7029 | + })(); | ||
6917 | 7030 | ||
6918 | -/** @description request parameter type for postOrderErpUsersEdit */ | ||
6919 | -export interface PostOrderErpUsersEditOption { | 7031 | +/** @description request parameter type for postOrderErpProfitAnalysis */ |
7032 | +export interface PostOrderErpProfitAnalysisOption { | ||
6920 | /** | 7033 | /** |
6921 | * @description | 7034 | * @description |
6922 | - * userVO | 7035 | + * orderProfitAnalysisVo |
6923 | */ | 7036 | */ |
6924 | body: { | 7037 | body: { |
6925 | /** | 7038 | /** |
6926 | @description | 7039 | @description |
6927 | - userVO */ | ||
6928 | - userVO: AdminUserVO; | 7040 | + orderProfitAnalysisVo */ |
7041 | + orderProfitAnalysisVo: OrderProfitAnalysisVo; | ||
6929 | }; | 7042 | }; |
6930 | } | 7043 | } |
6931 | 7044 | ||
6932 | -/** @description response type for postOrderErpUsersEdit */ | ||
6933 | -export interface PostOrderErpUsersEditResponse { | 7045 | +/** @description response type for postOrderErpProfitAnalysis */ |
7046 | +export interface PostOrderErpProfitAnalysisResponse { | ||
6934 | /** | 7047 | /** |
6935 | * @description | 7048 | * @description |
6936 | * OK | 7049 | * OK |
@@ -6958,25 +7071,25 @@ export interface PostOrderErpUsersEditResponse { | @@ -6958,25 +7071,25 @@ export interface PostOrderErpUsersEditResponse { | ||
6958 | 404: any; | 7071 | 404: any; |
6959 | } | 7072 | } |
6960 | 7073 | ||
6961 | -export type PostOrderErpUsersEditResponseSuccess = | ||
6962 | - PostOrderErpUsersEditResponse[200]; | 7074 | +export type PostOrderErpProfitAnalysisResponseSuccess = |
7075 | + PostOrderErpProfitAnalysisResponse[200]; | ||
6963 | /** | 7076 | /** |
6964 | * @description | 7077 | * @description |
6965 | - * 修改用户 | ||
6966 | - * @tags 系统:用户管理 | 7078 | + * analysis |
7079 | + * @tags order-profit-controller | ||
6967 | * @produces * | 7080 | * @produces * |
6968 | * @consumes application/json | 7081 | * @consumes application/json |
6969 | */ | 7082 | */ |
6970 | -export const postOrderErpUsersEdit = /* #__PURE__ */ (() => { | 7083 | +export const postOrderErpProfitAnalysis = /* #__PURE__ */ (() => { |
6971 | const method = 'post'; | 7084 | const method = 'post'; |
6972 | - const url = '/order/erp/users/edit'; | 7085 | + const url = '/order/erp/profit/analysis'; |
6973 | function request( | 7086 | function request( |
6974 | - option: PostOrderErpUsersEditOption, | ||
6975 | - ): Promise<PostOrderErpUsersEditResponseSuccess> { | 7087 | + option: PostOrderErpProfitAnalysisOption, |
7088 | + ): Promise<PostOrderErpProfitAnalysisResponseSuccess> { | ||
6976 | return requester(request.url, { | 7089 | return requester(request.url, { |
6977 | method: request.method, | 7090 | method: request.method, |
6978 | ...option, | 7091 | ...option, |
6979 | - }) as unknown as Promise<PostOrderErpUsersEditResponseSuccess>; | 7092 | + }) as unknown as Promise<PostOrderErpProfitAnalysisResponseSuccess>; |
6980 | } | 7093 | } |
6981 | 7094 | ||
6982 | /** http method */ | 7095 | /** http method */ |
@@ -6986,22 +7099,22 @@ export const postOrderErpUsersEdit = /* #__PURE__ */ (() => { | @@ -6986,22 +7099,22 @@ export const postOrderErpUsersEdit = /* #__PURE__ */ (() => { | ||
6986 | return request; | 7099 | return request; |
6987 | })(); | 7100 | })(); |
6988 | 7101 | ||
6989 | -/** @description request parameter type for postOrderErpUsersListByPage */ | ||
6990 | -export interface PostOrderErpUsersListByPageOption { | 7102 | +/** @description request parameter type for postOrderErpRolesAdd */ |
7103 | +export interface PostOrderErpRolesAddOption { | ||
6991 | /** | 7104 | /** |
6992 | * @description | 7105 | * @description |
6993 | - * queryVO | 7106 | + * roleVO |
6994 | */ | 7107 | */ |
6995 | body: { | 7108 | body: { |
6996 | /** | 7109 | /** |
6997 | @description | 7110 | @description |
6998 | - queryVO */ | ||
6999 | - queryVO: AdminUserQueryVO; | 7111 | + roleVO */ |
7112 | + roleVO: AdminRoleVO; | ||
7000 | }; | 7113 | }; |
7001 | } | 7114 | } |
7002 | 7115 | ||
7003 | -/** @description response type for postOrderErpUsersListByPage */ | ||
7004 | -export interface PostOrderErpUsersListByPageResponse { | 7116 | +/** @description response type for postOrderErpRolesAdd */ |
7117 | +export interface PostOrderErpRolesAddResponse { | ||
7005 | /** | 7118 | /** |
7006 | * @description | 7119 | * @description |
7007 | * OK | 7120 | * OK |
@@ -7029,25 +7142,25 @@ export interface PostOrderErpUsersListByPageResponse { | @@ -7029,25 +7142,25 @@ export interface PostOrderErpUsersListByPageResponse { | ||
7029 | 404: any; | 7142 | 404: any; |
7030 | } | 7143 | } |
7031 | 7144 | ||
7032 | -export type PostOrderErpUsersListByPageResponseSuccess = | ||
7033 | - PostOrderErpUsersListByPageResponse[200]; | 7145 | +export type PostOrderErpRolesAddResponseSuccess = |
7146 | + PostOrderErpRolesAddResponse[200]; | ||
7034 | /** | 7147 | /** |
7035 | * @description | 7148 | * @description |
7036 | - * 查询用户 | ||
7037 | - * @tags 系统:用户管理 | 7149 | + * 新增角色 |
7150 | + * @tags 系统:角色管理 | ||
7038 | * @produces * | 7151 | * @produces * |
7039 | * @consumes application/json | 7152 | * @consumes application/json |
7040 | */ | 7153 | */ |
7041 | -export const postOrderErpUsersListByPage = /* #__PURE__ */ (() => { | 7154 | +export const postOrderErpRolesAdd = /* #__PURE__ */ (() => { |
7042 | const method = 'post'; | 7155 | const method = 'post'; |
7043 | - const url = '/order/erp/users/list_by_page'; | 7156 | + const url = '/order/erp/roles/add'; |
7044 | function request( | 7157 | function request( |
7045 | - option: PostOrderErpUsersListByPageOption, | ||
7046 | - ): Promise<PostOrderErpUsersListByPageResponseSuccess> { | 7158 | + option: PostOrderErpRolesAddOption, |
7159 | + ): Promise<PostOrderErpRolesAddResponseSuccess> { | ||
7047 | return requester(request.url, { | 7160 | return requester(request.url, { |
7048 | method: request.method, | 7161 | method: request.method, |
7049 | ...option, | 7162 | ...option, |
7050 | - }) as unknown as Promise<PostOrderErpUsersListByPageResponseSuccess>; | 7163 | + }) as unknown as Promise<PostOrderErpRolesAddResponseSuccess>; |
7051 | } | 7164 | } |
7052 | 7165 | ||
7053 | /** http method */ | 7166 | /** http method */ |
@@ -7057,22 +7170,22 @@ export const postOrderErpUsersListByPage = /* #__PURE__ */ (() => { | @@ -7057,22 +7170,22 @@ export const postOrderErpUsersListByPage = /* #__PURE__ */ (() => { | ||
7057 | return request; | 7170 | return request; |
7058 | })(); | 7171 | })(); |
7059 | 7172 | ||
7060 | -/** @description request parameter type for postOrderErpUsersReset */ | ||
7061 | -export interface PostOrderErpUsersResetOption { | 7173 | +/** @description request parameter type for postOrderErpRolesAll */ |
7174 | +export interface PostOrderErpRolesAllOption { | ||
7062 | /** | 7175 | /** |
7063 | * @description | 7176 | * @description |
7064 | - * resetPwdVO | 7177 | + * queryVO |
7065 | */ | 7178 | */ |
7066 | body: { | 7179 | body: { |
7067 | /** | 7180 | /** |
7068 | @description | 7181 | @description |
7069 | - resetPwdVO */ | ||
7070 | - resetPwdVO: ResetPwdVO; | 7182 | + queryVO */ |
7183 | + queryVO: AdminRoleQueryVO; | ||
7071 | }; | 7184 | }; |
7072 | } | 7185 | } |
7073 | 7186 | ||
7074 | -/** @description response type for postOrderErpUsersReset */ | ||
7075 | -export interface PostOrderErpUsersResetResponse { | 7187 | +/** @description response type for postOrderErpRolesAll */ |
7188 | +export interface PostOrderErpRolesAllResponse { | ||
7076 | /** | 7189 | /** |
7077 | * @description | 7190 | * @description |
7078 | * OK | 7191 | * OK |
@@ -7100,25 +7213,25 @@ export interface PostOrderErpUsersResetResponse { | @@ -7100,25 +7213,25 @@ export interface PostOrderErpUsersResetResponse { | ||
7100 | 404: any; | 7213 | 404: any; |
7101 | } | 7214 | } |
7102 | 7215 | ||
7103 | -export type PostOrderErpUsersResetResponseSuccess = | ||
7104 | - PostOrderErpUsersResetResponse[200]; | 7216 | +export type PostOrderErpRolesAllResponseSuccess = |
7217 | + PostOrderErpRolesAllResponse[200]; | ||
7105 | /** | 7218 | /** |
7106 | * @description | 7219 | * @description |
7107 | - * 重置密码 | ||
7108 | - * @tags 系统:用户管理 | 7220 | + * 返回全部的角色 |
7221 | + * @tags 系统:角色管理 | ||
7109 | * @produces * | 7222 | * @produces * |
7110 | * @consumes application/json | 7223 | * @consumes application/json |
7111 | */ | 7224 | */ |
7112 | -export const postOrderErpUsersReset = /* #__PURE__ */ (() => { | 7225 | +export const postOrderErpRolesAll = /* #__PURE__ */ (() => { |
7113 | const method = 'post'; | 7226 | const method = 'post'; |
7114 | - const url = '/order/erp/users/reset'; | 7227 | + const url = '/order/erp/roles/all'; |
7115 | function request( | 7228 | function request( |
7116 | - option: PostOrderErpUsersResetOption, | ||
7117 | - ): Promise<PostOrderErpUsersResetResponseSuccess> { | 7229 | + option: PostOrderErpRolesAllOption, |
7230 | + ): Promise<PostOrderErpRolesAllResponseSuccess> { | ||
7118 | return requester(request.url, { | 7231 | return requester(request.url, { |
7119 | method: request.method, | 7232 | method: request.method, |
7120 | ...option, | 7233 | ...option, |
7121 | - }) as unknown as Promise<PostOrderErpUsersResetResponseSuccess>; | 7234 | + }) as unknown as Promise<PostOrderErpRolesAllResponseSuccess>; |
7122 | } | 7235 | } |
7123 | 7236 | ||
7124 | /** http method */ | 7237 | /** http method */ |
@@ -7128,22 +7241,22 @@ export const postOrderErpUsersReset = /* #__PURE__ */ (() => { | @@ -7128,22 +7241,22 @@ export const postOrderErpUsersReset = /* #__PURE__ */ (() => { | ||
7128 | return request; | 7241 | return request; |
7129 | })(); | 7242 | })(); |
7130 | 7243 | ||
7131 | -/** @description request parameter type for postOrderErpUsersUpdatePass */ | ||
7132 | -export interface PostOrderErpUsersUpdatePassOption { | 7244 | +/** @description request parameter type for postOrderErpRolesAuthMenu */ |
7245 | +export interface PostOrderErpRolesAuthMenuOption { | ||
7133 | /** | 7246 | /** |
7134 | * @description | 7247 | * @description |
7135 | - * pwdVO | 7248 | + * roleVO |
7136 | */ | 7249 | */ |
7137 | body: { | 7250 | body: { |
7138 | /** | 7251 | /** |
7139 | @description | 7252 | @description |
7140 | - pwdVO */ | ||
7141 | - pwdVO: UpdatePwdVO; | 7253 | + roleVO */ |
7254 | + roleVO: AdminAuthRoleVO; | ||
7142 | }; | 7255 | }; |
7143 | } | 7256 | } |
7144 | 7257 | ||
7145 | -/** @description response type for postOrderErpUsersUpdatePass */ | ||
7146 | -export interface PostOrderErpUsersUpdatePassResponse { | 7258 | +/** @description response type for postOrderErpRolesAuthMenu */ |
7259 | +export interface PostOrderErpRolesAuthMenuResponse { | ||
7147 | /** | 7260 | /** |
7148 | * @description | 7261 | * @description |
7149 | * OK | 7262 | * OK |
@@ -7171,25 +7284,25 @@ export interface PostOrderErpUsersUpdatePassResponse { | @@ -7171,25 +7284,25 @@ export interface PostOrderErpUsersUpdatePassResponse { | ||
7171 | 404: any; | 7284 | 404: any; |
7172 | } | 7285 | } |
7173 | 7286 | ||
7174 | -export type PostOrderErpUsersUpdatePassResponseSuccess = | ||
7175 | - PostOrderErpUsersUpdatePassResponse[200]; | 7287 | +export type PostOrderErpRolesAuthMenuResponseSuccess = |
7288 | + PostOrderErpRolesAuthMenuResponse[200]; | ||
7176 | /** | 7289 | /** |
7177 | * @description | 7290 | * @description |
7178 | - * 修改密码 | ||
7179 | - * @tags 系统:用户管理 | 7291 | + * 授权角色菜单 |
7292 | + * @tags 系统:角色管理 | ||
7180 | * @produces * | 7293 | * @produces * |
7181 | * @consumes application/json | 7294 | * @consumes application/json |
7182 | */ | 7295 | */ |
7183 | -export const postOrderErpUsersUpdatePass = /* #__PURE__ */ (() => { | 7296 | +export const postOrderErpRolesAuthMenu = /* #__PURE__ */ (() => { |
7184 | const method = 'post'; | 7297 | const method = 'post'; |
7185 | - const url = '/order/erp/users/update_pass'; | 7298 | + const url = '/order/erp/roles/auth_menu'; |
7186 | function request( | 7299 | function request( |
7187 | - option: PostOrderErpUsersUpdatePassOption, | ||
7188 | - ): Promise<PostOrderErpUsersUpdatePassResponseSuccess> { | 7300 | + option: PostOrderErpRolesAuthMenuOption, |
7301 | + ): Promise<PostOrderErpRolesAuthMenuResponseSuccess> { | ||
7189 | return requester(request.url, { | 7302 | return requester(request.url, { |
7190 | method: request.method, | 7303 | method: request.method, |
7191 | ...option, | 7304 | ...option, |
7192 | - }) as unknown as Promise<PostOrderErpUsersUpdatePassResponseSuccess>; | 7305 | + }) as unknown as Promise<PostOrderErpRolesAuthMenuResponseSuccess>; |
7193 | } | 7306 | } |
7194 | 7307 | ||
7195 | /** http method */ | 7308 | /** http method */ |
@@ -7199,22 +7312,22 @@ export const postOrderErpUsersUpdatePass = /* #__PURE__ */ (() => { | @@ -7199,22 +7312,22 @@ export const postOrderErpUsersUpdatePass = /* #__PURE__ */ (() => { | ||
7199 | return request; | 7312 | return request; |
7200 | })(); | 7313 | })(); |
7201 | 7314 | ||
7202 | -/** @description request parameter type for postOrderImportImportInvoiceProject */ | ||
7203 | -export interface PostOrderImportImportInvoiceProjectOption { | 7315 | +/** @description request parameter type for postOrderErpRolesDelete */ |
7316 | +export interface PostOrderErpRolesDeleteOption { | ||
7204 | /** | 7317 | /** |
7205 | * @description | 7318 | * @description |
7206 | - * file | 7319 | + * queryVO |
7207 | */ | 7320 | */ |
7208 | - formData: { | 7321 | + body: { |
7209 | /** | 7322 | /** |
7210 | @description | 7323 | @description |
7211 | - file */ | ||
7212 | - file: File; | 7324 | + queryVO */ |
7325 | + queryVO: AdminRoleQueryVO; | ||
7213 | }; | 7326 | }; |
7214 | } | 7327 | } |
7215 | 7328 | ||
7216 | -/** @description response type for postOrderImportImportInvoiceProject */ | ||
7217 | -export interface PostOrderImportImportInvoiceProjectResponse { | 7329 | +/** @description response type for postOrderErpRolesDelete */ |
7330 | +export interface PostOrderErpRolesDeleteResponse { | ||
7218 | /** | 7331 | /** |
7219 | * @description | 7332 | * @description |
7220 | * OK | 7333 | * OK |
@@ -7242,25 +7355,25 @@ export interface PostOrderImportImportInvoiceProjectResponse { | @@ -7242,25 +7355,25 @@ export interface PostOrderImportImportInvoiceProjectResponse { | ||
7242 | 404: any; | 7355 | 404: any; |
7243 | } | 7356 | } |
7244 | 7357 | ||
7245 | -export type PostOrderImportImportInvoiceProjectResponseSuccess = | ||
7246 | - PostOrderImportImportInvoiceProjectResponse[200]; | 7358 | +export type PostOrderErpRolesDeleteResponseSuccess = |
7359 | + PostOrderErpRolesDeleteResponse[200]; | ||
7247 | /** | 7360 | /** |
7248 | * @description | 7361 | * @description |
7249 | - * 导入发票项目 | ||
7250 | - * @tags 导入 | 7362 | + * 删除角色 |
7363 | + * @tags 系统:角色管理 | ||
7251 | * @produces * | 7364 | * @produces * |
7252 | - * @consumes multipart/form-data | 7365 | + * @consumes application/json |
7253 | */ | 7366 | */ |
7254 | -export const postOrderImportImportInvoiceProject = /* #__PURE__ */ (() => { | 7367 | +export const postOrderErpRolesDelete = /* #__PURE__ */ (() => { |
7255 | const method = 'post'; | 7368 | const method = 'post'; |
7256 | - const url = '/order/import/importInvoiceProject'; | 7369 | + const url = '/order/erp/roles/delete'; |
7257 | function request( | 7370 | function request( |
7258 | - option: PostOrderImportImportInvoiceProjectOption, | ||
7259 | - ): Promise<PostOrderImportImportInvoiceProjectResponseSuccess> { | 7371 | + option: PostOrderErpRolesDeleteOption, |
7372 | + ): Promise<PostOrderErpRolesDeleteResponseSuccess> { | ||
7260 | return requester(request.url, { | 7373 | return requester(request.url, { |
7261 | method: request.method, | 7374 | method: request.method, |
7262 | ...option, | 7375 | ...option, |
7263 | - }) as unknown as Promise<PostOrderImportImportInvoiceProjectResponseSuccess>; | 7376 | + }) as unknown as Promise<PostOrderErpRolesDeleteResponseSuccess>; |
7264 | } | 7377 | } |
7265 | 7378 | ||
7266 | /** http method */ | 7379 | /** http method */ |
@@ -7270,22 +7383,22 @@ export const postOrderImportImportInvoiceProject = /* #__PURE__ */ (() => { | @@ -7270,22 +7383,22 @@ export const postOrderImportImportInvoiceProject = /* #__PURE__ */ (() => { | ||
7270 | return request; | 7383 | return request; |
7271 | })(); | 7384 | })(); |
7272 | 7385 | ||
7273 | -/** @description request parameter type for postOrderImportImportWeightAndVolume */ | ||
7274 | -export interface PostOrderImportImportWeightAndVolumeOption { | 7386 | +/** @description request parameter type for postOrderErpRolesDetail */ |
7387 | +export interface PostOrderErpRolesDetailOption { | ||
7275 | /** | 7388 | /** |
7276 | * @description | 7389 | * @description |
7277 | - * file | 7390 | + * queryVO |
7278 | */ | 7391 | */ |
7279 | - formData: { | 7392 | + body: { |
7280 | /** | 7393 | /** |
7281 | @description | 7394 | @description |
7282 | - file */ | ||
7283 | - file: File; | 7395 | + queryVO */ |
7396 | + queryVO: AdminRoleQueryVO; | ||
7284 | }; | 7397 | }; |
7285 | } | 7398 | } |
7286 | 7399 | ||
7287 | -/** @description response type for postOrderImportImportWeightAndVolume */ | ||
7288 | -export interface PostOrderImportImportWeightAndVolumeResponse { | 7400 | +/** @description response type for postOrderErpRolesDetail */ |
7401 | +export interface PostOrderErpRolesDetailResponse { | ||
7289 | /** | 7402 | /** |
7290 | * @description | 7403 | * @description |
7291 | * OK | 7404 | * OK |
@@ -7313,25 +7426,25 @@ export interface PostOrderImportImportWeightAndVolumeResponse { | @@ -7313,25 +7426,25 @@ export interface PostOrderImportImportWeightAndVolumeResponse { | ||
7313 | 404: any; | 7426 | 404: any; |
7314 | } | 7427 | } |
7315 | 7428 | ||
7316 | -export type PostOrderImportImportWeightAndVolumeResponseSuccess = | ||
7317 | - PostOrderImportImportWeightAndVolumeResponse[200]; | 7429 | +export type PostOrderErpRolesDetailResponseSuccess = |
7430 | + PostOrderErpRolesDetailResponse[200]; | ||
7318 | /** | 7431 | /** |
7319 | * @description | 7432 | * @description |
7320 | - * 导入重量和体积 | ||
7321 | - * @tags 导入 | 7433 | + * 获取单个role |
7434 | + * @tags 系统:角色管理 | ||
7322 | * @produces * | 7435 | * @produces * |
7323 | - * @consumes multipart/form-data | 7436 | + * @consumes application/json |
7324 | */ | 7437 | */ |
7325 | -export const postOrderImportImportWeightAndVolume = /* #__PURE__ */ (() => { | 7438 | +export const postOrderErpRolesDetail = /* #__PURE__ */ (() => { |
7326 | const method = 'post'; | 7439 | const method = 'post'; |
7327 | - const url = '/order/import/importWeightAndVolume'; | 7440 | + const url = '/order/erp/roles/detail'; |
7328 | function request( | 7441 | function request( |
7329 | - option: PostOrderImportImportWeightAndVolumeOption, | ||
7330 | - ): Promise<PostOrderImportImportWeightAndVolumeResponseSuccess> { | 7442 | + option: PostOrderErpRolesDetailOption, |
7443 | + ): Promise<PostOrderErpRolesDetailResponseSuccess> { | ||
7331 | return requester(request.url, { | 7444 | return requester(request.url, { |
7332 | method: request.method, | 7445 | method: request.method, |
7333 | ...option, | 7446 | ...option, |
7334 | - }) as unknown as Promise<PostOrderImportImportWeightAndVolumeResponseSuccess>; | 7447 | + }) as unknown as Promise<PostOrderErpRolesDetailResponseSuccess>; |
7335 | } | 7448 | } |
7336 | 7449 | ||
7337 | /** http method */ | 7450 | /** http method */ |
@@ -7341,22 +7454,22 @@ export const postOrderImportImportWeightAndVolume = /* #__PURE__ */ (() => { | @@ -7341,22 +7454,22 @@ export const postOrderImportImportWeightAndVolume = /* #__PURE__ */ (() => { | ||
7341 | return request; | 7454 | return request; |
7342 | })(); | 7455 | })(); |
7343 | 7456 | ||
7344 | -/** @description request parameter type for postPrepaidAudit */ | ||
7345 | -export interface PostPrepaidAuditOption { | 7457 | +/** @description request parameter type for postOrderErpRolesEdit */ |
7458 | +export interface PostOrderErpRolesEditOption { | ||
7346 | /** | 7459 | /** |
7347 | * @description | 7460 | * @description |
7348 | - * request | 7461 | + * roleVO |
7349 | */ | 7462 | */ |
7350 | body: { | 7463 | body: { |
7351 | /** | 7464 | /** |
7352 | @description | 7465 | @description |
7353 | - request */ | ||
7354 | - request: SalesRechargePrepaymentAuditRequest; | 7466 | + roleVO */ |
7467 | + roleVO: AdminRoleVO; | ||
7355 | }; | 7468 | }; |
7356 | } | 7469 | } |
7357 | 7470 | ||
7358 | -/** @description response type for postPrepaidAudit */ | ||
7359 | -export interface PostPrepaidAuditResponse { | 7471 | +/** @description response type for postOrderErpRolesEdit */ |
7472 | +export interface PostOrderErpRolesEditResponse { | ||
7360 | /** | 7473 | /** |
7361 | * @description | 7474 | * @description |
7362 | * OK | 7475 | * OK |
@@ -7384,24 +7497,25 @@ export interface PostPrepaidAuditResponse { | @@ -7384,24 +7497,25 @@ export interface PostPrepaidAuditResponse { | ||
7384 | 404: any; | 7497 | 404: any; |
7385 | } | 7498 | } |
7386 | 7499 | ||
7387 | -export type PostPrepaidAuditResponseSuccess = PostPrepaidAuditResponse[200]; | 7500 | +export type PostOrderErpRolesEditResponseSuccess = |
7501 | + PostOrderErpRolesEditResponse[200]; | ||
7388 | /** | 7502 | /** |
7389 | * @description | 7503 | * @description |
7390 | - * 财务审核 | ||
7391 | - * @tags prepaid-controller | 7504 | + * 修改角色 |
7505 | + * @tags 系统:角色管理 | ||
7392 | * @produces * | 7506 | * @produces * |
7393 | * @consumes application/json | 7507 | * @consumes application/json |
7394 | */ | 7508 | */ |
7395 | -export const postPrepaidAudit = /* #__PURE__ */ (() => { | 7509 | +export const postOrderErpRolesEdit = /* #__PURE__ */ (() => { |
7396 | const method = 'post'; | 7510 | const method = 'post'; |
7397 | - const url = '/prepaid/audit'; | 7511 | + const url = '/order/erp/roles/edit'; |
7398 | function request( | 7512 | function request( |
7399 | - option: PostPrepaidAuditOption, | ||
7400 | - ): Promise<PostPrepaidAuditResponseSuccess> { | 7513 | + option: PostOrderErpRolesEditOption, |
7514 | + ): Promise<PostOrderErpRolesEditResponseSuccess> { | ||
7401 | return requester(request.url, { | 7515 | return requester(request.url, { |
7402 | method: request.method, | 7516 | method: request.method, |
7403 | ...option, | 7517 | ...option, |
7404 | - }) as unknown as Promise<PostPrepaidAuditResponseSuccess>; | 7518 | + }) as unknown as Promise<PostOrderErpRolesEditResponseSuccess>; |
7405 | } | 7519 | } |
7406 | 7520 | ||
7407 | /** http method */ | 7521 | /** http method */ |
@@ -7411,22 +7525,22 @@ export const postPrepaidAudit = /* #__PURE__ */ (() => { | @@ -7411,22 +7525,22 @@ export const postPrepaidAudit = /* #__PURE__ */ (() => { | ||
7411 | return request; | 7525 | return request; |
7412 | })(); | 7526 | })(); |
7413 | 7527 | ||
7414 | -/** @description request parameter type for postPrepaidCreate */ | ||
7415 | -export interface PostPrepaidCreateOption { | 7528 | +/** @description request parameter type for postOrderErpRolesListByPage */ |
7529 | +export interface PostOrderErpRolesListByPageOption { | ||
7416 | /** | 7530 | /** |
7417 | * @description | 7531 | * @description |
7418 | - * request | 7532 | + * queryVO |
7419 | */ | 7533 | */ |
7420 | body: { | 7534 | body: { |
7421 | /** | 7535 | /** |
7422 | @description | 7536 | @description |
7423 | - request */ | ||
7424 | - request: SalesRechargePrepaymentCreateRequest; | 7537 | + queryVO */ |
7538 | + queryVO: AdminRoleQueryVO; | ||
7425 | }; | 7539 | }; |
7426 | } | 7540 | } |
7427 | 7541 | ||
7428 | -/** @description response type for postPrepaidCreate */ | ||
7429 | -export interface PostPrepaidCreateResponse { | 7542 | +/** @description response type for postOrderErpRolesListByPage */ |
7543 | +export interface PostOrderErpRolesListByPageResponse { | ||
7430 | /** | 7544 | /** |
7431 | * @description | 7545 | * @description |
7432 | * OK | 7546 | * OK |
@@ -7454,24 +7568,25 @@ export interface PostPrepaidCreateResponse { | @@ -7454,24 +7568,25 @@ export interface PostPrepaidCreateResponse { | ||
7454 | 404: any; | 7568 | 404: any; |
7455 | } | 7569 | } |
7456 | 7570 | ||
7457 | -export type PostPrepaidCreateResponseSuccess = PostPrepaidCreateResponse[200]; | 7571 | +export type PostOrderErpRolesListByPageResponseSuccess = |
7572 | + PostOrderErpRolesListByPageResponse[200]; | ||
7458 | /** | 7573 | /** |
7459 | * @description | 7574 | * @description |
7460 | - * 新增预存 | ||
7461 | - * @tags prepaid-controller | 7575 | + * 查询角色 |
7576 | + * @tags 系统:角色管理 | ||
7462 | * @produces * | 7577 | * @produces * |
7463 | * @consumes application/json | 7578 | * @consumes application/json |
7464 | */ | 7579 | */ |
7465 | -export const postPrepaidCreate = /* #__PURE__ */ (() => { | 7580 | +export const postOrderErpRolesListByPage = /* #__PURE__ */ (() => { |
7466 | const method = 'post'; | 7581 | const method = 'post'; |
7467 | - const url = '/prepaid/create'; | 7582 | + const url = '/order/erp/roles/list_by_page'; |
7468 | function request( | 7583 | function request( |
7469 | - option: PostPrepaidCreateOption, | ||
7470 | - ): Promise<PostPrepaidCreateResponseSuccess> { | 7584 | + option: PostOrderErpRolesListByPageOption, |
7585 | + ): Promise<PostOrderErpRolesListByPageResponseSuccess> { | ||
7471 | return requester(request.url, { | 7586 | return requester(request.url, { |
7472 | method: request.method, | 7587 | method: request.method, |
7473 | ...option, | 7588 | ...option, |
7474 | - }) as unknown as Promise<PostPrepaidCreateResponseSuccess>; | 7589 | + }) as unknown as Promise<PostOrderErpRolesListByPageResponseSuccess>; |
7475 | } | 7590 | } |
7476 | 7591 | ||
7477 | /** http method */ | 7592 | /** http method */ |
@@ -7481,22 +7596,22 @@ export const postPrepaidCreate = /* #__PURE__ */ (() => { | @@ -7481,22 +7596,22 @@ export const postPrepaidCreate = /* #__PURE__ */ (() => { | ||
7481 | return request; | 7596 | return request; |
7482 | })(); | 7597 | })(); |
7483 | 7598 | ||
7484 | -/** @description request parameter type for postPrepaidDelete */ | ||
7485 | -export interface PostPrepaidDeleteOption { | 7599 | +/** @description request parameter type for postOrderErpUsersAdd */ |
7600 | +export interface PostOrderErpUsersAddOption { | ||
7486 | /** | 7601 | /** |
7487 | * @description | 7602 | * @description |
7488 | - * request | 7603 | + * userVO |
7489 | */ | 7604 | */ |
7490 | body: { | 7605 | body: { |
7491 | /** | 7606 | /** |
7492 | @description | 7607 | @description |
7493 | - request */ | ||
7494 | - request: SalesRechargePrepaymentDeleteRequest; | 7608 | + userVO */ |
7609 | + userVO: AdminUserVO; | ||
7495 | }; | 7610 | }; |
7496 | } | 7611 | } |
7497 | 7612 | ||
7498 | -/** @description response type for postPrepaidDelete */ | ||
7499 | -export interface PostPrepaidDeleteResponse { | 7613 | +/** @description response type for postOrderErpUsersAdd */ |
7614 | +export interface PostOrderErpUsersAddResponse { | ||
7500 | /** | 7615 | /** |
7501 | * @description | 7616 | * @description |
7502 | * OK | 7617 | * OK |
@@ -7524,24 +7639,25 @@ export interface PostPrepaidDeleteResponse { | @@ -7524,24 +7639,25 @@ export interface PostPrepaidDeleteResponse { | ||
7524 | 404: any; | 7639 | 404: any; |
7525 | } | 7640 | } |
7526 | 7641 | ||
7527 | -export type PostPrepaidDeleteResponseSuccess = PostPrepaidDeleteResponse[200]; | 7642 | +export type PostOrderErpUsersAddResponseSuccess = |
7643 | + PostOrderErpUsersAddResponse[200]; | ||
7528 | /** | 7644 | /** |
7529 | * @description | 7645 | * @description |
7530 | - * 删除预存 | ||
7531 | - * @tags prepaid-controller | 7646 | + * 新增用户 |
7647 | + * @tags 系统:用户管理 | ||
7532 | * @produces * | 7648 | * @produces * |
7533 | * @consumes application/json | 7649 | * @consumes application/json |
7534 | */ | 7650 | */ |
7535 | -export const postPrepaidDelete = /* #__PURE__ */ (() => { | 7651 | +export const postOrderErpUsersAdd = /* #__PURE__ */ (() => { |
7536 | const method = 'post'; | 7652 | const method = 'post'; |
7537 | - const url = '/prepaid/delete'; | 7653 | + const url = '/order/erp/users/add'; |
7538 | function request( | 7654 | function request( |
7539 | - option: PostPrepaidDeleteOption, | ||
7540 | - ): Promise<PostPrepaidDeleteResponseSuccess> { | 7655 | + option: PostOrderErpUsersAddOption, |
7656 | + ): Promise<PostOrderErpUsersAddResponseSuccess> { | ||
7541 | return requester(request.url, { | 7657 | return requester(request.url, { |
7542 | method: request.method, | 7658 | method: request.method, |
7543 | ...option, | 7659 | ...option, |
7544 | - }) as unknown as Promise<PostPrepaidDeleteResponseSuccess>; | 7660 | + }) as unknown as Promise<PostOrderErpUsersAddResponseSuccess>; |
7545 | } | 7661 | } |
7546 | 7662 | ||
7547 | /** http method */ | 7663 | /** http method */ |
@@ -7551,22 +7667,22 @@ export const postPrepaidDelete = /* #__PURE__ */ (() => { | @@ -7551,22 +7667,22 @@ export const postPrepaidDelete = /* #__PURE__ */ (() => { | ||
7551 | return request; | 7667 | return request; |
7552 | })(); | 7668 | })(); |
7553 | 7669 | ||
7554 | -/** @description request parameter type for postPrepaidList */ | ||
7555 | -export interface PostPrepaidListOption { | 7670 | +/** @description request parameter type for postOrderErpUsersAuthRole */ |
7671 | +export interface PostOrderErpUsersAuthRoleOption { | ||
7556 | /** | 7672 | /** |
7557 | * @description | 7673 | * @description |
7558 | - * request | 7674 | + * userVO |
7559 | */ | 7675 | */ |
7560 | body: { | 7676 | body: { |
7561 | /** | 7677 | /** |
7562 | @description | 7678 | @description |
7563 | - request */ | ||
7564 | - request: SalesRechargePrepaymentRequest; | 7679 | + userVO */ |
7680 | + userVO: AdminAuthUserVO; | ||
7565 | }; | 7681 | }; |
7566 | } | 7682 | } |
7567 | 7683 | ||
7568 | -/** @description response type for postPrepaidList */ | ||
7569 | -export interface PostPrepaidListResponse { | 7684 | +/** @description response type for postOrderErpUsersAuthRole */ |
7685 | +export interface PostOrderErpUsersAuthRoleResponse { | ||
7570 | /** | 7686 | /** |
7571 | * @description | 7687 | * @description |
7572 | * OK | 7688 | * OK |
@@ -7594,24 +7710,25 @@ export interface PostPrepaidListResponse { | @@ -7594,24 +7710,25 @@ export interface PostPrepaidListResponse { | ||
7594 | 404: any; | 7710 | 404: any; |
7595 | } | 7711 | } |
7596 | 7712 | ||
7597 | -export type PostPrepaidListResponseSuccess = PostPrepaidListResponse[200]; | 7713 | +export type PostOrderErpUsersAuthRoleResponseSuccess = |
7714 | + PostOrderErpUsersAuthRoleResponse[200]; | ||
7598 | /** | 7715 | /** |
7599 | * @description | 7716 | * @description |
7600 | - * 查询列表 | ||
7601 | - * @tags prepaid-controller | 7717 | + * 授权角色 |
7718 | + * @tags 系统:用户管理 | ||
7602 | * @produces * | 7719 | * @produces * |
7603 | * @consumes application/json | 7720 | * @consumes application/json |
7604 | */ | 7721 | */ |
7605 | -export const postPrepaidList = /* #__PURE__ */ (() => { | 7722 | +export const postOrderErpUsersAuthRole = /* #__PURE__ */ (() => { |
7606 | const method = 'post'; | 7723 | const method = 'post'; |
7607 | - const url = '/prepaid/list'; | 7724 | + const url = '/order/erp/users/auth_role'; |
7608 | function request( | 7725 | function request( |
7609 | - option: PostPrepaidListOption, | ||
7610 | - ): Promise<PostPrepaidListResponseSuccess> { | 7726 | + option: PostOrderErpUsersAuthRoleOption, |
7727 | + ): Promise<PostOrderErpUsersAuthRoleResponseSuccess> { | ||
7611 | return requester(request.url, { | 7728 | return requester(request.url, { |
7612 | method: request.method, | 7729 | method: request.method, |
7613 | ...option, | 7730 | ...option, |
7614 | - }) as unknown as Promise<PostPrepaidListResponseSuccess>; | 7731 | + }) as unknown as Promise<PostOrderErpUsersAuthRoleResponseSuccess>; |
7615 | } | 7732 | } |
7616 | 7733 | ||
7617 | /** http method */ | 7734 | /** http method */ |
@@ -7621,22 +7738,22 @@ export const postPrepaidList = /* #__PURE__ */ (() => { | @@ -7621,22 +7738,22 @@ export const postPrepaidList = /* #__PURE__ */ (() => { | ||
7621 | return request; | 7738 | return request; |
7622 | })(); | 7739 | })(); |
7623 | 7740 | ||
7624 | -/** @description request parameter type for postPrepaidUpdate */ | ||
7625 | -export interface PostPrepaidUpdateOption { | 7741 | +/** @description request parameter type for postOrderErpUsersDelete */ |
7742 | +export interface PostOrderErpUsersDeleteOption { | ||
7626 | /** | 7743 | /** |
7627 | * @description | 7744 | * @description |
7628 | - * request | 7745 | + * queryVO |
7629 | */ | 7746 | */ |
7630 | body: { | 7747 | body: { |
7631 | /** | 7748 | /** |
7632 | @description | 7749 | @description |
7633 | - request */ | ||
7634 | - request: SalesRechargePrepaymentUpdateRequest; | 7750 | + queryVO */ |
7751 | + queryVO: AdminUserQueryVO; | ||
7635 | }; | 7752 | }; |
7636 | } | 7753 | } |
7637 | 7754 | ||
7638 | -/** @description response type for postPrepaidUpdate */ | ||
7639 | -export interface PostPrepaidUpdateResponse { | 7755 | +/** @description response type for postOrderErpUsersDelete */ |
7756 | +export interface PostOrderErpUsersDeleteResponse { | ||
7640 | /** | 7757 | /** |
7641 | * @description | 7758 | * @description |
7642 | * OK | 7759 | * OK |
@@ -7664,24 +7781,25 @@ export interface PostPrepaidUpdateResponse { | @@ -7664,24 +7781,25 @@ export interface PostPrepaidUpdateResponse { | ||
7664 | 404: any; | 7781 | 404: any; |
7665 | } | 7782 | } |
7666 | 7783 | ||
7667 | -export type PostPrepaidUpdateResponseSuccess = PostPrepaidUpdateResponse[200]; | 7784 | +export type PostOrderErpUsersDeleteResponseSuccess = |
7785 | + PostOrderErpUsersDeleteResponse[200]; | ||
7668 | /** | 7786 | /** |
7669 | * @description | 7787 | * @description |
7670 | - * 修改预存 | ||
7671 | - * @tags prepaid-controller | 7788 | + * 删除用户 |
7789 | + * @tags 系统:用户管理 | ||
7672 | * @produces * | 7790 | * @produces * |
7673 | * @consumes application/json | 7791 | * @consumes application/json |
7674 | */ | 7792 | */ |
7675 | -export const postPrepaidUpdate = /* #__PURE__ */ (() => { | 7793 | +export const postOrderErpUsersDelete = /* #__PURE__ */ (() => { |
7676 | const method = 'post'; | 7794 | const method = 'post'; |
7677 | - const url = '/prepaid/update'; | 7795 | + const url = '/order/erp/users/delete'; |
7678 | function request( | 7796 | function request( |
7679 | - option: PostPrepaidUpdateOption, | ||
7680 | - ): Promise<PostPrepaidUpdateResponseSuccess> { | 7797 | + option: PostOrderErpUsersDeleteOption, |
7798 | + ): Promise<PostOrderErpUsersDeleteResponseSuccess> { | ||
7681 | return requester(request.url, { | 7799 | return requester(request.url, { |
7682 | method: request.method, | 7800 | method: request.method, |
7683 | ...option, | 7801 | ...option, |
7684 | - }) as unknown as Promise<PostPrepaidUpdateResponseSuccess>; | 7802 | + }) as unknown as Promise<PostOrderErpUsersDeleteResponseSuccess>; |
7685 | } | 7803 | } |
7686 | 7804 | ||
7687 | /** http method */ | 7805 | /** http method */ |
@@ -7691,22 +7809,22 @@ export const postPrepaidUpdate = /* #__PURE__ */ (() => { | @@ -7691,22 +7809,22 @@ export const postPrepaidUpdate = /* #__PURE__ */ (() => { | ||
7691 | return request; | 7809 | return request; |
7692 | })(); | 7810 | })(); |
7693 | 7811 | ||
7694 | -/** @description request parameter type for postResearchGroupsAdd */ | ||
7695 | -export interface PostResearchGroupsAddOption { | 7812 | +/** @description request parameter type for postOrderErpUsersEdit */ |
7813 | +export interface PostOrderErpUsersEditOption { | ||
7696 | /** | 7814 | /** |
7697 | * @description | 7815 | * @description |
7698 | - * request | 7816 | + * userVO |
7699 | */ | 7817 | */ |
7700 | body: { | 7818 | body: { |
7701 | /** | 7819 | /** |
7702 | @description | 7820 | @description |
7703 | - request */ | ||
7704 | - request: ResearchGroupAddRequest; | 7821 | + userVO */ |
7822 | + userVO: AdminUserVO; | ||
7705 | }; | 7823 | }; |
7706 | } | 7824 | } |
7707 | 7825 | ||
7708 | -/** @description response type for postResearchGroupsAdd */ | ||
7709 | -export interface PostResearchGroupsAddResponse { | 7826 | +/** @description response type for postOrderErpUsersEdit */ |
7827 | +export interface PostOrderErpUsersEditResponse { | ||
7710 | /** | 7828 | /** |
7711 | * @description | 7829 | * @description |
7712 | * OK | 7830 | * OK |
@@ -7734,25 +7852,25 @@ export interface PostResearchGroupsAddResponse { | @@ -7734,25 +7852,25 @@ export interface PostResearchGroupsAddResponse { | ||
7734 | 404: any; | 7852 | 404: any; |
7735 | } | 7853 | } |
7736 | 7854 | ||
7737 | -export type PostResearchGroupsAddResponseSuccess = | ||
7738 | - PostResearchGroupsAddResponse[200]; | 7855 | +export type PostOrderErpUsersEditResponseSuccess = |
7856 | + PostOrderErpUsersEditResponse[200]; | ||
7739 | /** | 7857 | /** |
7740 | * @description | 7858 | * @description |
7741 | - * 新增课题组信息 | ||
7742 | - * @tags research-groups-controller | 7859 | + * 修改用户 |
7860 | + * @tags 系统:用户管理 | ||
7743 | * @produces * | 7861 | * @produces * |
7744 | * @consumes application/json | 7862 | * @consumes application/json |
7745 | */ | 7863 | */ |
7746 | -export const postResearchGroupsAdd = /* #__PURE__ */ (() => { | 7864 | +export const postOrderErpUsersEdit = /* #__PURE__ */ (() => { |
7747 | const method = 'post'; | 7865 | const method = 'post'; |
7748 | - const url = '/research/groups/add'; | 7866 | + const url = '/order/erp/users/edit'; |
7749 | function request( | 7867 | function request( |
7750 | - option: PostResearchGroupsAddOption, | ||
7751 | - ): Promise<PostResearchGroupsAddResponseSuccess> { | 7868 | + option: PostOrderErpUsersEditOption, |
7869 | + ): Promise<PostOrderErpUsersEditResponseSuccess> { | ||
7752 | return requester(request.url, { | 7870 | return requester(request.url, { |
7753 | method: request.method, | 7871 | method: request.method, |
7754 | ...option, | 7872 | ...option, |
7755 | - }) as unknown as Promise<PostResearchGroupsAddResponseSuccess>; | 7873 | + }) as unknown as Promise<PostOrderErpUsersEditResponseSuccess>; |
7756 | } | 7874 | } |
7757 | 7875 | ||
7758 | /** http method */ | 7876 | /** http method */ |
@@ -7762,22 +7880,22 @@ export const postResearchGroupsAdd = /* #__PURE__ */ (() => { | @@ -7762,22 +7880,22 @@ export const postResearchGroupsAdd = /* #__PURE__ */ (() => { | ||
7762 | return request; | 7880 | return request; |
7763 | })(); | 7881 | })(); |
7764 | 7882 | ||
7765 | -/** @description request parameter type for postResearchGroupsDelete */ | ||
7766 | -export interface PostResearchGroupsDeleteOption { | 7883 | +/** @description request parameter type for postOrderErpUsersListByPage */ |
7884 | +export interface PostOrderErpUsersListByPageOption { | ||
7767 | /** | 7885 | /** |
7768 | * @description | 7886 | * @description |
7769 | - * request | 7887 | + * queryVO |
7770 | */ | 7888 | */ |
7771 | body: { | 7889 | body: { |
7772 | /** | 7890 | /** |
7773 | @description | 7891 | @description |
7774 | - request */ | ||
7775 | - request: ResearchGroupDeleteRequest; | 7892 | + queryVO */ |
7893 | + queryVO: AdminUserQueryVO; | ||
7776 | }; | 7894 | }; |
7777 | } | 7895 | } |
7778 | 7896 | ||
7779 | -/** @description response type for postResearchGroupsDelete */ | ||
7780 | -export interface PostResearchGroupsDeleteResponse { | 7897 | +/** @description response type for postOrderErpUsersListByPage */ |
7898 | +export interface PostOrderErpUsersListByPageResponse { | ||
7781 | /** | 7899 | /** |
7782 | * @description | 7900 | * @description |
7783 | * OK | 7901 | * OK |
@@ -7805,25 +7923,25 @@ export interface PostResearchGroupsDeleteResponse { | @@ -7805,25 +7923,25 @@ export interface PostResearchGroupsDeleteResponse { | ||
7805 | 404: any; | 7923 | 404: any; |
7806 | } | 7924 | } |
7807 | 7925 | ||
7808 | -export type PostResearchGroupsDeleteResponseSuccess = | ||
7809 | - PostResearchGroupsDeleteResponse[200]; | 7926 | +export type PostOrderErpUsersListByPageResponseSuccess = |
7927 | + PostOrderErpUsersListByPageResponse[200]; | ||
7810 | /** | 7928 | /** |
7811 | * @description | 7929 | * @description |
7812 | - * 删除课题组信息 | ||
7813 | - * @tags research-groups-controller | 7930 | + * 查询用户 |
7931 | + * @tags 系统:用户管理 | ||
7814 | * @produces * | 7932 | * @produces * |
7815 | * @consumes application/json | 7933 | * @consumes application/json |
7816 | */ | 7934 | */ |
7817 | -export const postResearchGroupsDelete = /* #__PURE__ */ (() => { | 7935 | +export const postOrderErpUsersListByPage = /* #__PURE__ */ (() => { |
7818 | const method = 'post'; | 7936 | const method = 'post'; |
7819 | - const url = '/research/groups/delete'; | 7937 | + const url = '/order/erp/users/list_by_page'; |
7820 | function request( | 7938 | function request( |
7821 | - option: PostResearchGroupsDeleteOption, | ||
7822 | - ): Promise<PostResearchGroupsDeleteResponseSuccess> { | 7939 | + option: PostOrderErpUsersListByPageOption, |
7940 | + ): Promise<PostOrderErpUsersListByPageResponseSuccess> { | ||
7823 | return requester(request.url, { | 7941 | return requester(request.url, { |
7824 | method: request.method, | 7942 | method: request.method, |
7825 | ...option, | 7943 | ...option, |
7826 | - }) as unknown as Promise<PostResearchGroupsDeleteResponseSuccess>; | 7944 | + }) as unknown as Promise<PostOrderErpUsersListByPageResponseSuccess>; |
7827 | } | 7945 | } |
7828 | 7946 | ||
7829 | /** http method */ | 7947 | /** http method */ |
@@ -7833,22 +7951,22 @@ export const postResearchGroupsDelete = /* #__PURE__ */ (() => { | @@ -7833,22 +7951,22 @@ export const postResearchGroupsDelete = /* #__PURE__ */ (() => { | ||
7833 | return request; | 7951 | return request; |
7834 | })(); | 7952 | })(); |
7835 | 7953 | ||
7836 | -/** @description request parameter type for postResearchGroupsDetail */ | ||
7837 | -export interface PostResearchGroupsDetailOption { | 7954 | +/** @description request parameter type for postOrderErpUsersReset */ |
7955 | +export interface PostOrderErpUsersResetOption { | ||
7838 | /** | 7956 | /** |
7839 | * @description | 7957 | * @description |
7840 | - * request | 7958 | + * resetPwdVO |
7841 | */ | 7959 | */ |
7842 | body: { | 7960 | body: { |
7843 | /** | 7961 | /** |
7844 | @description | 7962 | @description |
7845 | - request */ | ||
7846 | - request: ResearchGroupDetailRequest; | 7963 | + resetPwdVO */ |
7964 | + resetPwdVO: ResetPwdVO; | ||
7847 | }; | 7965 | }; |
7848 | } | 7966 | } |
7849 | 7967 | ||
7850 | -/** @description response type for postResearchGroupsDetail */ | ||
7851 | -export interface PostResearchGroupsDetailResponse { | 7968 | +/** @description response type for postOrderErpUsersReset */ |
7969 | +export interface PostOrderErpUsersResetResponse { | ||
7852 | /** | 7970 | /** |
7853 | * @description | 7971 | * @description |
7854 | * OK | 7972 | * OK |
@@ -7876,25 +7994,25 @@ export interface PostResearchGroupsDetailResponse { | @@ -7876,25 +7994,25 @@ export interface PostResearchGroupsDetailResponse { | ||
7876 | 404: any; | 7994 | 404: any; |
7877 | } | 7995 | } |
7878 | 7996 | ||
7879 | -export type PostResearchGroupsDetailResponseSuccess = | ||
7880 | - PostResearchGroupsDetailResponse[200]; | 7997 | +export type PostOrderErpUsersResetResponseSuccess = |
7998 | + PostOrderErpUsersResetResponse[200]; | ||
7881 | /** | 7999 | /** |
7882 | * @description | 8000 | * @description |
7883 | - * 查询课题组信息 | ||
7884 | - * @tags research-groups-controller | 8001 | + * 重置密码 |
8002 | + * @tags 系统:用户管理 | ||
7885 | * @produces * | 8003 | * @produces * |
7886 | * @consumes application/json | 8004 | * @consumes application/json |
7887 | */ | 8005 | */ |
7888 | -export const postResearchGroupsDetail = /* #__PURE__ */ (() => { | 8006 | +export const postOrderErpUsersReset = /* #__PURE__ */ (() => { |
7889 | const method = 'post'; | 8007 | const method = 'post'; |
7890 | - const url = '/research/groups/detail'; | 8008 | + const url = '/order/erp/users/reset'; |
7891 | function request( | 8009 | function request( |
7892 | - option: PostResearchGroupsDetailOption, | ||
7893 | - ): Promise<PostResearchGroupsDetailResponseSuccess> { | 8010 | + option: PostOrderErpUsersResetOption, |
8011 | + ): Promise<PostOrderErpUsersResetResponseSuccess> { | ||
7894 | return requester(request.url, { | 8012 | return requester(request.url, { |
7895 | method: request.method, | 8013 | method: request.method, |
7896 | ...option, | 8014 | ...option, |
7897 | - }) as unknown as Promise<PostResearchGroupsDetailResponseSuccess>; | 8015 | + }) as unknown as Promise<PostOrderErpUsersResetResponseSuccess>; |
7898 | } | 8016 | } |
7899 | 8017 | ||
7900 | /** http method */ | 8018 | /** http method */ |
@@ -7904,22 +8022,22 @@ export const postResearchGroupsDetail = /* #__PURE__ */ (() => { | @@ -7904,22 +8022,22 @@ export const postResearchGroupsDetail = /* #__PURE__ */ (() => { | ||
7904 | return request; | 8022 | return request; |
7905 | })(); | 8023 | })(); |
7906 | 8024 | ||
7907 | -/** @description request parameter type for postResearchGroupsEdit */ | ||
7908 | -export interface PostResearchGroupsEditOption { | 8025 | +/** @description request parameter type for postOrderErpUsersUpdatePass */ |
8026 | +export interface PostOrderErpUsersUpdatePassOption { | ||
7909 | /** | 8027 | /** |
7910 | * @description | 8028 | * @description |
7911 | - * request | 8029 | + * pwdVO |
7912 | */ | 8030 | */ |
7913 | body: { | 8031 | body: { |
7914 | /** | 8032 | /** |
7915 | @description | 8033 | @description |
7916 | - request */ | ||
7917 | - request: ResearchGroupEditRequest; | 8034 | + pwdVO */ |
8035 | + pwdVO: UpdatePwdVO; | ||
7918 | }; | 8036 | }; |
7919 | } | 8037 | } |
7920 | 8038 | ||
7921 | -/** @description response type for postResearchGroupsEdit */ | ||
7922 | -export interface PostResearchGroupsEditResponse { | 8039 | +/** @description response type for postOrderErpUsersUpdatePass */ |
8040 | +export interface PostOrderErpUsersUpdatePassResponse { | ||
7923 | /** | 8041 | /** |
7924 | * @description | 8042 | * @description |
7925 | * OK | 8043 | * OK |
@@ -7947,25 +8065,25 @@ export interface PostResearchGroupsEditResponse { | @@ -7947,25 +8065,25 @@ export interface PostResearchGroupsEditResponse { | ||
7947 | 404: any; | 8065 | 404: any; |
7948 | } | 8066 | } |
7949 | 8067 | ||
7950 | -export type PostResearchGroupsEditResponseSuccess = | ||
7951 | - PostResearchGroupsEditResponse[200]; | 8068 | +export type PostOrderErpUsersUpdatePassResponseSuccess = |
8069 | + PostOrderErpUsersUpdatePassResponse[200]; | ||
7952 | /** | 8070 | /** |
7953 | * @description | 8071 | * @description |
7954 | - * 编辑课题组信息 | ||
7955 | - * @tags research-groups-controller | 8072 | + * 修改密码 |
8073 | + * @tags 系统:用户管理 | ||
7956 | * @produces * | 8074 | * @produces * |
7957 | * @consumes application/json | 8075 | * @consumes application/json |
7958 | */ | 8076 | */ |
7959 | -export const postResearchGroupsEdit = /* #__PURE__ */ (() => { | 8077 | +export const postOrderErpUsersUpdatePass = /* #__PURE__ */ (() => { |
7960 | const method = 'post'; | 8078 | const method = 'post'; |
7961 | - const url = '/research/groups/edit'; | 8079 | + const url = '/order/erp/users/update_pass'; |
7962 | function request( | 8080 | function request( |
7963 | - option: PostResearchGroupsEditOption, | ||
7964 | - ): Promise<PostResearchGroupsEditResponseSuccess> { | 8081 | + option: PostOrderErpUsersUpdatePassOption, |
8082 | + ): Promise<PostOrderErpUsersUpdatePassResponseSuccess> { | ||
7965 | return requester(request.url, { | 8083 | return requester(request.url, { |
7966 | method: request.method, | 8084 | method: request.method, |
7967 | ...option, | 8085 | ...option, |
7968 | - }) as unknown as Promise<PostResearchGroupsEditResponseSuccess>; | 8086 | + }) as unknown as Promise<PostOrderErpUsersUpdatePassResponseSuccess>; |
7969 | } | 8087 | } |
7970 | 8088 | ||
7971 | /** http method */ | 8089 | /** http method */ |
@@ -7975,22 +8093,22 @@ export const postResearchGroupsEdit = /* #__PURE__ */ (() => { | @@ -7975,22 +8093,22 @@ export const postResearchGroupsEdit = /* #__PURE__ */ (() => { | ||
7975 | return request; | 8093 | return request; |
7976 | })(); | 8094 | })(); |
7977 | 8095 | ||
7978 | -/** @description request parameter type for postResearchGroupsList */ | ||
7979 | -export interface PostResearchGroupsListOption { | 8096 | +/** @description request parameter type for postOrderImportImportWeightAndVolume */ |
8097 | +export interface PostOrderImportImportWeightAndVolumeOption { | ||
7980 | /** | 8098 | /** |
7981 | * @description | 8099 | * @description |
7982 | - * request | 8100 | + * file |
7983 | */ | 8101 | */ |
7984 | - body: { | 8102 | + formData: { |
7985 | /** | 8103 | /** |
7986 | @description | 8104 | @description |
7987 | - request */ | ||
7988 | - request: ResearchGroupListRequest; | 8105 | + file */ |
8106 | + file: File; | ||
7989 | }; | 8107 | }; |
7990 | } | 8108 | } |
7991 | 8109 | ||
7992 | -/** @description response type for postResearchGroupsList */ | ||
7993 | -export interface PostResearchGroupsListResponse { | 8110 | +/** @description response type for postOrderImportImportWeightAndVolume */ |
8111 | +export interface PostOrderImportImportWeightAndVolumeResponse { | ||
7994 | /** | 8112 | /** |
7995 | * @description | 8113 | * @description |
7996 | * OK | 8114 | * OK |
@@ -8018,25 +8136,25 @@ export interface PostResearchGroupsListResponse { | @@ -8018,25 +8136,25 @@ export interface PostResearchGroupsListResponse { | ||
8018 | 404: any; | 8136 | 404: any; |
8019 | } | 8137 | } |
8020 | 8138 | ||
8021 | -export type PostResearchGroupsListResponseSuccess = | ||
8022 | - PostResearchGroupsListResponse[200]; | 8139 | +export type PostOrderImportImportWeightAndVolumeResponseSuccess = |
8140 | + PostOrderImportImportWeightAndVolumeResponse[200]; | ||
8023 | /** | 8141 | /** |
8024 | * @description | 8142 | * @description |
8025 | - * 课题组列表 | ||
8026 | - * @tags research-groups-controller | 8143 | + * 导入重量和体积 |
8144 | + * @tags 导入 | ||
8027 | * @produces * | 8145 | * @produces * |
8028 | - * @consumes application/json | 8146 | + * @consumes multipart/form-data |
8029 | */ | 8147 | */ |
8030 | -export const postResearchGroupsList = /* #__PURE__ */ (() => { | 8148 | +export const postOrderImportImportWeightAndVolume = /* #__PURE__ */ (() => { |
8031 | const method = 'post'; | 8149 | const method = 'post'; |
8032 | - const url = '/research/groups/list'; | 8150 | + const url = '/order/import/importWeightAndVolume'; |
8033 | function request( | 8151 | function request( |
8034 | - option: PostResearchGroupsListOption, | ||
8035 | - ): Promise<PostResearchGroupsListResponseSuccess> { | 8152 | + option: PostOrderImportImportWeightAndVolumeOption, |
8153 | + ): Promise<PostOrderImportImportWeightAndVolumeResponseSuccess> { | ||
8036 | return requester(request.url, { | 8154 | return requester(request.url, { |
8037 | method: request.method, | 8155 | method: request.method, |
8038 | ...option, | 8156 | ...option, |
8039 | - }) as unknown as Promise<PostResearchGroupsListResponseSuccess>; | 8157 | + }) as unknown as Promise<PostOrderImportImportWeightAndVolumeResponseSuccess>; |
8040 | } | 8158 | } |
8041 | 8159 | ||
8042 | /** http method */ | 8160 | /** http method */ |
@@ -8046,22 +8164,22 @@ export const postResearchGroupsList = /* #__PURE__ */ (() => { | @@ -8046,22 +8164,22 @@ export const postResearchGroupsList = /* #__PURE__ */ (() => { | ||
8046 | return request; | 8164 | return request; |
8047 | })(); | 8165 | })(); |
8048 | 8166 | ||
8049 | -/** @description request parameter type for postServiceBankStatementDeleteBankStatement */ | ||
8050 | -export interface PostServiceBankStatementDeleteBankStatementOption { | 8167 | +/** @description request parameter type for postPrepaidAudit */ |
8168 | +export interface PostPrepaidAuditOption { | ||
8051 | /** | 8169 | /** |
8052 | * @description | 8170 | * @description |
8053 | - * dto | 8171 | + * request |
8054 | */ | 8172 | */ |
8055 | body: { | 8173 | body: { |
8056 | /** | 8174 | /** |
8057 | @description | 8175 | @description |
8058 | - dto */ | ||
8059 | - dto: Dto; | 8176 | + request */ |
8177 | + request: SalesRechargePrepaymentAuditRequest; | ||
8060 | }; | 8178 | }; |
8061 | } | 8179 | } |
8062 | 8180 | ||
8063 | -/** @description response type for postServiceBankStatementDeleteBankStatement */ | ||
8064 | -export interface PostServiceBankStatementDeleteBankStatementResponse { | 8181 | +/** @description response type for postPrepaidAudit */ |
8182 | +export interface PostPrepaidAuditResponse { | ||
8065 | /** | 8183 | /** |
8066 | * @description | 8184 | * @description |
8067 | * OK | 8185 | * OK |
@@ -8089,51 +8207,49 @@ export interface PostServiceBankStatementDeleteBankStatementResponse { | @@ -8089,51 +8207,49 @@ export interface PostServiceBankStatementDeleteBankStatementResponse { | ||
8089 | 404: any; | 8207 | 404: any; |
8090 | } | 8208 | } |
8091 | 8209 | ||
8092 | -export type PostServiceBankStatementDeleteBankStatementResponseSuccess = | ||
8093 | - PostServiceBankStatementDeleteBankStatementResponse[200]; | 8210 | +export type PostPrepaidAuditResponseSuccess = PostPrepaidAuditResponse[200]; |
8094 | /** | 8211 | /** |
8095 | * @description | 8212 | * @description |
8096 | - * 删除银行流水 | ||
8097 | - * @tags 银行流水 | 8213 | + * 财务审核 |
8214 | + * @tags prepaid-controller | ||
8098 | * @produces * | 8215 | * @produces * |
8099 | * @consumes application/json | 8216 | * @consumes application/json |
8100 | */ | 8217 | */ |
8101 | -export const postServiceBankStatementDeleteBankStatement = | ||
8102 | - /* #__PURE__ */ (() => { | ||
8103 | - const method = 'post'; | ||
8104 | - const url = '/service/bankStatement/deleteBankStatement'; | ||
8105 | - function request( | ||
8106 | - option: PostServiceBankStatementDeleteBankStatementOption, | ||
8107 | - ): Promise<PostServiceBankStatementDeleteBankStatementResponseSuccess> { | ||
8108 | - return requester(request.url, { | ||
8109 | - method: request.method, | ||
8110 | - ...option, | ||
8111 | - }) as unknown as Promise<PostServiceBankStatementDeleteBankStatementResponseSuccess>; | ||
8112 | - } | 8218 | +export const postPrepaidAudit = /* #__PURE__ */ (() => { |
8219 | + const method = 'post'; | ||
8220 | + const url = '/prepaid/audit'; | ||
8221 | + function request( | ||
8222 | + option: PostPrepaidAuditOption, | ||
8223 | + ): Promise<PostPrepaidAuditResponseSuccess> { | ||
8224 | + return requester(request.url, { | ||
8225 | + method: request.method, | ||
8226 | + ...option, | ||
8227 | + }) as unknown as Promise<PostPrepaidAuditResponseSuccess>; | ||
8228 | + } | ||
8113 | 8229 | ||
8114 | - /** http method */ | ||
8115 | - request.method = method; | ||
8116 | - /** request url */ | ||
8117 | - request.url = url; | ||
8118 | - return request; | ||
8119 | - })(); | 8230 | + /** http method */ |
8231 | + request.method = method; | ||
8232 | + /** request url */ | ||
8233 | + request.url = url; | ||
8234 | + return request; | ||
8235 | +})(); | ||
8120 | 8236 | ||
8121 | -/** @description request parameter type for postServiceBankStatementEditBankStatement */ | ||
8122 | -export interface PostServiceBankStatementEditBankStatementOption { | 8237 | +/** @description request parameter type for postPrepaidCreate */ |
8238 | +export interface PostPrepaidCreateOption { | ||
8123 | /** | 8239 | /** |
8124 | * @description | 8240 | * @description |
8125 | - * dto | 8241 | + * request |
8126 | */ | 8242 | */ |
8127 | body: { | 8243 | body: { |
8128 | /** | 8244 | /** |
8129 | @description | 8245 | @description |
8130 | - dto */ | ||
8131 | - dto: Dto; | 8246 | + request */ |
8247 | + request: SalesRechargePrepaymentCreateRequest; | ||
8132 | }; | 8248 | }; |
8133 | } | 8249 | } |
8134 | 8250 | ||
8135 | -/** @description response type for postServiceBankStatementEditBankStatement */ | ||
8136 | -export interface PostServiceBankStatementEditBankStatementResponse { | 8251 | +/** @description response type for postPrepaidCreate */ |
8252 | +export interface PostPrepaidCreateResponse { | ||
8137 | /** | 8253 | /** |
8138 | * @description | 8254 | * @description |
8139 | * OK | 8255 | * OK |
@@ -8161,80 +8277,24 @@ export interface PostServiceBankStatementEditBankStatementResponse { | @@ -8161,80 +8277,24 @@ export interface PostServiceBankStatementEditBankStatementResponse { | ||
8161 | 404: any; | 8277 | 404: any; |
8162 | } | 8278 | } |
8163 | 8279 | ||
8164 | -export type PostServiceBankStatementEditBankStatementResponseSuccess = | ||
8165 | - PostServiceBankStatementEditBankStatementResponse[200]; | 8280 | +export type PostPrepaidCreateResponseSuccess = PostPrepaidCreateResponse[200]; |
8166 | /** | 8281 | /** |
8167 | * @description | 8282 | * @description |
8168 | - * 编辑银行流水 | ||
8169 | - * @tags 银行流水 | 8283 | + * 新增预存 |
8284 | + * @tags prepaid-controller | ||
8170 | * @produces * | 8285 | * @produces * |
8171 | * @consumes application/json | 8286 | * @consumes application/json |
8172 | */ | 8287 | */ |
8173 | -export const postServiceBankStatementEditBankStatement = | ||
8174 | - /* #__PURE__ */ (() => { | ||
8175 | - const method = 'post'; | ||
8176 | - const url = '/service/bankStatement/editBankStatement'; | ||
8177 | - function request( | ||
8178 | - option: PostServiceBankStatementEditBankStatementOption, | ||
8179 | - ): Promise<PostServiceBankStatementEditBankStatementResponseSuccess> { | ||
8180 | - return requester(request.url, { | ||
8181 | - method: request.method, | ||
8182 | - ...option, | ||
8183 | - }) as unknown as Promise<PostServiceBankStatementEditBankStatementResponseSuccess>; | ||
8184 | - } | ||
8185 | - | ||
8186 | - /** http method */ | ||
8187 | - request.method = method; | ||
8188 | - /** request url */ | ||
8189 | - request.url = url; | ||
8190 | - return request; | ||
8191 | - })(); | ||
8192 | - | ||
8193 | -/** @description response type for postServiceBankStatementExportTemplate */ | ||
8194 | -export interface PostServiceBankStatementExportTemplateResponse { | ||
8195 | - /** | ||
8196 | - * @description | ||
8197 | - * OK | ||
8198 | - */ | ||
8199 | - 200: any; | ||
8200 | - /** | ||
8201 | - * @description | ||
8202 | - * Created | ||
8203 | - */ | ||
8204 | - 201: any; | ||
8205 | - /** | ||
8206 | - * @description | ||
8207 | - * Unauthorized | ||
8208 | - */ | ||
8209 | - 401: any; | ||
8210 | - /** | ||
8211 | - * @description | ||
8212 | - * Forbidden | ||
8213 | - */ | ||
8214 | - 403: any; | ||
8215 | - /** | ||
8216 | - * @description | ||
8217 | - * Not Found | ||
8218 | - */ | ||
8219 | - 404: any; | ||
8220 | -} | ||
8221 | - | ||
8222 | -export type PostServiceBankStatementExportTemplateResponseSuccess = | ||
8223 | - PostServiceBankStatementExportTemplateResponse[200]; | ||
8224 | -/** | ||
8225 | - * @description | ||
8226 | - * 下载银行流水模板 | ||
8227 | - * @tags 银行流水 | ||
8228 | - * @produces * | ||
8229 | - * @consumes application/json | ||
8230 | - */ | ||
8231 | -export const postServiceBankStatementExportTemplate = /* #__PURE__ */ (() => { | 8288 | +export const postPrepaidCreate = /* #__PURE__ */ (() => { |
8232 | const method = 'post'; | 8289 | const method = 'post'; |
8233 | - const url = '/service/bankStatement/exportTemplate'; | ||
8234 | - function request(): Promise<PostServiceBankStatementExportTemplateResponseSuccess> { | 8290 | + const url = '/prepaid/create'; |
8291 | + function request( | ||
8292 | + option: PostPrepaidCreateOption, | ||
8293 | + ): Promise<PostPrepaidCreateResponseSuccess> { | ||
8235 | return requester(request.url, { | 8294 | return requester(request.url, { |
8236 | method: request.method, | 8295 | method: request.method, |
8237 | - }) as unknown as Promise<PostServiceBankStatementExportTemplateResponseSuccess>; | 8296 | + ...option, |
8297 | + }) as unknown as Promise<PostPrepaidCreateResponseSuccess>; | ||
8238 | } | 8298 | } |
8239 | 8299 | ||
8240 | /** http method */ | 8300 | /** http method */ |
@@ -8244,22 +8304,22 @@ export const postServiceBankStatementExportTemplate = /* #__PURE__ */ (() => { | @@ -8244,22 +8304,22 @@ export const postServiceBankStatementExportTemplate = /* #__PURE__ */ (() => { | ||
8244 | return request; | 8304 | return request; |
8245 | })(); | 8305 | })(); |
8246 | 8306 | ||
8247 | -/** @description request parameter type for postServiceBankStatementImportBankStatementForm */ | ||
8248 | -export interface PostServiceBankStatementImportBankStatementFormOption { | 8307 | +/** @description request parameter type for postPrepaidDelete */ |
8308 | +export interface PostPrepaidDeleteOption { | ||
8249 | /** | 8309 | /** |
8250 | * @description | 8310 | * @description |
8251 | - * file | 8311 | + * request |
8252 | */ | 8312 | */ |
8253 | - formData: { | 8313 | + body: { |
8254 | /** | 8314 | /** |
8255 | @description | 8315 | @description |
8256 | - file */ | ||
8257 | - file: File; | 8316 | + request */ |
8317 | + request: SalesRechargePrepaymentDeleteRequest; | ||
8258 | }; | 8318 | }; |
8259 | } | 8319 | } |
8260 | 8320 | ||
8261 | -/** @description response type for postServiceBankStatementImportBankStatementForm */ | ||
8262 | -export interface PostServiceBankStatementImportBankStatementFormResponse { | 8321 | +/** @description response type for postPrepaidDelete */ |
8322 | +export interface PostPrepaidDeleteResponse { | ||
8263 | /** | 8323 | /** |
8264 | * @description | 8324 | * @description |
8265 | * OK | 8325 | * OK |
@@ -8287,164 +8347,49 @@ export interface PostServiceBankStatementImportBankStatementFormResponse { | @@ -8287,164 +8347,49 @@ export interface PostServiceBankStatementImportBankStatementFormResponse { | ||
8287 | 404: any; | 8347 | 404: any; |
8288 | } | 8348 | } |
8289 | 8349 | ||
8290 | -export type PostServiceBankStatementImportBankStatementFormResponseSuccess = | ||
8291 | - PostServiceBankStatementImportBankStatementFormResponse[200]; | 8350 | +export type PostPrepaidDeleteResponseSuccess = PostPrepaidDeleteResponse[200]; |
8292 | /** | 8351 | /** |
8293 | * @description | 8352 | * @description |
8294 | - * 导入银行流水表格 | ||
8295 | - * @tags 银行流水 | 8353 | + * 删除预存 |
8354 | + * @tags prepaid-controller | ||
8296 | * @produces * | 8355 | * @produces * |
8297 | - * @consumes multipart/form-data | 8356 | + * @consumes application/json |
8298 | */ | 8357 | */ |
8299 | -export const postServiceBankStatementImportBankStatementForm = | ||
8300 | - /* #__PURE__ */ (() => { | ||
8301 | - const method = 'post'; | ||
8302 | - const url = '/service/bankStatement/importBankStatementForm'; | ||
8303 | - function request( | ||
8304 | - option: PostServiceBankStatementImportBankStatementFormOption, | ||
8305 | - ): Promise<PostServiceBankStatementImportBankStatementFormResponseSuccess> { | ||
8306 | - return requester(request.url, { | ||
8307 | - method: request.method, | ||
8308 | - ...option, | ||
8309 | - }) as unknown as Promise<PostServiceBankStatementImportBankStatementFormResponseSuccess>; | ||
8310 | - } | 8358 | +export const postPrepaidDelete = /* #__PURE__ */ (() => { |
8359 | + const method = 'post'; | ||
8360 | + const url = '/prepaid/delete'; | ||
8361 | + function request( | ||
8362 | + option: PostPrepaidDeleteOption, | ||
8363 | + ): Promise<PostPrepaidDeleteResponseSuccess> { | ||
8364 | + return requester(request.url, { | ||
8365 | + method: request.method, | ||
8366 | + ...option, | ||
8367 | + }) as unknown as Promise<PostPrepaidDeleteResponseSuccess>; | ||
8368 | + } | ||
8311 | 8369 | ||
8312 | - /** http method */ | ||
8313 | - request.method = method; | ||
8314 | - /** request url */ | ||
8315 | - request.url = url; | ||
8316 | - return request; | ||
8317 | - })(); | 8370 | + /** http method */ |
8371 | + request.method = method; | ||
8372 | + /** request url */ | ||
8373 | + request.url = url; | ||
8374 | + return request; | ||
8375 | +})(); | ||
8318 | 8376 | ||
8319 | -/** @description request parameter type for postServiceBankStatementQueryBankStatement */ | ||
8320 | -export interface PostServiceBankStatementQueryBankStatementOption { | 8377 | +/** @description request parameter type for postPrepaidList */ |
8378 | +export interface PostPrepaidListOption { | ||
8321 | /** | 8379 | /** |
8322 | * @description | 8380 | * @description |
8323 | - * dto | 8381 | + * request |
8324 | */ | 8382 | */ |
8325 | body: { | 8383 | body: { |
8326 | /** | 8384 | /** |
8327 | @description | 8385 | @description |
8328 | - dto */ | ||
8329 | - dto: QueryBankStatementDto; | 8386 | + request */ |
8387 | + request: SalesRechargePrepaymentRequest; | ||
8330 | }; | 8388 | }; |
8331 | } | 8389 | } |
8332 | 8390 | ||
8333 | -/** @description response type for postServiceBankStatementQueryBankStatement */ | ||
8334 | -export interface PostServiceBankStatementQueryBankStatementResponse { | ||
8335 | - /** | ||
8336 | - * @description | ||
8337 | - * OK | ||
8338 | - */ | ||
8339 | - 200: ServerResult; | ||
8340 | - /** | ||
8341 | - * @description | ||
8342 | - * Created | ||
8343 | - */ | ||
8344 | - 201: any; | ||
8345 | - /** | ||
8346 | - * @description | ||
8347 | - * Unauthorized | ||
8348 | - */ | ||
8349 | - 401: any; | ||
8350 | - /** | ||
8351 | - * @description | ||
8352 | - * Forbidden | ||
8353 | - */ | ||
8354 | - 403: any; | ||
8355 | - /** | ||
8356 | - * @description | ||
8357 | - * Not Found | ||
8358 | - */ | ||
8359 | - 404: any; | ||
8360 | -} | ||
8361 | - | ||
8362 | -export type PostServiceBankStatementQueryBankStatementResponseSuccess = | ||
8363 | - PostServiceBankStatementQueryBankStatementResponse[200]; | ||
8364 | -/** | ||
8365 | - * @description | ||
8366 | - * 查询银行流水 | ||
8367 | - * @tags 银行流水 | ||
8368 | - * @produces * | ||
8369 | - * @consumes application/json | ||
8370 | - */ | ||
8371 | -export const postServiceBankStatementQueryBankStatement = | ||
8372 | - /* #__PURE__ */ (() => { | ||
8373 | - const method = 'post'; | ||
8374 | - const url = '/service/bankStatement/queryBankStatement'; | ||
8375 | - function request( | ||
8376 | - option: PostServiceBankStatementQueryBankStatementOption, | ||
8377 | - ): Promise<PostServiceBankStatementQueryBankStatementResponseSuccess> { | ||
8378 | - return requester(request.url, { | ||
8379 | - method: request.method, | ||
8380 | - ...option, | ||
8381 | - }) as unknown as Promise<PostServiceBankStatementQueryBankStatementResponseSuccess>; | ||
8382 | - } | ||
8383 | - | ||
8384 | - /** http method */ | ||
8385 | - request.method = method; | ||
8386 | - /** request url */ | ||
8387 | - request.url = url; | ||
8388 | - return request; | ||
8389 | - })(); | ||
8390 | - | ||
8391 | -/** @description response type for postServiceConstAfterInvoicingInvoiceRecordStatus */ | ||
8392 | -export interface PostServiceConstAfterInvoicingInvoiceRecordStatusResponse { | ||
8393 | - /** | ||
8394 | - * @description | ||
8395 | - * OK | ||
8396 | - */ | ||
8397 | - 200: ServerResult; | ||
8398 | - /** | ||
8399 | - * @description | ||
8400 | - * Created | ||
8401 | - */ | ||
8402 | - 201: any; | ||
8403 | - /** | ||
8404 | - * @description | ||
8405 | - * Unauthorized | ||
8406 | - */ | ||
8407 | - 401: any; | ||
8408 | - /** | ||
8409 | - * @description | ||
8410 | - * Forbidden | ||
8411 | - */ | ||
8412 | - 403: any; | ||
8413 | - /** | ||
8414 | - * @description | ||
8415 | - * Not Found | ||
8416 | - */ | ||
8417 | - 404: any; | ||
8418 | -} | ||
8419 | - | ||
8420 | -export type PostServiceConstAfterInvoicingInvoiceRecordStatusResponseSuccess = | ||
8421 | - PostServiceConstAfterInvoicingInvoiceRecordStatusResponse[200]; | ||
8422 | -/** | ||
8423 | - * @description | ||
8424 | - * 开票后的开票记录状态 | ||
8425 | - * @tags front-const-controller | ||
8426 | - * @produces * | ||
8427 | - * @consumes application/json | ||
8428 | - */ | ||
8429 | -export const postServiceConstAfterInvoicingInvoiceRecordStatus = | ||
8430 | - /* #__PURE__ */ (() => { | ||
8431 | - const method = 'post'; | ||
8432 | - const url = '/service/const/afterInvoicingInvoiceRecordStatus'; | ||
8433 | - function request(): Promise<PostServiceConstAfterInvoicingInvoiceRecordStatusResponseSuccess> { | ||
8434 | - return requester(request.url, { | ||
8435 | - method: request.method, | ||
8436 | - }) as unknown as Promise<PostServiceConstAfterInvoicingInvoiceRecordStatusResponseSuccess>; | ||
8437 | - } | ||
8438 | - | ||
8439 | - /** http method */ | ||
8440 | - request.method = method; | ||
8441 | - /** request url */ | ||
8442 | - request.url = url; | ||
8443 | - return request; | ||
8444 | - })(); | ||
8445 | - | ||
8446 | -/** @description response type for postServiceConstAfterInvoicingStatus */ | ||
8447 | -export interface PostServiceConstAfterInvoicingStatusResponse { | 8391 | +/** @description response type for postPrepaidList */ |
8392 | +export interface PostPrepaidListResponse { | ||
8448 | /** | 8393 | /** |
8449 | * @description | 8394 | * @description |
8450 | * OK | 8395 | * OK |
@@ -8472,22 +8417,24 @@ export interface PostServiceConstAfterInvoicingStatusResponse { | @@ -8472,22 +8417,24 @@ export interface PostServiceConstAfterInvoicingStatusResponse { | ||
8472 | 404: any; | 8417 | 404: any; |
8473 | } | 8418 | } |
8474 | 8419 | ||
8475 | -export type PostServiceConstAfterInvoicingStatusResponseSuccess = | ||
8476 | - PostServiceConstAfterInvoicingStatusResponse[200]; | 8420 | +export type PostPrepaidListResponseSuccess = PostPrepaidListResponse[200]; |
8477 | /** | 8421 | /** |
8478 | * @description | 8422 | * @description |
8479 | - * 申请开票后状态 | ||
8480 | - * @tags front-const-controller | 8423 | + * 查询列表 |
8424 | + * @tags prepaid-controller | ||
8481 | * @produces * | 8425 | * @produces * |
8482 | * @consumes application/json | 8426 | * @consumes application/json |
8483 | */ | 8427 | */ |
8484 | -export const postServiceConstAfterInvoicingStatus = /* #__PURE__ */ (() => { | 8428 | +export const postPrepaidList = /* #__PURE__ */ (() => { |
8485 | const method = 'post'; | 8429 | const method = 'post'; |
8486 | - const url = '/service/const/afterInvoicingStatus'; | ||
8487 | - function request(): Promise<PostServiceConstAfterInvoicingStatusResponseSuccess> { | 8430 | + const url = '/prepaid/list'; |
8431 | + function request( | ||
8432 | + option: PostPrepaidListOption, | ||
8433 | + ): Promise<PostPrepaidListResponseSuccess> { | ||
8488 | return requester(request.url, { | 8434 | return requester(request.url, { |
8489 | method: request.method, | 8435 | method: request.method, |
8490 | - }) as unknown as Promise<PostServiceConstAfterInvoicingStatusResponseSuccess>; | 8436 | + ...option, |
8437 | + }) as unknown as Promise<PostPrepaidListResponseSuccess>; | ||
8491 | } | 8438 | } |
8492 | 8439 | ||
8493 | /** http method */ | 8440 | /** http method */ |
@@ -8497,118 +8444,22 @@ export const postServiceConstAfterInvoicingStatus = /* #__PURE__ */ (() => { | @@ -8497,118 +8444,22 @@ export const postServiceConstAfterInvoicingStatus = /* #__PURE__ */ (() => { | ||
8497 | return request; | 8444 | return request; |
8498 | })(); | 8445 | })(); |
8499 | 8446 | ||
8500 | -/** @description response type for postServiceConstBeforeInvoicingInvoiceRecordStatus */ | ||
8501 | -export interface PostServiceConstBeforeInvoicingInvoiceRecordStatusResponse { | ||
8502 | - /** | ||
8503 | - * @description | ||
8504 | - * OK | ||
8505 | - */ | ||
8506 | - 200: ServerResult; | ||
8507 | - /** | ||
8508 | - * @description | ||
8509 | - * Created | ||
8510 | - */ | ||
8511 | - 201: any; | ||
8512 | - /** | ||
8513 | - * @description | ||
8514 | - * Unauthorized | ||
8515 | - */ | ||
8516 | - 401: any; | ||
8517 | - /** | ||
8518 | - * @description | ||
8519 | - * Forbidden | ||
8520 | - */ | ||
8521 | - 403: any; | 8447 | +/** @description request parameter type for postPrepaidPhoneAvailableList */ |
8448 | +export interface PostPrepaidPhoneAvailableListOption { | ||
8522 | /** | 8449 | /** |
8523 | * @description | 8450 | * @description |
8524 | - * Not Found | ||
8525 | - */ | ||
8526 | - 404: any; | ||
8527 | -} | ||
8528 | - | ||
8529 | -export type PostServiceConstBeforeInvoicingInvoiceRecordStatusResponseSuccess = | ||
8530 | - PostServiceConstBeforeInvoicingInvoiceRecordStatusResponse[200]; | ||
8531 | -/** | ||
8532 | - * @description | ||
8533 | - * 开票前的开票记录状态 | ||
8534 | - * @tags front-const-controller | ||
8535 | - * @produces * | ||
8536 | - * @consumes application/json | ||
8537 | - */ | ||
8538 | -export const postServiceConstBeforeInvoicingInvoiceRecordStatus = | ||
8539 | - /* #__PURE__ */ (() => { | ||
8540 | - const method = 'post'; | ||
8541 | - const url = '/service/const/beforeInvoicingInvoiceRecordStatus'; | ||
8542 | - function request(): Promise<PostServiceConstBeforeInvoicingInvoiceRecordStatusResponseSuccess> { | ||
8543 | - return requester(request.url, { | ||
8544 | - method: request.method, | ||
8545 | - }) as unknown as Promise<PostServiceConstBeforeInvoicingInvoiceRecordStatusResponseSuccess>; | ||
8546 | - } | ||
8547 | - | ||
8548 | - /** http method */ | ||
8549 | - request.method = method; | ||
8550 | - /** request url */ | ||
8551 | - request.url = url; | ||
8552 | - return request; | ||
8553 | - })(); | ||
8554 | - | ||
8555 | -/** @description response type for postServiceConstCanApplyAfterInvoicingStatus */ | ||
8556 | -export interface PostServiceConstCanApplyAfterInvoicingStatusResponse { | ||
8557 | - /** | ||
8558 | - * @description | ||
8559 | - * OK | ||
8560 | - */ | ||
8561 | - 200: ServerResult; | ||
8562 | - /** | ||
8563 | - * @description | ||
8564 | - * Created | ||
8565 | - */ | ||
8566 | - 201: any; | ||
8567 | - /** | ||
8568 | - * @description | ||
8569 | - * Unauthorized | ||
8570 | - */ | ||
8571 | - 401: any; | ||
8572 | - /** | ||
8573 | - * @description | ||
8574 | - * Forbidden | ||
8575 | - */ | ||
8576 | - 403: any; | ||
8577 | - /** | ||
8578 | - * @description | ||
8579 | - * Not Found | 8451 | + * request |
8580 | */ | 8452 | */ |
8581 | - 404: any; | 8453 | + body: { |
8454 | + /** | ||
8455 | + @description | ||
8456 | + request */ | ||
8457 | + request: SalesRechargePrepaymentAuditRequest; | ||
8458 | + }; | ||
8582 | } | 8459 | } |
8583 | 8460 | ||
8584 | -export type PostServiceConstCanApplyAfterInvoicingStatusResponseSuccess = | ||
8585 | - PostServiceConstCanApplyAfterInvoicingStatusResponse[200]; | ||
8586 | -/** | ||
8587 | - * @description | ||
8588 | - * 开具类型 | ||
8589 | - * @tags front-const-controller | ||
8590 | - * @produces * | ||
8591 | - * @consumes application/json | ||
8592 | - */ | ||
8593 | -export const postServiceConstCanApplyAfterInvoicingStatus = | ||
8594 | - /* #__PURE__ */ (() => { | ||
8595 | - const method = 'post'; | ||
8596 | - const url = '/service/const/canApplyAfterInvoicingStatus'; | ||
8597 | - function request(): Promise<PostServiceConstCanApplyAfterInvoicingStatusResponseSuccess> { | ||
8598 | - return requester(request.url, { | ||
8599 | - method: request.method, | ||
8600 | - }) as unknown as Promise<PostServiceConstCanApplyAfterInvoicingStatusResponseSuccess>; | ||
8601 | - } | ||
8602 | - | ||
8603 | - /** http method */ | ||
8604 | - request.method = method; | ||
8605 | - /** request url */ | ||
8606 | - request.url = url; | ||
8607 | - return request; | ||
8608 | - })(); | ||
8609 | - | ||
8610 | -/** @description response type for postServiceConstGetPayeeEnum */ | ||
8611 | -export interface PostServiceConstGetPayeeEnumResponse { | 8461 | +/** @description response type for postPrepaidPhoneAvailableList */ |
8462 | +export interface PostPrepaidPhoneAvailableListResponse { | ||
8612 | /** | 8463 | /** |
8613 | * @description | 8464 | * @description |
8614 | * OK | 8465 | * OK |
@@ -8636,22 +8487,25 @@ export interface PostServiceConstGetPayeeEnumResponse { | @@ -8636,22 +8487,25 @@ export interface PostServiceConstGetPayeeEnumResponse { | ||
8636 | 404: any; | 8487 | 404: any; |
8637 | } | 8488 | } |
8638 | 8489 | ||
8639 | -export type PostServiceConstGetPayeeEnumResponseSuccess = | ||
8640 | - PostServiceConstGetPayeeEnumResponse[200]; | 8490 | +export type PostPrepaidPhoneAvailableListResponseSuccess = |
8491 | + PostPrepaidPhoneAvailableListResponse[200]; | ||
8641 | /** | 8492 | /** |
8642 | * @description | 8493 | * @description |
8643 | - * 获取收款方 | ||
8644 | - * @tags front-const-controller | 8494 | + * 财务审核 |
8495 | + * @tags prepaid-controller | ||
8645 | * @produces * | 8496 | * @produces * |
8646 | * @consumes application/json | 8497 | * @consumes application/json |
8647 | */ | 8498 | */ |
8648 | -export const postServiceConstGetPayeeEnum = /* #__PURE__ */ (() => { | 8499 | +export const postPrepaidPhoneAvailableList = /* #__PURE__ */ (() => { |
8649 | const method = 'post'; | 8500 | const method = 'post'; |
8650 | - const url = '/service/const/getPayeeEnum'; | ||
8651 | - function request(): Promise<PostServiceConstGetPayeeEnumResponseSuccess> { | 8501 | + const url = '/prepaid/phone/available/list'; |
8502 | + function request( | ||
8503 | + option: PostPrepaidPhoneAvailableListOption, | ||
8504 | + ): Promise<PostPrepaidPhoneAvailableListResponseSuccess> { | ||
8652 | return requester(request.url, { | 8505 | return requester(request.url, { |
8653 | method: request.method, | 8506 | method: request.method, |
8654 | - }) as unknown as Promise<PostServiceConstGetPayeeEnumResponseSuccess>; | 8507 | + ...option, |
8508 | + }) as unknown as Promise<PostPrepaidPhoneAvailableListResponseSuccess>; | ||
8655 | } | 8509 | } |
8656 | 8510 | ||
8657 | /** http method */ | 8511 | /** http method */ |
@@ -8661,8 +8515,22 @@ export const postServiceConstGetPayeeEnum = /* #__PURE__ */ (() => { | @@ -8661,8 +8515,22 @@ export const postServiceConstGetPayeeEnum = /* #__PURE__ */ (() => { | ||
8661 | return request; | 8515 | return request; |
8662 | })(); | 8516 | })(); |
8663 | 8517 | ||
8664 | -/** @description response type for postServiceConstInvoiceType */ | ||
8665 | -export interface PostServiceConstInvoiceTypeResponse { | 8518 | +/** @description request parameter type for postPrepaidUpdate */ |
8519 | +export interface PostPrepaidUpdateOption { | ||
8520 | + /** | ||
8521 | + * @description | ||
8522 | + * request | ||
8523 | + */ | ||
8524 | + body: { | ||
8525 | + /** | ||
8526 | + @description | ||
8527 | + request */ | ||
8528 | + request: SalesRechargePrepaymentUpdateRequest; | ||
8529 | + }; | ||
8530 | +} | ||
8531 | + | ||
8532 | +/** @description response type for postPrepaidUpdate */ | ||
8533 | +export interface PostPrepaidUpdateResponse { | ||
8666 | /** | 8534 | /** |
8667 | * @description | 8535 | * @description |
8668 | * OK | 8536 | * OK |
@@ -8690,22 +8558,24 @@ export interface PostServiceConstInvoiceTypeResponse { | @@ -8690,22 +8558,24 @@ export interface PostServiceConstInvoiceTypeResponse { | ||
8690 | 404: any; | 8558 | 404: any; |
8691 | } | 8559 | } |
8692 | 8560 | ||
8693 | -export type PostServiceConstInvoiceTypeResponseSuccess = | ||
8694 | - PostServiceConstInvoiceTypeResponse[200]; | 8561 | +export type PostPrepaidUpdateResponseSuccess = PostPrepaidUpdateResponse[200]; |
8695 | /** | 8562 | /** |
8696 | * @description | 8563 | * @description |
8697 | - * 发票类型 | ||
8698 | - * @tags front-const-controller | 8564 | + * 修改预存 |
8565 | + * @tags prepaid-controller | ||
8699 | * @produces * | 8566 | * @produces * |
8700 | * @consumes application/json | 8567 | * @consumes application/json |
8701 | */ | 8568 | */ |
8702 | -export const postServiceConstInvoiceType = /* #__PURE__ */ (() => { | 8569 | +export const postPrepaidUpdate = /* #__PURE__ */ (() => { |
8703 | const method = 'post'; | 8570 | const method = 'post'; |
8704 | - const url = '/service/const/invoiceType'; | ||
8705 | - function request(): Promise<PostServiceConstInvoiceTypeResponseSuccess> { | 8571 | + const url = '/prepaid/update'; |
8572 | + function request( | ||
8573 | + option: PostPrepaidUpdateOption, | ||
8574 | + ): Promise<PostPrepaidUpdateResponseSuccess> { | ||
8706 | return requester(request.url, { | 8575 | return requester(request.url, { |
8707 | method: request.method, | 8576 | method: request.method, |
8708 | - }) as unknown as Promise<PostServiceConstInvoiceTypeResponseSuccess>; | 8577 | + ...option, |
8578 | + }) as unknown as Promise<PostPrepaidUpdateResponseSuccess>; | ||
8709 | } | 8579 | } |
8710 | 8580 | ||
8711 | /** http method */ | 8581 | /** http method */ |
@@ -8715,8 +8585,22 @@ export const postServiceConstInvoiceType = /* #__PURE__ */ (() => { | @@ -8715,8 +8585,22 @@ export const postServiceConstInvoiceType = /* #__PURE__ */ (() => { | ||
8715 | return request; | 8585 | return request; |
8716 | })(); | 8586 | })(); |
8717 | 8587 | ||
8718 | -/** @description response type for postServiceConstInvoicingType */ | ||
8719 | -export interface PostServiceConstInvoicingTypeResponse { | 8588 | +/** @description request parameter type for postResearchGroupMemberRequestsAdd */ |
8589 | +export interface PostResearchGroupMemberRequestsAddOption { | ||
8590 | + /** | ||
8591 | + * @description | ||
8592 | + * request | ||
8593 | + */ | ||
8594 | + body: { | ||
8595 | + /** | ||
8596 | + @description | ||
8597 | + request */ | ||
8598 | + request: ResearchGroupMemberRequestAddRequest; | ||
8599 | + }; | ||
8600 | +} | ||
8601 | + | ||
8602 | +/** @description response type for postResearchGroupMemberRequestsAdd */ | ||
8603 | +export interface PostResearchGroupMemberRequestsAddResponse { | ||
8720 | /** | 8604 | /** |
8721 | * @description | 8605 | * @description |
8722 | * OK | 8606 | * OK |
@@ -8744,22 +8628,25 @@ export interface PostServiceConstInvoicingTypeResponse { | @@ -8744,22 +8628,25 @@ export interface PostServiceConstInvoicingTypeResponse { | ||
8744 | 404: any; | 8628 | 404: any; |
8745 | } | 8629 | } |
8746 | 8630 | ||
8747 | -export type PostServiceConstInvoicingTypeResponseSuccess = | ||
8748 | - PostServiceConstInvoicingTypeResponse[200]; | 8631 | +export type PostResearchGroupMemberRequestsAddResponseSuccess = |
8632 | + PostResearchGroupMemberRequestsAddResponse[200]; | ||
8749 | /** | 8633 | /** |
8750 | * @description | 8634 | * @description |
8751 | - * 开具类型 | ||
8752 | - * @tags front-const-controller | 8635 | + * 新增申请信息 |
8636 | + * @tags research-group-member-requests-controller | ||
8753 | * @produces * | 8637 | * @produces * |
8754 | * @consumes application/json | 8638 | * @consumes application/json |
8755 | */ | 8639 | */ |
8756 | -export const postServiceConstInvoicingType = /* #__PURE__ */ (() => { | 8640 | +export const postResearchGroupMemberRequestsAdd = /* #__PURE__ */ (() => { |
8757 | const method = 'post'; | 8641 | const method = 'post'; |
8758 | - const url = '/service/const/invoicingType'; | ||
8759 | - function request(): Promise<PostServiceConstInvoicingTypeResponseSuccess> { | 8642 | + const url = '/research/group/member/requests/add'; |
8643 | + function request( | ||
8644 | + option: PostResearchGroupMemberRequestsAddOption, | ||
8645 | + ): Promise<PostResearchGroupMemberRequestsAddResponseSuccess> { | ||
8760 | return requester(request.url, { | 8646 | return requester(request.url, { |
8761 | method: request.method, | 8647 | method: request.method, |
8762 | - }) as unknown as Promise<PostServiceConstInvoicingTypeResponseSuccess>; | 8648 | + ...option, |
8649 | + }) as unknown as Promise<PostResearchGroupMemberRequestsAddResponseSuccess>; | ||
8763 | } | 8650 | } |
8764 | 8651 | ||
8765 | /** http method */ | 8652 | /** http method */ |
@@ -8769,22 +8656,22 @@ export const postServiceConstInvoicingType = /* #__PURE__ */ (() => { | @@ -8769,22 +8656,22 @@ export const postServiceConstInvoicingType = /* #__PURE__ */ (() => { | ||
8769 | return request; | 8656 | return request; |
8770 | })(); | 8657 | })(); |
8771 | 8658 | ||
8772 | -/** @description request parameter type for postServiceConstListInvoiceDetailNames */ | ||
8773 | -export interface PostServiceConstListInvoiceDetailNamesOption { | 8659 | +/** @description request parameter type for postResearchGroupMemberRequestsDelete */ |
8660 | +export interface PostResearchGroupMemberRequestsDeleteOption { | ||
8774 | /** | 8661 | /** |
8775 | * @description | 8662 | * @description |
8776 | - * queryInvoiceProjectDto | 8663 | + * request |
8777 | */ | 8664 | */ |
8778 | body: { | 8665 | body: { |
8779 | /** | 8666 | /** |
8780 | @description | 8667 | @description |
8781 | - queryInvoiceProjectDto */ | ||
8782 | - queryInvoiceProjectDto: QueryInvoiceProjectDto; | 8668 | + request */ |
8669 | + request: ResearchGroupMemberRequestDeleteRequest; | ||
8783 | }; | 8670 | }; |
8784 | } | 8671 | } |
8785 | 8672 | ||
8786 | -/** @description response type for postServiceConstListInvoiceDetailNames */ | ||
8787 | -export interface PostServiceConstListInvoiceDetailNamesResponse { | 8673 | +/** @description response type for postResearchGroupMemberRequestsDelete */ |
8674 | +export interface PostResearchGroupMemberRequestsDeleteResponse { | ||
8788 | /** | 8675 | /** |
8789 | * @description | 8676 | * @description |
8790 | * OK | 8677 | * OK |
@@ -8812,25 +8699,25 @@ export interface PostServiceConstListInvoiceDetailNamesResponse { | @@ -8812,25 +8699,25 @@ export interface PostServiceConstListInvoiceDetailNamesResponse { | ||
8812 | 404: any; | 8699 | 404: any; |
8813 | } | 8700 | } |
8814 | 8701 | ||
8815 | -export type PostServiceConstListInvoiceDetailNamesResponseSuccess = | ||
8816 | - PostServiceConstListInvoiceDetailNamesResponse[200]; | 8702 | +export type PostResearchGroupMemberRequestsDeleteResponseSuccess = |
8703 | + PostResearchGroupMemberRequestsDeleteResponse[200]; | ||
8817 | /** | 8704 | /** |
8818 | * @description | 8705 | * @description |
8819 | - * 根据公司名获取收款方 | ||
8820 | - * @tags front-const-controller | 8706 | + * 删除申请信息 |
8707 | + * @tags research-group-member-requests-controller | ||
8821 | * @produces * | 8708 | * @produces * |
8822 | * @consumes application/json | 8709 | * @consumes application/json |
8823 | */ | 8710 | */ |
8824 | -export const postServiceConstListInvoiceDetailNames = /* #__PURE__ */ (() => { | 8711 | +export const postResearchGroupMemberRequestsDelete = /* #__PURE__ */ (() => { |
8825 | const method = 'post'; | 8712 | const method = 'post'; |
8826 | - const url = '/service/const/listInvoiceDetailNames'; | 8713 | + const url = '/research/group/member/requests/delete'; |
8827 | function request( | 8714 | function request( |
8828 | - option: PostServiceConstListInvoiceDetailNamesOption, | ||
8829 | - ): Promise<PostServiceConstListInvoiceDetailNamesResponseSuccess> { | 8715 | + option: PostResearchGroupMemberRequestsDeleteOption, |
8716 | + ): Promise<PostResearchGroupMemberRequestsDeleteResponseSuccess> { | ||
8830 | return requester(request.url, { | 8717 | return requester(request.url, { |
8831 | method: request.method, | 8718 | method: request.method, |
8832 | ...option, | 8719 | ...option, |
8833 | - }) as unknown as Promise<PostServiceConstListInvoiceDetailNamesResponseSuccess>; | 8720 | + }) as unknown as Promise<PostResearchGroupMemberRequestsDeleteResponseSuccess>; |
8834 | } | 8721 | } |
8835 | 8722 | ||
8836 | /** http method */ | 8723 | /** http method */ |
@@ -8840,8 +8727,22 @@ export const postServiceConstListInvoiceDetailNames = /* #__PURE__ */ (() => { | @@ -8840,8 +8727,22 @@ export const postServiceConstListInvoiceDetailNames = /* #__PURE__ */ (() => { | ||
8840 | return request; | 8727 | return request; |
8841 | })(); | 8728 | })(); |
8842 | 8729 | ||
8843 | -/** @description response type for postServiceConstNotCanModifyInvoiceRecordStatus */ | ||
8844 | -export interface PostServiceConstNotCanModifyInvoiceRecordStatusResponse { | 8730 | +/** @description request parameter type for postResearchGroupMemberRequestsDetail */ |
8731 | +export interface PostResearchGroupMemberRequestsDetailOption { | ||
8732 | + /** | ||
8733 | + * @description | ||
8734 | + * request | ||
8735 | + */ | ||
8736 | + body: { | ||
8737 | + /** | ||
8738 | + @description | ||
8739 | + request */ | ||
8740 | + request: ResearchGroupMemberRequestDetailRequest; | ||
8741 | + }; | ||
8742 | +} | ||
8743 | + | ||
8744 | +/** @description response type for postResearchGroupMemberRequestsDetail */ | ||
8745 | +export interface PostResearchGroupMemberRequestsDetailResponse { | ||
8845 | /** | 8746 | /** |
8846 | * @description | 8747 | * @description |
8847 | * OK | 8748 | * OK |
@@ -8869,56 +8770,60 @@ export interface PostServiceConstNotCanModifyInvoiceRecordStatusResponse { | @@ -8869,56 +8770,60 @@ export interface PostServiceConstNotCanModifyInvoiceRecordStatusResponse { | ||
8869 | 404: any; | 8770 | 404: any; |
8870 | } | 8771 | } |
8871 | 8772 | ||
8872 | -export type PostServiceConstNotCanModifyInvoiceRecordStatusResponseSuccess = | ||
8873 | - PostServiceConstNotCanModifyInvoiceRecordStatusResponse[200]; | 8773 | +export type PostResearchGroupMemberRequestsDetailResponseSuccess = |
8774 | + PostResearchGroupMemberRequestsDetailResponse[200]; | ||
8874 | /** | 8775 | /** |
8875 | * @description | 8776 | * @description |
8876 | - * 不能修改的开票记录状态 | ||
8877 | - * @tags front-const-controller | 8777 | + * 查询申请信息 |
8778 | + * @tags research-group-member-requests-controller | ||
8878 | * @produces * | 8779 | * @produces * |
8879 | * @consumes application/json | 8780 | * @consumes application/json |
8880 | */ | 8781 | */ |
8881 | -export const postServiceConstNotCanModifyInvoiceRecordStatus = | ||
8882 | - /* #__PURE__ */ (() => { | ||
8883 | - const method = 'post'; | ||
8884 | - const url = '/service/const/notCanModifyInvoiceRecordStatus'; | ||
8885 | - function request(): Promise<PostServiceConstNotCanModifyInvoiceRecordStatusResponseSuccess> { | ||
8886 | - return requester(request.url, { | ||
8887 | - method: request.method, | ||
8888 | - }) as unknown as Promise<PostServiceConstNotCanModifyInvoiceRecordStatusResponseSuccess>; | ||
8889 | - } | 8782 | +export const postResearchGroupMemberRequestsDetail = /* #__PURE__ */ (() => { |
8783 | + const method = 'post'; | ||
8784 | + const url = '/research/group/member/requests/detail'; | ||
8785 | + function request( | ||
8786 | + option: PostResearchGroupMemberRequestsDetailOption, | ||
8787 | + ): Promise<PostResearchGroupMemberRequestsDetailResponseSuccess> { | ||
8788 | + return requester(request.url, { | ||
8789 | + method: request.method, | ||
8790 | + ...option, | ||
8791 | + }) as unknown as Promise<PostResearchGroupMemberRequestsDetailResponseSuccess>; | ||
8792 | + } | ||
8890 | 8793 | ||
8891 | - /** http method */ | ||
8892 | - request.method = method; | ||
8893 | - /** request url */ | ||
8894 | - request.url = url; | ||
8895 | - return request; | ||
8896 | - })(); | 8794 | + /** http method */ |
8795 | + request.method = method; | ||
8796 | + /** request url */ | ||
8797 | + request.url = url; | ||
8798 | + return request; | ||
8799 | +})(); | ||
8897 | 8800 | ||
8898 | -/** @description request parameter type for getServiceInvoiceListInvoiceProject */ | ||
8899 | -export interface GetServiceInvoiceListInvoiceProjectOption { | ||
8900 | - /** @format int32 */ | ||
8901 | - query?: { | ||
8902 | - /** | ||
8903 | - @format int32 */ | ||
8904 | - current?: number; | ||
8905 | - nameLike?: string; | ||
8906 | - /** | ||
8907 | - @format int32 */ | ||
8908 | - pageSize?: number; | 8801 | +/** @description request parameter type for postResearchGroupMemberRequestsEdit */ |
8802 | +export interface PostResearchGroupMemberRequestsEditOption { | ||
8803 | + /** | ||
8804 | + * @description | ||
8805 | + * request | ||
8806 | + */ | ||
8807 | + body: { | ||
8909 | /** | 8808 | /** |
8910 | - @format int32 */ | ||
8911 | - total?: number; | 8809 | + @description |
8810 | + request */ | ||
8811 | + request: ResearchGroupMemberRequestEditRequest; | ||
8912 | }; | 8812 | }; |
8913 | } | 8813 | } |
8914 | 8814 | ||
8915 | -/** @description response type for getServiceInvoiceListInvoiceProject */ | ||
8916 | -export interface GetServiceInvoiceListInvoiceProjectResponse { | 8815 | +/** @description response type for postResearchGroupMemberRequestsEdit */ |
8816 | +export interface PostResearchGroupMemberRequestsEditResponse { | ||
8917 | /** | 8817 | /** |
8918 | * @description | 8818 | * @description |
8919 | * OK | 8819 | * OK |
8920 | */ | 8820 | */ |
8921 | - 200: any; | 8821 | + 200: ServerResult; |
8822 | + /** | ||
8823 | + * @description | ||
8824 | + * Created | ||
8825 | + */ | ||
8826 | + 201: any; | ||
8922 | /** | 8827 | /** |
8923 | * @description | 8828 | * @description |
8924 | * Unauthorized | 8829 | * Unauthorized |
@@ -8936,24 +8841,25 @@ export interface GetServiceInvoiceListInvoiceProjectResponse { | @@ -8936,24 +8841,25 @@ export interface GetServiceInvoiceListInvoiceProjectResponse { | ||
8936 | 404: any; | 8841 | 404: any; |
8937 | } | 8842 | } |
8938 | 8843 | ||
8939 | -export type GetServiceInvoiceListInvoiceProjectResponseSuccess = | ||
8940 | - GetServiceInvoiceListInvoiceProjectResponse[200]; | 8844 | +export type PostResearchGroupMemberRequestsEditResponseSuccess = |
8845 | + PostResearchGroupMemberRequestsEditResponse[200]; | ||
8941 | /** | 8846 | /** |
8942 | * @description | 8847 | * @description |
8943 | - * invoiceProjectList | ||
8944 | - * @tags 发票 | 8848 | + * 编辑申请信息 |
8849 | + * @tags research-group-member-requests-controller | ||
8945 | * @produces * | 8850 | * @produces * |
8851 | + * @consumes application/json | ||
8946 | */ | 8852 | */ |
8947 | -export const getServiceInvoiceListInvoiceProject = /* #__PURE__ */ (() => { | ||
8948 | - const method = 'get'; | ||
8949 | - const url = '/service/invoice/ListInvoiceProject'; | 8853 | +export const postResearchGroupMemberRequestsEdit = /* #__PURE__ */ (() => { |
8854 | + const method = 'post'; | ||
8855 | + const url = '/research/group/member/requests/edit'; | ||
8950 | function request( | 8856 | function request( |
8951 | - option?: GetServiceInvoiceListInvoiceProjectOption, | ||
8952 | - ): Promise<GetServiceInvoiceListInvoiceProjectResponseSuccess> { | 8857 | + option: PostResearchGroupMemberRequestsEditOption, |
8858 | + ): Promise<PostResearchGroupMemberRequestsEditResponseSuccess> { | ||
8953 | return requester(request.url, { | 8859 | return requester(request.url, { |
8954 | method: request.method, | 8860 | method: request.method, |
8955 | ...option, | 8861 | ...option, |
8956 | - }) as unknown as Promise<GetServiceInvoiceListInvoiceProjectResponseSuccess>; | 8862 | + }) as unknown as Promise<PostResearchGroupMemberRequestsEditResponseSuccess>; |
8957 | } | 8863 | } |
8958 | 8864 | ||
8959 | /** http method */ | 8865 | /** http method */ |
@@ -8963,22 +8869,22 @@ export const getServiceInvoiceListInvoiceProject = /* #__PURE__ */ (() => { | @@ -8963,22 +8869,22 @@ export const getServiceInvoiceListInvoiceProject = /* #__PURE__ */ (() => { | ||
8963 | return request; | 8869 | return request; |
8964 | })(); | 8870 | })(); |
8965 | 8871 | ||
8966 | -/** @description request parameter type for postServiceInvoiceAddInvoice */ | ||
8967 | -export interface PostServiceInvoiceAddInvoiceOption { | 8872 | +/** @description request parameter type for postResearchGroupMemberRequestsList */ |
8873 | +export interface PostResearchGroupMemberRequestsListOption { | ||
8968 | /** | 8874 | /** |
8969 | * @description | 8875 | * @description |
8970 | - * dto | 8876 | + * request |
8971 | */ | 8877 | */ |
8972 | body: { | 8878 | body: { |
8973 | /** | 8879 | /** |
8974 | @description | 8880 | @description |
8975 | - dto */ | ||
8976 | - dto: InvoiceDto; | 8881 | + request */ |
8882 | + request: ResearchGroupMemberRequestsRequest; | ||
8977 | }; | 8883 | }; |
8978 | } | 8884 | } |
8979 | 8885 | ||
8980 | -/** @description response type for postServiceInvoiceAddInvoice */ | ||
8981 | -export interface PostServiceInvoiceAddInvoiceResponse { | 8886 | +/** @description response type for postResearchGroupMemberRequestsList */ |
8887 | +export interface PostResearchGroupMemberRequestsListResponse { | ||
8982 | /** | 8888 | /** |
8983 | * @description | 8889 | * @description |
8984 | * OK | 8890 | * OK |
@@ -9006,25 +8912,25 @@ export interface PostServiceInvoiceAddInvoiceResponse { | @@ -9006,25 +8912,25 @@ export interface PostServiceInvoiceAddInvoiceResponse { | ||
9006 | 404: any; | 8912 | 404: any; |
9007 | } | 8913 | } |
9008 | 8914 | ||
9009 | -export type PostServiceInvoiceAddInvoiceResponseSuccess = | ||
9010 | - PostServiceInvoiceAddInvoiceResponse[200]; | 8915 | +export type PostResearchGroupMemberRequestsListResponseSuccess = |
8916 | + PostResearchGroupMemberRequestsListResponse[200]; | ||
9011 | /** | 8917 | /** |
9012 | * @description | 8918 | * @description |
9013 | - * 添加发票 | ||
9014 | - * @tags 发票 | 8919 | + * 申请列表 |
8920 | + * @tags research-group-member-requests-controller | ||
9015 | * @produces * | 8921 | * @produces * |
9016 | * @consumes application/json | 8922 | * @consumes application/json |
9017 | */ | 8923 | */ |
9018 | -export const postServiceInvoiceAddInvoice = /* #__PURE__ */ (() => { | 8924 | +export const postResearchGroupMemberRequestsList = /* #__PURE__ */ (() => { |
9019 | const method = 'post'; | 8925 | const method = 'post'; |
9020 | - const url = '/service/invoice/addInvoice'; | 8926 | + const url = '/research/group/member/requests/list'; |
9021 | function request( | 8927 | function request( |
9022 | - option: PostServiceInvoiceAddInvoiceOption, | ||
9023 | - ): Promise<PostServiceInvoiceAddInvoiceResponseSuccess> { | 8928 | + option: PostResearchGroupMemberRequestsListOption, |
8929 | + ): Promise<PostResearchGroupMemberRequestsListResponseSuccess> { | ||
9024 | return requester(request.url, { | 8930 | return requester(request.url, { |
9025 | method: request.method, | 8931 | method: request.method, |
9026 | ...option, | 8932 | ...option, |
9027 | - }) as unknown as Promise<PostServiceInvoiceAddInvoiceResponseSuccess>; | 8933 | + }) as unknown as Promise<PostResearchGroupMemberRequestsListResponseSuccess>; |
9028 | } | 8934 | } |
9029 | 8935 | ||
9030 | /** http method */ | 8936 | /** http method */ |
@@ -9034,22 +8940,22 @@ export const postServiceInvoiceAddInvoice = /* #__PURE__ */ (() => { | @@ -9034,22 +8940,22 @@ export const postServiceInvoiceAddInvoice = /* #__PURE__ */ (() => { | ||
9034 | return request; | 8940 | return request; |
9035 | })(); | 8941 | })(); |
9036 | 8942 | ||
9037 | -/** @description request parameter type for postServiceInvoiceApplyInvoice */ | ||
9038 | -export interface PostServiceInvoiceApplyInvoiceOption { | 8943 | +/** @description request parameter type for postResearchGroupsAdd */ |
8944 | +export interface PostResearchGroupsAddOption { | ||
9039 | /** | 8945 | /** |
9040 | * @description | 8946 | * @description |
9041 | - * dto | 8947 | + * request |
9042 | */ | 8948 | */ |
9043 | body: { | 8949 | body: { |
9044 | /** | 8950 | /** |
9045 | @description | 8951 | @description |
9046 | - dto */ | ||
9047 | - dto: ApplyInvoiceDto; | 8952 | + request */ |
8953 | + request: ResearchGroupAddRequest; | ||
9048 | }; | 8954 | }; |
9049 | } | 8955 | } |
9050 | 8956 | ||
9051 | -/** @description response type for postServiceInvoiceApplyInvoice */ | ||
9052 | -export interface PostServiceInvoiceApplyInvoiceResponse { | 8957 | +/** @description response type for postResearchGroupsAdd */ |
8958 | +export interface PostResearchGroupsAddResponse { | ||
9053 | /** | 8959 | /** |
9054 | * @description | 8960 | * @description |
9055 | * OK | 8961 | * OK |
@@ -9077,25 +8983,25 @@ export interface PostServiceInvoiceApplyInvoiceResponse { | @@ -9077,25 +8983,25 @@ export interface PostServiceInvoiceApplyInvoiceResponse { | ||
9077 | 404: any; | 8983 | 404: any; |
9078 | } | 8984 | } |
9079 | 8985 | ||
9080 | -export type PostServiceInvoiceApplyInvoiceResponseSuccess = | ||
9081 | - PostServiceInvoiceApplyInvoiceResponse[200]; | 8986 | +export type PostResearchGroupsAddResponseSuccess = |
8987 | + PostResearchGroupsAddResponse[200]; | ||
9082 | /** | 8988 | /** |
9083 | * @description | 8989 | * @description |
9084 | - * 申请开票 | ||
9085 | - * @tags 发票 | 8990 | + * 新增课题组信息 |
8991 | + * @tags research-groups-controller | ||
9086 | * @produces * | 8992 | * @produces * |
9087 | * @consumes application/json | 8993 | * @consumes application/json |
9088 | */ | 8994 | */ |
9089 | -export const postServiceInvoiceApplyInvoice = /* #__PURE__ */ (() => { | 8995 | +export const postResearchGroupsAdd = /* #__PURE__ */ (() => { |
9090 | const method = 'post'; | 8996 | const method = 'post'; |
9091 | - const url = '/service/invoice/applyInvoice'; | 8997 | + const url = '/research/groups/add'; |
9092 | function request( | 8998 | function request( |
9093 | - option: PostServiceInvoiceApplyInvoiceOption, | ||
9094 | - ): Promise<PostServiceInvoiceApplyInvoiceResponseSuccess> { | 8999 | + option: PostResearchGroupsAddOption, |
9000 | + ): Promise<PostResearchGroupsAddResponseSuccess> { | ||
9095 | return requester(request.url, { | 9001 | return requester(request.url, { |
9096 | method: request.method, | 9002 | method: request.method, |
9097 | ...option, | 9003 | ...option, |
9098 | - }) as unknown as Promise<PostServiceInvoiceApplyInvoiceResponseSuccess>; | 9004 | + }) as unknown as Promise<PostResearchGroupsAddResponseSuccess>; |
9099 | } | 9005 | } |
9100 | 9006 | ||
9101 | /** http method */ | 9007 | /** http method */ |
@@ -9105,22 +9011,22 @@ export const postServiceInvoiceApplyInvoice = /* #__PURE__ */ (() => { | @@ -9105,22 +9011,22 @@ export const postServiceInvoiceApplyInvoice = /* #__PURE__ */ (() => { | ||
9105 | return request; | 9011 | return request; |
9106 | })(); | 9012 | })(); |
9107 | 9013 | ||
9108 | -/** @description request parameter type for postServiceInvoiceCancelApply */ | ||
9109 | -export interface PostServiceInvoiceCancelApplyOption { | 9014 | +/** @description request parameter type for postResearchGroupsDelete */ |
9015 | +export interface PostResearchGroupsDeleteOption { | ||
9110 | /** | 9016 | /** |
9111 | * @description | 9017 | * @description |
9112 | - * dto | 9018 | + * request |
9113 | */ | 9019 | */ |
9114 | body: { | 9020 | body: { |
9115 | /** | 9021 | /** |
9116 | @description | 9022 | @description |
9117 | - dto */ | ||
9118 | - dto: Dto; | 9023 | + request */ |
9024 | + request: ResearchGroupDeleteRequest; | ||
9119 | }; | 9025 | }; |
9120 | } | 9026 | } |
9121 | 9027 | ||
9122 | -/** @description response type for postServiceInvoiceCancelApply */ | ||
9123 | -export interface PostServiceInvoiceCancelApplyResponse { | 9028 | +/** @description response type for postResearchGroupsDelete */ |
9029 | +export interface PostResearchGroupsDeleteResponse { | ||
9124 | /** | 9030 | /** |
9125 | * @description | 9031 | * @description |
9126 | * OK | 9032 | * OK |
@@ -9148,25 +9054,25 @@ export interface PostServiceInvoiceCancelApplyResponse { | @@ -9148,25 +9054,25 @@ export interface PostServiceInvoiceCancelApplyResponse { | ||
9148 | 404: any; | 9054 | 404: any; |
9149 | } | 9055 | } |
9150 | 9056 | ||
9151 | -export type PostServiceInvoiceCancelApplyResponseSuccess = | ||
9152 | - PostServiceInvoiceCancelApplyResponse[200]; | 9057 | +export type PostResearchGroupsDeleteResponseSuccess = |
9058 | + PostResearchGroupsDeleteResponse[200]; | ||
9153 | /** | 9059 | /** |
9154 | * @description | 9060 | * @description |
9155 | - * 取消申请 | ||
9156 | - * @tags 发票 | 9061 | + * 删除课题组信息 |
9062 | + * @tags research-groups-controller | ||
9157 | * @produces * | 9063 | * @produces * |
9158 | * @consumes application/json | 9064 | * @consumes application/json |
9159 | */ | 9065 | */ |
9160 | -export const postServiceInvoiceCancelApply = /* #__PURE__ */ (() => { | 9066 | +export const postResearchGroupsDelete = /* #__PURE__ */ (() => { |
9161 | const method = 'post'; | 9067 | const method = 'post'; |
9162 | - const url = '/service/invoice/cancelApply'; | 9068 | + const url = '/research/groups/delete'; |
9163 | function request( | 9069 | function request( |
9164 | - option: PostServiceInvoiceCancelApplyOption, | ||
9165 | - ): Promise<PostServiceInvoiceCancelApplyResponseSuccess> { | 9070 | + option: PostResearchGroupsDeleteOption, |
9071 | + ): Promise<PostResearchGroupsDeleteResponseSuccess> { | ||
9166 | return requester(request.url, { | 9072 | return requester(request.url, { |
9167 | method: request.method, | 9073 | method: request.method, |
9168 | ...option, | 9074 | ...option, |
9169 | - }) as unknown as Promise<PostServiceInvoiceCancelApplyResponseSuccess>; | 9075 | + }) as unknown as Promise<PostResearchGroupsDeleteResponseSuccess>; |
9170 | } | 9076 | } |
9171 | 9077 | ||
9172 | /** http method */ | 9078 | /** http method */ |
@@ -9176,22 +9082,22 @@ export const postServiceInvoiceCancelApply = /* #__PURE__ */ (() => { | @@ -9176,22 +9082,22 @@ export const postServiceInvoiceCancelApply = /* #__PURE__ */ (() => { | ||
9176 | return request; | 9082 | return request; |
9177 | })(); | 9083 | })(); |
9178 | 9084 | ||
9179 | -/** @description request parameter type for postServiceInvoiceCancelInvoiceAndBankStatement */ | ||
9180 | -export interface PostServiceInvoiceCancelInvoiceAndBankStatementOption { | 9085 | +/** @description request parameter type for postResearchGroupsDetail */ |
9086 | +export interface PostResearchGroupsDetailOption { | ||
9181 | /** | 9087 | /** |
9182 | * @description | 9088 | * @description |
9183 | - * dto | 9089 | + * request |
9184 | */ | 9090 | */ |
9185 | body: { | 9091 | body: { |
9186 | /** | 9092 | /** |
9187 | @description | 9093 | @description |
9188 | - dto */ | ||
9189 | - dto: CancelInvoiceAndBankStatementDto; | 9094 | + request */ |
9095 | + request: ResearchGroupDetailRequest; | ||
9190 | }; | 9096 | }; |
9191 | } | 9097 | } |
9192 | 9098 | ||
9193 | -/** @description response type for postServiceInvoiceCancelInvoiceAndBankStatement */ | ||
9194 | -export interface PostServiceInvoiceCancelInvoiceAndBankStatementResponse { | 9099 | +/** @description response type for postResearchGroupsDetail */ |
9100 | +export interface PostResearchGroupsDetailResponse { | ||
9195 | /** | 9101 | /** |
9196 | * @description | 9102 | * @description |
9197 | * OK | 9103 | * OK |
@@ -9219,56 +9125,41 @@ export interface PostServiceInvoiceCancelInvoiceAndBankStatementResponse { | @@ -9219,56 +9125,41 @@ export interface PostServiceInvoiceCancelInvoiceAndBankStatementResponse { | ||
9219 | 404: any; | 9125 | 404: any; |
9220 | } | 9126 | } |
9221 | 9127 | ||
9222 | -export type PostServiceInvoiceCancelInvoiceAndBankStatementResponseSuccess = | ||
9223 | - PostServiceInvoiceCancelInvoiceAndBankStatementResponse[200]; | 9128 | +export type PostResearchGroupsDetailResponseSuccess = |
9129 | + PostResearchGroupsDetailResponse[200]; | ||
9224 | /** | 9130 | /** |
9225 | * @description | 9131 | * @description |
9226 | - * 取消发票与银行流水的关联 | ||
9227 | - * @tags 发票 | 9132 | + * 查询课题组信息 |
9133 | + * @tags research-groups-controller | ||
9228 | * @produces * | 9134 | * @produces * |
9229 | * @consumes application/json | 9135 | * @consumes application/json |
9230 | */ | 9136 | */ |
9231 | -export const postServiceInvoiceCancelInvoiceAndBankStatement = | ||
9232 | - /* #__PURE__ */ (() => { | ||
9233 | - const method = 'post'; | ||
9234 | - const url = '/service/invoice/cancelInvoiceAndBankStatement'; | ||
9235 | - function request( | ||
9236 | - option: PostServiceInvoiceCancelInvoiceAndBankStatementOption, | ||
9237 | - ): Promise<PostServiceInvoiceCancelInvoiceAndBankStatementResponseSuccess> { | ||
9238 | - return requester(request.url, { | ||
9239 | - method: request.method, | ||
9240 | - ...option, | ||
9241 | - }) as unknown as Promise<PostServiceInvoiceCancelInvoiceAndBankStatementResponseSuccess>; | ||
9242 | - } | ||
9243 | - | ||
9244 | - /** http method */ | ||
9245 | - request.method = method; | ||
9246 | - /** request url */ | ||
9247 | - request.url = url; | ||
9248 | - return request; | ||
9249 | - })(); | 9137 | +export const postResearchGroupsDetail = /* #__PURE__ */ (() => { |
9138 | + const method = 'post'; | ||
9139 | + const url = '/research/groups/detail'; | ||
9140 | + function request( | ||
9141 | + option: PostResearchGroupsDetailOption, | ||
9142 | + ): Promise<PostResearchGroupsDetailResponseSuccess> { | ||
9143 | + return requester(request.url, { | ||
9144 | + method: request.method, | ||
9145 | + ...option, | ||
9146 | + }) as unknown as Promise<PostResearchGroupsDetailResponseSuccess>; | ||
9147 | + } | ||
9250 | 9148 | ||
9251 | -/** @description request parameter type for postServiceInvoiceDealInvoicingResult */ | ||
9252 | -export interface PostServiceInvoiceDealInvoicingResultOption { | ||
9253 | - /** | ||
9254 | - * @description | ||
9255 | - * dto | ||
9256 | - */ | ||
9257 | - body: { | ||
9258 | - /** | ||
9259 | - @description | ||
9260 | - dto */ | ||
9261 | - dto: Dto; | ||
9262 | - }; | ||
9263 | -} | 9149 | + /** http method */ |
9150 | + request.method = method; | ||
9151 | + /** request url */ | ||
9152 | + request.url = url; | ||
9153 | + return request; | ||
9154 | +})(); | ||
9264 | 9155 | ||
9265 | -/** @description response type for postServiceInvoiceDealInvoicingResult */ | ||
9266 | -export interface PostServiceInvoiceDealInvoicingResultResponse { | 9156 | +/** @description response type for postResearchGroupsDownloadImportTemplate */ |
9157 | +export interface PostResearchGroupsDownloadImportTemplateResponse { | ||
9267 | /** | 9158 | /** |
9268 | * @description | 9159 | * @description |
9269 | * OK | 9160 | * OK |
9270 | */ | 9161 | */ |
9271 | - 200: ServerResult; | 9162 | + 200: any; |
9272 | /** | 9163 | /** |
9273 | * @description | 9164 | * @description |
9274 | * Created | 9165 | * Created |
@@ -9291,25 +9182,22 @@ export interface PostServiceInvoiceDealInvoicingResultResponse { | @@ -9291,25 +9182,22 @@ export interface PostServiceInvoiceDealInvoicingResultResponse { | ||
9291 | 404: any; | 9182 | 404: any; |
9292 | } | 9183 | } |
9293 | 9184 | ||
9294 | -export type PostServiceInvoiceDealInvoicingResultResponseSuccess = | ||
9295 | - PostServiceInvoiceDealInvoicingResultResponse[200]; | 9185 | +export type PostResearchGroupsDownloadImportTemplateResponseSuccess = |
9186 | + PostResearchGroupsDownloadImportTemplateResponse[200]; | ||
9296 | /** | 9187 | /** |
9297 | * @description | 9188 | * @description |
9298 | - * 拉取开票结果 | ||
9299 | - * @tags 发票 | 9189 | + * 课题组导入模板下载 |
9190 | + * @tags research-groups-controller | ||
9300 | * @produces * | 9191 | * @produces * |
9301 | * @consumes application/json | 9192 | * @consumes application/json |
9302 | */ | 9193 | */ |
9303 | -export const postServiceInvoiceDealInvoicingResult = /* #__PURE__ */ (() => { | 9194 | +export const postResearchGroupsDownloadImportTemplate = /* #__PURE__ */ (() => { |
9304 | const method = 'post'; | 9195 | const method = 'post'; |
9305 | - const url = '/service/invoice/dealInvoicingResult'; | ||
9306 | - function request( | ||
9307 | - option: PostServiceInvoiceDealInvoicingResultOption, | ||
9308 | - ): Promise<PostServiceInvoiceDealInvoicingResultResponseSuccess> { | 9196 | + const url = '/research/groups/download/importTemplate'; |
9197 | + function request(): Promise<PostResearchGroupsDownloadImportTemplateResponseSuccess> { | ||
9309 | return requester(request.url, { | 9198 | return requester(request.url, { |
9310 | method: request.method, | 9199 | method: request.method, |
9311 | - ...option, | ||
9312 | - }) as unknown as Promise<PostServiceInvoiceDealInvoicingResultResponseSuccess>; | 9200 | + }) as unknown as Promise<PostResearchGroupsDownloadImportTemplateResponseSuccess>; |
9313 | } | 9201 | } |
9314 | 9202 | ||
9315 | /** http method */ | 9203 | /** http method */ |
@@ -9319,22 +9207,22 @@ export const postServiceInvoiceDealInvoicingResult = /* #__PURE__ */ (() => { | @@ -9319,22 +9207,22 @@ export const postServiceInvoiceDealInvoicingResult = /* #__PURE__ */ (() => { | ||
9319 | return request; | 9207 | return request; |
9320 | })(); | 9208 | })(); |
9321 | 9209 | ||
9322 | -/** @description request parameter type for postServiceInvoiceDeleteInvoice */ | ||
9323 | -export interface PostServiceInvoiceDeleteInvoiceOption { | 9210 | +/** @description request parameter type for postResearchGroupsEdit */ |
9211 | +export interface PostResearchGroupsEditOption { | ||
9324 | /** | 9212 | /** |
9325 | * @description | 9213 | * @description |
9326 | - * dto | 9214 | + * request |
9327 | */ | 9215 | */ |
9328 | body: { | 9216 | body: { |
9329 | /** | 9217 | /** |
9330 | @description | 9218 | @description |
9331 | - dto */ | ||
9332 | - dto: Dto; | 9219 | + request */ |
9220 | + request: ResearchGroupEditRequest; | ||
9333 | }; | 9221 | }; |
9334 | } | 9222 | } |
9335 | 9223 | ||
9336 | -/** @description response type for postServiceInvoiceDeleteInvoice */ | ||
9337 | -export interface PostServiceInvoiceDeleteInvoiceResponse { | 9224 | +/** @description response type for postResearchGroupsEdit */ |
9225 | +export interface PostResearchGroupsEditResponse { | ||
9338 | /** | 9226 | /** |
9339 | * @description | 9227 | * @description |
9340 | * OK | 9228 | * OK |
@@ -9362,25 +9250,25 @@ export interface PostServiceInvoiceDeleteInvoiceResponse { | @@ -9362,25 +9250,25 @@ export interface PostServiceInvoiceDeleteInvoiceResponse { | ||
9362 | 404: any; | 9250 | 404: any; |
9363 | } | 9251 | } |
9364 | 9252 | ||
9365 | -export type PostServiceInvoiceDeleteInvoiceResponseSuccess = | ||
9366 | - PostServiceInvoiceDeleteInvoiceResponse[200]; | 9253 | +export type PostResearchGroupsEditResponseSuccess = |
9254 | + PostResearchGroupsEditResponse[200]; | ||
9367 | /** | 9255 | /** |
9368 | * @description | 9256 | * @description |
9369 | - * 删除发票 | ||
9370 | - * @tags 发票 | 9257 | + * 编辑课题组信息 |
9258 | + * @tags research-groups-controller | ||
9371 | * @produces * | 9259 | * @produces * |
9372 | * @consumes application/json | 9260 | * @consumes application/json |
9373 | */ | 9261 | */ |
9374 | -export const postServiceInvoiceDeleteInvoice = /* #__PURE__ */ (() => { | 9262 | +export const postResearchGroupsEdit = /* #__PURE__ */ (() => { |
9375 | const method = 'post'; | 9263 | const method = 'post'; |
9376 | - const url = '/service/invoice/deleteInvoice'; | 9264 | + const url = '/research/groups/edit'; |
9377 | function request( | 9265 | function request( |
9378 | - option: PostServiceInvoiceDeleteInvoiceOption, | ||
9379 | - ): Promise<PostServiceInvoiceDeleteInvoiceResponseSuccess> { | 9266 | + option: PostResearchGroupsEditOption, |
9267 | + ): Promise<PostResearchGroupsEditResponseSuccess> { | ||
9380 | return requester(request.url, { | 9268 | return requester(request.url, { |
9381 | method: request.method, | 9269 | method: request.method, |
9382 | ...option, | 9270 | ...option, |
9383 | - }) as unknown as Promise<PostServiceInvoiceDeleteInvoiceResponseSuccess>; | 9271 | + }) as unknown as Promise<PostResearchGroupsEditResponseSuccess>; |
9384 | } | 9272 | } |
9385 | 9273 | ||
9386 | /** http method */ | 9274 | /** http method */ |
@@ -9390,24 +9278,22 @@ export const postServiceInvoiceDeleteInvoice = /* #__PURE__ */ (() => { | @@ -9390,24 +9278,22 @@ export const postServiceInvoiceDeleteInvoice = /* #__PURE__ */ (() => { | ||
9390 | return request; | 9278 | return request; |
9391 | })(); | 9279 | })(); |
9392 | 9280 | ||
9393 | -/** @description request parameter type for postServiceInvoiceDownloadInvoice */ | ||
9394 | -export interface PostServiceInvoiceDownloadInvoiceOption { | 9281 | +/** @description request parameter type for postResearchGroupsImport */ |
9282 | +export interface PostResearchGroupsImportOption { | ||
9395 | /** | 9283 | /** |
9396 | * @description | 9284 | * @description |
9397 | - * recodId | ||
9398 | - * @format int64 | 9285 | + * file |
9399 | */ | 9286 | */ |
9400 | - query?: { | 9287 | + formData: { |
9401 | /** | 9288 | /** |
9402 | @description | 9289 | @description |
9403 | - recodId | ||
9404 | - @format int64 */ | ||
9405 | - recodId?: number; | 9290 | + file */ |
9291 | + file: File; | ||
9406 | }; | 9292 | }; |
9407 | } | 9293 | } |
9408 | 9294 | ||
9409 | -/** @description response type for postServiceInvoiceDownloadInvoice */ | ||
9410 | -export interface PostServiceInvoiceDownloadInvoiceResponse { | 9295 | +/** @description response type for postResearchGroupsImport */ |
9296 | +export interface PostResearchGroupsImportResponse { | ||
9411 | /** | 9297 | /** |
9412 | * @description | 9298 | * @description |
9413 | * OK | 9299 | * OK |
@@ -9435,25 +9321,25 @@ export interface PostServiceInvoiceDownloadInvoiceResponse { | @@ -9435,25 +9321,25 @@ export interface PostServiceInvoiceDownloadInvoiceResponse { | ||
9435 | 404: any; | 9321 | 404: any; |
9436 | } | 9322 | } |
9437 | 9323 | ||
9438 | -export type PostServiceInvoiceDownloadInvoiceResponseSuccess = | ||
9439 | - PostServiceInvoiceDownloadInvoiceResponse[200]; | 9324 | +export type PostResearchGroupsImportResponseSuccess = |
9325 | + PostResearchGroupsImportResponse[200]; | ||
9440 | /** | 9326 | /** |
9441 | * @description | 9327 | * @description |
9442 | - * 下载开票 | ||
9443 | - * @tags 发票 | 9328 | + * 课题组信息导入 |
9329 | + * @tags research-groups-controller | ||
9444 | * @produces * | 9330 | * @produces * |
9445 | - * @consumes application/json | 9331 | + * @consumes multipart/form-data |
9446 | */ | 9332 | */ |
9447 | -export const postServiceInvoiceDownloadInvoice = /* #__PURE__ */ (() => { | 9333 | +export const postResearchGroupsImport = /* #__PURE__ */ (() => { |
9448 | const method = 'post'; | 9334 | const method = 'post'; |
9449 | - const url = '/service/invoice/downloadInvoice'; | 9335 | + const url = '/research/groups/import'; |
9450 | function request( | 9336 | function request( |
9451 | - option?: PostServiceInvoiceDownloadInvoiceOption, | ||
9452 | - ): Promise<PostServiceInvoiceDownloadInvoiceResponseSuccess> { | 9337 | + option: PostResearchGroupsImportOption, |
9338 | + ): Promise<PostResearchGroupsImportResponseSuccess> { | ||
9453 | return requester(request.url, { | 9339 | return requester(request.url, { |
9454 | method: request.method, | 9340 | method: request.method, |
9455 | ...option, | 9341 | ...option, |
9456 | - }) as unknown as Promise<PostServiceInvoiceDownloadInvoiceResponseSuccess>; | 9342 | + }) as unknown as Promise<PostResearchGroupsImportResponseSuccess>; |
9457 | } | 9343 | } |
9458 | 9344 | ||
9459 | /** http method */ | 9345 | /** http method */ |
@@ -9463,13 +9349,32 @@ export const postServiceInvoiceDownloadInvoice = /* #__PURE__ */ (() => { | @@ -9463,13 +9349,32 @@ export const postServiceInvoiceDownloadInvoice = /* #__PURE__ */ (() => { | ||
9463 | return request; | 9349 | return request; |
9464 | })(); | 9350 | })(); |
9465 | 9351 | ||
9466 | -/** @description response type for getServiceInvoiceExport */ | ||
9467 | -export interface GetServiceInvoiceExportResponse { | 9352 | +/** @description request parameter type for postResearchGroupsList */ |
9353 | +export interface PostResearchGroupsListOption { | ||
9354 | + /** | ||
9355 | + * @description | ||
9356 | + * request | ||
9357 | + */ | ||
9358 | + body: { | ||
9359 | + /** | ||
9360 | + @description | ||
9361 | + request */ | ||
9362 | + request: ResearchGroupListRequest; | ||
9363 | + }; | ||
9364 | +} | ||
9365 | + | ||
9366 | +/** @description response type for postResearchGroupsList */ | ||
9367 | +export interface PostResearchGroupsListResponse { | ||
9468 | /** | 9368 | /** |
9469 | * @description | 9369 | * @description |
9470 | * OK | 9370 | * OK |
9471 | */ | 9371 | */ |
9472 | - 200: any; | 9372 | + 200: ServerResult; |
9373 | + /** | ||
9374 | + * @description | ||
9375 | + * Created | ||
9376 | + */ | ||
9377 | + 201: any; | ||
9473 | /** | 9378 | /** |
9474 | * @description | 9379 | * @description |
9475 | * Unauthorized | 9380 | * Unauthorized |
@@ -9487,21 +9392,25 @@ export interface GetServiceInvoiceExportResponse { | @@ -9487,21 +9392,25 @@ export interface GetServiceInvoiceExportResponse { | ||
9487 | 404: any; | 9392 | 404: any; |
9488 | } | 9393 | } |
9489 | 9394 | ||
9490 | -export type GetServiceInvoiceExportResponseSuccess = | ||
9491 | - GetServiceInvoiceExportResponse[200]; | 9395 | +export type PostResearchGroupsListResponseSuccess = |
9396 | + PostResearchGroupsListResponse[200]; | ||
9492 | /** | 9397 | /** |
9493 | * @description | 9398 | * @description |
9494 | - * download | ||
9495 | - * @tags 发票 | 9399 | + * 课题组列表 |
9400 | + * @tags research-groups-controller | ||
9496 | * @produces * | 9401 | * @produces * |
9402 | + * @consumes application/json | ||
9497 | */ | 9403 | */ |
9498 | -export const getServiceInvoiceExport = /* #__PURE__ */ (() => { | ||
9499 | - const method = 'get'; | ||
9500 | - const url = '/service/invoice/export'; | ||
9501 | - function request(): Promise<GetServiceInvoiceExportResponseSuccess> { | 9404 | +export const postResearchGroupsList = /* #__PURE__ */ (() => { |
9405 | + const method = 'post'; | ||
9406 | + const url = '/research/groups/list'; | ||
9407 | + function request( | ||
9408 | + option: PostResearchGroupsListOption, | ||
9409 | + ): Promise<PostResearchGroupsListResponseSuccess> { | ||
9502 | return requester(request.url, { | 9410 | return requester(request.url, { |
9503 | method: request.method, | 9411 | method: request.method, |
9504 | - }) as unknown as Promise<GetServiceInvoiceExportResponseSuccess>; | 9412 | + ...option, |
9413 | + }) as unknown as Promise<PostResearchGroupsListResponseSuccess>; | ||
9505 | } | 9414 | } |
9506 | 9415 | ||
9507 | /** http method */ | 9416 | /** http method */ |
@@ -9511,13 +9420,32 @@ export const getServiceInvoiceExport = /* #__PURE__ */ (() => { | @@ -9511,13 +9420,32 @@ export const getServiceInvoiceExport = /* #__PURE__ */ (() => { | ||
9511 | return request; | 9420 | return request; |
9512 | })(); | 9421 | })(); |
9513 | 9422 | ||
9514 | -/** @description response type for getServiceInvoiceExportInvoiceDetailsTemplate */ | ||
9515 | -export interface GetServiceInvoiceExportInvoiceDetailsTemplateResponse { | 9423 | +/** @description request parameter type for postServiceBankStatementDeleteBankStatement */ |
9424 | +export interface PostServiceBankStatementDeleteBankStatementOption { | ||
9425 | + /** | ||
9426 | + * @description | ||
9427 | + * dto | ||
9428 | + */ | ||
9429 | + body: { | ||
9430 | + /** | ||
9431 | + @description | ||
9432 | + dto */ | ||
9433 | + dto: Dto; | ||
9434 | + }; | ||
9435 | +} | ||
9436 | + | ||
9437 | +/** @description response type for postServiceBankStatementDeleteBankStatement */ | ||
9438 | +export interface PostServiceBankStatementDeleteBankStatementResponse { | ||
9516 | /** | 9439 | /** |
9517 | * @description | 9440 | * @description |
9518 | * OK | 9441 | * OK |
9519 | */ | 9442 | */ |
9520 | - 200: any; | 9443 | + 200: ServerResult; |
9444 | + /** | ||
9445 | + * @description | ||
9446 | + * Created | ||
9447 | + */ | ||
9448 | + 201: any; | ||
9521 | /** | 9449 | /** |
9522 | * @description | 9450 | * @description |
9523 | * Unauthorized | 9451 | * Unauthorized |
@@ -9535,22 +9463,26 @@ export interface GetServiceInvoiceExportInvoiceDetailsTemplateResponse { | @@ -9535,22 +9463,26 @@ export interface GetServiceInvoiceExportInvoiceDetailsTemplateResponse { | ||
9535 | 404: any; | 9463 | 404: any; |
9536 | } | 9464 | } |
9537 | 9465 | ||
9538 | -export type GetServiceInvoiceExportInvoiceDetailsTemplateResponseSuccess = | ||
9539 | - GetServiceInvoiceExportInvoiceDetailsTemplateResponse[200]; | 9466 | +export type PostServiceBankStatementDeleteBankStatementResponseSuccess = |
9467 | + PostServiceBankStatementDeleteBankStatementResponse[200]; | ||
9540 | /** | 9468 | /** |
9541 | * @description | 9469 | * @description |
9542 | - * 导出发票明细模板 | ||
9543 | - * @tags 发票 | 9470 | + * 删除银行流水 |
9471 | + * @tags 银行流水 | ||
9544 | * @produces * | 9472 | * @produces * |
9473 | + * @consumes application/json | ||
9545 | */ | 9474 | */ |
9546 | -export const getServiceInvoiceExportInvoiceDetailsTemplate = | 9475 | +export const postServiceBankStatementDeleteBankStatement = |
9547 | /* #__PURE__ */ (() => { | 9476 | /* #__PURE__ */ (() => { |
9548 | - const method = 'get'; | ||
9549 | - const url = '/service/invoice/exportInvoiceDetailsTemplate'; | ||
9550 | - function request(): Promise<GetServiceInvoiceExportInvoiceDetailsTemplateResponseSuccess> { | 9477 | + const method = 'post'; |
9478 | + const url = '/service/bankStatement/deleteBankStatement'; | ||
9479 | + function request( | ||
9480 | + option: PostServiceBankStatementDeleteBankStatementOption, | ||
9481 | + ): Promise<PostServiceBankStatementDeleteBankStatementResponseSuccess> { | ||
9551 | return requester(request.url, { | 9482 | return requester(request.url, { |
9552 | method: request.method, | 9483 | method: request.method, |
9553 | - }) as unknown as Promise<GetServiceInvoiceExportInvoiceDetailsTemplateResponseSuccess>; | 9484 | + ...option, |
9485 | + }) as unknown as Promise<PostServiceBankStatementDeleteBankStatementResponseSuccess>; | ||
9554 | } | 9486 | } |
9555 | 9487 | ||
9556 | /** http method */ | 9488 | /** http method */ |
@@ -9560,8 +9492,8 @@ export const getServiceInvoiceExportInvoiceDetailsTemplate = | @@ -9560,8 +9492,8 @@ export const getServiceInvoiceExportInvoiceDetailsTemplate = | ||
9560 | return request; | 9492 | return request; |
9561 | })(); | 9493 | })(); |
9562 | 9494 | ||
9563 | -/** @description request parameter type for postServiceInvoiceFindInvoice */ | ||
9564 | -export interface PostServiceInvoiceFindInvoiceOption { | 9495 | +/** @description request parameter type for postServiceBankStatementEditBankStatement */ |
9496 | +export interface PostServiceBankStatementEditBankStatementOption { | ||
9565 | /** | 9497 | /** |
9566 | * @description | 9498 | * @description |
9567 | * dto | 9499 | * dto |
@@ -9574,8 +9506,8 @@ export interface PostServiceInvoiceFindInvoiceOption { | @@ -9574,8 +9506,8 @@ export interface PostServiceInvoiceFindInvoiceOption { | ||
9574 | }; | 9506 | }; |
9575 | } | 9507 | } |
9576 | 9508 | ||
9577 | -/** @description response type for postServiceInvoiceFindInvoice */ | ||
9578 | -export interface PostServiceInvoiceFindInvoiceResponse { | 9509 | +/** @description response type for postServiceBankStatementEditBankStatement */ |
9510 | +export interface PostServiceBankStatementEditBankStatementResponse { | ||
9579 | /** | 9511 | /** |
9580 | * @description | 9512 | * @description |
9581 | * OK | 9513 | * OK |
@@ -9603,57 +9535,42 @@ export interface PostServiceInvoiceFindInvoiceResponse { | @@ -9603,57 +9535,42 @@ export interface PostServiceInvoiceFindInvoiceResponse { | ||
9603 | 404: any; | 9535 | 404: any; |
9604 | } | 9536 | } |
9605 | 9537 | ||
9606 | -export type PostServiceInvoiceFindInvoiceResponseSuccess = | ||
9607 | - PostServiceInvoiceFindInvoiceResponse[200]; | 9538 | +export type PostServiceBankStatementEditBankStatementResponseSuccess = |
9539 | + PostServiceBankStatementEditBankStatementResponse[200]; | ||
9608 | /** | 9540 | /** |
9609 | * @description | 9541 | * @description |
9610 | - * 不分页查询发票 | ||
9611 | - * @tags 发票 | 9542 | + * 编辑银行流水 |
9543 | + * @tags 银行流水 | ||
9612 | * @produces * | 9544 | * @produces * |
9613 | * @consumes application/json | 9545 | * @consumes application/json |
9614 | */ | 9546 | */ |
9615 | -export const postServiceInvoiceFindInvoice = /* #__PURE__ */ (() => { | ||
9616 | - const method = 'post'; | ||
9617 | - const url = '/service/invoice/findInvoice'; | ||
9618 | - function request( | ||
9619 | - option: PostServiceInvoiceFindInvoiceOption, | ||
9620 | - ): Promise<PostServiceInvoiceFindInvoiceResponseSuccess> { | ||
9621 | - return requester(request.url, { | ||
9622 | - method: request.method, | ||
9623 | - ...option, | ||
9624 | - }) as unknown as Promise<PostServiceInvoiceFindInvoiceResponseSuccess>; | ||
9625 | - } | ||
9626 | - | ||
9627 | - /** http method */ | ||
9628 | - request.method = method; | ||
9629 | - /** request url */ | ||
9630 | - request.url = url; | ||
9631 | - return request; | ||
9632 | -})(); | 9547 | +export const postServiceBankStatementEditBankStatement = |
9548 | + /* #__PURE__ */ (() => { | ||
9549 | + const method = 'post'; | ||
9550 | + const url = '/service/bankStatement/editBankStatement'; | ||
9551 | + function request( | ||
9552 | + option: PostServiceBankStatementEditBankStatementOption, | ||
9553 | + ): Promise<PostServiceBankStatementEditBankStatementResponseSuccess> { | ||
9554 | + return requester(request.url, { | ||
9555 | + method: request.method, | ||
9556 | + ...option, | ||
9557 | + }) as unknown as Promise<PostServiceBankStatementEditBankStatementResponseSuccess>; | ||
9558 | + } | ||
9633 | 9559 | ||
9634 | -/** @description request parameter type for postServiceInvoiceGetInvoiceRecord */ | ||
9635 | -export interface PostServiceInvoiceGetInvoiceRecordOption { | ||
9636 | - /** | ||
9637 | - * @description | ||
9638 | - * id | ||
9639 | - * @format int64 | ||
9640 | - */ | ||
9641 | - query?: { | ||
9642 | - /** | ||
9643 | - @description | ||
9644 | - id | ||
9645 | - @format int64 */ | ||
9646 | - id?: number; | ||
9647 | - }; | ||
9648 | -} | 9560 | + /** http method */ |
9561 | + request.method = method; | ||
9562 | + /** request url */ | ||
9563 | + request.url = url; | ||
9564 | + return request; | ||
9565 | + })(); | ||
9649 | 9566 | ||
9650 | -/** @description response type for postServiceInvoiceGetInvoiceRecord */ | ||
9651 | -export interface PostServiceInvoiceGetInvoiceRecordResponse { | 9567 | +/** @description response type for postServiceBankStatementExportTemplate */ |
9568 | +export interface PostServiceBankStatementExportTemplateResponse { | ||
9652 | /** | 9569 | /** |
9653 | * @description | 9570 | * @description |
9654 | * OK | 9571 | * OK |
9655 | */ | 9572 | */ |
9656 | - 200: ServerResult; | 9573 | + 200: any; |
9657 | /** | 9574 | /** |
9658 | * @description | 9575 | * @description |
9659 | * Created | 9576 | * Created |
@@ -9676,25 +9593,22 @@ export interface PostServiceInvoiceGetInvoiceRecordResponse { | @@ -9676,25 +9593,22 @@ export interface PostServiceInvoiceGetInvoiceRecordResponse { | ||
9676 | 404: any; | 9593 | 404: any; |
9677 | } | 9594 | } |
9678 | 9595 | ||
9679 | -export type PostServiceInvoiceGetInvoiceRecordResponseSuccess = | ||
9680 | - PostServiceInvoiceGetInvoiceRecordResponse[200]; | 9596 | +export type PostServiceBankStatementExportTemplateResponseSuccess = |
9597 | + PostServiceBankStatementExportTemplateResponse[200]; | ||
9681 | /** | 9598 | /** |
9682 | * @description | 9599 | * @description |
9683 | - * 获取开票记录 | ||
9684 | - * @tags 发票 | 9600 | + * 下载银行流水模板 |
9601 | + * @tags 银行流水 | ||
9685 | * @produces * | 9602 | * @produces * |
9686 | * @consumes application/json | 9603 | * @consumes application/json |
9687 | */ | 9604 | */ |
9688 | -export const postServiceInvoiceGetInvoiceRecord = /* #__PURE__ */ (() => { | 9605 | +export const postServiceBankStatementExportTemplate = /* #__PURE__ */ (() => { |
9689 | const method = 'post'; | 9606 | const method = 'post'; |
9690 | - const url = '/service/invoice/getInvoiceRecord'; | ||
9691 | - function request( | ||
9692 | - option?: PostServiceInvoiceGetInvoiceRecordOption, | ||
9693 | - ): Promise<PostServiceInvoiceGetInvoiceRecordResponseSuccess> { | 9607 | + const url = '/service/bankStatement/exportTemplate'; |
9608 | + function request(): Promise<PostServiceBankStatementExportTemplateResponseSuccess> { | ||
9694 | return requester(request.url, { | 9609 | return requester(request.url, { |
9695 | method: request.method, | 9610 | method: request.method, |
9696 | - ...option, | ||
9697 | - }) as unknown as Promise<PostServiceInvoiceGetInvoiceRecordResponseSuccess>; | 9611 | + }) as unknown as Promise<PostServiceBankStatementExportTemplateResponseSuccess>; |
9698 | } | 9612 | } |
9699 | 9613 | ||
9700 | /** http method */ | 9614 | /** http method */ |
@@ -9704,38 +9618,22 @@ export const postServiceInvoiceGetInvoiceRecord = /* #__PURE__ */ (() => { | @@ -9704,38 +9618,22 @@ export const postServiceInvoiceGetInvoiceRecord = /* #__PURE__ */ (() => { | ||
9704 | return request; | 9618 | return request; |
9705 | })(); | 9619 | })(); |
9706 | 9620 | ||
9707 | -/** @description request parameter type for postServiceInvoiceImportInvoiceDetails */ | ||
9708 | -export interface PostServiceInvoiceImportInvoiceDetailsOption { | 9621 | +/** @description request parameter type for postServiceBankStatementImportBankStatementForm */ |
9622 | +export interface PostServiceBankStatementImportBankStatementFormOption { | ||
9709 | /** | 9623 | /** |
9710 | * @description | 9624 | * @description |
9711 | - * detailsExcel | 9625 | + * file |
9712 | */ | 9626 | */ |
9713 | formData: { | 9627 | formData: { |
9714 | /** | 9628 | /** |
9715 | @description | 9629 | @description |
9716 | - detailsExcel */ | ||
9717 | - detailsExcel: File; | ||
9718 | - }; | ||
9719 | -} | ||
9720 | - | ||
9721 | -/** @description request parameter type for postServiceInvoiceImportInvoiceDetails */ | ||
9722 | -export interface PostServiceInvoiceImportInvoiceDetailsOption { | ||
9723 | - /** | ||
9724 | - * @description | ||
9725 | - * invoiceRecordId | ||
9726 | - * @format int64 | ||
9727 | - */ | ||
9728 | - query: { | ||
9729 | - /** | ||
9730 | - @description | ||
9731 | - invoiceRecordId | ||
9732 | - @format int64 */ | ||
9733 | - invoiceRecordId: number; | 9630 | + file */ |
9631 | + file: File; | ||
9734 | }; | 9632 | }; |
9735 | } | 9633 | } |
9736 | 9634 | ||
9737 | -/** @description response type for postServiceInvoiceImportInvoiceDetails */ | ||
9738 | -export interface PostServiceInvoiceImportInvoiceDetailsResponse { | 9635 | +/** @description response type for postServiceBankStatementImportBankStatementForm */ |
9636 | +export interface PostServiceBankStatementImportBankStatementFormResponse { | ||
9739 | /** | 9637 | /** |
9740 | * @description | 9638 | * @description |
9741 | * OK | 9639 | * OK |
@@ -9763,36 +9661,37 @@ export interface PostServiceInvoiceImportInvoiceDetailsResponse { | @@ -9763,36 +9661,37 @@ export interface PostServiceInvoiceImportInvoiceDetailsResponse { | ||
9763 | 404: any; | 9661 | 404: any; |
9764 | } | 9662 | } |
9765 | 9663 | ||
9766 | -export type PostServiceInvoiceImportInvoiceDetailsResponseSuccess = | ||
9767 | - PostServiceInvoiceImportInvoiceDetailsResponse[200]; | 9664 | +export type PostServiceBankStatementImportBankStatementFormResponseSuccess = |
9665 | + PostServiceBankStatementImportBankStatementFormResponse[200]; | ||
9768 | /** | 9666 | /** |
9769 | * @description | 9667 | * @description |
9770 | - * 导入发票明细 | ||
9771 | - * @tags 发票 | 9668 | + * 导入银行流水表格 |
9669 | + * @tags 银行流水 | ||
9772 | * @produces * | 9670 | * @produces * |
9773 | * @consumes multipart/form-data | 9671 | * @consumes multipart/form-data |
9774 | */ | 9672 | */ |
9775 | -export const postServiceInvoiceImportInvoiceDetails = /* #__PURE__ */ (() => { | ||
9776 | - const method = 'post'; | ||
9777 | - const url = '/service/invoice/importInvoiceDetails'; | ||
9778 | - function request( | ||
9779 | - option: PostServiceInvoiceImportInvoiceDetailsOption, | ||
9780 | - ): Promise<PostServiceInvoiceImportInvoiceDetailsResponseSuccess> { | ||
9781 | - return requester(request.url, { | ||
9782 | - method: request.method, | ||
9783 | - ...option, | ||
9784 | - }) as unknown as Promise<PostServiceInvoiceImportInvoiceDetailsResponseSuccess>; | ||
9785 | - } | 9673 | +export const postServiceBankStatementImportBankStatementForm = |
9674 | + /* #__PURE__ */ (() => { | ||
9675 | + const method = 'post'; | ||
9676 | + const url = '/service/bankStatement/importBankStatementForm'; | ||
9677 | + function request( | ||
9678 | + option: PostServiceBankStatementImportBankStatementFormOption, | ||
9679 | + ): Promise<PostServiceBankStatementImportBankStatementFormResponseSuccess> { | ||
9680 | + return requester(request.url, { | ||
9681 | + method: request.method, | ||
9682 | + ...option, | ||
9683 | + }) as unknown as Promise<PostServiceBankStatementImportBankStatementFormResponseSuccess>; | ||
9684 | + } | ||
9786 | 9685 | ||
9787 | - /** http method */ | ||
9788 | - request.method = method; | ||
9789 | - /** request url */ | ||
9790 | - request.url = url; | ||
9791 | - return request; | ||
9792 | -})(); | 9686 | + /** http method */ |
9687 | + request.method = method; | ||
9688 | + /** request url */ | ||
9689 | + request.url = url; | ||
9690 | + return request; | ||
9691 | + })(); | ||
9793 | 9692 | ||
9794 | -/** @description request parameter type for postServiceInvoiceInvoiceWriteOff */ | ||
9795 | -export interface PostServiceInvoiceInvoiceWriteOffOption { | 9693 | +/** @description request parameter type for postServiceBankStatementQueryBankStatement */ |
9694 | +export interface PostServiceBankStatementQueryBankStatementOption { | ||
9796 | /** | 9695 | /** |
9797 | * @description | 9696 | * @description |
9798 | * dto | 9697 | * dto |
@@ -9801,12 +9700,12 @@ export interface PostServiceInvoiceInvoiceWriteOffOption { | @@ -9801,12 +9700,12 @@ export interface PostServiceInvoiceInvoiceWriteOffOption { | ||
9801 | /** | 9700 | /** |
9802 | @description | 9701 | @description |
9803 | dto */ | 9702 | dto */ |
9804 | - dto: Dto; | 9703 | + dto: QueryBankStatementDto; |
9805 | }; | 9704 | }; |
9806 | } | 9705 | } |
9807 | 9706 | ||
9808 | -/** @description response type for postServiceInvoiceInvoiceWriteOff */ | ||
9809 | -export interface PostServiceInvoiceInvoiceWriteOffResponse { | 9707 | +/** @description response type for postServiceBankStatementQueryBankStatement */ |
9708 | +export interface PostServiceBankStatementQueryBankStatementResponse { | ||
9810 | /** | 9709 | /** |
9811 | * @description | 9710 | * @description |
9812 | * OK | 9711 | * OK |
@@ -9834,36 +9733,37 @@ export interface PostServiceInvoiceInvoiceWriteOffResponse { | @@ -9834,36 +9733,37 @@ export interface PostServiceInvoiceInvoiceWriteOffResponse { | ||
9834 | 404: any; | 9733 | 404: any; |
9835 | } | 9734 | } |
9836 | 9735 | ||
9837 | -export type PostServiceInvoiceInvoiceWriteOffResponseSuccess = | ||
9838 | - PostServiceInvoiceInvoiceWriteOffResponse[200]; | 9736 | +export type PostServiceBankStatementQueryBankStatementResponseSuccess = |
9737 | + PostServiceBankStatementQueryBankStatementResponse[200]; | ||
9839 | /** | 9738 | /** |
9840 | * @description | 9739 | * @description |
9841 | - * 发票核销 | ||
9842 | - * @tags 发票 | 9740 | + * 查询银行流水 |
9741 | + * @tags 银行流水 | ||
9843 | * @produces * | 9742 | * @produces * |
9844 | * @consumes application/json | 9743 | * @consumes application/json |
9845 | */ | 9744 | */ |
9846 | -export const postServiceInvoiceInvoiceWriteOff = /* #__PURE__ */ (() => { | ||
9847 | - const method = 'post'; | ||
9848 | - const url = '/service/invoice/invoiceWriteOff'; | ||
9849 | - function request( | ||
9850 | - option: PostServiceInvoiceInvoiceWriteOffOption, | ||
9851 | - ): Promise<PostServiceInvoiceInvoiceWriteOffResponseSuccess> { | ||
9852 | - return requester(request.url, { | ||
9853 | - method: request.method, | ||
9854 | - ...option, | ||
9855 | - }) as unknown as Promise<PostServiceInvoiceInvoiceWriteOffResponseSuccess>; | ||
9856 | - } | 9745 | +export const postServiceBankStatementQueryBankStatement = |
9746 | + /* #__PURE__ */ (() => { | ||
9747 | + const method = 'post'; | ||
9748 | + const url = '/service/bankStatement/queryBankStatement'; | ||
9749 | + function request( | ||
9750 | + option: PostServiceBankStatementQueryBankStatementOption, | ||
9751 | + ): Promise<PostServiceBankStatementQueryBankStatementResponseSuccess> { | ||
9752 | + return requester(request.url, { | ||
9753 | + method: request.method, | ||
9754 | + ...option, | ||
9755 | + }) as unknown as Promise<PostServiceBankStatementQueryBankStatementResponseSuccess>; | ||
9756 | + } | ||
9857 | 9757 | ||
9858 | - /** http method */ | ||
9859 | - request.method = method; | ||
9860 | - /** request url */ | ||
9861 | - request.url = url; | ||
9862 | - return request; | ||
9863 | -})(); | 9758 | + /** http method */ |
9759 | + request.method = method; | ||
9760 | + /** request url */ | ||
9761 | + request.url = url; | ||
9762 | + return request; | ||
9763 | + })(); | ||
9864 | 9764 | ||
9865 | -/** @description request parameter type for postServiceInvoiceInvoicing */ | ||
9866 | -export interface PostServiceInvoiceInvoicingOption { | 9765 | +/** @description request parameter type for postServiceInvoiceAddInvoice */ |
9766 | +export interface PostServiceInvoiceAddInvoiceOption { | ||
9867 | /** | 9767 | /** |
9868 | * @description | 9768 | * @description |
9869 | * dto | 9769 | * dto |
@@ -9872,12 +9772,12 @@ export interface PostServiceInvoiceInvoicingOption { | @@ -9872,12 +9772,12 @@ export interface PostServiceInvoiceInvoicingOption { | ||
9872 | /** | 9772 | /** |
9873 | @description | 9773 | @description |
9874 | dto */ | 9774 | dto */ |
9875 | - dto: Dto; | 9775 | + dto: InvoiceDto; |
9876 | }; | 9776 | }; |
9877 | } | 9777 | } |
9878 | 9778 | ||
9879 | -/** @description response type for postServiceInvoiceInvoicing */ | ||
9880 | -export interface PostServiceInvoiceInvoicingResponse { | 9779 | +/** @description response type for postServiceInvoiceAddInvoice */ |
9780 | +export interface PostServiceInvoiceAddInvoiceResponse { | ||
9881 | /** | 9781 | /** |
9882 | * @description | 9782 | * @description |
9883 | * OK | 9783 | * OK |
@@ -9905,25 +9805,25 @@ export interface PostServiceInvoiceInvoicingResponse { | @@ -9905,25 +9805,25 @@ export interface PostServiceInvoiceInvoicingResponse { | ||
9905 | 404: any; | 9805 | 404: any; |
9906 | } | 9806 | } |
9907 | 9807 | ||
9908 | -export type PostServiceInvoiceInvoicingResponseSuccess = | ||
9909 | - PostServiceInvoiceInvoicingResponse[200]; | 9808 | +export type PostServiceInvoiceAddInvoiceResponseSuccess = |
9809 | + PostServiceInvoiceAddInvoiceResponse[200]; | ||
9910 | /** | 9810 | /** |
9911 | * @description | 9811 | * @description |
9912 | - * 开票 | 9812 | + * 添加发票 |
9913 | * @tags 发票 | 9813 | * @tags 发票 |
9914 | * @produces * | 9814 | * @produces * |
9915 | * @consumes application/json | 9815 | * @consumes application/json |
9916 | */ | 9816 | */ |
9917 | -export const postServiceInvoiceInvoicing = /* #__PURE__ */ (() => { | 9817 | +export const postServiceInvoiceAddInvoice = /* #__PURE__ */ (() => { |
9918 | const method = 'post'; | 9818 | const method = 'post'; |
9919 | - const url = '/service/invoice/invoicing'; | 9819 | + const url = '/service/invoice/addInvoice'; |
9920 | function request( | 9820 | function request( |
9921 | - option: PostServiceInvoiceInvoicingOption, | ||
9922 | - ): Promise<PostServiceInvoiceInvoicingResponseSuccess> { | 9821 | + option: PostServiceInvoiceAddInvoiceOption, |
9822 | + ): Promise<PostServiceInvoiceAddInvoiceResponseSuccess> { | ||
9923 | return requester(request.url, { | 9823 | return requester(request.url, { |
9924 | method: request.method, | 9824 | method: request.method, |
9925 | ...option, | 9825 | ...option, |
9926 | - }) as unknown as Promise<PostServiceInvoiceInvoicingResponseSuccess>; | 9826 | + }) as unknown as Promise<PostServiceInvoiceAddInvoiceResponseSuccess>; |
9927 | } | 9827 | } |
9928 | 9828 | ||
9929 | /** http method */ | 9829 | /** http method */ |
@@ -9933,8 +9833,8 @@ export const postServiceInvoiceInvoicing = /* #__PURE__ */ (() => { | @@ -9933,8 +9833,8 @@ export const postServiceInvoiceInvoicing = /* #__PURE__ */ (() => { | ||
9933 | return request; | 9833 | return request; |
9934 | })(); | 9834 | })(); |
9935 | 9835 | ||
9936 | -/** @description request parameter type for postServiceInvoiceModifyRecord */ | ||
9937 | -export interface PostServiceInvoiceModifyRecordOption { | 9836 | +/** @description request parameter type for postServiceInvoiceCancelInvoiceAndBankStatement */ |
9837 | +export interface PostServiceInvoiceCancelInvoiceAndBankStatementOption { | ||
9938 | /** | 9838 | /** |
9939 | * @description | 9839 | * @description |
9940 | * dto | 9840 | * dto |
@@ -9943,12 +9843,12 @@ export interface PostServiceInvoiceModifyRecordOption { | @@ -9943,12 +9843,12 @@ export interface PostServiceInvoiceModifyRecordOption { | ||
9943 | /** | 9843 | /** |
9944 | @description | 9844 | @description |
9945 | dto */ | 9845 | dto */ |
9946 | - dto: InvoiceRecordDto; | 9846 | + dto: CancelInvoiceAndBankStatementDto; |
9947 | }; | 9847 | }; |
9948 | } | 9848 | } |
9949 | 9849 | ||
9950 | -/** @description response type for postServiceInvoiceModifyRecord */ | ||
9951 | -export interface PostServiceInvoiceModifyRecordResponse { | 9850 | +/** @description response type for postServiceInvoiceCancelInvoiceAndBankStatement */ |
9851 | +export interface PostServiceInvoiceCancelInvoiceAndBankStatementResponse { | ||
9952 | /** | 9852 | /** |
9953 | * @description | 9853 | * @description |
9954 | * OK | 9854 | * OK |
@@ -9976,36 +9876,37 @@ export interface PostServiceInvoiceModifyRecordResponse { | @@ -9976,36 +9876,37 @@ export interface PostServiceInvoiceModifyRecordResponse { | ||
9976 | 404: any; | 9876 | 404: any; |
9977 | } | 9877 | } |
9978 | 9878 | ||
9979 | -export type PostServiceInvoiceModifyRecordResponseSuccess = | ||
9980 | - PostServiceInvoiceModifyRecordResponse[200]; | 9879 | +export type PostServiceInvoiceCancelInvoiceAndBankStatementResponseSuccess = |
9880 | + PostServiceInvoiceCancelInvoiceAndBankStatementResponse[200]; | ||
9981 | /** | 9881 | /** |
9982 | * @description | 9882 | * @description |
9983 | - * 修改开票记录 | 9883 | + * 取消发票与银行流水的关联 |
9984 | * @tags 发票 | 9884 | * @tags 发票 |
9985 | * @produces * | 9885 | * @produces * |
9986 | * @consumes application/json | 9886 | * @consumes application/json |
9987 | */ | 9887 | */ |
9988 | -export const postServiceInvoiceModifyRecord = /* #__PURE__ */ (() => { | ||
9989 | - const method = 'post'; | ||
9990 | - const url = '/service/invoice/modifyRecord'; | ||
9991 | - function request( | ||
9992 | - option: PostServiceInvoiceModifyRecordOption, | ||
9993 | - ): Promise<PostServiceInvoiceModifyRecordResponseSuccess> { | ||
9994 | - return requester(request.url, { | ||
9995 | - method: request.method, | ||
9996 | - ...option, | ||
9997 | - }) as unknown as Promise<PostServiceInvoiceModifyRecordResponseSuccess>; | ||
9998 | - } | 9888 | +export const postServiceInvoiceCancelInvoiceAndBankStatement = |
9889 | + /* #__PURE__ */ (() => { | ||
9890 | + const method = 'post'; | ||
9891 | + const url = '/service/invoice/cancelInvoiceAndBankStatement'; | ||
9892 | + function request( | ||
9893 | + option: PostServiceInvoiceCancelInvoiceAndBankStatementOption, | ||
9894 | + ): Promise<PostServiceInvoiceCancelInvoiceAndBankStatementResponseSuccess> { | ||
9895 | + return requester(request.url, { | ||
9896 | + method: request.method, | ||
9897 | + ...option, | ||
9898 | + }) as unknown as Promise<PostServiceInvoiceCancelInvoiceAndBankStatementResponseSuccess>; | ||
9899 | + } | ||
9999 | 9900 | ||
10000 | - /** http method */ | ||
10001 | - request.method = method; | ||
10002 | - /** request url */ | ||
10003 | - request.url = url; | ||
10004 | - return request; | ||
10005 | -})(); | 9901 | + /** http method */ |
9902 | + request.method = method; | ||
9903 | + /** request url */ | ||
9904 | + request.url = url; | ||
9905 | + return request; | ||
9906 | + })(); | ||
10006 | 9907 | ||
10007 | -/** @description request parameter type for postServiceInvoiceQueryInvoice */ | ||
10008 | -export interface PostServiceInvoiceQueryInvoiceOption { | 9908 | +/** @description request parameter type for postServiceInvoiceDeleteInvoice */ |
9909 | +export interface PostServiceInvoiceDeleteInvoiceOption { | ||
10009 | /** | 9910 | /** |
10010 | * @description | 9911 | * @description |
10011 | * dto | 9912 | * dto |
@@ -10018,8 +9919,8 @@ export interface PostServiceInvoiceQueryInvoiceOption { | @@ -10018,8 +9919,8 @@ export interface PostServiceInvoiceQueryInvoiceOption { | ||
10018 | }; | 9919 | }; |
10019 | } | 9920 | } |
10020 | 9921 | ||
10021 | -/** @description response type for postServiceInvoiceQueryInvoice */ | ||
10022 | -export interface PostServiceInvoiceQueryInvoiceResponse { | 9922 | +/** @description response type for postServiceInvoiceDeleteInvoice */ |
9923 | +export interface PostServiceInvoiceDeleteInvoiceResponse { | ||
10023 | /** | 9924 | /** |
10024 | * @description | 9925 | * @description |
10025 | * OK | 9926 | * OK |
@@ -10047,25 +9948,25 @@ export interface PostServiceInvoiceQueryInvoiceResponse { | @@ -10047,25 +9948,25 @@ export interface PostServiceInvoiceQueryInvoiceResponse { | ||
10047 | 404: any; | 9948 | 404: any; |
10048 | } | 9949 | } |
10049 | 9950 | ||
10050 | -export type PostServiceInvoiceQueryInvoiceResponseSuccess = | ||
10051 | - PostServiceInvoiceQueryInvoiceResponse[200]; | 9951 | +export type PostServiceInvoiceDeleteInvoiceResponseSuccess = |
9952 | + PostServiceInvoiceDeleteInvoiceResponse[200]; | ||
10052 | /** | 9953 | /** |
10053 | * @description | 9954 | * @description |
10054 | - * 发票页查询 | 9955 | + * 删除发票 |
10055 | * @tags 发票 | 9956 | * @tags 发票 |
10056 | * @produces * | 9957 | * @produces * |
10057 | * @consumes application/json | 9958 | * @consumes application/json |
10058 | */ | 9959 | */ |
10059 | -export const postServiceInvoiceQueryInvoice = /* #__PURE__ */ (() => { | 9960 | +export const postServiceInvoiceDeleteInvoice = /* #__PURE__ */ (() => { |
10060 | const method = 'post'; | 9961 | const method = 'post'; |
10061 | - const url = '/service/invoice/queryInvoice'; | 9962 | + const url = '/service/invoice/deleteInvoice'; |
10062 | function request( | 9963 | function request( |
10063 | - option: PostServiceInvoiceQueryInvoiceOption, | ||
10064 | - ): Promise<PostServiceInvoiceQueryInvoiceResponseSuccess> { | 9964 | + option: PostServiceInvoiceDeleteInvoiceOption, |
9965 | + ): Promise<PostServiceInvoiceDeleteInvoiceResponseSuccess> { | ||
10065 | return requester(request.url, { | 9966 | return requester(request.url, { |
10066 | method: request.method, | 9967 | method: request.method, |
10067 | ...option, | 9968 | ...option, |
10068 | - }) as unknown as Promise<PostServiceInvoiceQueryInvoiceResponseSuccess>; | 9969 | + }) as unknown as Promise<PostServiceInvoiceDeleteInvoiceResponseSuccess>; |
10069 | } | 9970 | } |
10070 | 9971 | ||
10071 | /** http method */ | 9972 | /** http method */ |
@@ -10075,8 +9976,8 @@ export const postServiceInvoiceQueryInvoice = /* #__PURE__ */ (() => { | @@ -10075,8 +9976,8 @@ export const postServiceInvoiceQueryInvoice = /* #__PURE__ */ (() => { | ||
10075 | return request; | 9976 | return request; |
10076 | })(); | 9977 | })(); |
10077 | 9978 | ||
10078 | -/** @description request parameter type for postServiceInvoiceQueryInvoiceDetail */ | ||
10079 | -export interface PostServiceInvoiceQueryInvoiceDetailOption { | 9979 | +/** @description request parameter type for postServiceInvoiceFindInvoice */ |
9980 | +export interface PostServiceInvoiceFindInvoiceOption { | ||
10080 | /** | 9981 | /** |
10081 | * @description | 9982 | * @description |
10082 | * dto | 9983 | * dto |
@@ -10085,12 +9986,12 @@ export interface PostServiceInvoiceQueryInvoiceDetailOption { | @@ -10085,12 +9986,12 @@ export interface PostServiceInvoiceQueryInvoiceDetailOption { | ||
10085 | /** | 9986 | /** |
10086 | @description | 9987 | @description |
10087 | dto */ | 9988 | dto */ |
10088 | - dto: QueryInvoiceDetailDto; | 9989 | + dto: Dto; |
10089 | }; | 9990 | }; |
10090 | } | 9991 | } |
10091 | 9992 | ||
10092 | -/** @description response type for postServiceInvoiceQueryInvoiceDetail */ | ||
10093 | -export interface PostServiceInvoiceQueryInvoiceDetailResponse { | 9993 | +/** @description response type for postServiceInvoiceFindInvoice */ |
9994 | +export interface PostServiceInvoiceFindInvoiceResponse { | ||
10094 | /** | 9995 | /** |
10095 | * @description | 9996 | * @description |
10096 | * OK | 9997 | * OK |
@@ -10118,25 +10019,25 @@ export interface PostServiceInvoiceQueryInvoiceDetailResponse { | @@ -10118,25 +10019,25 @@ export interface PostServiceInvoiceQueryInvoiceDetailResponse { | ||
10118 | 404: any; | 10019 | 404: any; |
10119 | } | 10020 | } |
10120 | 10021 | ||
10121 | -export type PostServiceInvoiceQueryInvoiceDetailResponseSuccess = | ||
10122 | - PostServiceInvoiceQueryInvoiceDetailResponse[200]; | 10022 | +export type PostServiceInvoiceFindInvoiceResponseSuccess = |
10023 | + PostServiceInvoiceFindInvoiceResponse[200]; | ||
10123 | /** | 10024 | /** |
10124 | * @description | 10025 | * @description |
10125 | - * 查看发票详情 | 10026 | + * 不分页查询发票 |
10126 | * @tags 发票 | 10027 | * @tags 发票 |
10127 | * @produces * | 10028 | * @produces * |
10128 | * @consumes application/json | 10029 | * @consumes application/json |
10129 | */ | 10030 | */ |
10130 | -export const postServiceInvoiceQueryInvoiceDetail = /* #__PURE__ */ (() => { | 10031 | +export const postServiceInvoiceFindInvoice = /* #__PURE__ */ (() => { |
10131 | const method = 'post'; | 10032 | const method = 'post'; |
10132 | - const url = '/service/invoice/queryInvoiceDetail'; | 10033 | + const url = '/service/invoice/findInvoice'; |
10133 | function request( | 10034 | function request( |
10134 | - option: PostServiceInvoiceQueryInvoiceDetailOption, | ||
10135 | - ): Promise<PostServiceInvoiceQueryInvoiceDetailResponseSuccess> { | 10035 | + option: PostServiceInvoiceFindInvoiceOption, |
10036 | + ): Promise<PostServiceInvoiceFindInvoiceResponseSuccess> { | ||
10136 | return requester(request.url, { | 10037 | return requester(request.url, { |
10137 | method: request.method, | 10038 | method: request.method, |
10138 | ...option, | 10039 | ...option, |
10139 | - }) as unknown as Promise<PostServiceInvoiceQueryInvoiceDetailResponseSuccess>; | 10040 | + }) as unknown as Promise<PostServiceInvoiceFindInvoiceResponseSuccess>; |
10140 | } | 10041 | } |
10141 | 10042 | ||
10142 | /** http method */ | 10043 | /** http method */ |
@@ -10146,8 +10047,8 @@ export const postServiceInvoiceQueryInvoiceDetail = /* #__PURE__ */ (() => { | @@ -10146,8 +10047,8 @@ export const postServiceInvoiceQueryInvoiceDetail = /* #__PURE__ */ (() => { | ||
10146 | return request; | 10047 | return request; |
10147 | })(); | 10048 | })(); |
10148 | 10049 | ||
10149 | -/** @description request parameter type for postServiceInvoiceQueryInvoiceRecordList */ | ||
10150 | -export interface PostServiceInvoiceQueryInvoiceRecordListOption { | 10050 | +/** @description request parameter type for postServiceInvoiceInvoiceWriteOff */ |
10051 | +export interface PostServiceInvoiceInvoiceWriteOffOption { | ||
10151 | /** | 10052 | /** |
10152 | * @description | 10053 | * @description |
10153 | * dto | 10054 | * dto |
@@ -10156,12 +10057,12 @@ export interface PostServiceInvoiceQueryInvoiceRecordListOption { | @@ -10156,12 +10057,12 @@ export interface PostServiceInvoiceQueryInvoiceRecordListOption { | ||
10156 | /** | 10057 | /** |
10157 | @description | 10058 | @description |
10158 | dto */ | 10059 | dto */ |
10159 | - dto: QueryInvoiceRecordDto; | 10060 | + dto: Dto; |
10160 | }; | 10061 | }; |
10161 | } | 10062 | } |
10162 | 10063 | ||
10163 | -/** @description response type for postServiceInvoiceQueryInvoiceRecordList */ | ||
10164 | -export interface PostServiceInvoiceQueryInvoiceRecordListResponse { | 10064 | +/** @description response type for postServiceInvoiceInvoiceWriteOff */ |
10065 | +export interface PostServiceInvoiceInvoiceWriteOffResponse { | ||
10165 | /** | 10066 | /** |
10166 | * @description | 10067 | * @description |
10167 | * OK | 10068 | * OK |
@@ -10189,25 +10090,25 @@ export interface PostServiceInvoiceQueryInvoiceRecordListResponse { | @@ -10189,25 +10090,25 @@ export interface PostServiceInvoiceQueryInvoiceRecordListResponse { | ||
10189 | 404: any; | 10090 | 404: any; |
10190 | } | 10091 | } |
10191 | 10092 | ||
10192 | -export type PostServiceInvoiceQueryInvoiceRecordListResponseSuccess = | ||
10193 | - PostServiceInvoiceQueryInvoiceRecordListResponse[200]; | 10093 | +export type PostServiceInvoiceInvoiceWriteOffResponseSuccess = |
10094 | + PostServiceInvoiceInvoiceWriteOffResponse[200]; | ||
10194 | /** | 10095 | /** |
10195 | * @description | 10096 | * @description |
10196 | - * 获取开票记录列表 | 10097 | + * 发票核销 |
10197 | * @tags 发票 | 10098 | * @tags 发票 |
10198 | * @produces * | 10099 | * @produces * |
10199 | * @consumes application/json | 10100 | * @consumes application/json |
10200 | */ | 10101 | */ |
10201 | -export const postServiceInvoiceQueryInvoiceRecordList = /* #__PURE__ */ (() => { | 10102 | +export const postServiceInvoiceInvoiceWriteOff = /* #__PURE__ */ (() => { |
10202 | const method = 'post'; | 10103 | const method = 'post'; |
10203 | - const url = '/service/invoice/queryInvoiceRecordList'; | 10104 | + const url = '/service/invoice/invoiceWriteOff'; |
10204 | function request( | 10105 | function request( |
10205 | - option: PostServiceInvoiceQueryInvoiceRecordListOption, | ||
10206 | - ): Promise<PostServiceInvoiceQueryInvoiceRecordListResponseSuccess> { | 10106 | + option: PostServiceInvoiceInvoiceWriteOffOption, |
10107 | + ): Promise<PostServiceInvoiceInvoiceWriteOffResponseSuccess> { | ||
10207 | return requester(request.url, { | 10108 | return requester(request.url, { |
10208 | method: request.method, | 10109 | method: request.method, |
10209 | ...option, | 10110 | ...option, |
10210 | - }) as unknown as Promise<PostServiceInvoiceQueryInvoiceRecordListResponseSuccess>; | 10111 | + }) as unknown as Promise<PostServiceInvoiceInvoiceWriteOffResponseSuccess>; |
10211 | } | 10112 | } |
10212 | 10113 | ||
10213 | /** http method */ | 10114 | /** http method */ |
@@ -10217,57 +10118,8 @@ export const postServiceInvoiceQueryInvoiceRecordList = /* #__PURE__ */ (() => { | @@ -10217,57 +10118,8 @@ export const postServiceInvoiceQueryInvoiceRecordList = /* #__PURE__ */ (() => { | ||
10217 | return request; | 10118 | return request; |
10218 | })(); | 10119 | })(); |
10219 | 10120 | ||
10220 | -/** @description response type for getServiceInvoiceQueryReadyInvoiceRecordList */ | ||
10221 | -export interface GetServiceInvoiceQueryReadyInvoiceRecordListResponse { | ||
10222 | - /** | ||
10223 | - * @description | ||
10224 | - * OK | ||
10225 | - */ | ||
10226 | - 200: ServerResult; | ||
10227 | - /** | ||
10228 | - * @description | ||
10229 | - * Unauthorized | ||
10230 | - */ | ||
10231 | - 401: any; | ||
10232 | - /** | ||
10233 | - * @description | ||
10234 | - * Forbidden | ||
10235 | - */ | ||
10236 | - 403: any; | ||
10237 | - /** | ||
10238 | - * @description | ||
10239 | - * Not Found | ||
10240 | - */ | ||
10241 | - 404: any; | ||
10242 | -} | ||
10243 | - | ||
10244 | -export type GetServiceInvoiceQueryReadyInvoiceRecordListResponseSuccess = | ||
10245 | - GetServiceInvoiceQueryReadyInvoiceRecordListResponse[200]; | ||
10246 | -/** | ||
10247 | - * @description | ||
10248 | - * 获取要开票记录列表 | ||
10249 | - * @tags 发票 | ||
10250 | - * @produces * | ||
10251 | - */ | ||
10252 | -export const getServiceInvoiceQueryReadyInvoiceRecordList = | ||
10253 | - /* #__PURE__ */ (() => { | ||
10254 | - const method = 'get'; | ||
10255 | - const url = '/service/invoice/queryReadyInvoiceRecordList'; | ||
10256 | - function request(): Promise<GetServiceInvoiceQueryReadyInvoiceRecordListResponseSuccess> { | ||
10257 | - return requester(request.url, { | ||
10258 | - method: request.method, | ||
10259 | - }) as unknown as Promise<GetServiceInvoiceQueryReadyInvoiceRecordListResponseSuccess>; | ||
10260 | - } | ||
10261 | - | ||
10262 | - /** http method */ | ||
10263 | - request.method = method; | ||
10264 | - /** request url */ | ||
10265 | - request.url = url; | ||
10266 | - return request; | ||
10267 | - })(); | ||
10268 | - | ||
10269 | -/** @description request parameter type for postServiceInvoiceReissue */ | ||
10270 | -export interface PostServiceInvoiceReissueOption { | 10121 | +/** @description request parameter type for postServiceInvoiceQueryInvoice */ |
10122 | +export interface PostServiceInvoiceQueryInvoiceOption { | ||
10271 | /** | 10123 | /** |
10272 | * @description | 10124 | * @description |
10273 | * dto | 10125 | * dto |
@@ -10276,12 +10128,12 @@ export interface PostServiceInvoiceReissueOption { | @@ -10276,12 +10128,12 @@ export interface PostServiceInvoiceReissueOption { | ||
10276 | /** | 10128 | /** |
10277 | @description | 10129 | @description |
10278 | dto */ | 10130 | dto */ |
10279 | - dto: ReissueInvoiceDto; | 10131 | + dto: Dto; |
10280 | }; | 10132 | }; |
10281 | } | 10133 | } |
10282 | 10134 | ||
10283 | -/** @description response type for postServiceInvoiceReissue */ | ||
10284 | -export interface PostServiceInvoiceReissueResponse { | 10135 | +/** @description response type for postServiceInvoiceQueryInvoice */ |
10136 | +export interface PostServiceInvoiceQueryInvoiceResponse { | ||
10285 | /** | 10137 | /** |
10286 | * @description | 10138 | * @description |
10287 | * OK | 10139 | * OK |
@@ -10309,25 +10161,25 @@ export interface PostServiceInvoiceReissueResponse { | @@ -10309,25 +10161,25 @@ export interface PostServiceInvoiceReissueResponse { | ||
10309 | 404: any; | 10161 | 404: any; |
10310 | } | 10162 | } |
10311 | 10163 | ||
10312 | -export type PostServiceInvoiceReissueResponseSuccess = | ||
10313 | - PostServiceInvoiceReissueResponse[200]; | 10164 | +export type PostServiceInvoiceQueryInvoiceResponseSuccess = |
10165 | + PostServiceInvoiceQueryInvoiceResponse[200]; | ||
10314 | /** | 10166 | /** |
10315 | * @description | 10167 | * @description |
10316 | - * 重新开票 | 10168 | + * 发票页查询 |
10317 | * @tags 发票 | 10169 | * @tags 发票 |
10318 | * @produces * | 10170 | * @produces * |
10319 | * @consumes application/json | 10171 | * @consumes application/json |
10320 | */ | 10172 | */ |
10321 | -export const postServiceInvoiceReissue = /* #__PURE__ */ (() => { | 10173 | +export const postServiceInvoiceQueryInvoice = /* #__PURE__ */ (() => { |
10322 | const method = 'post'; | 10174 | const method = 'post'; |
10323 | - const url = '/service/invoice/reissue'; | 10175 | + const url = '/service/invoice/queryInvoice'; |
10324 | function request( | 10176 | function request( |
10325 | - option: PostServiceInvoiceReissueOption, | ||
10326 | - ): Promise<PostServiceInvoiceReissueResponseSuccess> { | 10177 | + option: PostServiceInvoiceQueryInvoiceOption, |
10178 | + ): Promise<PostServiceInvoiceQueryInvoiceResponseSuccess> { | ||
10327 | return requester(request.url, { | 10179 | return requester(request.url, { |
10328 | method: request.method, | 10180 | method: request.method, |
10329 | ...option, | 10181 | ...option, |
10330 | - }) as unknown as Promise<PostServiceInvoiceReissueResponseSuccess>; | 10182 | + }) as unknown as Promise<PostServiceInvoiceQueryInvoiceResponseSuccess>; |
10331 | } | 10183 | } |
10332 | 10184 | ||
10333 | /** http method */ | 10185 | /** http method */ |
@@ -10337,8 +10189,8 @@ export const postServiceInvoiceReissue = /* #__PURE__ */ (() => { | @@ -10337,8 +10189,8 @@ export const postServiceInvoiceReissue = /* #__PURE__ */ (() => { | ||
10337 | return request; | 10189 | return request; |
10338 | })(); | 10190 | })(); |
10339 | 10191 | ||
10340 | -/** @description request parameter type for postServiceInvoiceReissueAudit */ | ||
10341 | -export interface PostServiceInvoiceReissueAuditOption { | 10192 | +/** @description request parameter type for postServiceInvoiceQueryInvoiceDetail */ |
10193 | +export interface PostServiceInvoiceQueryInvoiceDetailOption { | ||
10342 | /** | 10194 | /** |
10343 | * @description | 10195 | * @description |
10344 | * dto | 10196 | * dto |
@@ -10347,12 +10199,12 @@ export interface PostServiceInvoiceReissueAuditOption { | @@ -10347,12 +10199,12 @@ export interface PostServiceInvoiceReissueAuditOption { | ||
10347 | /** | 10199 | /** |
10348 | @description | 10200 | @description |
10349 | dto */ | 10201 | dto */ |
10350 | - dto: AuditDto; | 10202 | + dto: QueryInvoiceDetailDto; |
10351 | }; | 10203 | }; |
10352 | } | 10204 | } |
10353 | 10205 | ||
10354 | -/** @description response type for postServiceInvoiceReissueAudit */ | ||
10355 | -export interface PostServiceInvoiceReissueAuditResponse { | 10206 | +/** @description response type for postServiceInvoiceQueryInvoiceDetail */ |
10207 | +export interface PostServiceInvoiceQueryInvoiceDetailResponse { | ||
10356 | /** | 10208 | /** |
10357 | * @description | 10209 | * @description |
10358 | * OK | 10210 | * OK |
@@ -10380,25 +10232,25 @@ export interface PostServiceInvoiceReissueAuditResponse { | @@ -10380,25 +10232,25 @@ export interface PostServiceInvoiceReissueAuditResponse { | ||
10380 | 404: any; | 10232 | 404: any; |
10381 | } | 10233 | } |
10382 | 10234 | ||
10383 | -export type PostServiceInvoiceReissueAuditResponseSuccess = | ||
10384 | - PostServiceInvoiceReissueAuditResponse[200]; | 10235 | +export type PostServiceInvoiceQueryInvoiceDetailResponseSuccess = |
10236 | + PostServiceInvoiceQueryInvoiceDetailResponse[200]; | ||
10385 | /** | 10237 | /** |
10386 | * @description | 10238 | * @description |
10387 | - * 重新开票审核 | 10239 | + * 查看发票详情 |
10388 | * @tags 发票 | 10240 | * @tags 发票 |
10389 | * @produces * | 10241 | * @produces * |
10390 | * @consumes application/json | 10242 | * @consumes application/json |
10391 | */ | 10243 | */ |
10392 | -export const postServiceInvoiceReissueAudit = /* #__PURE__ */ (() => { | 10244 | +export const postServiceInvoiceQueryInvoiceDetail = /* #__PURE__ */ (() => { |
10393 | const method = 'post'; | 10245 | const method = 'post'; |
10394 | - const url = '/service/invoice/reissueAudit'; | 10246 | + const url = '/service/invoice/queryInvoiceDetail'; |
10395 | function request( | 10247 | function request( |
10396 | - option: PostServiceInvoiceReissueAuditOption, | ||
10397 | - ): Promise<PostServiceInvoiceReissueAuditResponseSuccess> { | 10248 | + option: PostServiceInvoiceQueryInvoiceDetailOption, |
10249 | + ): Promise<PostServiceInvoiceQueryInvoiceDetailResponseSuccess> { | ||
10398 | return requester(request.url, { | 10250 | return requester(request.url, { |
10399 | method: request.method, | 10251 | method: request.method, |
10400 | ...option, | 10252 | ...option, |
10401 | - }) as unknown as Promise<PostServiceInvoiceReissueAuditResponseSuccess>; | 10253 | + }) as unknown as Promise<PostServiceInvoiceQueryInvoiceDetailResponseSuccess>; |
10402 | } | 10254 | } |
10403 | 10255 | ||
10404 | /** http method */ | 10256 | /** http method */ |
@@ -10408,8 +10260,8 @@ export const postServiceInvoiceReissueAudit = /* #__PURE__ */ (() => { | @@ -10408,8 +10260,8 @@ export const postServiceInvoiceReissueAudit = /* #__PURE__ */ (() => { | ||
10408 | return request; | 10260 | return request; |
10409 | })(); | 10261 | })(); |
10410 | 10262 | ||
10411 | -/** @description request parameter type for postServiceInvoiceUrgentInvoicing */ | ||
10412 | -export interface PostServiceInvoiceUrgentInvoicingOption { | 10263 | +/** @description request parameter type for postServiceInvoiceReissue */ |
10264 | +export interface PostServiceInvoiceReissueOption { | ||
10413 | /** | 10265 | /** |
10414 | * @description | 10266 | * @description |
10415 | * dto | 10267 | * dto |
@@ -10418,12 +10270,12 @@ export interface PostServiceInvoiceUrgentInvoicingOption { | @@ -10418,12 +10270,12 @@ export interface PostServiceInvoiceUrgentInvoicingOption { | ||
10418 | /** | 10270 | /** |
10419 | @description | 10271 | @description |
10420 | dto */ | 10272 | dto */ |
10421 | - dto: AuditDto; | 10273 | + dto: ReissueInvoiceDto; |
10422 | }; | 10274 | }; |
10423 | } | 10275 | } |
10424 | 10276 | ||
10425 | -/** @description response type for postServiceInvoiceUrgentInvoicing */ | ||
10426 | -export interface PostServiceInvoiceUrgentInvoicingResponse { | 10277 | +/** @description response type for postServiceInvoiceReissue */ |
10278 | +export interface PostServiceInvoiceReissueResponse { | ||
10427 | /** | 10279 | /** |
10428 | * @description | 10280 | * @description |
10429 | * OK | 10281 | * OK |
@@ -10451,25 +10303,25 @@ export interface PostServiceInvoiceUrgentInvoicingResponse { | @@ -10451,25 +10303,25 @@ export interface PostServiceInvoiceUrgentInvoicingResponse { | ||
10451 | 404: any; | 10303 | 404: any; |
10452 | } | 10304 | } |
10453 | 10305 | ||
10454 | -export type PostServiceInvoiceUrgentInvoicingResponseSuccess = | ||
10455 | - PostServiceInvoiceUrgentInvoicingResponse[200]; | 10306 | +export type PostServiceInvoiceReissueResponseSuccess = |
10307 | + PostServiceInvoiceReissueResponse[200]; | ||
10456 | /** | 10308 | /** |
10457 | * @description | 10309 | * @description |
10458 | - * 加急开票审核 | 10310 | + * 重新开票 |
10459 | * @tags 发票 | 10311 | * @tags 发票 |
10460 | * @produces * | 10312 | * @produces * |
10461 | * @consumes application/json | 10313 | * @consumes application/json |
10462 | */ | 10314 | */ |
10463 | -export const postServiceInvoiceUrgentInvoicing = /* #__PURE__ */ (() => { | 10315 | +export const postServiceInvoiceReissue = /* #__PURE__ */ (() => { |
10464 | const method = 'post'; | 10316 | const method = 'post'; |
10465 | - const url = '/service/invoice/urgentInvoicing'; | 10317 | + const url = '/service/invoice/reissue'; |
10466 | function request( | 10318 | function request( |
10467 | - option: PostServiceInvoiceUrgentInvoicingOption, | ||
10468 | - ): Promise<PostServiceInvoiceUrgentInvoicingResponseSuccess> { | 10319 | + option: PostServiceInvoiceReissueOption, |
10320 | + ): Promise<PostServiceInvoiceReissueResponseSuccess> { | ||
10469 | return requester(request.url, { | 10321 | return requester(request.url, { |
10470 | method: request.method, | 10322 | method: request.method, |
10471 | ...option, | 10323 | ...option, |
10472 | - }) as unknown as Promise<PostServiceInvoiceUrgentInvoicingResponseSuccess>; | 10324 | + }) as unknown as Promise<PostServiceInvoiceReissueResponseSuccess>; |
10473 | } | 10325 | } |
10474 | 10326 | ||
10475 | /** http method */ | 10327 | /** http method */ |
src/utils/numberUtil.ts
0 → 100644
1 | +export function getRandomNumber(numDigits: number) { | ||
2 | + if (numDigits <= 0) { | ||
3 | + throw new Error('Number of digits must be greater than 0'); | ||
4 | + } | ||
5 | + | ||
6 | + const min = Math.pow(10, numDigits - 1); | ||
7 | + const max = Math.pow(10, numDigits) - 1; | ||
8 | + return Math.floor(Math.random() * (max - min + 1)) + min; | ||
9 | +} |
src/utils/order.ts
1 | +import { postServiceOrderQuerySalesCode } from '@/services'; | ||
1 | import { cloneDeep } from 'lodash'; | 2 | import { cloneDeep } from 'lodash'; |
2 | import { getUserInfo } from '.'; | 3 | import { getUserInfo } from '.'; |
3 | export function getReceivingCompanyOptions(PAYEE_OPTIONS: any) { | 4 | export function getReceivingCompanyOptions(PAYEE_OPTIONS: any) { |
@@ -63,3 +64,17 @@ export function isFinance() { | @@ -63,3 +64,17 @@ export function isFinance() { | ||
63 | } | 64 | } |
64 | return false; | 65 | return false; |
65 | } | 66 | } |
67 | +/** | ||
68 | + * 获取销售代码枚举,在复制和编辑的时候判断是否为旧的代码 | ||
69 | + */ | ||
70 | +export const getSalesCodeOptions = async () => { | ||
71 | + const res = await postServiceOrderQuerySalesCode(); | ||
72 | + let options = res.data?.map((item) => { | ||
73 | + return { | ||
74 | + label: item.userName, | ||
75 | + value: item.userName, | ||
76 | + number: item.number, | ||
77 | + }; | ||
78 | + }); | ||
79 | + return options; | ||
80 | +}; |
src/utils/validators.ts
@@ -5,3 +5,8 @@ export const validatePhoneNumber = (_: any, value: any) => { | @@ -5,3 +5,8 @@ export const validatePhoneNumber = (_: any, value: any) => { | ||
5 | } | 5 | } |
6 | return Promise.reject('请输入正确的电话号码格式(例如:13789758969)'); | 6 | return Promise.reject('请输入正确的电话号码格式(例如:13789758969)'); |
7 | }; | 7 | }; |
8 | + | ||
9 | +export const validatePhoneNumberBool = (phoneNumber: any) => { | ||
10 | + const regex = /^1[3456789]\d{9}$/; | ||
11 | + return regex.test(phoneNumber); | ||
12 | +}; |