Commit d5796d31f4edc12549c7894e32489c2c47b77511
1 parent
99f55856
fix: 添加付款记录接口
Showing
6 changed files
with
125 additions
and
75 deletions
src/pages/Order/Order/index.tsx
... | ... | @@ -120,7 +120,7 @@ const OrderPage = () => { |
120 | 120 | <div className="order-page-container"> |
121 | 121 | <div id="resizeDiv"></div> |
122 | 122 | <div id="resizeDiv"></div> |
123 | - {roleCode !== 'SALES_MANAGER' && ( | |
123 | + {roleCode === 'SALES_MANAGER' && ( | |
124 | 124 | <Modal |
125 | 125 | title="订单预警提醒" |
126 | 126 | open={open} | ... | ... |
src/pages/Order/OrderList/CheckModal.tsx
... | ... | @@ -707,12 +707,6 @@ export default ({ |
707 | 707 | </Image.PreviewGroup> |
708 | 708 | </div> |
709 | 709 | </Col> |
710 | - <Col span={24}> | |
711 | - <div className="mb-2"> | |
712 | - <span className="font-semibold">备注:</span> | |
713 | - <span>{data?.installmentComment || '-'}</span> | |
714 | - </div> | |
715 | - </Col> | |
716 | 710 | </Row> |
717 | 711 | <Divider></Divider> |
718 | 712 | </> | ... | ... |
src/pages/Order/OrderList/HirePurchaseUploadPayBillModal.tsx
... | ... | @@ -5,7 +5,7 @@ import { |
5 | 5 | } from '@/services'; |
6 | 6 | import { transImageFile } from '@/utils'; |
7 | 7 | import { PlusOutlined } from '@ant-design/icons'; |
8 | -import { Button, Form, Input, Modal, Radio, Upload, message } from 'antd'; | |
8 | +import { Button, Form, Input, Modal, Upload, message } from 'antd'; | |
9 | 9 | import { RcFile } from 'antd/lib/upload'; |
10 | 10 | import { UploadFile, UploadProps } from 'antd/lib/upload/interface'; |
11 | 11 | import { cloneDeep } from 'lodash'; |
... | ... | @@ -41,7 +41,7 @@ const HirePurchaseUploadPayBillModal: React.FC< |
41 | 41 | const remainingMoney = totalPayment - installedMoney; |
42 | 42 | const [form] = Form.useForm(); |
43 | 43 | const [fileList, setFileList] = useState<UploadFile[]>([]); |
44 | - const [paymentType, setPaymentType] = useState<string>('INSTALLMENT'); | |
44 | + const [paymentType] = useState<string>('INSTALLMENT'); | |
45 | 45 | const [previewOpen, setPreviewOpen] = useState(false); |
46 | 46 | const [previewImage, setPreviewImage] = useState(''); |
47 | 47 | const [previewTitle, setPreviewTitle] = useState(''); |
... | ... | @@ -65,17 +65,17 @@ const HirePurchaseUploadPayBillModal: React.FC< |
65 | 65 | </div> |
66 | 66 | ); |
67 | 67 | |
68 | - const handleTypeChange = (e: any) => { | |
69 | - const newType = e.target.value; | |
70 | - setPaymentType(newType); | |
68 | + // const handleTypeChange = (e: any) => { | |
69 | + // const newType = e.target.value; | |
70 | + // setPaymentType(newType); | |
71 | 71 | |
72 | - // 如果选择全部回款,自动填入待回款金额 | |
73 | - if (newType === 'FULL') { | |
74 | - form.setFieldsValue({ | |
75 | - amount: remainingMoney.toFixed(2), | |
76 | - }); | |
77 | - } | |
78 | - }; | |
72 | + // // 如果选择全部回款,自动填入待回款金额 | |
73 | + // if (newType === 'FULL') { | |
74 | + // form.setFieldsValue({ | |
75 | + // amount: remainingMoney.toFixed(2), | |
76 | + // }); | |
77 | + // } | |
78 | + // }; | |
79 | 79 | |
80 | 80 | // 验证回款金额不能超过待回款金额 |
81 | 81 | const validateAmount = (_: any, value: string) => { |
... | ... | @@ -332,18 +332,6 @@ const HirePurchaseUploadPayBillModal: React.FC< |
332 | 332 | <span>{remainingMoney.toFixed(2)}元</span> |
333 | 333 | </div> |
334 | 334 | </div> |
335 | - | |
336 | - <Form.Item | |
337 | - label="回款类型" | |
338 | - name="paymentType" | |
339 | - initialValue={paymentType} | |
340 | - > | |
341 | - <Radio.Group onChange={handleTypeChange}> | |
342 | - <Radio value="INSTALLMENT">分期回款</Radio> | |
343 | - <Radio value="FULL">全部回款</Radio> | |
344 | - </Radio.Group> | |
345 | - </Form.Item> | |
346 | - | |
347 | 335 | <Form.Item |
348 | 336 | label="回款金额" |
349 | 337 | name="amount" |
... | ... | @@ -371,10 +359,6 @@ const HirePurchaseUploadPayBillModal: React.FC< |
371 | 359 | : ''} |
372 | 360 | </Upload> |
373 | 361 | </Form.Item> |
374 | - | |
375 | - <Form.Item label="备注" name="remarks"> | |
376 | - <Input.TextArea rows={4} placeholder="请输入备注信息" /> | |
377 | - </Form.Item> | |
378 | 362 | </Form> |
379 | 363 | </Modal> |
380 | 364 | ... | ... |
src/pages/Order/OrderList/UploadPayBillModal.tsx
... | ... | @@ -216,10 +216,24 @@ export default ({ setVisible, subOrders, mainOrder, onClose }) => { |
216 | 216 | }} |
217 | 217 | onOpenChange={setVisible} |
218 | 218 | > |
219 | - <div className="pb-4 text-xs decoration-gray-50">可复制照片粘贴</div> | |
220 | - <Upload {...props}> | |
221 | - {fileList.length < COMFIR_RECEIPT_IMAGES_NUMBER ? uploadButton : ''} | |
222 | - </Upload> | |
219 | + <div className="pb-4 text-base font-medium"> | |
220 | + 付款金额:¥{mainOrder?.totalPayment?.toLocaleString() || '0.00'} | |
221 | + </div> | |
222 | + <div className="flex items-start pb-4 text-base font-medium"> | |
223 | + <div>付款凭证:</div> | |
224 | + | |
225 | + <div className="flex flex-col items-start ml-2"> | |
226 | + <div className="mb-1 text-xs decoration-gray-50"> | |
227 | + 可复制照片粘贴 | |
228 | + </div> | |
229 | + | |
230 | + <Upload {...props}> | |
231 | + {fileList.length < COMFIR_RECEIPT_IMAGES_NUMBER | |
232 | + ? uploadButton | |
233 | + : null} | |
234 | + </Upload> | |
235 | + </div> | |
236 | + </div> | |
223 | 237 | </ModalForm> |
224 | 238 | |
225 | 239 | <Modal | ... | ... |
src/services/definition.ts
... | ... | @@ -1601,7 +1601,6 @@ export interface InstallmentPaymentDTO { |
1601 | 1601 | /** |
1602 | 1602 | * @description |
1603 | 1603 | * 分期付款金额 |
1604 | - * @format int64 | |
1605 | 1604 | */ |
1606 | 1605 | installmentMoney?: number; |
1607 | 1606 | /** |
... | ... | @@ -4401,6 +4400,7 @@ export interface SubOrder { |
4401 | 4400 | paymentChannel?: string; |
4402 | 4401 | paymentMethod?: string; |
4403 | 4402 | paymentReceiptAnnex?: string; |
4403 | + paymentReceiptAnnexPartial?: string; | |
4404 | 4404 | paymentReceiptNotes?: string; |
4405 | 4405 | paymentReceiptStatus?: string; |
4406 | 4406 | paymentStatus?: string; | ... | ... |
src/services/request.ts
... | ... | @@ -75,6 +75,7 @@ import type { |
75 | 75 | MeasureUnitListRes, |
76 | 76 | MergeIntegralDto, |
77 | 77 | MessageQueryDTO, |
78 | + ModelAndView, | |
78 | 79 | OrderAddVO, |
79 | 80 | OrderAuditLogQueryVO, |
80 | 81 | OrderBaseInfoQueryVO, |
... | ... | @@ -4267,9 +4268,7 @@ export interface GetErrorResponse { |
4267 | 4268 | * @description |
4268 | 4269 | * OK |
4269 | 4270 | */ |
4270 | - 200: { | |
4271 | - [propertyName: string]: any; | |
4272 | - }; | |
4271 | + 200: ModelAndView; | |
4273 | 4272 | /** |
4274 | 4273 | * @description |
4275 | 4274 | * Unauthorized |
... | ... | @@ -4290,9 +4289,9 @@ export interface GetErrorResponse { |
4290 | 4289 | export type GetErrorResponseSuccess = GetErrorResponse[200]; |
4291 | 4290 | /** |
4292 | 4291 | * @description |
4293 | - * error | |
4292 | + * errorHtml | |
4294 | 4293 | * @tags basic-error-controller |
4295 | - * @produces * | |
4294 | + * @produces text/html | |
4296 | 4295 | */ |
4297 | 4296 | export const getError = /* #__PURE__ */ (() => { |
4298 | 4297 | const method = 'get'; |
... | ... | @@ -4316,9 +4315,7 @@ export interface PutErrorResponse { |
4316 | 4315 | * @description |
4317 | 4316 | * OK |
4318 | 4317 | */ |
4319 | - 200: { | |
4320 | - [propertyName: string]: any; | |
4321 | - }; | |
4318 | + 200: ModelAndView; | |
4322 | 4319 | /** |
4323 | 4320 | * @description |
4324 | 4321 | * Created |
... | ... | @@ -4344,9 +4341,9 @@ export interface PutErrorResponse { |
4344 | 4341 | export type PutErrorResponseSuccess = PutErrorResponse[200]; |
4345 | 4342 | /** |
4346 | 4343 | * @description |
4347 | - * error | |
4344 | + * errorHtml | |
4348 | 4345 | * @tags basic-error-controller |
4349 | - * @produces * | |
4346 | + * @produces text/html | |
4350 | 4347 | * @consumes application/json |
4351 | 4348 | */ |
4352 | 4349 | export const putError = /* #__PURE__ */ (() => { |
... | ... | @@ -4371,9 +4368,7 @@ export interface PostErrorResponse { |
4371 | 4368 | * @description |
4372 | 4369 | * OK |
4373 | 4370 | */ |
4374 | - 200: { | |
4375 | - [propertyName: string]: any; | |
4376 | - }; | |
4371 | + 200: ModelAndView; | |
4377 | 4372 | /** |
4378 | 4373 | * @description |
4379 | 4374 | * Created |
... | ... | @@ -4399,9 +4394,9 @@ export interface PostErrorResponse { |
4399 | 4394 | export type PostErrorResponseSuccess = PostErrorResponse[200]; |
4400 | 4395 | /** |
4401 | 4396 | * @description |
4402 | - * error | |
4397 | + * errorHtml | |
4403 | 4398 | * @tags basic-error-controller |
4404 | - * @produces * | |
4399 | + * @produces text/html | |
4405 | 4400 | * @consumes application/json |
4406 | 4401 | */ |
4407 | 4402 | export const postError = /* #__PURE__ */ (() => { |
... | ... | @@ -4426,9 +4421,7 @@ export interface DeleteErrorResponse { |
4426 | 4421 | * @description |
4427 | 4422 | * OK |
4428 | 4423 | */ |
4429 | - 200: { | |
4430 | - [propertyName: string]: any; | |
4431 | - }; | |
4424 | + 200: ModelAndView; | |
4432 | 4425 | /** |
4433 | 4426 | * @description |
4434 | 4427 | * No Content |
... | ... | @@ -4449,9 +4442,9 @@ export interface DeleteErrorResponse { |
4449 | 4442 | export type DeleteErrorResponseSuccess = DeleteErrorResponse[200]; |
4450 | 4443 | /** |
4451 | 4444 | * @description |
4452 | - * error | |
4445 | + * errorHtml | |
4453 | 4446 | * @tags basic-error-controller |
4454 | - * @produces * | |
4447 | + * @produces text/html | |
4455 | 4448 | */ |
4456 | 4449 | export const deleteError = /* #__PURE__ */ (() => { |
4457 | 4450 | const method = 'delete'; |
... | ... | @@ -4475,9 +4468,7 @@ export interface OptionsErrorResponse { |
4475 | 4468 | * @description |
4476 | 4469 | * OK |
4477 | 4470 | */ |
4478 | - 200: { | |
4479 | - [propertyName: string]: any; | |
4480 | - }; | |
4471 | + 200: ModelAndView; | |
4481 | 4472 | /** |
4482 | 4473 | * @description |
4483 | 4474 | * No Content |
... | ... | @@ -4498,9 +4489,9 @@ export interface OptionsErrorResponse { |
4498 | 4489 | export type OptionsErrorResponseSuccess = OptionsErrorResponse[200]; |
4499 | 4490 | /** |
4500 | 4491 | * @description |
4501 | - * error | |
4492 | + * errorHtml | |
4502 | 4493 | * @tags basic-error-controller |
4503 | - * @produces * | |
4494 | + * @produces text/html | |
4504 | 4495 | * @consumes application/json |
4505 | 4496 | */ |
4506 | 4497 | export const optionsError = /* #__PURE__ */ (() => { |
... | ... | @@ -4525,9 +4516,7 @@ export interface HeadErrorResponse { |
4525 | 4516 | * @description |
4526 | 4517 | * OK |
4527 | 4518 | */ |
4528 | - 200: { | |
4529 | - [propertyName: string]: any; | |
4530 | - }; | |
4519 | + 200: ModelAndView; | |
4531 | 4520 | /** |
4532 | 4521 | * @description |
4533 | 4522 | * No Content |
... | ... | @@ -4548,9 +4537,9 @@ export interface HeadErrorResponse { |
4548 | 4537 | export type HeadErrorResponseSuccess = HeadErrorResponse[200]; |
4549 | 4538 | /** |
4550 | 4539 | * @description |
4551 | - * error | |
4540 | + * errorHtml | |
4552 | 4541 | * @tags basic-error-controller |
4553 | - * @produces * | |
4542 | + * @produces text/html | |
4554 | 4543 | * @consumes application/json |
4555 | 4544 | */ |
4556 | 4545 | export const headError = /* #__PURE__ */ (() => { |
... | ... | @@ -4575,9 +4564,7 @@ export interface PatchErrorResponse { |
4575 | 4564 | * @description |
4576 | 4565 | * OK |
4577 | 4566 | */ |
4578 | - 200: { | |
4579 | - [propertyName: string]: any; | |
4580 | - }; | |
4567 | + 200: ModelAndView; | |
4581 | 4568 | /** |
4582 | 4569 | * @description |
4583 | 4570 | * No Content |
... | ... | @@ -4598,9 +4585,9 @@ export interface PatchErrorResponse { |
4598 | 4585 | export type PatchErrorResponseSuccess = PatchErrorResponse[200]; |
4599 | 4586 | /** |
4600 | 4587 | * @description |
4601 | - * error | |
4588 | + * errorHtml | |
4602 | 4589 | * @tags basic-error-controller |
4603 | - * @produces * | |
4590 | + * @produces text/html | |
4604 | 4591 | * @consumes application/json |
4605 | 4592 | */ |
4606 | 4593 | export const patchError = /* #__PURE__ */ (() => { |
... | ... | @@ -25903,6 +25890,77 @@ export const postServiceOrderQuerySupplier = /* #__PURE__ */ (() => { |
25903 | 25890 | return request; |
25904 | 25891 | })(); |
25905 | 25892 | |
25893 | +/** @description request parameter type for postServiceOrderRefundHistory */ | |
25894 | +export interface PostServiceOrderRefundHistoryOption { | |
25895 | + /** | |
25896 | + * @description | |
25897 | + * mainOrderId | |
25898 | + */ | |
25899 | + body: { | |
25900 | + /** | |
25901 | + @description | |
25902 | + mainOrderId */ | |
25903 | + mainOrderId: number; | |
25904 | + }; | |
25905 | +} | |
25906 | + | |
25907 | +/** @description response type for postServiceOrderRefundHistory */ | |
25908 | +export interface PostServiceOrderRefundHistoryResponse { | |
25909 | + /** | |
25910 | + * @description | |
25911 | + * OK | |
25912 | + */ | |
25913 | + 200: ServerResult; | |
25914 | + /** | |
25915 | + * @description | |
25916 | + * Created | |
25917 | + */ | |
25918 | + 201: any; | |
25919 | + /** | |
25920 | + * @description | |
25921 | + * Unauthorized | |
25922 | + */ | |
25923 | + 401: any; | |
25924 | + /** | |
25925 | + * @description | |
25926 | + * Forbidden | |
25927 | + */ | |
25928 | + 403: any; | |
25929 | + /** | |
25930 | + * @description | |
25931 | + * Not Found | |
25932 | + */ | |
25933 | + 404: any; | |
25934 | +} | |
25935 | + | |
25936 | +export type PostServiceOrderRefundHistoryResponseSuccess = | |
25937 | + PostServiceOrderRefundHistoryResponse[200]; | |
25938 | +/** | |
25939 | + * @description | |
25940 | + * 根据主订单ID查询退款历史记录 | |
25941 | + * @tags 内部订单 | |
25942 | + * @produces * | |
25943 | + * @consumes application/json | |
25944 | + */ | |
25945 | +export const postServiceOrderRefundHistory = /* #__PURE__ */ (() => { | |
25946 | + const method = 'post'; | |
25947 | + const url = '/service/order/refundHistory'; | |
25948 | + function request( | |
25949 | + option: PostServiceOrderRefundHistoryOption, | |
25950 | + ): Promise<PostServiceOrderRefundHistoryResponseSuccess> { | |
25951 | + return requester(request.url, { | |
25952 | + method: request.method, | |
25953 | + ...option, | |
25954 | + }) as unknown as Promise<PostServiceOrderRefundHistoryResponseSuccess>; | |
25955 | + } | |
25956 | + | |
25957 | + /** http method */ | |
25958 | + request.method = method; | |
25959 | + /** request url */ | |
25960 | + request.url = url; | |
25961 | + return request; | |
25962 | +})(); | |
25963 | + | |
25906 | 25964 | /** @description request parameter type for postServiceOrderRemindShipping */ |
25907 | 25965 | export interface PostServiceOrderRemindShippingOption { |
25908 | 25966 | /** | ... | ... |