Commit 8ccad1f0509d396be9b562feecd89ee421e85691
1 parent
04a31534
feat: update
Showing
7 changed files
with
560 additions
and
47 deletions
src/pages/Order/components/DeliverModal.tsx
1 | import { RESPONSE_CODE } from '@/constants/enum'; | 1 | import { RESPONSE_CODE } from '@/constants/enum'; |
2 | import { | 2 | import { |
3 | + postServiceOrderProcureSend, | ||
3 | postServiceOrderSendProduct, | 4 | postServiceOrderSendProduct, |
4 | postServiceOrderSupplierSendOrder, | 5 | postServiceOrderSupplierSendOrder, |
5 | } from '@/services'; | 6 | } from '@/services'; |
@@ -156,6 +157,8 @@ const DeliverModal = ({ | @@ -156,6 +157,8 @@ const DeliverModal = ({ | ||
156 | let res; | 157 | let res; |
157 | if (optType(CHECK_TYPE.SUPPLIER)) { | 158 | if (optType(CHECK_TYPE.SUPPLIER)) { |
158 | res = await postServiceOrderSupplierSendOrder({ data: body }); | 159 | res = await postServiceOrderSupplierSendOrder({ data: body }); |
160 | + } else if (optType(CHECK_TYPE.PROCURE)) { | ||
161 | + res = await postServiceOrderProcureSend({ data: body }); | ||
159 | } else { | 162 | } else { |
160 | res = await postServiceOrderSendProduct({ data: body }); | 163 | res = await postServiceOrderSendProduct({ data: body }); |
161 | } | 164 | } |
src/pages/Order/components/ProcureCheckModal.tsx
@@ -49,10 +49,14 @@ export default ({ setCheckVisible, data, subOrders, onClose }) => { | @@ -49,10 +49,14 @@ export default ({ setCheckVisible, data, subOrders, onClose }) => { | ||
49 | }} | 49 | }} |
50 | submitTimeout={2000} | 50 | submitTimeout={2000} |
51 | onFinish={async (values) => { | 51 | onFinish={async (values) => { |
52 | + let procureIsPrintAndSend = false; | ||
53 | + if (values.name === '采购自行发货') { | ||
54 | + procureIsPrintAndSend = true; | ||
55 | + } | ||
52 | return doCheck({ | 56 | return doCheck({ |
53 | ids: subOrderIds, | 57 | ids: subOrderIds, |
54 | supplier: values.name, | 58 | supplier: values.name, |
55 | - procureIsPrintAndSend: false, | 59 | + procureIsPrintAndSend: procureIsPrintAndSend, |
56 | }); | 60 | }); |
57 | }} | 61 | }} |
58 | onOpenChange={setCheckVisible} | 62 | onOpenChange={setCheckVisible} |
src/pages/Order/constant.ts
@@ -102,12 +102,22 @@ export const ORDER_STATUS_OPTIONS = { | @@ -102,12 +102,22 @@ export const ORDER_STATUS_OPTIONS = { | ||
102 | AUDITED: '已审核', | 102 | AUDITED: '已审核', |
103 | PROCURE_UN_PROCESS: '采购未审核', | 103 | PROCURE_UN_PROCESS: '采购未审核', |
104 | PROCURE_PROCESS: '采购已审核', | 104 | PROCURE_PROCESS: '采购已审核', |
105 | - SUPPLIER_WAIT_SHIP: '供应商-待发货', | ||
106 | - SUPPLIER_SHIPPED: '供应商-已发货', | 105 | + PROCURE_PROCESS_FOR_MINE: '采购待发货', |
106 | + SUPPLIER_WAIT_SHIP: '供应商待发货', | ||
107 | + SUPPLIER_SHIPPED: '供应商已发货', | ||
107 | WAIT_SHIP: '待发货', | 108 | WAIT_SHIP: '待发货', |
108 | SHIPPED: '已发货', | 109 | SHIPPED: '已发货', |
109 | CONFIRM_RECEIPT: '确认收货', | 110 | CONFIRM_RECEIPT: '确认收货', |
110 | AUDIT_FAILED: '审核失败', | 111 | AUDIT_FAILED: '审核失败', |
112 | + IN_AFTER_SALES: '售后中', | ||
113 | + AFTER_SALES_COMPLETION: '售后完成', | ||
114 | +}; | ||
115 | + | ||
116 | +export const AFTE_SALES_PLAN_OPTIONS = { | ||
117 | + RETURNS_OR_REFUNDS: '退货/退款', | ||
118 | + EXCHANGE_GOODS: '换货', | ||
119 | + FREE_ORDER: '免单', | ||
120 | + DISCOUNT: '折扣', | ||
111 | }; | 121 | }; |
112 | 122 | ||
113 | export const FINANCIAL_STATUS_OPTIONS = { | 123 | export const FINANCIAL_STATUS_OPTIONS = { |
@@ -132,6 +142,9 @@ export const TAGS_COLOR = new Map<string, string>([ | @@ -132,6 +142,9 @@ export const TAGS_COLOR = new Map<string, string>([ | ||
132 | ['PROCURE_PROCESS', 'processing'], | 142 | ['PROCURE_PROCESS', 'processing'], |
133 | ['SUPPLIER_WAIT_SHIP', 'processing'], | 143 | ['SUPPLIER_WAIT_SHIP', 'processing'], |
134 | ['SUPPLIER_SHIPPED', 'processing'], | 144 | ['SUPPLIER_SHIPPED', 'processing'], |
145 | + ['IN_AFTER_SALES', 'red'], | ||
146 | + ['AFTER_SALES_COMPLETION', 'red'], | ||
147 | + ['PROCURE_PROCESS_FOR_MINE', 'processing'], | ||
135 | ]); | 148 | ]); |
136 | 149 | ||
137 | export const SALES_CODE_OPTIONS = [ | 150 | export const SALES_CODE_OPTIONS = [ |
@@ -196,6 +209,10 @@ export const HISTORY_OPT_TYPE = new Map<string, string>([ | @@ -196,6 +209,10 @@ export const HISTORY_OPT_TYPE = new Map<string, string>([ | ||
196 | ['PROCURE_CHECK_ORDER', '采购审核'], | 209 | ['PROCURE_CHECK_ORDER', '采购审核'], |
197 | ['SUPPLIER_PRINT', '供应商打印'], | 210 | ['SUPPLIER_PRINT', '供应商打印'], |
198 | ['EXTERNAL_PROCUREMENT', '仓库操作外部采购子订单'], | 211 | ['EXTERNAL_PROCUREMENT', '仓库操作外部采购子订单'], |
212 | + ['APPLY_AFTER_SALES', '申请售后子订单'], | ||
213 | + ['AFTER_SALES_COMPLETION', '完成售后子订单'], | ||
214 | + ['PROCURE_PRINT', '采购打印子订单'], | ||
215 | + ['PROCURE_SEND', '采购发货子订单'], | ||
199 | ]); | 216 | ]); |
200 | 217 | ||
201 | export const MAIN_ORDER_COLUMNS = [ | 218 | export const MAIN_ORDER_COLUMNS = [ |
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 { | 3 | import { |
4 | + postServiceOrderAfterSalesCompletion, | ||
4 | postServiceOrderOrderCancel, | 5 | postServiceOrderOrderCancel, |
5 | postServiceOrderQueryServiceOrder, | 6 | postServiceOrderQueryServiceOrder, |
6 | } from '@/services'; | 7 | } from '@/services'; |
@@ -37,6 +38,7 @@ import { | @@ -37,6 +38,7 @@ import { | ||
37 | import { cloneDeep } from 'lodash'; | 38 | import { cloneDeep } from 'lodash'; |
38 | import { Key, useRef, useState } from 'react'; | 39 | import { Key, useRef, useState } from 'react'; |
39 | import OrderPrintModal from '../OrderPrint/OrderPrintModal'; | 40 | import OrderPrintModal from '../OrderPrint/OrderPrintModal'; |
41 | +import AfterSalesDrawer from './components/AfterSalesDrawer'; | ||
40 | import AttachmentModal from './components/AttachmentModal'; | 42 | import AttachmentModal from './components/AttachmentModal'; |
41 | import CheckModal from './components/CheckModal'; | 43 | import CheckModal from './components/CheckModal'; |
42 | import ConfirmReceiptModal from './components/ConfirmReceiptModal'; | 44 | import ConfirmReceiptModal from './components/ConfirmReceiptModal'; |
@@ -76,6 +78,8 @@ const OrderPage = () => { | @@ -76,6 +78,8 @@ const OrderPage = () => { | ||
76 | const [attachmentModalVisible, setAttachmentModalVisible] = | 78 | const [attachmentModalVisible, setAttachmentModalVisible] = |
77 | useState<boolean>(false); | 79 | useState<boolean>(false); |
78 | const [financialVisible, setFinancialVisible] = useState<boolean>(false); | 80 | const [financialVisible, setFinancialVisible] = useState<boolean>(false); |
81 | + const [afterSalesDrawerVisible, setAfterSalesDrawerVisible] = | ||
82 | + useState<boolean>(false); | ||
79 | const [historyModalVisible, setHistoryModalVisible] = | 83 | const [historyModalVisible, setHistoryModalVisible] = |
80 | useState<boolean>(false); | 84 | useState<boolean>(false); |
81 | const [isRePrintOrder, setIsRePrintOrder] = useState<boolean>(false); | 85 | const [isRePrintOrder, setIsRePrintOrder] = useState<boolean>(false); |
@@ -227,15 +231,15 @@ const OrderPage = () => { | @@ -227,15 +231,15 @@ const OrderPage = () => { | ||
227 | <Flex vertical className="w-[31%]" gap="small"> | 231 | <Flex vertical className="w-[31%]" gap="small"> |
228 | {/* 商品名称 */} | 232 | {/* 商品名称 */} |
229 | <div | 233 | <div |
230 | - className="whitespace-no-wrap overflow-hidden overflow-ellipsis" | 234 | + className="overflow-hidden whitespace-no-wrap overflow-ellipsis" |
231 | title={optRecord.productName} | 235 | title={optRecord.productName} |
232 | > | 236 | > |
233 | - <span className="text-black font-medium "> | 237 | + <span className="font-medium text-black "> |
234 | {optRecord.productName} | 238 | {optRecord.productName} |
235 | </span> | 239 | </span> |
236 | </div> | 240 | </div> |
237 | <div | 241 | <div |
238 | - className="whitespace-no-wrap overflow-hidden overflow-ellipsis" | 242 | + className="overflow-hidden whitespace-no-wrap overflow-ellipsis" |
239 | title={optRecord.parameters} | 243 | title={optRecord.parameters} |
240 | > | 244 | > |
241 | <span className="text-[#8C8C8C]">参数:{optRecord.parameters}</span> | 245 | <span className="text-[#8C8C8C]">参数:{optRecord.parameters}</span> |
@@ -259,21 +263,21 @@ const OrderPage = () => { | @@ -259,21 +263,21 @@ const OrderPage = () => { | ||
259 | </Flex> | 263 | </Flex> |
260 | <Flex className="w-[16%]" vertical gap="small"> | 264 | <Flex className="w-[16%]" vertical gap="small"> |
261 | <div | 265 | <div |
262 | - className="whitespace-no-wrap overflow-hidden overflow-ellipsis" | 266 | + className="overflow-hidden whitespace-no-wrap overflow-ellipsis" |
263 | title={optRecord.productPrice} | 267 | title={optRecord.productPrice} |
264 | > | 268 | > |
265 | <span className="text-[#8C8C8C]">单价:</span> | 269 | <span className="text-[#8C8C8C]">单价:</span> |
266 | <span className="text-slate-700">¥{optRecord.productPrice}</span> | 270 | <span className="text-slate-700">¥{optRecord.productPrice}</span> |
267 | </div> | 271 | </div> |
268 | <div | 272 | <div |
269 | - className="whitespace-no-wrap overflow-hidden overflow-ellipsis" | 273 | + className="overflow-hidden whitespace-no-wrap overflow-ellipsis" |
270 | title={optRecord.quantity} | 274 | title={optRecord.quantity} |
271 | > | 275 | > |
272 | <span className="text-[#8C8C8C]">数量:</span> | 276 | <span className="text-[#8C8C8C]">数量:</span> |
273 | <span className="text-slate-700">x{optRecord.quantity}</span> | 277 | <span className="text-slate-700">x{optRecord.quantity}</span> |
274 | </div> | 278 | </div> |
275 | <div | 279 | <div |
276 | - className="whitespace-no-wrap overflow-hidden overflow-ellipsis" | 280 | + className="overflow-hidden whitespace-no-wrap overflow-ellipsis" |
277 | title={optRecord.subOrderPayment} | 281 | title={optRecord.subOrderPayment} |
278 | > | 282 | > |
279 | <span className="text-[#8C8C8C]">合计:</span> | 283 | <span className="text-[#8C8C8C]">合计:</span> |
@@ -284,7 +288,7 @@ const OrderPage = () => { | @@ -284,7 +288,7 @@ const OrderPage = () => { | ||
284 | </Flex> | 288 | </Flex> |
285 | <Flex className="w-[10%]" vertical gap="small"> | 289 | <Flex className="w-[10%]" vertical gap="small"> |
286 | {/* 支付方式 */} | 290 | {/* 支付方式 */} |
287 | - <div className="whitespace-no-wrap overflow-hidden overflow-ellipsis"> | 291 | + <div className="overflow-hidden whitespace-no-wrap overflow-ellipsis"> |
288 | <span className="text-slate-700"> | 292 | <span className="text-slate-700"> |
289 | {enumValueToLabel( | 293 | {enumValueToLabel( |
290 | optRecord.paymentMethod, | 294 | optRecord.paymentMethod, |
@@ -293,7 +297,7 @@ const OrderPage = () => { | @@ -293,7 +297,7 @@ const OrderPage = () => { | ||
293 | </span> | 297 | </span> |
294 | </div> | 298 | </div> |
295 | {/* 支付渠道 */} | 299 | {/* 支付渠道 */} |
296 | - <div className="whitespace-no-wrap overflow-hidden overflow-ellipsis"> | 300 | + <div className="overflow-hidden whitespace-no-wrap overflow-ellipsis"> |
297 | <span className="text-slate-700"> | 301 | <span className="text-slate-700"> |
298 | {enumValueToLabel( | 302 | {enumValueToLabel( |
299 | optRecord.paymentChannel, | 303 | optRecord.paymentChannel, |
@@ -305,7 +309,7 @@ const OrderPage = () => { | @@ -305,7 +309,7 @@ const OrderPage = () => { | ||
305 | <Flex className="w-[15%]" vertical gap="small"> | 309 | <Flex className="w-[15%]" vertical gap="small"> |
306 | {/* 所属部门 */} | 310 | {/* 所属部门 */} |
307 | <div | 311 | <div |
308 | - className="whitespace-no-wrap overflow-hidden overflow-ellipsis" | 312 | + className="overflow-hidden whitespace-no-wrap overflow-ellipsis" |
309 | title={enumValueToLabel( | 313 | title={enumValueToLabel( |
310 | optRecord.productBelongBusiness, | 314 | optRecord.productBelongBusiness, |
311 | PRODUCT_BELONG_DEPARTMENT_OPTIONS, | 315 | PRODUCT_BELONG_DEPARTMENT_OPTIONS, |
@@ -320,7 +324,7 @@ const OrderPage = () => { | @@ -320,7 +324,7 @@ const OrderPage = () => { | ||
320 | </div> | 324 | </div> |
321 | 325 | ||
322 | {/* 开票类型 */} | 326 | {/* 开票类型 */} |
323 | - <div className="whitespace-no-wrap overflow-hidden overflow-ellipsis"> | 327 | + <div className="overflow-hidden whitespace-no-wrap overflow-ellipsis"> |
324 | <span className="text-slate-700"> | 328 | <span className="text-slate-700"> |
325 | {getInvoicingType(optRecord)} | 329 | {getInvoicingType(optRecord)} |
326 | </span> | 330 | </span> |
@@ -329,7 +333,7 @@ const OrderPage = () => { | @@ -329,7 +333,7 @@ const OrderPage = () => { | ||
329 | 333 | ||
330 | <Flex className="w-[10%]" vertical gap="small"> | 334 | <Flex className="w-[10%]" vertical gap="small"> |
331 | {/* 开票状态 */} | 335 | {/* 开票状态 */} |
332 | - <div className="whitespace-no-wrap overflow-hidden overflow-ellipsis"> | 336 | + <div className="overflow-hidden whitespace-no-wrap overflow-ellipsis"> |
333 | <Tag | 337 | <Tag |
334 | color={ | 338 | color={ |
335 | optRecord.invoicingTime === null || | 339 | optRecord.invoicingTime === null || |
@@ -342,21 +346,21 @@ const OrderPage = () => { | @@ -342,21 +346,21 @@ const OrderPage = () => { | ||
342 | </Tag> | 346 | </Tag> |
343 | </div> | 347 | </div> |
344 | {/* 订单状态 */} | 348 | {/* 订单状态 */} |
345 | - <div className="whitespace-no-wrap overflow-hidden overflow-ellipsis"> | 349 | + <div className="overflow-hidden whitespace-no-wrap overflow-ellipsis"> |
346 | <Tag color={TAGS_COLOR.get(optRecord.orderStatus)}> | 350 | <Tag color={TAGS_COLOR.get(optRecord.orderStatus)}> |
347 | {enumValueToLabel(optRecord.orderStatus, ORDER_STATUS_OPTIONS)} | 351 | {enumValueToLabel(optRecord.orderStatus, ORDER_STATUS_OPTIONS)} |
348 | </Tag> | 352 | </Tag> |
349 | </div> | 353 | </div> |
350 | 354 | ||
351 | {/* 物流信息 */} | 355 | {/* 物流信息 */} |
352 | - <div className="whitespace-no-wrap overflow-hidden overflow-ellipsis"> | 356 | + <div className="overflow-hidden whitespace-no-wrap overflow-ellipsis"> |
353 | {optRecord.orderStatus === 'CONFIRM_RECEIPT' || | 357 | {optRecord.orderStatus === 'CONFIRM_RECEIPT' || |
354 | optRecord.orderStatus === 'SHIPPED' ? ( | 358 | optRecord.orderStatus === 'SHIPPED' ? ( |
355 | <Tooltip | 359 | <Tooltip |
356 | color="#FFFFFF" | 360 | color="#FFFFFF" |
357 | placement="bottom" | 361 | placement="bottom" |
358 | title={ | 362 | title={ |
359 | - <div className="text-black px-5 py-4"> | 363 | + <div className="px-5 py-4 text-black"> |
360 | {optRecord.serialNumber === undefined | 364 | {optRecord.serialNumber === undefined |
361 | ? '暂无物流信息' | 365 | ? '暂无物流信息' |
362 | : enumValueToLabel( | 366 | : enumValueToLabel( |
@@ -459,7 +463,7 @@ const OrderPage = () => { | @@ -459,7 +463,7 @@ const OrderPage = () => { | ||
459 | setOrderCheckType(CHECK_TYPE.NORMAL); | 463 | setOrderCheckType(CHECK_TYPE.NORMAL); |
460 | }} | 464 | }} |
461 | > | 465 | > |
462 | - 打印 | 466 | + 仓库打印 |
463 | </Button> | 467 | </Button> |
464 | ) : ( | 468 | ) : ( |
465 | '' | 469 | '' |
@@ -476,7 +480,7 @@ const OrderPage = () => { | @@ -476,7 +480,7 @@ const OrderPage = () => { | ||
476 | setOrderCheckType(CHECK_TYPE.SUPPLIER); | 480 | setOrderCheckType(CHECK_TYPE.SUPPLIER); |
477 | }} | 481 | }} |
478 | > | 482 | > |
479 | - 打印 | 483 | + 供应商打印 |
480 | </Button> | 484 | </Button> |
481 | ) : ( | 485 | ) : ( |
482 | '' | 486 | '' |
@@ -597,6 +601,43 @@ const OrderPage = () => { | @@ -597,6 +601,43 @@ const OrderPage = () => { | ||
597 | ) : ( | 601 | ) : ( |
598 | '' | 602 | '' |
599 | )} | 603 | )} |
604 | + | ||
605 | + {optRecord.subPath.includes('applyAfterSales') ? ( | ||
606 | + <Button | ||
607 | + className="p-0" | ||
608 | + type="link" | ||
609 | + onClick={() => { | ||
610 | + setAfterSalesDrawerVisible(true); | ||
611 | + setSelectedRows([optRecord]); | ||
612 | + setOrderRow(record); | ||
613 | + }} | ||
614 | + > | ||
615 | + 申请售后 | ||
616 | + </Button> | ||
617 | + ) : ( | ||
618 | + '' | ||
619 | + )} | ||
620 | + | ||
621 | + {optRecord.subPath.includes('afterSalesCompletion') ? ( | ||
622 | + <ButtonConfirm | ||
623 | + className="p-0" | ||
624 | + title="是否完成售后?" | ||
625 | + text="完成售后" | ||
626 | + onConfirm={async () => { | ||
627 | + let res = await postServiceOrderAfterSalesCompletion({ | ||
628 | + data: { ids: [optRecord.id] }, | ||
629 | + }); | ||
630 | + if (res.result === RESPONSE_CODE.SUCCESS) { | ||
631 | + message.success(res.message); | ||
632 | + refreshTable(); | ||
633 | + return true; | ||
634 | + } | ||
635 | + }} | ||
636 | + /> | ||
637 | + ) : ( | ||
638 | + '' | ||
639 | + )} | ||
640 | + | ||
600 | {optRecord.subPath.includes('viewImages') ? ( | 641 | {optRecord.subPath.includes('viewImages') ? ( |
601 | <Button | 642 | <Button |
602 | className="p-0" | 643 | className="p-0" |
@@ -641,7 +682,7 @@ const OrderPage = () => { | @@ -641,7 +682,7 @@ const OrderPage = () => { | ||
641 | return ( | 682 | return ( |
642 | <ProTable | 683 | <ProTable |
643 | id="sub-table" | 684 | id="sub-table" |
644 | - className=" w-full" | 685 | + className="w-full " |
645 | showHeader={false} | 686 | showHeader={false} |
646 | columns={[ | 687 | columns={[ |
647 | { | 688 | { |
@@ -686,7 +727,7 @@ const OrderPage = () => { | @@ -686,7 +727,7 @@ const OrderPage = () => { | ||
686 | <Flex vertical={true}> | 727 | <Flex vertical={true}> |
687 | {/* 编号、时间、销售信息 */} | 728 | {/* 编号、时间、销售信息 */} |
688 | <Flex | 729 | <Flex |
689 | - className="px-4 py-4 bg-white bg-white rounded-t-lg" | 730 | + className="px-4 py-4 bg-white rounded-t-lg" |
690 | justify="space-between" | 731 | justify="space-between" |
691 | > | 732 | > |
692 | <Flex wrap="wrap" gap="middle" vertical> | 733 | <Flex wrap="wrap" gap="middle" vertical> |
@@ -742,7 +783,7 @@ const OrderPage = () => { | @@ -742,7 +783,7 @@ const OrderPage = () => { | ||
742 | </Flex> | 783 | </Flex> |
743 | <Flex className="pl-6" align="center"> | 784 | <Flex className="pl-6" align="center"> |
744 | <div title={record.notes}> | 785 | <div title={record.notes}> |
745 | - <div className="max-w-md whitespace-no-wrap overflow-hidden overflow-ellipsis"> | 786 | + <div className="max-w-md overflow-hidden whitespace-no-wrap overflow-ellipsis"> |
746 | <span className="text-[#8C8C8C]">备注:</span> | 787 | <span className="text-[#8C8C8C]">备注:</span> |
747 | <span className="ml-2"> | 788 | <span className="ml-2"> |
748 | {record.notes === undefined ? '暂无备注' : record.notes} | 789 | {record.notes === undefined ? '暂无备注' : record.notes} |
@@ -848,6 +889,27 @@ const OrderPage = () => { | @@ -848,6 +889,27 @@ const OrderPage = () => { | ||
848 | ) : ( | 889 | ) : ( |
849 | '' | 890 | '' |
850 | )} | 891 | )} |
892 | + | ||
893 | + {record.mainPath.includes('procureSend') ? ( | ||
894 | + <Button | ||
895 | + className="p-0" | ||
896 | + type="link" | ||
897 | + onClick={() => { | ||
898 | + if (!selectedRowObj[record.id]?.length) { | ||
899 | + return message.error('请选择选择子订单'); | ||
900 | + } | ||
901 | + setSelectedRows(selectedRowObj[record.id]); | ||
902 | + setDeliverVisible(true); | ||
903 | + setIsSendProduct(true); | ||
904 | + setOrderCheckType(CHECK_TYPE.PROCURE); | ||
905 | + }} | ||
906 | + > | ||
907 | + 采购发货 | ||
908 | + </Button> | ||
909 | + ) : ( | ||
910 | + '' | ||
911 | + )} | ||
912 | + | ||
851 | {record.mainPath.includes('printOrder') ? ( | 913 | {record.mainPath.includes('printOrder') ? ( |
852 | <Button | 914 | <Button |
853 | className="p-0" | 915 | className="p-0" |
@@ -862,7 +924,7 @@ const OrderPage = () => { | @@ -862,7 +924,7 @@ const OrderPage = () => { | ||
862 | setOrderCheckType(CHECK_TYPE.NORMAL); | 924 | setOrderCheckType(CHECK_TYPE.NORMAL); |
863 | }} | 925 | }} |
864 | > | 926 | > |
865 | - 打印 | 927 | + 仓库打印 |
866 | </Button> | 928 | </Button> |
867 | ) : ( | 929 | ) : ( |
868 | '' | 930 | '' |
@@ -882,7 +944,7 @@ const OrderPage = () => { | @@ -882,7 +944,7 @@ const OrderPage = () => { | ||
882 | setOrderCheckType(CHECK_TYPE.SUPPLIER); | 944 | setOrderCheckType(CHECK_TYPE.SUPPLIER); |
883 | }} | 945 | }} |
884 | > | 946 | > |
885 | - 打印 | 947 | + 供应商打印 |
886 | </Button> | 948 | </Button> |
887 | ) : ( | 949 | ) : ( |
888 | '' | 950 | '' |
@@ -1103,6 +1165,79 @@ const OrderPage = () => { | @@ -1103,6 +1165,79 @@ const OrderPage = () => { | ||
1103 | '' | 1165 | '' |
1104 | )} | 1166 | )} |
1105 | 1167 | ||
1168 | + {record.mainPath.includes('applyAfterSales') ? ( | ||
1169 | + <Button | ||
1170 | + className="p-0" | ||
1171 | + type="link" | ||
1172 | + onClick={() => { | ||
1173 | + let selectedSubOrders = selectedRowObj[record.id]; | ||
1174 | + if (selectedSubOrders === undefined) { | ||
1175 | + selectedSubOrders = record.subOrderInformationLists; | ||
1176 | + } | ||
1177 | + setSelectedRows(selectedSubOrders); | ||
1178 | + for (let i = 0; i < selectedSubOrders.length; i++) { | ||
1179 | + if ( | ||
1180 | + selectedSubOrders[i].orderStatus !== | ||
1181 | + 'CONFIRM_RECEIPT' | ||
1182 | + ) { | ||
1183 | + message.error('请选择确认收货状态的子订单进行售后'); | ||
1184 | + return; | ||
1185 | + } | ||
1186 | + } | ||
1187 | + setAfterSalesDrawerVisible(true); | ||
1188 | + setOrderRow(record); | ||
1189 | + }} | ||
1190 | + > | ||
1191 | + 申请售后 | ||
1192 | + </Button> | ||
1193 | + ) : ( | ||
1194 | + '' | ||
1195 | + )} | ||
1196 | + | ||
1197 | + {record.mainPath.includes('afterSalesCompletion') ? ( | ||
1198 | + <ButtonConfirm | ||
1199 | + className="p-0" | ||
1200 | + title="售后是否已完成?" | ||
1201 | + text="完成售后" | ||
1202 | + onConfirm={async () => { | ||
1203 | + let selectedSubOrders = selectedRowObj[record.id]; | ||
1204 | + if (selectedSubOrders === undefined) { | ||
1205 | + selectedSubOrders = record.subOrderInformationLists; | ||
1206 | + } | ||
1207 | + for (let i = 0; i < selectedSubOrders.length; i++) { | ||
1208 | + if ( | ||
1209 | + selectedSubOrders[i].orderStatus !== | ||
1210 | + 'IN_AFTER_SALES' | ||
1211 | + ) { | ||
1212 | + message.error( | ||
1213 | + '请选择售后中状态的子订单进行完成售后', | ||
1214 | + ); | ||
1215 | + return false; | ||
1216 | + } | ||
1217 | + } | ||
1218 | + | ||
1219 | + const ids = selectedSubOrders?.map((item) => { | ||
1220 | + return item.id; | ||
1221 | + }); | ||
1222 | + | ||
1223 | + let body = { | ||
1224 | + ids: ids, | ||
1225 | + }; | ||
1226 | + const data = await postServiceOrderAfterSalesCompletion( | ||
1227 | + { | ||
1228 | + data: body, | ||
1229 | + }, | ||
1230 | + ); | ||
1231 | + if (data.result === RESPONSE_CODE.SUCCESS) { | ||
1232 | + message.success(data.message); | ||
1233 | + refreshTable(); | ||
1234 | + } | ||
1235 | + }} | ||
1236 | + /> | ||
1237 | + ) : ( | ||
1238 | + '' | ||
1239 | + )} | ||
1240 | + | ||
1106 | {record.mainPath.includes('orderCancel') ? ( | 1241 | {record.mainPath.includes('orderCancel') ? ( |
1107 | <ButtonConfirm | 1242 | <ButtonConfirm |
1108 | className="p-0" | 1243 | className="p-0" |
@@ -1125,6 +1260,26 @@ const OrderPage = () => { | @@ -1125,6 +1260,26 @@ const OrderPage = () => { | ||
1125 | ) : ( | 1260 | ) : ( |
1126 | '' | 1261 | '' |
1127 | )} | 1262 | )} |
1263 | + | ||
1264 | + {record.mainPath.includes('procurePrint') ? ( | ||
1265 | + <Button | ||
1266 | + className="p-0" | ||
1267 | + type="link" | ||
1268 | + onClick={() => { | ||
1269 | + if (!selectedRowObj[record.id]?.length) { | ||
1270 | + return message.error('请选择选择子订单'); | ||
1271 | + } | ||
1272 | + setSelectedRows(selectedRowObj[record.id]); | ||
1273 | + setOrderRow(record); | ||
1274 | + setOrderPrintVisible(true); | ||
1275 | + setOrderCheckType(CHECK_TYPE.PROCURE); | ||
1276 | + }} | ||
1277 | + > | ||
1278 | + 采购打印 | ||
1279 | + </Button> | ||
1280 | + ) : ( | ||
1281 | + '' | ||
1282 | + )} | ||
1128 | </Space> | 1283 | </Space> |
1129 | </Space.Compact> | 1284 | </Space.Compact> |
1130 | </Flex> | 1285 | </Flex> |
@@ -1549,6 +1704,20 @@ const OrderPage = () => { | @@ -1549,6 +1704,20 @@ const OrderPage = () => { | ||
1549 | /> | 1704 | /> |
1550 | )} | 1705 | )} |
1551 | 1706 | ||
1707 | + {afterSalesDrawerVisible && ( | ||
1708 | + <AfterSalesDrawer | ||
1709 | + setVisible={setAfterSalesDrawerVisible} | ||
1710 | + mainOrder={orderRow} | ||
1711 | + subOrders={selectedRows} | ||
1712 | + onClose={() => { | ||
1713 | + setAfterSalesDrawerVisible(false); | ||
1714 | + setSelectedRows({}); | ||
1715 | + setOrderRow({}); | ||
1716 | + refreshTable(); | ||
1717 | + }} | ||
1718 | + /> | ||
1719 | + )} | ||
1720 | + | ||
1552 | {contextHolder} | 1721 | {contextHolder} |
1553 | </PageContainer> | 1722 | </PageContainer> |
1554 | ); | 1723 | ); |
src/pages/OrderPrint/OrderPrintModal.tsx
@@ -2,6 +2,7 @@ import { RESPONSE_CODE } from '@/constants/enum'; | @@ -2,6 +2,7 @@ import { RESPONSE_CODE } from '@/constants/enum'; | ||
2 | import '@/pages/OrderPrint/index.less'; | 2 | import '@/pages/OrderPrint/index.less'; |
3 | import { | 3 | import { |
4 | postServiceOrderPrintOrder, | 4 | postServiceOrderPrintOrder, |
5 | + postServiceOrderProcurePrint, | ||
5 | postServiceOrderSupplierPrint, | 6 | postServiceOrderSupplierPrint, |
6 | } from '@/services'; | 7 | } from '@/services'; |
7 | import { ExclamationCircleFilled } from '@ant-design/icons'; | 8 | import { ExclamationCircleFilled } from '@ant-design/icons'; |
@@ -66,6 +67,14 @@ export default ({ | @@ -66,6 +67,14 @@ export default ({ | ||
66 | }), | 67 | }), |
67 | }, | 68 | }, |
68 | }); | 69 | }); |
70 | + } else if (optType(CHECK_TYPE.PROCURE)) { | ||
71 | + res = await postServiceOrderProcurePrint({ | ||
72 | + data: { | ||
73 | + ids: subOrders.map((item) => { | ||
74 | + return item.id; | ||
75 | + }), | ||
76 | + }, | ||
77 | + }); | ||
69 | } else { | 78 | } else { |
70 | res = await postServiceOrderPrintOrder({ data: body }); | 79 | res = await postServiceOrderPrintOrder({ data: body }); |
71 | } | 80 | } |
src/services/definition.ts
@@ -699,11 +699,24 @@ export interface ProcureCheckOrderDto { | @@ -699,11 +699,24 @@ export interface ProcureCheckOrderDto { | ||
699 | ids?: Array<number>; | 699 | ids?: Array<number>; |
700 | /** | 700 | /** |
701 | * @description | 701 | * @description |
702 | - * 采购人姓名 | 702 | + * true表示采购走打印发货流程,false表示选择供应商进行发货 |
703 | + */ | ||
704 | + procureIsPrintAndSend?: boolean; | ||
705 | + /** | ||
706 | + * @description | ||
707 | + * 供应商姓名 | ||
703 | */ | 708 | */ |
704 | supplier?: string; | 709 | supplier?: string; |
705 | } | 710 | } |
706 | 711 | ||
712 | +export interface ProcurePrintDto { | ||
713 | + /** | ||
714 | + * @description | ||
715 | + * 子订单id集合 | ||
716 | + */ | ||
717 | + ids?: Array<number>; | ||
718 | +} | ||
719 | + | ||
707 | export interface ProductInformationDto { | 720 | export interface ProductInformationDto { |
708 | /** | 721 | /** |
709 | * @description | 722 | * @description |
src/services/request.ts
@@ -26,7 +26,6 @@ import type { | @@ -26,7 +26,6 @@ import type { | ||
26 | DictionaryQueryVO, | 26 | DictionaryQueryVO, |
27 | DictionaryVO, | 27 | DictionaryVO, |
28 | Dto, | 28 | Dto, |
29 | - ModelAndView, | ||
30 | OrderAddVO, | 29 | OrderAddVO, |
31 | OrderAuditLogQueryVO, | 30 | OrderAuditLogQueryVO, |
32 | OrderBaseInfoQueryVO, | 31 | OrderBaseInfoQueryVO, |
@@ -36,6 +35,7 @@ import type { | @@ -36,6 +35,7 @@ import type { | ||
36 | OrderUnlockFieldApplyVO, | 35 | OrderUnlockFieldApplyVO, |
37 | OrderUpdateVO, | 36 | OrderUpdateVO, |
38 | ProcureCheckOrderDto, | 37 | ProcureCheckOrderDto, |
38 | + ProcurePrintDto, | ||
39 | ProductInformationDto, | 39 | ProductInformationDto, |
40 | QueryAnnexDto, | 40 | QueryAnnexDto, |
41 | QueryHistoryRecordDto, | 41 | QueryHistoryRecordDto, |
@@ -223,7 +223,9 @@ export interface GetErrorResponse { | @@ -223,7 +223,9 @@ export interface GetErrorResponse { | ||
223 | * @description | 223 | * @description |
224 | * OK | 224 | * OK |
225 | */ | 225 | */ |
226 | - 200: ModelAndView; | 226 | + 200: { |
227 | + [propertyName: string]: any; | ||
228 | + }; | ||
227 | /** | 229 | /** |
228 | * @description | 230 | * @description |
229 | * Unauthorized | 231 | * Unauthorized |
@@ -244,9 +246,9 @@ export interface GetErrorResponse { | @@ -244,9 +246,9 @@ export interface GetErrorResponse { | ||
244 | export type GetErrorResponseSuccess = GetErrorResponse[200]; | 246 | export type GetErrorResponseSuccess = GetErrorResponse[200]; |
245 | /** | 247 | /** |
246 | * @description | 248 | * @description |
247 | - * errorHtml | 249 | + * error |
248 | * @tags basic-error-controller | 250 | * @tags basic-error-controller |
249 | - * @produces text/html | 251 | + * @produces * |
250 | */ | 252 | */ |
251 | export const getError = /* #__PURE__ */ (() => { | 253 | export const getError = /* #__PURE__ */ (() => { |
252 | const method = 'get'; | 254 | const method = 'get'; |
@@ -270,7 +272,9 @@ export interface PutErrorResponse { | @@ -270,7 +272,9 @@ export interface PutErrorResponse { | ||
270 | * @description | 272 | * @description |
271 | * OK | 273 | * OK |
272 | */ | 274 | */ |
273 | - 200: ModelAndView; | 275 | + 200: { |
276 | + [propertyName: string]: any; | ||
277 | + }; | ||
274 | /** | 278 | /** |
275 | * @description | 279 | * @description |
276 | * Created | 280 | * Created |
@@ -296,9 +300,9 @@ export interface PutErrorResponse { | @@ -296,9 +300,9 @@ export interface PutErrorResponse { | ||
296 | export type PutErrorResponseSuccess = PutErrorResponse[200]; | 300 | export type PutErrorResponseSuccess = PutErrorResponse[200]; |
297 | /** | 301 | /** |
298 | * @description | 302 | * @description |
299 | - * errorHtml | 303 | + * error |
300 | * @tags basic-error-controller | 304 | * @tags basic-error-controller |
301 | - * @produces text/html | 305 | + * @produces * |
302 | * @consumes application/json | 306 | * @consumes application/json |
303 | */ | 307 | */ |
304 | export const putError = /* #__PURE__ */ (() => { | 308 | export const putError = /* #__PURE__ */ (() => { |
@@ -323,7 +327,9 @@ export interface PostErrorResponse { | @@ -323,7 +327,9 @@ export interface PostErrorResponse { | ||
323 | * @description | 327 | * @description |
324 | * OK | 328 | * OK |
325 | */ | 329 | */ |
326 | - 200: ModelAndView; | 330 | + 200: { |
331 | + [propertyName: string]: any; | ||
332 | + }; | ||
327 | /** | 333 | /** |
328 | * @description | 334 | * @description |
329 | * Created | 335 | * Created |
@@ -349,9 +355,9 @@ export interface PostErrorResponse { | @@ -349,9 +355,9 @@ export interface PostErrorResponse { | ||
349 | export type PostErrorResponseSuccess = PostErrorResponse[200]; | 355 | export type PostErrorResponseSuccess = PostErrorResponse[200]; |
350 | /** | 356 | /** |
351 | * @description | 357 | * @description |
352 | - * errorHtml | 358 | + * error |
353 | * @tags basic-error-controller | 359 | * @tags basic-error-controller |
354 | - * @produces text/html | 360 | + * @produces * |
355 | * @consumes application/json | 361 | * @consumes application/json |
356 | */ | 362 | */ |
357 | export const postError = /* #__PURE__ */ (() => { | 363 | export const postError = /* #__PURE__ */ (() => { |
@@ -376,7 +382,9 @@ export interface DeleteErrorResponse { | @@ -376,7 +382,9 @@ export interface DeleteErrorResponse { | ||
376 | * @description | 382 | * @description |
377 | * OK | 383 | * OK |
378 | */ | 384 | */ |
379 | - 200: ModelAndView; | 385 | + 200: { |
386 | + [propertyName: string]: any; | ||
387 | + }; | ||
380 | /** | 388 | /** |
381 | * @description | 389 | * @description |
382 | * No Content | 390 | * No Content |
@@ -397,9 +405,9 @@ export interface DeleteErrorResponse { | @@ -397,9 +405,9 @@ export interface DeleteErrorResponse { | ||
397 | export type DeleteErrorResponseSuccess = DeleteErrorResponse[200]; | 405 | export type DeleteErrorResponseSuccess = DeleteErrorResponse[200]; |
398 | /** | 406 | /** |
399 | * @description | 407 | * @description |
400 | - * errorHtml | 408 | + * error |
401 | * @tags basic-error-controller | 409 | * @tags basic-error-controller |
402 | - * @produces text/html | 410 | + * @produces * |
403 | */ | 411 | */ |
404 | export const deleteError = /* #__PURE__ */ (() => { | 412 | export const deleteError = /* #__PURE__ */ (() => { |
405 | const method = 'delete'; | 413 | const method = 'delete'; |
@@ -423,7 +431,9 @@ export interface OptionsErrorResponse { | @@ -423,7 +431,9 @@ export interface OptionsErrorResponse { | ||
423 | * @description | 431 | * @description |
424 | * OK | 432 | * OK |
425 | */ | 433 | */ |
426 | - 200: ModelAndView; | 434 | + 200: { |
435 | + [propertyName: string]: any; | ||
436 | + }; | ||
427 | /** | 437 | /** |
428 | * @description | 438 | * @description |
429 | * No Content | 439 | * No Content |
@@ -444,9 +454,9 @@ export interface OptionsErrorResponse { | @@ -444,9 +454,9 @@ export interface OptionsErrorResponse { | ||
444 | export type OptionsErrorResponseSuccess = OptionsErrorResponse[200]; | 454 | export type OptionsErrorResponseSuccess = OptionsErrorResponse[200]; |
445 | /** | 455 | /** |
446 | * @description | 456 | * @description |
447 | - * errorHtml | 457 | + * error |
448 | * @tags basic-error-controller | 458 | * @tags basic-error-controller |
449 | - * @produces text/html | 459 | + * @produces * |
450 | * @consumes application/json | 460 | * @consumes application/json |
451 | */ | 461 | */ |
452 | export const optionsError = /* #__PURE__ */ (() => { | 462 | export const optionsError = /* #__PURE__ */ (() => { |
@@ -471,7 +481,9 @@ export interface HeadErrorResponse { | @@ -471,7 +481,9 @@ export interface HeadErrorResponse { | ||
471 | * @description | 481 | * @description |
472 | * OK | 482 | * OK |
473 | */ | 483 | */ |
474 | - 200: ModelAndView; | 484 | + 200: { |
485 | + [propertyName: string]: any; | ||
486 | + }; | ||
475 | /** | 487 | /** |
476 | * @description | 488 | * @description |
477 | * No Content | 489 | * No Content |
@@ -492,9 +504,9 @@ export interface HeadErrorResponse { | @@ -492,9 +504,9 @@ export interface HeadErrorResponse { | ||
492 | export type HeadErrorResponseSuccess = HeadErrorResponse[200]; | 504 | export type HeadErrorResponseSuccess = HeadErrorResponse[200]; |
493 | /** | 505 | /** |
494 | * @description | 506 | * @description |
495 | - * errorHtml | 507 | + * error |
496 | * @tags basic-error-controller | 508 | * @tags basic-error-controller |
497 | - * @produces text/html | 509 | + * @produces * |
498 | * @consumes application/json | 510 | * @consumes application/json |
499 | */ | 511 | */ |
500 | export const headError = /* #__PURE__ */ (() => { | 512 | export const headError = /* #__PURE__ */ (() => { |
@@ -519,7 +531,9 @@ export interface PatchErrorResponse { | @@ -519,7 +531,9 @@ export interface PatchErrorResponse { | ||
519 | * @description | 531 | * @description |
520 | * OK | 532 | * OK |
521 | */ | 533 | */ |
522 | - 200: ModelAndView; | 534 | + 200: { |
535 | + [propertyName: string]: any; | ||
536 | + }; | ||
523 | /** | 537 | /** |
524 | * @description | 538 | * @description |
525 | * No Content | 539 | * No Content |
@@ -540,9 +554,9 @@ export interface PatchErrorResponse { | @@ -540,9 +554,9 @@ export interface PatchErrorResponse { | ||
540 | export type PatchErrorResponseSuccess = PatchErrorResponse[200]; | 554 | export type PatchErrorResponseSuccess = PatchErrorResponse[200]; |
541 | /** | 555 | /** |
542 | * @description | 556 | * @description |
543 | - * errorHtml | 557 | + * error |
544 | * @tags basic-error-controller | 558 | * @tags basic-error-controller |
545 | - * @produces text/html | 559 | + * @produces * |
546 | * @consumes application/json | 560 | * @consumes application/json |
547 | */ | 561 | */ |
548 | export const patchError = /* #__PURE__ */ (() => { | 562 | export const patchError = /* #__PURE__ */ (() => { |
@@ -4771,6 +4785,148 @@ export const postServiceOrderAddOrder = /* #__PURE__ */ (() => { | @@ -4771,6 +4785,148 @@ export const postServiceOrderAddOrder = /* #__PURE__ */ (() => { | ||
4771 | return request; | 4785 | return request; |
4772 | })(); | 4786 | })(); |
4773 | 4787 | ||
4788 | +/** @description request parameter type for postServiceOrderAfterSalesCompletion */ | ||
4789 | +export interface PostServiceOrderAfterSalesCompletionOption { | ||
4790 | + /** | ||
4791 | + * @description | ||
4792 | + * dto | ||
4793 | + */ | ||
4794 | + body: { | ||
4795 | + /** | ||
4796 | + @description | ||
4797 | + dto */ | ||
4798 | + dto: Dto; | ||
4799 | + }; | ||
4800 | +} | ||
4801 | + | ||
4802 | +/** @description response type for postServiceOrderAfterSalesCompletion */ | ||
4803 | +export interface PostServiceOrderAfterSalesCompletionResponse { | ||
4804 | + /** | ||
4805 | + * @description | ||
4806 | + * OK | ||
4807 | + */ | ||
4808 | + 200: ServerResult; | ||
4809 | + /** | ||
4810 | + * @description | ||
4811 | + * Created | ||
4812 | + */ | ||
4813 | + 201: any; | ||
4814 | + /** | ||
4815 | + * @description | ||
4816 | + * Unauthorized | ||
4817 | + */ | ||
4818 | + 401: any; | ||
4819 | + /** | ||
4820 | + * @description | ||
4821 | + * Forbidden | ||
4822 | + */ | ||
4823 | + 403: any; | ||
4824 | + /** | ||
4825 | + * @description | ||
4826 | + * Not Found | ||
4827 | + */ | ||
4828 | + 404: any; | ||
4829 | +} | ||
4830 | + | ||
4831 | +export type PostServiceOrderAfterSalesCompletionResponseSuccess = | ||
4832 | + PostServiceOrderAfterSalesCompletionResponse[200]; | ||
4833 | +/** | ||
4834 | + * @description | ||
4835 | + * 售后完成 | ||
4836 | + * @tags 内部订单 | ||
4837 | + * @produces * | ||
4838 | + * @consumes application/json | ||
4839 | + */ | ||
4840 | +export const postServiceOrderAfterSalesCompletion = /* #__PURE__ */ (() => { | ||
4841 | + const method = 'post'; | ||
4842 | + const url = '/service/order/afterSalesCompletion'; | ||
4843 | + function request( | ||
4844 | + option: PostServiceOrderAfterSalesCompletionOption, | ||
4845 | + ): Promise<PostServiceOrderAfterSalesCompletionResponseSuccess> { | ||
4846 | + return requester(request.url, { | ||
4847 | + method: request.method, | ||
4848 | + ...option, | ||
4849 | + }) as unknown as Promise<PostServiceOrderAfterSalesCompletionResponseSuccess>; | ||
4850 | + } | ||
4851 | + | ||
4852 | + /** http method */ | ||
4853 | + request.method = method; | ||
4854 | + /** request url */ | ||
4855 | + request.url = url; | ||
4856 | + return request; | ||
4857 | +})(); | ||
4858 | + | ||
4859 | +/** @description request parameter type for postServiceOrderApplyAfterSales */ | ||
4860 | +export interface PostServiceOrderApplyAfterSalesOption { | ||
4861 | + /** | ||
4862 | + * @description | ||
4863 | + * dto | ||
4864 | + */ | ||
4865 | + body: { | ||
4866 | + /** | ||
4867 | + @description | ||
4868 | + dto */ | ||
4869 | + dto: Dto; | ||
4870 | + }; | ||
4871 | +} | ||
4872 | + | ||
4873 | +/** @description response type for postServiceOrderApplyAfterSales */ | ||
4874 | +export interface PostServiceOrderApplyAfterSalesResponse { | ||
4875 | + /** | ||
4876 | + * @description | ||
4877 | + * OK | ||
4878 | + */ | ||
4879 | + 200: ServerResult; | ||
4880 | + /** | ||
4881 | + * @description | ||
4882 | + * Created | ||
4883 | + */ | ||
4884 | + 201: any; | ||
4885 | + /** | ||
4886 | + * @description | ||
4887 | + * Unauthorized | ||
4888 | + */ | ||
4889 | + 401: any; | ||
4890 | + /** | ||
4891 | + * @description | ||
4892 | + * Forbidden | ||
4893 | + */ | ||
4894 | + 403: any; | ||
4895 | + /** | ||
4896 | + * @description | ||
4897 | + * Not Found | ||
4898 | + */ | ||
4899 | + 404: any; | ||
4900 | +} | ||
4901 | + | ||
4902 | +export type PostServiceOrderApplyAfterSalesResponseSuccess = | ||
4903 | + PostServiceOrderApplyAfterSalesResponse[200]; | ||
4904 | +/** | ||
4905 | + * @description | ||
4906 | + * 申请售后 | ||
4907 | + * @tags 内部订单 | ||
4908 | + * @produces * | ||
4909 | + * @consumes application/json | ||
4910 | + */ | ||
4911 | +export const postServiceOrderApplyAfterSales = /* #__PURE__ */ (() => { | ||
4912 | + const method = 'post'; | ||
4913 | + const url = '/service/order/applyAfterSales'; | ||
4914 | + function request( | ||
4915 | + option: PostServiceOrderApplyAfterSalesOption, | ||
4916 | + ): Promise<PostServiceOrderApplyAfterSalesResponseSuccess> { | ||
4917 | + return requester(request.url, { | ||
4918 | + method: request.method, | ||
4919 | + ...option, | ||
4920 | + }) as unknown as Promise<PostServiceOrderApplyAfterSalesResponseSuccess>; | ||
4921 | + } | ||
4922 | + | ||
4923 | + /** http method */ | ||
4924 | + request.method = method; | ||
4925 | + /** request url */ | ||
4926 | + request.url = url; | ||
4927 | + return request; | ||
4928 | +})(); | ||
4929 | + | ||
4774 | /** @description request parameter type for postServiceOrderCheckOrder */ | 4930 | /** @description request parameter type for postServiceOrderCheckOrder */ |
4775 | export interface PostServiceOrderCheckOrderOption { | 4931 | export interface PostServiceOrderCheckOrderOption { |
4776 | /** | 4932 | /** |
@@ -5764,6 +5920,148 @@ export const postServiceOrderProcureCheckOrder = /* #__PURE__ */ (() => { | @@ -5764,6 +5920,148 @@ export const postServiceOrderProcureCheckOrder = /* #__PURE__ */ (() => { | ||
5764 | return request; | 5920 | return request; |
5765 | })(); | 5921 | })(); |
5766 | 5922 | ||
5923 | +/** @description request parameter type for postServiceOrderProcurePrint */ | ||
5924 | +export interface PostServiceOrderProcurePrintOption { | ||
5925 | + /** | ||
5926 | + * @description | ||
5927 | + * dto | ||
5928 | + */ | ||
5929 | + body: { | ||
5930 | + /** | ||
5931 | + @description | ||
5932 | + dto */ | ||
5933 | + dto: ProcurePrintDto; | ||
5934 | + }; | ||
5935 | +} | ||
5936 | + | ||
5937 | +/** @description response type for postServiceOrderProcurePrint */ | ||
5938 | +export interface PostServiceOrderProcurePrintResponse { | ||
5939 | + /** | ||
5940 | + * @description | ||
5941 | + * OK | ||
5942 | + */ | ||
5943 | + 200: ServerResult; | ||
5944 | + /** | ||
5945 | + * @description | ||
5946 | + * Created | ||
5947 | + */ | ||
5948 | + 201: any; | ||
5949 | + /** | ||
5950 | + * @description | ||
5951 | + * Unauthorized | ||
5952 | + */ | ||
5953 | + 401: any; | ||
5954 | + /** | ||
5955 | + * @description | ||
5956 | + * Forbidden | ||
5957 | + */ | ||
5958 | + 403: any; | ||
5959 | + /** | ||
5960 | + * @description | ||
5961 | + * Not Found | ||
5962 | + */ | ||
5963 | + 404: any; | ||
5964 | +} | ||
5965 | + | ||
5966 | +export type PostServiceOrderProcurePrintResponseSuccess = | ||
5967 | + PostServiceOrderProcurePrintResponse[200]; | ||
5968 | +/** | ||
5969 | + * @description | ||
5970 | + * 采购打印订单 | ||
5971 | + * @tags 内部订单 | ||
5972 | + * @produces * | ||
5973 | + * @consumes application/json | ||
5974 | + */ | ||
5975 | +export const postServiceOrderProcurePrint = /* #__PURE__ */ (() => { | ||
5976 | + const method = 'post'; | ||
5977 | + const url = '/service/order/procurePrint'; | ||
5978 | + function request( | ||
5979 | + option: PostServiceOrderProcurePrintOption, | ||
5980 | + ): Promise<PostServiceOrderProcurePrintResponseSuccess> { | ||
5981 | + return requester(request.url, { | ||
5982 | + method: request.method, | ||
5983 | + ...option, | ||
5984 | + }) as unknown as Promise<PostServiceOrderProcurePrintResponseSuccess>; | ||
5985 | + } | ||
5986 | + | ||
5987 | + /** http method */ | ||
5988 | + request.method = method; | ||
5989 | + /** request url */ | ||
5990 | + request.url = url; | ||
5991 | + return request; | ||
5992 | +})(); | ||
5993 | + | ||
5994 | +/** @description request parameter type for postServiceOrderProcureSend */ | ||
5995 | +export interface PostServiceOrderProcureSendOption { | ||
5996 | + /** | ||
5997 | + * @description | ||
5998 | + * dto | ||
5999 | + */ | ||
6000 | + body: { | ||
6001 | + /** | ||
6002 | + @description | ||
6003 | + dto */ | ||
6004 | + dto: Dto; | ||
6005 | + }; | ||
6006 | +} | ||
6007 | + | ||
6008 | +/** @description response type for postServiceOrderProcureSend */ | ||
6009 | +export interface PostServiceOrderProcureSendResponse { | ||
6010 | + /** | ||
6011 | + * @description | ||
6012 | + * OK | ||
6013 | + */ | ||
6014 | + 200: ServerResult; | ||
6015 | + /** | ||
6016 | + * @description | ||
6017 | + * Created | ||
6018 | + */ | ||
6019 | + 201: any; | ||
6020 | + /** | ||
6021 | + * @description | ||
6022 | + * Unauthorized | ||
6023 | + */ | ||
6024 | + 401: any; | ||
6025 | + /** | ||
6026 | + * @description | ||
6027 | + * Forbidden | ||
6028 | + */ | ||
6029 | + 403: any; | ||
6030 | + /** | ||
6031 | + * @description | ||
6032 | + * Not Found | ||
6033 | + */ | ||
6034 | + 404: any; | ||
6035 | +} | ||
6036 | + | ||
6037 | +export type PostServiceOrderProcureSendResponseSuccess = | ||
6038 | + PostServiceOrderProcureSendResponse[200]; | ||
6039 | +/** | ||
6040 | + * @description | ||
6041 | + * 采购发送订单 | ||
6042 | + * @tags 内部订单 | ||
6043 | + * @produces * | ||
6044 | + * @consumes application/json | ||
6045 | + */ | ||
6046 | +export const postServiceOrderProcureSend = /* #__PURE__ */ (() => { | ||
6047 | + const method = 'post'; | ||
6048 | + const url = '/service/order/procureSend'; | ||
6049 | + function request( | ||
6050 | + option: PostServiceOrderProcureSendOption, | ||
6051 | + ): Promise<PostServiceOrderProcureSendResponseSuccess> { | ||
6052 | + return requester(request.url, { | ||
6053 | + method: request.method, | ||
6054 | + ...option, | ||
6055 | + }) as unknown as Promise<PostServiceOrderProcureSendResponseSuccess>; | ||
6056 | + } | ||
6057 | + | ||
6058 | + /** http method */ | ||
6059 | + request.method = method; | ||
6060 | + /** request url */ | ||
6061 | + request.url = url; | ||
6062 | + return request; | ||
6063 | +})(); | ||
6064 | + | ||
5767 | /** @description response type for getServiceOrderProvideInvoicingStatus */ | 6065 | /** @description response type for getServiceOrderProvideInvoicingStatus */ |
5768 | export interface GetServiceOrderProvideInvoicingStatusResponse { | 6066 | export interface GetServiceOrderProvideInvoicingStatusResponse { |
5769 | /** | 6067 | /** |