Commit 0b6aa8d1c1c517cb1368bff717f98cdf82ff92d5
1 parent
d3ac1455
feat: update 新版本合并
Showing
16 changed files
with
2189 additions
and
227 deletions
.umirc.ts
... | ... | @@ -59,6 +59,13 @@ export default defineConfig({ |
59 | 59 | access: 'canReadAdminAndFinance', |
60 | 60 | }, |
61 | 61 | { |
62 | + name: '预存管理', | |
63 | + path: '/prepaidManage', | |
64 | + component: './Prepaid', | |
65 | + icon: 'AccountBookOutlined', | |
66 | + access: 'canReadAdminAndFinanceAndSales', | |
67 | + }, | |
68 | + { | |
62 | 69 | name: '打印', |
63 | 70 | path: '/print', |
64 | 71 | component: './OrderPrint', | ... | ... |
src/access.ts
... | ... | @@ -2,11 +2,18 @@ export default (initialState: API.UserInfo) => { |
2 | 2 | // 在这里按照初始化数据定义项目中的权限,统一管理 |
3 | 3 | // 参考文档 https://umijs.org/docs/max/access |
4 | 4 | const { roleSmallVO } = initialState; |
5 | - | |
5 | + const canReadAdmin = roleSmallVO?.code === 'admin'; | |
6 | + const canReadProcure = roleSmallVO?.code === 'procure'; | |
7 | + const canReadFinance = roleSmallVO?.code === 'finance'; | |
8 | + const canReadSales = | |
9 | + roleSmallVO?.code === 'salesManager' || | |
10 | + roleSmallVO?.code === 'salesRepresentative'; | |
6 | 11 | return { |
7 | - canReadAdmin: roleSmallVO?.code === 'admin', | |
8 | - canReadProcure: roleSmallVO?.code === 'procure', | |
9 | - canReadAdminAndFinance: | |
10 | - roleSmallVO?.code === 'admin' || roleSmallVO?.code === 'finance', | |
12 | + canReadAdmin: canReadAdmin, | |
13 | + canReadProcure: canReadProcure, | |
14 | + canReadAdminAndFinance: canReadFinance || canReadAdmin, | |
15 | + canReadSales: canReadSales, | |
16 | + canReadAdminAndFinanceAndSales: | |
17 | + canReadFinance || canReadAdmin || canReadSales, | |
11 | 18 | }; |
12 | 19 | }; | ... | ... |
src/pages/Order/components/CheckModal.tsx
... | ... | @@ -27,11 +27,7 @@ import { |
27 | 27 | COMFIR_RECEIPT_IMAGES_NUMBER, |
28 | 28 | } from '../constant'; |
29 | 29 | // import { cloneDeep } from 'lodash'; |
30 | -import { | |
31 | - enumValueToLabel, | |
32 | - getAliYunOSSFileNameFromUrl, | |
33 | - transImageFile, | |
34 | -} from '@/utils'; | |
30 | +import { enumValueToLabel, transImageFile } from '@/utils'; | |
35 | 31 | import { PlusOutlined } from '@ant-design/icons'; |
36 | 32 | import { cloneDeep } from 'lodash'; |
37 | 33 | |
... | ... | @@ -60,10 +56,11 @@ export default ({ |
60 | 56 | const handleCancel = () => setPreviewOpen(false); |
61 | 57 | const [messageApi, contextHolder] = message.useMessage(); |
62 | 58 | const [form] = Form.useForm<{ name: string; company: string }>(); |
63 | - let subOrderIds: any[] = subOrders.map((subOrder) => subOrder.id); | |
59 | + let subOrderIds: any[] = subOrders?.map((subOrder) => subOrder.id); | |
64 | 60 | const [mainOrderId] = useState(data.id); |
65 | 61 | |
66 | 62 | const [afterSalesInfo, setAfterSalesInfo] = useState<any>(); |
63 | + const [prepaidProofImages, setPrepaidProofImages] = useState<any[]>([]); | |
67 | 64 | |
68 | 65 | /** |
69 | 66 | * 审核类型 |
... | ... | @@ -81,11 +78,12 @@ export default ({ |
81 | 78 | // }); |
82 | 79 | |
83 | 80 | //附件 |
84 | - let annex = subOrders[0].afterAnnexList; | |
81 | + let annex = subOrders[0].afterSalesAnnexList; | |
82 | + let index = 1; | |
85 | 83 | let annexLinks = annex?.map((f) => { |
86 | 84 | return ( |
87 | 85 | <Button className="p-0 pr-1" type="link" key="key" href={f}> |
88 | - {getAliYunOSSFileNameFromUrl(f)} | |
86 | + {'附件' + index++} | |
89 | 87 | </Button> |
90 | 88 | ); |
91 | 89 | }); |
... | ... | @@ -132,6 +130,16 @@ export default ({ |
132 | 130 | //去重 |
133 | 131 | paymentReceiptsImagesList = [...new Set(paymentReceiptsImagesList)]; |
134 | 132 | setPymentReceiptsImages(paymentReceiptsImagesList); |
133 | + | |
134 | + //预存审核的凭证 | |
135 | + let proofImages: any[] = []; | |
136 | + subOrders?.forEach((item) => { | |
137 | + let images = item.proofImages; | |
138 | + if (images !== null && images !== undefined) { | |
139 | + proofImages.push(...images); | |
140 | + } | |
141 | + }); | |
142 | + setPrepaidProofImages(proofImages); | |
135 | 143 | }, []); |
136 | 144 | |
137 | 145 | const handleChange: UploadProps['onChange'] = ({ fileList: newFileList }) => { |
... | ... | @@ -591,6 +599,38 @@ export default ({ |
591 | 599 | <></> |
592 | 600 | )} |
593 | 601 | |
602 | + {checkType(CHECK_TYPE.PREPAID_AUDIT) && ( | |
603 | + <> | |
604 | + <Divider orientation="center"> | |
605 | + <span className="text-sm">凭证</span> | |
606 | + </Divider> | |
607 | + <Image.PreviewGroup | |
608 | + className="mr-10" | |
609 | + preview={{ | |
610 | + onChange: (current, prev) => | |
611 | + console.log(`current index: ${current}, prev index: ${prev}`), | |
612 | + }} | |
613 | + > | |
614 | + {prepaidProofImages.map((url) => ( | |
615 | + <> | |
616 | + <Image width={120} src={url} /> <Divider type="vertical" /> | |
617 | + </> | |
618 | + ))} | |
619 | + </Image.PreviewGroup> | |
620 | + <Divider></Divider> | |
621 | + </> | |
622 | + )} | |
623 | + | |
624 | + {checkType('prepaidAudit') ? ( | |
625 | + <div>请特别注意手机号码和充值金额。</div> | |
626 | + ) : ( | |
627 | + <div>请特别注意订单总金额与订单金额。</div> | |
628 | + )} | |
629 | + <ProFormTextArea | |
630 | + width="lg" | |
631 | + name="name" | |
632 | + placeholder="若驳回,请填写驳回理由" | |
633 | + /> | |
594 | 634 | {checkType(CHECK_TYPE.FINALCIAL) ? ( |
595 | 635 | <> |
596 | 636 | <div className="pb-4 text-xs decoration-gray-50"> | ... | ... |
src/pages/Order/components/DeliverInfoDrawer.tsx
src/pages/Order/components/FinancialDrawer.tsx
src/pages/Order/components/OrderDrawer.tsx
1 | 1 | import { RESPONSE_CODE } from '@/constants/enum'; |
2 | 2 | import { |
3 | - postKingdeeRepCustomer, | |
3 | + postCanrdApiUserAddressList, | |
4 | + postCanrdApiUserList, | |
4 | 5 | postKingdeeRepCustomerDetail, |
5 | 6 | postKingdeeRepMaterial, |
6 | 7 | postKingdeeRepMaterialUnit, |
... | ... | @@ -19,6 +20,7 @@ import { |
19 | 20 | getAliYunOSSFileNameFromUrl, |
20 | 21 | getUserInfo, |
21 | 22 | } from '@/utils'; |
23 | +import { getDefaultString } from '@/utils/StringUtil'; | |
22 | 24 | import { getTeacherCustomFieldNumber } from '@/utils/kingdee'; |
23 | 25 | import { |
24 | 26 | DrawerForm, |
... | ... | @@ -53,10 +55,12 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
53 | 55 | const [submitBtnLoading, setSubmitBtnLoading] = useState(false); |
54 | 56 | const [drawerTitle, setDrawerTitle] = useState(''); |
55 | 57 | const [hasLocalData, setHasLocalData] = useState(false); |
56 | - const [customer, setCustomer] = useState({}); | |
58 | + // const [customer, setCustomer] = useState({}); | |
57 | 59 | const [localSaveLoading, setLocalSaveLoading] = useState(false); |
58 | 60 | const [kingdeeCstomerModalVisible, setKingdeeCstomerModalVisible] = |
59 | 61 | useState(false); |
62 | + const [paymentMethod, setPaymentMethod] = useState(''); | |
63 | + const [customerRequestCount, setCustomerRequestCount] = useState(0); | |
60 | 64 | const [ |
61 | 65 | productParametersDisabledFlagList, |
62 | 66 | setProductParametersDisabledFlagList, |
... | ... | @@ -65,8 +69,8 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
65 | 69 | // [], |
66 | 70 | // ); //商品的仓库选项 |
67 | 71 | const [productUnitOptionsList, setProductUnitOptionsList] = useState([]); //商品的单位选项 |
68 | - const [productCustomerContactOptions, setProductCustomerContactOptions] = | |
69 | - useState([]); //客户的收货人选项 | |
72 | + // const [productCustomerContactOptions, setProductCustomerContactOptions] = | |
73 | + // useState([]); //客户的收货人选项 | |
70 | 74 | const [form] = Form.useForm<{ |
71 | 75 | isLocalData: boolean; |
72 | 76 | salesCode: ''; |
... | ... | @@ -188,16 +192,16 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
188 | 192 | let existFlag = false; |
189 | 193 | |
190 | 194 | //填充收货人选项 |
191 | - let newProductCustomerContactOptions = res?.bomentity?.map((item) => { | |
192 | - let address = | |
193 | - item.contact_person + ',' + item.mobile + ',' + item.contact_address; | |
194 | - if (address === data.contactAddress) { | |
195 | - existFlag = true; | |
196 | - } | |
197 | - return { ...item, label: address, value: address }; | |
198 | - }); | |
195 | + // let newProductCustomerContactOptions = res?.bomentity?.map((item) => { | |
196 | + // let address = | |
197 | + // item.contact_person + ',' + item.mobile + ',' + item.contact_address; | |
198 | + // if (address === data.contactAddress) { | |
199 | + // existFlag = true; | |
200 | + // } | |
201 | + // return { ...item, label: address, value: address }; | |
202 | + // }); | |
199 | 203 | |
200 | - setProductCustomerContactOptions(newProductCustomerContactOptions); | |
204 | + // setProductCustomerContactOptions(newProductCustomerContactOptions); | |
201 | 205 | |
202 | 206 | if (!existFlag) { |
203 | 207 | //清空原来的收货人信息 |
... | ... | @@ -211,25 +215,25 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
211 | 215 | /** |
212 | 216 | * 回显金蝶信息 |
213 | 217 | */ |
214 | - async function showKindeeInfo() { | |
215 | - //客户信息 | |
216 | - if (copyData.customerId) { | |
217 | - //客户回显 | |
218 | - autoFillCustomerContactSelectOptions(copyData.customerId); | |
219 | - } | |
220 | - | |
221 | - //商品单位回显 | |
222 | - let list = copyData?.subOrderInformationLists; | |
223 | - if (list) { | |
224 | - let newProductUnitOptionsList = [...productUnitOptionsList]; | |
225 | - for (let i = 0; i < list.length; i++) { | |
226 | - newProductUnitOptionsList[i] = [ | |
227 | - { label: list[i].unit, value: list[i].unitId }, | |
228 | - ]; | |
229 | - } | |
230 | - setProductUnitOptionsList(newProductUnitOptionsList); | |
231 | - } | |
232 | - } | |
218 | + // async function showKindeeInfo() { | |
219 | + // //客户信息 | |
220 | + // if (copyData.customerId) { | |
221 | + // //客户回显 | |
222 | + // autoFillCustomerContactSelectOptions(copyData.customerId); | |
223 | + // } | |
224 | + | |
225 | + // //商品单位回显 | |
226 | + // let list = copyData?.subOrderInformationLists; | |
227 | + // if (list) { | |
228 | + // let newProductUnitOptionsList = [...productUnitOptionsList]; | |
229 | + // for (let i = 0; i < list.length; i++) { | |
230 | + // newProductUnitOptionsList[i] = [ | |
231 | + // { label: list[i].unit, value: list[i].unitId }, | |
232 | + // ]; | |
233 | + // } | |
234 | + // setProductUnitOptionsList(newProductUnitOptionsList); | |
235 | + // } | |
236 | + // } | |
233 | 237 | |
234 | 238 | /** |
235 | 239 | * 构建回显数据 |
... | ... | @@ -262,6 +266,10 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
262 | 266 | copyData.invoicingStatus = |
263 | 267 | copyData.subOrderInformationLists[0].invoicingStatus; |
264 | 268 | |
269 | + copyData.customerNameString = copyData.customerName; | |
270 | + | |
271 | + setPaymentMethod(copyData.paymentMethod); | |
272 | + | |
265 | 273 | //子订单数据处理:子订单在表单中的命名为list |
266 | 274 | let i = 0; |
267 | 275 | let newList = copyData.subOrderInformationLists?.map((item) => { |
... | ... | @@ -285,17 +293,15 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
285 | 293 | listItem.shippingWarehouse = 'DALANG_WAREHOUSE'; |
286 | 294 | } |
287 | 295 | } |
288 | - | |
289 | 296 | setInvoicingStatus(copyData.invoicingStatus); |
290 | 297 | form.setFieldsValue({ ...copyData }); |
291 | - | |
292 | 298 | //如果是新建,需要清空list |
293 | 299 | if (optType('add')) { |
294 | 300 | form.resetFields(['list']); |
295 | 301 | } |
296 | 302 | |
297 | 303 | if (!optType('after-sales-check')) { |
298 | - showKindeeInfo(); | |
304 | + // showKindeeInfo(); | |
299 | 305 | } |
300 | 306 | } |
301 | 307 | } |
... | ... | @@ -492,12 +498,33 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
492 | 498 | * @param option 收货人信息 |
493 | 499 | */ |
494 | 500 | async function autoFillCustomerInfo(option: any) { |
495 | - form.setFieldValue('customerShippingAddress', option.contact_address); | |
496 | - form.setFieldValue('customerContactNumber', option.mobile); | |
497 | - form.setFieldValue('customerName', option.contact_person); | |
501 | + if (option.type === 'add') { | |
502 | + form.setFieldValue('customerShippingAddress', undefined); | |
503 | + form.setFieldValue('customerContactNumber', undefined); | |
504 | + form.setFieldValue('institution', undefined); | |
505 | + form.setFieldValue('institutionContactName', undefined); | |
506 | + form.setFieldValue('customerShippingAddress', undefined); | |
507 | + form.setFieldValue('customerNameString', option.name); | |
508 | + } else { | |
509 | + form.setFieldValue('customerShippingAddress', option.fullAddress); | |
510 | + form.setFieldValue('customerContactNumber', option.phone); | |
511 | + form.setFieldValue('institution', option.institution); | |
512 | + form.setFieldValue( | |
513 | + 'institutionContactName', | |
514 | + option.institutionContactName, | |
515 | + ); | |
516 | + form.setFieldValue( | |
517 | + 'customerShippingAddress', | |
518 | + getDefaultString(option.province) + | |
519 | + getDefaultString(option.city) + | |
520 | + getDefaultString(option.district) + | |
521 | + getDefaultString(option.detail), | |
522 | + ); | |
523 | + form.setFieldValue('customerNameString', option.realName); | |
524 | + } | |
498 | 525 | |
499 | 526 | //erp收货地址:需要与客户联系人中的地址一样:姓名,手机号,地址 |
500 | - form.setFieldValue('contactAddress', option.value); | |
527 | + // form.setFieldValue('contactAddress', option.value); | |
501 | 528 | } |
502 | 529 | |
503 | 530 | /** |
... | ... | @@ -559,18 +586,18 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
559 | 586 | * 检查客户是否可以编辑 |
560 | 587 | * @returns |
561 | 588 | */ |
562 | - const customerEditable = () => { | |
563 | - let erpCustomerId = form.getFieldValue('erpCustomerId'); | |
564 | - if ( | |
565 | - optType('after-sales-check') || | |
566 | - erpCustomerId === null || | |
567 | - erpCustomerId === undefined | |
568 | - ) { | |
569 | - return false; | |
570 | - } | |
571 | - | |
572 | - return true; | |
573 | - }; | |
589 | + // const customerEditable = () => { | |
590 | + // let erpCustomerId = form.getFieldValue('erpCustomerId'); | |
591 | + // if ( | |
592 | + // optType('after-sales-check') || | |
593 | + // erpCustomerId === null || | |
594 | + // erpCustomerId === undefined | |
595 | + // ) { | |
596 | + // return false; | |
597 | + // } | |
598 | + | |
599 | + // return true; | |
600 | + // }; | |
574 | 601 | |
575 | 602 | /** |
576 | 603 | * 是否有草稿 |
... | ... | @@ -624,6 +651,7 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
624 | 651 | if (preOrderData) { |
625 | 652 | let formData = JSON.parse(preOrderData); |
626 | 653 | form.setFieldsValue(formData); |
654 | + setPaymentMethod(formData.paymentMethod); | |
627 | 655 | } |
628 | 656 | } |
629 | 657 | |
... | ... | @@ -737,6 +765,7 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
737 | 765 | values.list = list; |
738 | 766 | values.institution = values.institution?.trim(); |
739 | 767 | values.institutionContactName = values.institutionContactName?.trim(); |
768 | + values.customerName = values.customerNameString.trim(); | |
740 | 769 | |
741 | 770 | if (typeof values.erpCustomerId !== 'string') { |
742 | 771 | values.erpCustomerId = values.erpCustomerId?.id; |
... | ... | @@ -878,6 +907,11 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
878 | 907 | name="erpCustomerName" |
879 | 908 | hidden |
880 | 909 | ></ProFormText> |
910 | + <ProFormText | |
911 | + key="customerNameString" | |
912 | + name="customerNameString" | |
913 | + hidden | |
914 | + ></ProFormText> | |
881 | 915 | |
882 | 916 | <ProFormText |
883 | 917 | key="contactAddress" |
... | ... | @@ -886,58 +920,21 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
886 | 920 | ></ProFormText> |
887 | 921 | |
888 | 922 | <ProFormSelect |
889 | - name="erpCustomerId" | |
890 | - key="erpCustomerId" | |
923 | + key="customerName" | |
924 | + label="收货人" | |
891 | 925 | width="lg" |
892 | 926 | showSearch |
893 | - disabled={optType('after-sales-check')} | |
894 | - tooltip="空格将作为或条件。例如输入[北京 广东],那么查找出来的将是包含[北京]或者包含[广东]的搜索结果" | |
895 | - label={ | |
896 | - <> | |
897 | - <span>客户</span> | |
898 | - <span | |
899 | - className={ | |
900 | - 'pl-2 text-xs cursor-pointer ' + | |
901 | - (customerEditable() ? 'text-[#1677ff]' : 'text-gray-400') | |
902 | - } | |
903 | - onClick={() => { | |
904 | - if (!customerEditable()) { | |
905 | - return; | |
906 | - } | |
907 | - let customerId = form.getFieldValue('erpCustomerId'); | |
908 | - if (typeof customerId === 'string') { | |
909 | - setCustomer({ ...customer, id: customerId }); | |
910 | - } else { | |
911 | - setCustomer({ ...customer, id: customerId.id }); | |
912 | - } | |
913 | - setKingdeeCstomerModalVisible(true); | |
914 | - }} | |
915 | - > | |
916 | - 编辑客户信息 | |
917 | - </span> | |
918 | - </> | |
919 | - } | |
920 | - placeholder="请选择客户" | |
921 | - rules={[{ required: true, message: '客户必填' }]} | |
927 | + name="customerName" | |
928 | + placeholder="请选择收货人" | |
929 | + rules={[{ required: true, message: '收货人必填' }]} | |
922 | 930 | onChange={(_, option) => { |
923 | - //新增客户 | |
924 | - if (option?.type === 'add') { | |
925 | - setCustomer({ name: option?.name }); | |
926 | - setKingdeeCstomerModalVisible(true); | |
927 | - return; | |
928 | - } | |
929 | - autoFillCustomerContactSelectOptions(option?.id); | |
930 | - }} | |
931 | - initialValue={{ | |
932 | - label: copyData?.erpCustomerName, | |
933 | - value: copyData?.customerId, | |
934 | - id: copyData?.customerId, | |
931 | + autoFillCustomerInfo(option); | |
935 | 932 | }} |
936 | 933 | fieldProps={{ |
937 | 934 | filterOption() { |
938 | 935 | return true; |
939 | 936 | }, |
940 | - optionItemRender(item) { | |
937 | + optionItemRender(item: any) { | |
941 | 938 | if (item.type === 'add') { |
942 | 939 | return ( |
943 | 940 | <div title={item.name + '(新增客户)'}> |
... | ... | @@ -947,23 +944,43 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
947 | 944 | </div> |
948 | 945 | ); |
949 | 946 | } |
947 | + | |
948 | + let title = ''; | |
949 | + let spanText = ''; | |
950 | + let realName = item.realName; | |
951 | + let phone = item.phone; | |
952 | + let province = item.province; | |
953 | + let city = item.city; | |
954 | + let district = item.district; | |
955 | + let detail = item.detail; | |
956 | + let institution = item.institution; | |
957 | + let institutionContactName = item.institutionContactName; | |
958 | + | |
959 | + title = | |
960 | + getDefaultString(realName) + | |
961 | + '|' + | |
962 | + getDefaultString(phone) + | |
963 | + '|' + | |
964 | + getDefaultString(institution) + | |
965 | + '|' + | |
966 | + getDefaultString(institutionContactName) + | |
967 | + '|' + | |
968 | + getDefaultString(province) + | |
969 | + getDefaultString(city) + | |
970 | + getDefaultString(district) + | |
971 | + getDefaultString(detail); | |
972 | + | |
973 | + spanText = | |
974 | + getDefaultString(realName) + | |
975 | + '|' + | |
976 | + getDefaultString(phone) + | |
977 | + '|' + | |
978 | + getDefaultString(institution) + | |
979 | + '|' + | |
980 | + getDefaultString(institutionContactName); | |
950 | 981 | return ( |
951 | - <div | |
952 | - title={ | |
953 | - item.name + | |
954 | - ' | ' + | |
955 | - item.customerContactNumber + | |
956 | - ' | ' + | |
957 | - (item.customerShippingAddress === undefined | |
958 | - ? '无地址' | |
959 | - : item.customerShippingAddress) + | |
960 | - ' | ' + | |
961 | - item.institutionContactName + | |
962 | - ' | ' + | |
963 | - item.institution | |
964 | - } | |
965 | - > | |
966 | - <span style={{ color: '#333333' }}>{item.name}</span> | |
982 | + <div title={title}> | |
983 | + <span style={{ color: '#333333' }}>{spanText}</span> | |
967 | 984 | </div> |
968 | 985 | ); |
969 | 986 | }, |
... | ... | @@ -971,10 +988,10 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
971 | 988 | debounceTime={1000} |
972 | 989 | request={async (value, {}) => { |
973 | 990 | const keywords = value.keyWords; |
974 | - const res = await postKingdeeRepCustomer({ | |
975 | - data: { search: keywords }, | |
991 | + const res = await postCanrdApiUserAddressList({ | |
992 | + data: { keywords: keywords }, | |
976 | 993 | }); |
977 | - let options = res?.rows?.map((c: any) => { | |
994 | + let options = res?.data?.map((c: any) => { | |
978 | 995 | return { |
979 | 996 | ...c, |
980 | 997 | label: c.name, |
... | ... | @@ -982,7 +999,27 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
982 | 999 | key: c.id, |
983 | 1000 | }; |
984 | 1001 | }); |
985 | - | |
1002 | + console.log(form.getFieldsValue()); | |
1003 | + console.log(form.getFieldValue('customerName')); | |
1004 | + //判断如果是在修改或者复制,那么第一次请求的时候,默认生成当前收货人信息的option | |
1005 | + let realName = form.getFieldValue('customerName'); | |
1006 | + let detail = form.getFieldValue('customerShippingAddress'); | |
1007 | + let institution = form.getFieldValue('institution'); | |
1008 | + let institutionContactName = form.getFieldValue( | |
1009 | + 'institutionContactNam', | |
1010 | + ); | |
1011 | + if (customerRequestCount === 0) { | |
1012 | + setCustomerRequestCount(1); | |
1013 | + options.push({ | |
1014 | + label: realName, | |
1015 | + value: realName, | |
1016 | + key: realName, | |
1017 | + realName: realName, | |
1018 | + detail: detail, | |
1019 | + institution: institution, | |
1020 | + institutionContactName: institutionContactName, | |
1021 | + }); | |
1022 | + } | |
986 | 1023 | //第一个商品默认为要新增客户 |
987 | 1024 | if (keywords.trim() !== '') { |
988 | 1025 | options.unshift({ |
... | ... | @@ -997,21 +1034,6 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
997 | 1034 | return options; |
998 | 1035 | }} |
999 | 1036 | /> |
1000 | - <ProFormSelect | |
1001 | - key="customerName" | |
1002 | - label="收货人" | |
1003 | - width="lg" | |
1004 | - showSearch | |
1005 | - name="customerName" | |
1006 | - placeholder="请选择收货人" | |
1007 | - rules={[{ required: true, message: '收货人必填' }]} | |
1008 | - onChange={(_, option) => { | |
1009 | - autoFillCustomerInfo(option); | |
1010 | - }} | |
1011 | - initialValue={data.contactAddress} | |
1012 | - options={productCustomerContactOptions} | |
1013 | - disabled={optType('after-sales-check')} | |
1014 | - /> | |
1015 | 1037 | |
1016 | 1038 | <ProFormText |
1017 | 1039 | width="lg" |
... | ... | @@ -1020,7 +1042,6 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
1020 | 1042 | label="联系方式" |
1021 | 1043 | placeholder="请输入联系方式" |
1022 | 1044 | rules={[{ required: true, message: '联系方式必填' }]} |
1023 | - disabled | |
1024 | 1045 | /> |
1025 | 1046 | <ProFormText |
1026 | 1047 | width="lg" |
... | ... | @@ -1029,7 +1050,6 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
1029 | 1050 | label="单位" |
1030 | 1051 | placeholder="请输入单位" |
1031 | 1052 | rules={[{ required: true, message: '单位必填' }]} |
1032 | - disabled | |
1033 | 1053 | /> |
1034 | 1054 | <ProFormText |
1035 | 1055 | width="lg" |
... | ... | @@ -1038,7 +1058,6 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
1038 | 1058 | label="课题组" |
1039 | 1059 | placeholder="请输入课题组" |
1040 | 1060 | rules={[{ required: true, message: '课题组必填' }]} |
1041 | - disabled | |
1042 | 1061 | /> |
1043 | 1062 | <ProFormTextArea |
1044 | 1063 | width="lg" |
... | ... | @@ -1047,7 +1066,6 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
1047 | 1066 | label="收货地址" |
1048 | 1067 | placeholder="请输入收货地址" |
1049 | 1068 | rules={[{ required: true, message: '收货地址必填' }]} |
1050 | - disabled | |
1051 | 1069 | /> |
1052 | 1070 | <div id="total-payment"> |
1053 | 1071 | <ProFormDigit |
... | ... | @@ -1089,11 +1107,69 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
1089 | 1107 | width="lg" |
1090 | 1108 | key="paymentMethod" |
1091 | 1109 | label="支付方式" |
1110 | + onChange={(val: any) => { | |
1111 | + setPaymentMethod(val); | |
1112 | + }} | |
1092 | 1113 | options={enumToSelect(PAYMENT_METHOD_OPTIONS)} |
1093 | 1114 | rules={[{ required: true, message: '支付方式必填' }]} |
1094 | 1115 | disabled={optType('after-sales-check')} |
1095 | 1116 | /> |
1096 | 1117 | <ProFormSelect |
1118 | + name="prepaidUid" | |
1119 | + key="prepaidUid" | |
1120 | + width="lg" | |
1121 | + hidden={paymentMethod !== 'WITHHOLDING_ADVANCE_DEPOSIT'} | |
1122 | + showSearch | |
1123 | + label="预存账号" | |
1124 | + onChange={(option: any) => { | |
1125 | + form.setFieldValue('prepaidAmount', option.nowMoney); | |
1126 | + }} | |
1127 | + placeholder="请选择预存账号" | |
1128 | + rules={[ | |
1129 | + { | |
1130 | + required: paymentMethod === 'WITHHOLDING_ADVANCE_DEPOSIT', | |
1131 | + message: '支付方式为扣预存时,预存账号必填', | |
1132 | + }, | |
1133 | + ]} | |
1134 | + fieldProps={{ | |
1135 | + filterOption() { | |
1136 | + return true; | |
1137 | + }, | |
1138 | + optionItemRender(item) { | |
1139 | + let name = | |
1140 | + item.label + | |
1141 | + ' | ' + | |
1142 | + item.institution + | |
1143 | + ' | ' + | |
1144 | + item.nowMoney + | |
1145 | + '¥' + | |
1146 | + ' | ' + | |
1147 | + item.phone; | |
1148 | + return ( | |
1149 | + <div title={name}> | |
1150 | + <span style={{ color: '#333333' }}>{name}</span> | |
1151 | + </div> | |
1152 | + ); | |
1153 | + }, | |
1154 | + }} | |
1155 | + debounceTime={1000} | |
1156 | + request={async (value, {}) => { | |
1157 | + const keywords = value.keyWords; | |
1158 | + const res = await postCanrdApiUserList({ | |
1159 | + data: { keywords: keywords, pageSize: 1000000 }, | |
1160 | + }); | |
1161 | + let options = res?.data?.data?.map((c: any) => { | |
1162 | + return { | |
1163 | + ...c, | |
1164 | + label: c.realName, | |
1165 | + value: c.uid, | |
1166 | + key: c.uid, | |
1167 | + }; | |
1168 | + }); | |
1169 | + return options; | |
1170 | + }} | |
1171 | + /> | |
1172 | + <ProFormSelect | |
1097 | 1173 | placeholder="选择是否需要开票" |
1098 | 1174 | name="invoicingStatus" |
1099 | 1175 | width="lg" | ... | ... |
src/pages/Order/constant.ts
... | ... | @@ -8,6 +8,7 @@ export const PAYMENT_CHANNEL_OPTIONS = { |
8 | 8 | WECHAT: '微信', |
9 | 9 | BANK_TRANSFER: '银行转账', |
10 | 10 | BALANCE: '预存款', |
11 | + OFFLINE: '线下支付', | |
11 | 12 | }; |
12 | 13 | |
13 | 14 | export const RECEIPTS_RECORD_TYPES = { |
... | ... | @@ -91,7 +92,6 @@ export const INVOCING_STATUS = { |
91 | 92 | * 采购审核 |
92 | 93 | */ |
93 | 94 | export const CHECK_TYPE = { |
94 | - CONFIRM_DELIVER: 'CONFIRM_DELIVER', | |
95 | 95 | WEARHOUSE_KEEPER: 'WEARHOUSE_KEEPER', |
96 | 96 | FINALCIAL: 'FINALCIAL', |
97 | 97 | PROCURE: 'PROCURE', |
... | ... | @@ -104,7 +104,7 @@ export const CHECK_TYPE = { |
104 | 104 | MODIFY_LEADER_AUDIT: 'MODIFY_LEADER_AUDIT', |
105 | 105 | URGENT_INVOICE_AUDITING: 'URGENT_INVOICE_AUDITING', |
106 | 106 | PAYMENT_RECEIPTS_AUDIT: 'PAYMENT_RECEIPTS_AUDIT', |
107 | - CONFIRM_REISSUE: 'CONFIRM_REISSUE', | |
107 | + PREPAID_AUDIT: 'PREPAID_AUDIT', | |
108 | 108 | }; |
109 | 109 | |
110 | 110 | /** |
... | ... | @@ -392,7 +392,11 @@ export const HISTORY_OPT_TYPE = new Map<string, string>([ |
392 | 392 | ['warehouse_audit', '仓库审核'], |
393 | 393 | ['post_audit', '后置审核'], |
394 | 394 | ['applyModify', '申请修改订单信息'], |
395 | - ['OUTSIDE_SYSTEM_PUSH', '外部系统推送了本订单'], | |
395 | + ['OUTSIDE_SYSTEM_PUSH', '外部系统创建订单'], | |
396 | + ['api_applyAddressModify', '外部系统申请修改收货地址'], | |
397 | + ['api_applyAfterSales', '外部系统申请售后'], | |
398 | + ['api_toEvaluated', '外部系统评价'], | |
399 | + ['api_confirmReceive', '外部系统确认收货'], | |
396 | 400 | ]); |
397 | 401 | |
398 | 402 | export const MAIN_ORDER_COLUMNS = [ | ... | ... |
src/pages/Order/index.tsx
... | ... | @@ -4128,6 +4128,9 @@ const OrderPage = () => { |
4128 | 4128 | for (let row of data?.data) { |
4129 | 4129 | let mianOrderId = row.id; |
4130 | 4130 | let subOrderIds = row.subOrderInformationLists?.map((item) => { |
4131 | + //目前子订单存储的totalPayment不准确,这里重新处理取主订单的totalPayment | |
4132 | + //totalPayment在财务开票计算金额时使用到 | |
4133 | + item.totalPayment = row.totalPayment; | |
4131 | 4134 | return item.id; |
4132 | 4135 | }); |
4133 | 4136 | mainOrderIdSubOrderIdRelationsMap.set(mianOrderId, subOrderIds); | ... | ... |
src/pages/Prepaid/components/BalanceChangeRecordsModal.tsx
0 → 100644
1 | +import EllipsisDiv from '@/components/Div/EllipsisDiv'; | |
2 | +import { postCanrdApiUserCenterInfo } from '@/services'; | |
3 | +import { ModalForm, ProTable } from '@ant-design/pro-components'; | |
4 | +import { Form } from 'antd'; | |
5 | +import { BALANCE_CHANGE_COLUMNS } from '../constant'; | |
6 | +import '../index.less'; | |
7 | + | |
8 | +// import { cloneDeep } from 'lodash'; | |
9 | +export default ({ setVisible, userInfoObj, onClose }) => { | |
10 | + const [form] = Form.useForm<{ name: string; company: string }>(); | |
11 | + const uid = userInfoObj?.uid; | |
12 | + | |
13 | + const balanceColumnsInit = () => { | |
14 | + let columns = BALANCE_CHANGE_COLUMNS.map((item) => { | |
15 | + let newItem = { ...item }; | |
16 | + let dataIndex = item.dataIndex; | |
17 | + | |
18 | + newItem.render = (text, record) => { | |
19 | + let textValue = record[dataIndex]; | |
20 | + return <EllipsisDiv text={textValue} />; | |
21 | + }; | |
22 | + | |
23 | + return newItem; | |
24 | + }); | |
25 | + return columns; | |
26 | + }; | |
27 | + | |
28 | + return ( | |
29 | + <div className="prepaid-index"> | |
30 | + <ModalForm<{ | |
31 | + name: string; | |
32 | + company: string; | |
33 | + }> | |
34 | + width={1000} | |
35 | + open | |
36 | + title="余额变动记录" | |
37 | + form={form} | |
38 | + autoFocusFirstInput | |
39 | + submitter={{ | |
40 | + submitButtonProps: { | |
41 | + style: { | |
42 | + display: 'none', | |
43 | + }, | |
44 | + }, | |
45 | + }} | |
46 | + modalProps={{ | |
47 | + okText: '通过', | |
48 | + cancelText: '关闭', | |
49 | + destroyOnClose: true, | |
50 | + onCancel: () => { | |
51 | + setVisible(false); | |
52 | + }, | |
53 | + }} | |
54 | + onFinish={async (values) => { | |
55 | + console.log(values); | |
56 | + onClose(); | |
57 | + }} | |
58 | + onOpenChange={setVisible} | |
59 | + > | |
60 | + <ProTable | |
61 | + columns={balanceColumnsInit()} | |
62 | + cardBordered | |
63 | + pagination={{ | |
64 | + pageSize: 10, | |
65 | + }} | |
66 | + request={async (params) => { | |
67 | + const res = await postCanrdApiUserCenterInfo({ | |
68 | + data: { ...params, uid: uid, type: 4 }, | |
69 | + }); | |
70 | + return { | |
71 | + data: res?.data?.data || [], | |
72 | + total: res?.data?.total || 0, | |
73 | + }; | |
74 | + }} | |
75 | + columnsState={{ | |
76 | + persistenceKey: 'pro-table-singe-balance', | |
77 | + persistenceType: 'localStorage', | |
78 | + defaultValue: { | |
79 | + option: { fixed: 'right', disable: true }, | |
80 | + }, | |
81 | + onChange(value) { | |
82 | + console.log('value: ', value); | |
83 | + }, | |
84 | + }} | |
85 | + rowKey="id" | |
86 | + search={false} | |
87 | + options={{ | |
88 | + setting: { | |
89 | + listsHeight: 400, | |
90 | + }, | |
91 | + }} | |
92 | + form={{}} | |
93 | + dateFormatter="string" | |
94 | + headerTitle="余额变动记录" | |
95 | + scroll={{ x: 1400 }} | |
96 | + toolBarRender={() => []} | |
97 | + /> | |
98 | + </ModalForm> | |
99 | + </div> | |
100 | + ); | |
101 | +}; | ... | ... |
src/pages/Prepaid/components/RechargePrepaymentModal.tsx
0 → 100644
1 | +import { RESPONSE_CODE } from '@/constants/enum'; | |
2 | +import { | |
3 | + postCanrdApiUserList, | |
4 | + postPrepaidCreate, | |
5 | + postPrepaidUpdate, | |
6 | + postServiceOrderFileProcess, | |
7 | + postServiceOrderQuerySalesCode, | |
8 | +} from '@/services'; | |
9 | +import { transImageFile } from '@/utils'; | |
10 | +import { PlusOutlined } from '@ant-design/icons'; | |
11 | +import { | |
12 | + ModalForm, | |
13 | + ProFormDigit, | |
14 | + ProFormSelect, | |
15 | + ProFormText, | |
16 | + ProFormTextArea, | |
17 | +} from '@ant-design/pro-components'; | |
18 | +import { Form, Modal, Upload, UploadFile, UploadProps, message } from 'antd'; | |
19 | +import { RcFile } from 'antd/es/upload'; | |
20 | +import { cloneDeep } from 'lodash'; | |
21 | +import { useEffect, useRef, useState } from 'react'; | |
22 | + | |
23 | +// import { cloneDeep } from 'lodash'; | |
24 | +export default ({ setVisible, prepaymentObject, onClose }) => { | |
25 | + const [form] = Form.useForm<{ | |
26 | + proofImages: any; | |
27 | + id: number; | |
28 | + customerName: string; | |
29 | + contactPerson: string; | |
30 | + salesCode: string; | |
31 | + rechargeAmount: number; | |
32 | + notes: string; | |
33 | + }>(); | |
34 | + const [salesCodeOptions, setSalesCodeOptions] = useState([]); | |
35 | + const [isCreate, setIsCreate] = useState(true); | |
36 | + const [fileList, setFileList] = useState<UploadFile[]>([]); | |
37 | + const [previewOpen, setPreviewOpen] = useState(false); | |
38 | + const [previewImage, setPreviewImage] = useState(''); | |
39 | + const [previewTitle, setPreviewTitle] = useState(''); | |
40 | + const [messageApi, contextHolder] = message.useMessage(); | |
41 | + const fileListObj = useRef<UploadFile[]>([]); //使用引用类型,使得在useEffect里面设置监听事件后,不用更新监听事件也能保持obj与外界一致 | |
42 | + const getBase64 = (file: RcFile): Promise<string> => | |
43 | + new Promise((resolve, reject) => { | |
44 | + const reader = new FileReader(); | |
45 | + reader.readAsDataURL(file); | |
46 | + reader.onload = () => resolve(reader.result as string); | |
47 | + reader.onerror = (error) => reject(error); | |
48 | + }); | |
49 | + const handleCancel = () => setPreviewOpen(false); | |
50 | + | |
51 | + /** 粘贴快捷键的回调 */ | |
52 | + const onPaste = async (e: any) => { | |
53 | + /** 获取剪切板的数据clipboardData */ | |
54 | + let clipboardData = e.clipboardData, | |
55 | + i = 0, | |
56 | + items, | |
57 | + item, | |
58 | + types; | |
59 | + | |
60 | + /** 为空判断 */ | |
61 | + if (clipboardData) { | |
62 | + items = clipboardData.items; | |
63 | + if (!items) { | |
64 | + message.info('您的剪贴板中没有照片'); | |
65 | + return; | |
66 | + } | |
67 | + | |
68 | + item = items[0]; | |
69 | + types = clipboardData.types || []; | |
70 | + /** 遍历剪切板的数据 */ | |
71 | + for (; i < types.length; i++) { | |
72 | + if (types[i] === 'Files') { | |
73 | + item = items[i]; | |
74 | + break; | |
75 | + } | |
76 | + } | |
77 | + | |
78 | + /** 判断文件是否为图片 */ | |
79 | + if (item && item.kind === 'file' && item.type.match(/^image\//i)) { | |
80 | + const imgItem = item.getAsFile(); | |
81 | + const newFileList = cloneDeep(fileListObj.current); | |
82 | + let filteredArray = newFileList.filter( | |
83 | + (obj) => obj.status !== 'removed', | |
84 | + ); //过滤掉状态为已删除的照片 | |
85 | + const listItem = { | |
86 | + ...imgItem, | |
87 | + status: 'done', | |
88 | + url: await getBase64(imgItem), | |
89 | + originFileObj: imgItem, | |
90 | + }; | |
91 | + | |
92 | + if (filteredArray.length >= 3) { | |
93 | + message.info('发货照片数量不能超过3'); | |
94 | + return; | |
95 | + } | |
96 | + fileListObj.current = filteredArray; | |
97 | + filteredArray.push(listItem); | |
98 | + setFileList(filteredArray); | |
99 | + return; | |
100 | + } | |
101 | + } | |
102 | + | |
103 | + message.info('您的剪贴板中没有照片'); | |
104 | + }; | |
105 | + | |
106 | + const handlePreview = async (file: UploadFile) => { | |
107 | + if (!file.url && !file.preview) { | |
108 | + file.preview = await getBase64(file.originFileObj as RcFile); | |
109 | + } | |
110 | + setPreviewImage(file.url || (file.preview as string)); | |
111 | + setPreviewOpen(true); | |
112 | + setPreviewTitle( | |
113 | + file.name || | |
114 | + file.originFileObj?.name || | |
115 | + file.url!.substring(file.url!.lastIndexOf('/') + 1), | |
116 | + ); | |
117 | + }; | |
118 | + | |
119 | + const handleBeforeUpload = (file: any) => { | |
120 | + setFileList([...fileList, file]); | |
121 | + return false; | |
122 | + }; | |
123 | + | |
124 | + const handleChange: UploadProps['onChange'] = ({ fileList: newFileList }) => { | |
125 | + //fileListObj得在change里变化,change的参数是已经处理过的file数组 | |
126 | + //beforeUpload中的参数file是未处理过,还需要Base64拿到文件数据处理 | |
127 | + fileListObj.current = newFileList; | |
128 | + setFileList(newFileList); | |
129 | + }; | |
130 | + | |
131 | + const props: UploadProps = { | |
132 | + onRemove: (file) => { | |
133 | + const index = fileList.indexOf(file); | |
134 | + const newFileList = fileList.slice(); | |
135 | + newFileList.splice(index, 1); | |
136 | + setFileList(newFileList); | |
137 | + }, | |
138 | + beforeUpload: handleBeforeUpload, | |
139 | + listType: 'picture-card', | |
140 | + onPreview: handlePreview, | |
141 | + fileList, | |
142 | + onChange: handleChange, | |
143 | + accept: 'image/png, image/jpeg, image/png', | |
144 | + // action: '/api/service/order/fileProcess', | |
145 | + name: 'files', | |
146 | + headers: { Authorization: localStorage.getItem('token') }, | |
147 | + }; | |
148 | + | |
149 | + const uploadButton = ( | |
150 | + <div> | |
151 | + <PlusOutlined /> | |
152 | + <div style={{ marginTop: 8 }}>上传凭证</div> | |
153 | + </div> | |
154 | + ); | |
155 | + | |
156 | + /** | |
157 | + * 获取销售代码枚举,在复制和编辑的时候判断是否为旧的代码 | |
158 | + */ | |
159 | + const getSalesCodeOptions = async () => { | |
160 | + const res = await postServiceOrderQuerySalesCode(); | |
161 | + let options = res.data?.map((item) => { | |
162 | + return { | |
163 | + label: item.userName, | |
164 | + value: item.userName, | |
165 | + number: item.number, | |
166 | + }; | |
167 | + }); | |
168 | + setSalesCodeOptions(options); | |
169 | + }; | |
170 | + | |
171 | + // 自定义校验规则 | |
172 | + const validateRechargeAmount = async (rule: any, value: number) => { | |
173 | + if (value <= 0) { | |
174 | + throw new Error('充值金额必须大于0'); | |
175 | + } | |
176 | + }; | |
177 | + | |
178 | + //自动填充客户信息 | |
179 | + const autoFillCustomerContactSelectOptions = (option: any) => { | |
180 | + console.log(option); | |
181 | + //新增 | |
182 | + if (option.value === 3.1415926) { | |
183 | + form.setFieldValue('customerNameString', option.name); | |
184 | + } else { | |
185 | + form.setFieldValue('phone', option.phone); | |
186 | + form.setFieldValue('contactPerson', option.realName); | |
187 | + form.setFieldValue('customerNameString', option.institution); | |
188 | + } | |
189 | + }; | |
190 | + | |
191 | + useEffect(() => { | |
192 | + getSalesCodeOptions(); | |
193 | + | |
194 | + //修改,信息回显 | |
195 | + if (prepaymentObject !== null) { | |
196 | + setIsCreate(false); | |
197 | + | |
198 | + let values = form.getFieldsValue(); | |
199 | + let keys = Object.keys(values); | |
200 | + for (let key of keys) { | |
201 | + form.setFieldValue(key, prepaymentObject[key]); | |
202 | + } | |
203 | + | |
204 | + //客户select回显 | |
205 | + form.setFieldValue('customerName', prepaymentObject.customerName); | |
206 | + | |
207 | + //凭证回显 | |
208 | + let images = prepaymentObject.proofImages; | |
209 | + if (images !== null && images !== undefined) { | |
210 | + let files = images?.map((item) => { | |
211 | + return { | |
212 | + url: item, | |
213 | + status: 'done', | |
214 | + isOld: true, | |
215 | + }; | |
216 | + }); | |
217 | + setFileList(files); | |
218 | + } | |
219 | + } | |
220 | + }, []); | |
221 | + | |
222 | + useEffect(() => { | |
223 | + document.addEventListener('paste', onPaste); | |
224 | + return () => { | |
225 | + document.removeEventListener('paste', onPaste); | |
226 | + }; | |
227 | + }, []); | |
228 | + | |
229 | + return ( | |
230 | + <> | |
231 | + <ModalForm | |
232 | + width={500} | |
233 | + open | |
234 | + title={(isCreate ? '新增' : '修改') + '预存记录'} | |
235 | + form={form} | |
236 | + autoFocusFirstInput | |
237 | + modalProps={{ | |
238 | + okText: '保存', | |
239 | + cancelText: '取消', | |
240 | + destroyOnClose: true, | |
241 | + onCancel: () => { | |
242 | + setVisible(false); | |
243 | + }, | |
244 | + }} | |
245 | + onFinish={async (values) => { | |
246 | + if (fileList.length <= 0) { | |
247 | + message.error('凭证不能为空'); | |
248 | + return; | |
249 | + } | |
250 | + messageApi.open({ | |
251 | + type: 'loading', | |
252 | + content: '正在上传图片...', | |
253 | + duration: 0, | |
254 | + }); | |
255 | + //附件处理 | |
256 | + let formData = new FormData(); | |
257 | + //附件处理 | |
258 | + console.log(fileList); | |
259 | + for (let file of fileList) { | |
260 | + if (file.isOld === undefined) { | |
261 | + if (file.originFileObj) { | |
262 | + formData.append('files', file.originFileObj as RcFile); | |
263 | + } else { | |
264 | + //有url的话取url(源文件),没url取thumbUrl。有url的时候thumbUrl是略缩图 | |
265 | + if (file?.url === undefined || file?.url === null) { | |
266 | + formData.append( | |
267 | + 'files', | |
268 | + transImageFile(file?.thumbUrl), | |
269 | + file?.originFileObj?.name, | |
270 | + ); | |
271 | + } else { | |
272 | + formData.append( | |
273 | + 'files', | |
274 | + transImageFile(file?.url), | |
275 | + file?.originFileObj?.name, | |
276 | + ); | |
277 | + } | |
278 | + } | |
279 | + } | |
280 | + } | |
281 | + let res = await postServiceOrderFileProcess({ | |
282 | + data: formData, | |
283 | + }); | |
284 | + if (res.result === RESPONSE_CODE.SUCCESS) { | |
285 | + message.success('上传成功!'); | |
286 | + | |
287 | + let fileUrls = res?.data?.map((item) => { | |
288 | + return item; | |
289 | + }); | |
290 | + | |
291 | + //旧的凭证也要加上去 | |
292 | + fileList.forEach((item) => { | |
293 | + if (item.isOld !== undefined) { | |
294 | + fileUrls.unshift(item.url); | |
295 | + } | |
296 | + }); | |
297 | + | |
298 | + values.proofImages = fileUrls; | |
299 | + | |
300 | + if (isCreate) { | |
301 | + res = await postPrepaidCreate({ | |
302 | + data: { | |
303 | + ...values, | |
304 | + customerName: form.getFieldValue('customerNameString'), | |
305 | + }, | |
306 | + }); | |
307 | + } else { | |
308 | + let customerNameString = form.getFieldValue('customerNameString'); | |
309 | + let body = { ...values }; | |
310 | + if (customerNameString) { | |
311 | + //customerNameString不为空说明是有重新选择客户,customerName要取这个值 | |
312 | + body.customerName = customerNameString; | |
313 | + } | |
314 | + res = await postPrepaidUpdate({ | |
315 | + data: body, | |
316 | + }); | |
317 | + } | |
318 | + | |
319 | + if (res && res.result === RESPONSE_CODE.SUCCESS) { | |
320 | + message.success(res.message); | |
321 | + onClose(); | |
322 | + } | |
323 | + } | |
324 | + }} | |
325 | + onOpenChange={setVisible} | |
326 | + > | |
327 | + <ProFormText name="id" label="编号" disabled /> | |
328 | + <ProFormSelect | |
329 | + name="customerName" | |
330 | + key="customerName" | |
331 | + width="lg" | |
332 | + showSearch | |
333 | + label="客户名称" | |
334 | + placeholder="请选择客户" | |
335 | + onChange={(_, option) => { | |
336 | + autoFillCustomerContactSelectOptions(option); | |
337 | + }} | |
338 | + fieldProps={{ | |
339 | + filterOption() { | |
340 | + return true; | |
341 | + }, | |
342 | + optionItemRender(item) { | |
343 | + if (item.type === 'add') { | |
344 | + return ( | |
345 | + <div title={item.name + '(新增客户)'}> | |
346 | + <span style={{ color: '#333333' }}>{item.name}</span> | |
347 | + {' | '} | |
348 | + <span style={{ color: 'orange' }}>自定义</span> | |
349 | + </div> | |
350 | + ); | |
351 | + } | |
352 | + | |
353 | + let name = | |
354 | + item.label + | |
355 | + ' | ' + | |
356 | + item.institution + | |
357 | + ' | ' + | |
358 | + item.nowMoney + | |
359 | + '¥' + | |
360 | + ' | ' + | |
361 | + item.phone; | |
362 | + return ( | |
363 | + <div title={name}> | |
364 | + <span style={{ color: '#333333' }}>{name}</span> | |
365 | + </div> | |
366 | + ); | |
367 | + }, | |
368 | + }} | |
369 | + debounceTime={1000} | |
370 | + request={async (value, {}) => { | |
371 | + const keywords = value.keyWords; | |
372 | + const res = await postCanrdApiUserList({ | |
373 | + data: { keywords: keywords, pageSize: 1000000 }, | |
374 | + }); | |
375 | + let options = res?.data?.data?.map((c: any) => { | |
376 | + return { | |
377 | + ...c, | |
378 | + label: c.realName, | |
379 | + value: c.uid, | |
380 | + key: c.uid, | |
381 | + }; | |
382 | + }); | |
383 | + | |
384 | + //第一个默认为要新增客户 | |
385 | + if (keywords.trim() !== '') { | |
386 | + options.unshift({ | |
387 | + name: keywords, | |
388 | + type: 'add', | |
389 | + label: keywords, | |
390 | + value: 3.1415926, | |
391 | + key: keywords, | |
392 | + }); | |
393 | + } | |
394 | + | |
395 | + return options; | |
396 | + }} | |
397 | + /> | |
398 | + <ProFormText | |
399 | + name="contactPerson" | |
400 | + label="联系人" | |
401 | + rules={[{ required: true, message: '请输入联系人' }]} | |
402 | + /> | |
403 | + <ProFormText | |
404 | + name="phone" | |
405 | + label="手机号" | |
406 | + rules={[{ required: true, message: '请输入手机号' }]} | |
407 | + /> | |
408 | + <ProFormSelect | |
409 | + name="salesCode" | |
410 | + key="salesCode" | |
411 | + width="lg" | |
412 | + showSearch | |
413 | + label="销售代表" | |
414 | + placeholder="请输入销售代表" | |
415 | + rules={[{ required: true, message: '销售代表必填' }]} | |
416 | + options={salesCodeOptions} | |
417 | + /> | |
418 | + <ProFormDigit | |
419 | + name="rechargeAmount" | |
420 | + label="充值金额(¥)" | |
421 | + rules={[ | |
422 | + { required: true, message: '请输入充值金额' }, | |
423 | + { validator: validateRechargeAmount }, | |
424 | + ]} | |
425 | + /> | |
426 | + | |
427 | + <> | |
428 | + <div className="pb-4 text-xs decoration-gray-50">可复制照片粘贴</div> | |
429 | + <Upload {...props}>{fileList.length < 3 ? uploadButton : ''}</Upload> | |
430 | + </> | |
431 | + | |
432 | + <ProFormTextArea name="notes" label="备注" /> | |
433 | + </ModalForm> | |
434 | + | |
435 | + <Modal | |
436 | + open={previewOpen} | |
437 | + title={previewTitle} | |
438 | + footer={null} | |
439 | + onCancel={handleCancel} | |
440 | + > | |
441 | + <img alt="图片预览" style={{ width: '100%' }} src={previewImage} /> | |
442 | + </Modal> | |
443 | + | |
444 | + {contextHolder} | |
445 | + </> | |
446 | + ); | |
447 | +}; | ... | ... |
src/pages/Prepaid/constant.tsx
0 → 100644
1 | +import { enumToProTableEnumValue } from '@/utils'; | |
2 | + | |
3 | +export type PrepaidItem = { | |
4 | + id: number; // id | |
5 | + customerName: string; // 购买方 | |
6 | + contactPerson: string; // 联系人 | |
7 | + salesCode: string; // 销售 | |
8 | + phone: string; // 销售 | |
9 | + rechargeAmount: number; // 金额 | |
10 | + notes: string; // 备注 | |
11 | + rechargeSource: string; // 充值来源 | |
12 | + status: string; // 状态 | |
13 | + auditors: string; // 审核人 | |
14 | + auditDate: string; // 审核日期 | |
15 | + auditNotes: string; // 审核备注 | |
16 | +}; | |
17 | +export const PREPAID_STATUS_OPTIONS = { | |
18 | + CREATED: '待审核', | |
19 | + AUDIT_FAIL: '审核失败', | |
20 | + AUDIT_PASS: '审核通过', | |
21 | +}; | |
22 | +export const SALES_RECHARGE_PREPAYMENT_COLUMNS = [ | |
23 | + // { | |
24 | + // title: '编号', | |
25 | + // dataIndex: 'id', | |
26 | + // key: 'id', | |
27 | + // valueType: 'index', | |
28 | + // }, | |
29 | + { | |
30 | + title: '客户名称', | |
31 | + dataIndex: 'customerName', | |
32 | + key: 'customerName', | |
33 | + valueType: 'text', | |
34 | + }, | |
35 | + { | |
36 | + title: '联系人', | |
37 | + dataIndex: 'contactPerson', | |
38 | + key: 'contactPerson', | |
39 | + valueType: 'text', | |
40 | + }, | |
41 | + { | |
42 | + title: '销售', | |
43 | + dataIndex: 'salesCode', | |
44 | + key: 'salesCode', | |
45 | + valueType: 'text', | |
46 | + }, | |
47 | + { | |
48 | + title: '手机号', | |
49 | + dataIndex: 'phone', | |
50 | + key: 'phone', | |
51 | + valueType: 'text', | |
52 | + }, | |
53 | + { | |
54 | + title: '金额', | |
55 | + dataIndex: 'rechargeAmount', | |
56 | + key: 'rechargeAmount', | |
57 | + valueType: 'money', | |
58 | + hideInSearch: true, | |
59 | + }, | |
60 | + { | |
61 | + title: '状态', | |
62 | + dataIndex: 'status', | |
63 | + key: 'status', | |
64 | + valueType: 'text', | |
65 | + valueEnum: enumToProTableEnumValue(PREPAID_STATUS_OPTIONS), | |
66 | + }, | |
67 | + { | |
68 | + title: '备注', | |
69 | + dataIndex: 'notes', | |
70 | + key: 'notes', | |
71 | + valueType: 'text', | |
72 | + }, | |
73 | + { | |
74 | + title: '凭证', | |
75 | + dataIndex: 'proofImages', | |
76 | + key: 'proofImages', | |
77 | + }, | |
78 | + { | |
79 | + title: '创建日期', | |
80 | + dataIndex: 'createTime', | |
81 | + key: 'createTime', | |
82 | + valueType: 'dateTimeRange', | |
83 | + search: { | |
84 | + transform: (value) => { | |
85 | + return { | |
86 | + createTimeBeginTime: value[0], | |
87 | + createTimeEndTime: value[1], | |
88 | + }; | |
89 | + }, | |
90 | + }, | |
91 | + }, | |
92 | + { | |
93 | + title: '充值来源', | |
94 | + dataIndex: 'rechargeSource', | |
95 | + key: 'rechargeSource', | |
96 | + valueType: 'text', | |
97 | + hideInTable: true, | |
98 | + hideInSearch: true, | |
99 | + }, | |
100 | + | |
101 | + { | |
102 | + title: '审核人', | |
103 | + dataIndex: 'auditors', | |
104 | + key: 'auditors', | |
105 | + valueType: 'text', | |
106 | + hideInTable: true, | |
107 | + hideInSearch: true, | |
108 | + }, | |
109 | + { | |
110 | + title: '审核日期', | |
111 | + dataIndex: 'auditDate', | |
112 | + key: 'auditDate', | |
113 | + valueType: 'dateTimeRange', | |
114 | + hideInTable: true, | |
115 | + search: { | |
116 | + transform: (value) => { | |
117 | + return { | |
118 | + auditDateBeginTime: value[0], | |
119 | + auditDateEndTime: value[1], | |
120 | + }; | |
121 | + }, | |
122 | + }, | |
123 | + hideInSearch: true, | |
124 | + }, | |
125 | + { | |
126 | + title: '审核备注', | |
127 | + dataIndex: 'auditNotes', | |
128 | + key: 'auditNotes', | |
129 | + valueType: 'text', | |
130 | + }, | |
131 | +]; | |
132 | + | |
133 | +export const ACCOUNT_COLUMNS = [ | |
134 | + // { | |
135 | + // title: '编号', | |
136 | + // dataIndex: 'uid', | |
137 | + // key: 'uid', | |
138 | + // valueType: 'index', | |
139 | + // hideInSearch: true, | |
140 | + // }, | |
141 | + { | |
142 | + title: '关键字', | |
143 | + dataIndex: 'keywords', | |
144 | + key: 'keywords', | |
145 | + hideInTable: true, | |
146 | + fieldProps: { | |
147 | + placeholder: '请输入 单位|课题组|姓名|手机号|昵称', | |
148 | + }, | |
149 | + }, | |
150 | + { | |
151 | + title: '单位', | |
152 | + dataIndex: 'institution', | |
153 | + key: 'institution', | |
154 | + valueType: 'text', | |
155 | + hideInSearch: true, | |
156 | + }, | |
157 | + { | |
158 | + title: '课题组老师', | |
159 | + dataIndex: 'institutionContactName', | |
160 | + key: 'institutionContactName', | |
161 | + valueType: 'text', | |
162 | + hideInSearch: true, | |
163 | + }, | |
164 | + { | |
165 | + title: '手机号', | |
166 | + dataIndex: 'phone', | |
167 | + key: 'phone', | |
168 | + valueType: 'text', | |
169 | + }, | |
170 | + { | |
171 | + title: '真实姓名', | |
172 | + dataIndex: 'realName', | |
173 | + key: 'realName', | |
174 | + valueType: 'text', | |
175 | + hideInSearch: true, | |
176 | + }, | |
177 | + { | |
178 | + title: '余额(¥)', | |
179 | + dataIndex: 'nowMoney', | |
180 | + key: 'nowMoney', | |
181 | + valueType: 'money', | |
182 | + hideInSearch: true, | |
183 | + }, | |
184 | + { | |
185 | + title: '账号', | |
186 | + dataIndex: 'account', | |
187 | + key: 'account', | |
188 | + valueType: 'text', | |
189 | + hideInSearch: true, | |
190 | + }, | |
191 | + { | |
192 | + title: '昵称', | |
193 | + dataIndex: 'nickname', | |
194 | + key: 'nickname', | |
195 | + valueType: 'text', | |
196 | + hideInSearch: true, | |
197 | + }, | |
198 | + { | |
199 | + title: '账号创建日期', | |
200 | + dataIndex: 'createTime', | |
201 | + key: 'createTime', | |
202 | + valueType: 'dateRange', | |
203 | + search: { | |
204 | + transform: (value) => { | |
205 | + return { | |
206 | + dateLimit: value[0] + ',' + value[1], | |
207 | + }; | |
208 | + }, | |
209 | + }, | |
210 | + }, | |
211 | +]; | |
212 | + | |
213 | +export const BALANCE_CHANGE_COLUMNS = [ | |
214 | + { | |
215 | + title: '变动金额(¥)', | |
216 | + dataIndex: 'number', | |
217 | + key: 'number', | |
218 | + dataType: 'money', | |
219 | + width: 140, | |
220 | + }, | |
221 | + { | |
222 | + title: '变动后(¥)', | |
223 | + dataIndex: 'balance', | |
224 | + key: 'balance', | |
225 | + dataType: 'money', | |
226 | + width: 140, | |
227 | + }, | |
228 | + { | |
229 | + title: '类型', | |
230 | + dataIndex: 'title', | |
231 | + key: 'title', | |
232 | + dataType: 'text', | |
233 | + width: 200, | |
234 | + }, | |
235 | + { | |
236 | + title: '备注', | |
237 | + dataIndex: 'mark', | |
238 | + key: 'mark', | |
239 | + dataType: 'text', | |
240 | + width: 250, | |
241 | + }, | |
242 | + { | |
243 | + title: '创建时间', | |
244 | + dataIndex: 'add_time', | |
245 | + key: 'add_time', | |
246 | + dataType: 'datetime', | |
247 | + }, | |
248 | +]; | ... | ... |
src/pages/Prepaid/index.less
0 → 100644
src/pages/Prepaid/index.tsx
... | ... | @@ -155,7 +155,7 @@ const PrepaidPage = () => { |
155 | 155 | <ButtonConfirm |
156 | 156 | key="delete" |
157 | 157 | className="p-0" |
158 | - title={'确认删除编号为[ ' + record.id + ' ]的预存记录吗?'} | |
158 | + title={'确认删除这条预存记录吗?'} | |
159 | 159 | text="删除" |
160 | 160 | onConfirm={async () => { |
161 | 161 | let res = await postPrepaidDelete({ | ... | ... |
src/services/definition.ts
... | ... | @@ -365,6 +365,16 @@ export interface ApiCreateOrderRequest { |
365 | 365 | customerShippingAddress?: string; |
366 | 366 | /** |
367 | 367 | * @description |
368 | + * 单位 | |
369 | + */ | |
370 | + institution?: string; | |
371 | + /** | |
372 | + * @description | |
373 | + * 课题组老师 | |
374 | + */ | |
375 | + institutionContactName?: string; | |
376 | + /** | |
377 | + * @description | |
368 | 378 | * 商品列表 |
369 | 379 | */ |
370 | 380 | list?: Array<ApiCreateProductRequest>; |
... | ... | @@ -466,6 +476,19 @@ export interface ApiCreateProductRequest { |
466 | 476 | unit?: string; |
467 | 477 | } |
468 | 478 | |
479 | +export interface ApiOrderCustomersRequest { | |
480 | + /** @format int32 */ | |
481 | + current?: number; | |
482 | + /** @format int32 */ | |
483 | + pageSize?: number; | |
484 | + /** @format int32 */ | |
485 | + total?: number; | |
486 | +} | |
487 | + | |
488 | +export interface ApiOrderEvaluatedRequest { | |
489 | + subOrderIds?: Array<number>; | |
490 | +} | |
491 | + | |
469 | 492 | export interface ApiQueryOrderDetailRequest { |
470 | 493 | /** |
471 | 494 | * @description |
... | ... | @@ -479,6 +502,12 @@ export interface ApiQueryOrderDetailRequest { |
479 | 502 | orderId?: string; |
480 | 503 | /** |
481 | 504 | * @description |
505 | + * 子订单状态 | |
506 | + * @format int32 | |
507 | + */ | |
508 | + orderStatus?: number; | |
509 | + /** | |
510 | + * @description | |
482 | 511 | * 账号id |
483 | 512 | * @format int32 |
484 | 513 | */ |
... | ... | @@ -500,6 +529,12 @@ export interface ApiQueryOrderStatusCountsRequest { |
500 | 529 | } |
501 | 530 | |
502 | 531 | export interface AuditDto { |
532 | + /** | |
533 | + * @description | |
534 | + * 主订单id | |
535 | + * @format int64 | |
536 | + */ | |
537 | + mainOrderId?: number; | |
503 | 538 | notes?: string; |
504 | 539 | /** |
505 | 540 | * @description |
... | ... | @@ -854,6 +889,22 @@ export interface InventoryMaterialStockReq { |
854 | 889 | materialId?: string; |
855 | 890 | } |
856 | 891 | |
892 | +export interface InvoiceRecordQueryRequest { | |
893 | + /** @format date */ | |
894 | + createTimeGe?: string; | |
895 | + /** @format date */ | |
896 | + createTimeLe?: string; | |
897 | + /** @format int32 */ | |
898 | + pageNumber?: number; | |
899 | + /** @format int32 */ | |
900 | + pageSize?: number; | |
901 | + /** | |
902 | + * @description | |
903 | + * 用户id | |
904 | + */ | |
905 | + uid?: string; | |
906 | +} | |
907 | + | |
857 | 908 | export interface Item { |
858 | 909 | billDate?: string; |
859 | 910 | billNo?: string; |
... | ... | @@ -867,6 +918,20 @@ export interface ItemSaItem { |
867 | 918 | itemValue?: string; |
868 | 919 | } |
869 | 920 | |
921 | +export interface MainOrderqueryRequest { | |
922 | + afterInvoicingStatusIsNull?: boolean; | |
923 | + orderStatusNotIn?: Array<string>; | |
924 | + /** @format int32 */ | |
925 | + pageNumber?: number; | |
926 | + /** @format int32 */ | |
927 | + pageSize?: number; | |
928 | + /** | |
929 | + * @description | |
930 | + * 用户id | |
931 | + */ | |
932 | + uid?: string; | |
933 | +} | |
934 | + | |
870 | 935 | export interface MaterialListReply { |
871 | 936 | count?: string; |
872 | 937 | /** @format int32 */ |
... | ... | @@ -1529,8 +1594,6 @@ export interface QueryReportFormsDto { |
1529 | 1594 | export interface ReissueInvoiceDto { |
1530 | 1595 | /** @format int64 */ |
1531 | 1596 | invoiceId?: number; |
1532 | - invoiceNumber?: string; | |
1533 | - mainOrderIds?: Array<number>; | |
1534 | 1597 | notes?: string; |
1535 | 1598 | } |
1536 | 1599 | |
... | ... | @@ -1708,6 +1771,31 @@ export interface UpdatePwdVO { |
1708 | 1771 | userId?: number; |
1709 | 1772 | } |
1710 | 1773 | |
1774 | +export interface UserAddressListRequest { | |
1775 | + keywords?: string; | |
1776 | +} | |
1777 | + | |
1778 | +export interface UserCenterInfoRequest { | |
1779 | + /** @format int32 */ | |
1780 | + current?: number; | |
1781 | + /** @format int32 */ | |
1782 | + pageSize?: number; | |
1783 | + /** @format int32 */ | |
1784 | + total?: number; | |
1785 | + /** | |
1786 | + * @description | |
1787 | + * 类型:0=消费记录,1=积分明细,2=签到记录,3=持有优惠券,4=余额变动,5=好友关系 | |
1788 | + * @format int32 | |
1789 | + */ | |
1790 | + type?: number; | |
1791 | + /** | |
1792 | + * @description | |
1793 | + * 用户id | |
1794 | + * @format int32 | |
1795 | + */ | |
1796 | + uid?: number; | |
1797 | +} | |
1798 | + | |
1711 | 1799 | export interface UserDetailRequest { |
1712 | 1800 | /** @format int32 */ |
1713 | 1801 | current?: number; |
... | ... | @@ -1732,6 +1820,11 @@ export interface UserListRequest { |
1732 | 1820 | current?: number; |
1733 | 1821 | /** |
1734 | 1822 | * @description |
1823 | + * 创建日期开始时间 | |
1824 | + */ | |
1825 | + dateLimit?: string; | |
1826 | + /** | |
1827 | + * @description | |
1735 | 1828 | * 单位 |
1736 | 1829 | */ |
1737 | 1830 | institution?: string; |
... | ... | @@ -1752,10 +1845,21 @@ export interface UserListRequest { |
1752 | 1845 | * 手机号 |
1753 | 1846 | */ |
1754 | 1847 | phone?: string; |
1848 | + /** | |
1849 | + * @description | |
1850 | + * salesCode | |
1851 | + */ | |
1852 | + salesCode?: string; | |
1755 | 1853 | /** @format int32 */ |
1756 | 1854 | total?: number; |
1757 | 1855 | /** |
1758 | 1856 | * @description |
1857 | + * id | |
1858 | + * @format int32 | |
1859 | + */ | |
1860 | + uid?: number; | |
1861 | + /** | |
1862 | + * @description | |
1759 | 1863 | * 用户名 |
1760 | 1864 | */ |
1761 | 1865 | username?: string; |
... | ... | @@ -1765,6 +1869,24 @@ export interface View { |
1765 | 1869 | contentType?: string; |
1766 | 1870 | } |
1767 | 1871 | |
1872 | +/** | |
1873 | + * @description | |
1874 | + * 确认收货请求 | |
1875 | + */ | |
1876 | +export interface ApiOrderConfirmReceiveRequest { | |
1877 | + /** | |
1878 | + * @description | |
1879 | + * 主订单id | |
1880 | + * @format int64 | |
1881 | + */ | |
1882 | + orderId?: number; | |
1883 | + /** | |
1884 | + * @description | |
1885 | + * 子订单id | |
1886 | + */ | |
1887 | + subOrderIds?: Array<number>; | |
1888 | +} | |
1889 | + | |
1768 | 1890 | export interface SalesRechargePrepaymentAuditRequest { |
1769 | 1891 | /** |
1770 | 1892 | * @description |
... | ... | @@ -1806,6 +1928,11 @@ export interface SalesRechargePrepaymentCreateRequest { |
1806 | 1928 | phone?: string; |
1807 | 1929 | /** |
1808 | 1930 | * @description |
1931 | + * 凭证 | |
1932 | + */ | |
1933 | + proofImages?: Array<string>; | |
1934 | + /** | |
1935 | + * @description | |
1809 | 1936 | * 充值金额 |
1810 | 1937 | */ |
1811 | 1938 | rechargeAmount?: number; |
... | ... | @@ -1969,6 +2096,11 @@ export interface SalesRechargePrepaymentUpdateRequest { |
1969 | 2096 | phone?: string; |
1970 | 2097 | /** |
1971 | 2098 | * @description |
2099 | + * 凭证 | |
2100 | + */ | |
2101 | + proofImages?: Array<string>; | |
2102 | + /** | |
2103 | + * @description | |
1972 | 2104 | * 充值金额 |
1973 | 2105 | */ |
1974 | 2106 | rechargeAmount?: number; |
... | ... | @@ -1984,6 +2116,101 @@ export interface SalesRechargePrepaymentUpdateRequest { |
1984 | 2116 | salesCode?: string; |
1985 | 2117 | } |
1986 | 2118 | |
2119 | +/** | |
2120 | + * @description | |
2121 | + * 开票添加对象 | |
2122 | + */ | |
2123 | +export interface StoreOrderInvoiceRequest { | |
2124 | + /** | |
2125 | + * @description | |
2126 | + * 开票备注 | |
2127 | + */ | |
2128 | + comment?: string; | |
2129 | + /** | |
2130 | + * @description | |
2131 | + * 开票内容 | |
2132 | + */ | |
2133 | + content?: string; | |
2134 | + /** | |
2135 | + * @description | |
2136 | + * 创建时间 | |
2137 | + * @format date-time | |
2138 | + */ | |
2139 | + createTime?: string; | |
2140 | + /** | |
2141 | + * @description | |
2142 | + * 关联订单id | |
2143 | + */ | |
2144 | + orderIdList?: Array<number>; | |
2145 | + /** | |
2146 | + * @description | |
2147 | + * 买方注册地址 | |
2148 | + */ | |
2149 | + partyAAddress?: string; | |
2150 | + /** | |
2151 | + * @description | |
2152 | + * 买方开户行账号 | |
2153 | + */ | |
2154 | + partyABankAccount?: string; | |
2155 | + /** | |
2156 | + * @description | |
2157 | + * 买方名称 | |
2158 | + */ | |
2159 | + partyAName?: string; | |
2160 | + /** | |
2161 | + * @description | |
2162 | + * 买方开户行 | |
2163 | + */ | |
2164 | + partyAOpenBank?: string; | |
2165 | + /** | |
2166 | + * @description | |
2167 | + * 买方电话号码 | |
2168 | + */ | |
2169 | + partyAPhoneNumber?: string; | |
2170 | + /** | |
2171 | + * @description | |
2172 | + * 买方税号 | |
2173 | + */ | |
2174 | + partyATaxid?: string; | |
2175 | + /** | |
2176 | + * @description | |
2177 | + * 抬头类型 | |
2178 | + */ | |
2179 | + partyAType?: string; | |
2180 | + /** | |
2181 | + * @description | |
2182 | + * 卖方名称 | |
2183 | + */ | |
2184 | + partyBName?: string; | |
2185 | + /** | |
2186 | + * @description | |
2187 | + * 发票金额 | |
2188 | + * @format double | |
2189 | + */ | |
2190 | + price?: number; | |
2191 | + /** | |
2192 | + * @description | |
2193 | + * 接收邮箱地址 | |
2194 | + */ | |
2195 | + receiveEmail?: string; | |
2196 | + /** | |
2197 | + * @description | |
2198 | + * 发票类型 | |
2199 | + */ | |
2200 | + type?: string; | |
2201 | + /** | |
2202 | + * @description | |
2203 | + * 用户id | |
2204 | + */ | |
2205 | + uid?: string; | |
2206 | + /** | |
2207 | + * @description | |
2208 | + * 更新时间 | |
2209 | + * @format date-time | |
2210 | + */ | |
2211 | + updateTime?: string; | |
2212 | +} | |
2213 | + | |
1987 | 2214 | export interface UploadPaymentReceiptDTO { |
1988 | 2215 | /** |
1989 | 2216 | * @description | ... | ... |
src/services/request.ts
... | ... | @@ -24,6 +24,9 @@ import type { |
24 | 24 | ApiApplyAddressModifyRequest, |
25 | 25 | ApiApplyAfterSalesRequest, |
26 | 26 | ApiCreateOrderRequest, |
27 | + ApiOrderConfirmReceiveRequest, | |
28 | + ApiOrderCustomersRequest, | |
29 | + ApiOrderEvaluatedRequest, | |
27 | 30 | ApiQueryOrderDetailRequest, |
28 | 31 | ApiQueryOrderStatusCountsRequest, |
29 | 32 | AuditDto, |
... | ... | @@ -41,13 +44,14 @@ import type { |
41 | 44 | DictionaryVO, |
42 | 45 | Dto, |
43 | 46 | InventoryMaterialStockReq, |
47 | + InvoiceRecordQueryRequest, | |
48 | + MainOrderqueryRequest, | |
44 | 49 | MaterialListReply, |
45 | 50 | MaterialMaterialListReq, |
46 | 51 | MaterialStockRes, |
47 | 52 | MaterialUnitListRes, |
48 | 53 | MeasureUnitListRes, |
49 | 54 | MessageQueryDTO, |
50 | - ModelAndView, | |
51 | 55 | OrderAddVO, |
52 | 56 | OrderAuditLogQueryVO, |
53 | 57 | OrderBaseInfoQueryVO, |
... | ... | @@ -79,6 +83,7 @@ import type { |
79 | 83 | SaveReply, |
80 | 84 | ServerResult, |
81 | 85 | ShippingWarehouseChangeDto, |
86 | + StoreOrderInvoiceRequest, | |
82 | 87 | SysLogQueryVO, |
83 | 88 | SystemCustomFieldReq, |
84 | 89 | ToProcureAuditDto, |
... | ... | @@ -88,6 +93,8 @@ import type { |
88 | 93 | UpdateHirePurchaseDto, |
89 | 94 | UpdatePwdVO, |
90 | 95 | UploadPaymentReceiptDTO, |
96 | + UserAddressListRequest, | |
97 | + UserCenterInfoRequest, | |
91 | 98 | UserDetailRequest, |
92 | 99 | UserListRequest, |
93 | 100 | } from './definition'; |
... | ... | @@ -404,6 +411,77 @@ export const postApiOrderApplyAfterSales = /* #__PURE__ */ (() => { |
404 | 411 | return request; |
405 | 412 | })(); |
406 | 413 | |
414 | +/** @description request parameter type for postApiOrderConfirmReceive */ | |
415 | +export interface PostApiOrderConfirmReceiveOption { | |
416 | + /** | |
417 | + * @description | |
418 | + * request | |
419 | + */ | |
420 | + body: { | |
421 | + /** | |
422 | + @description | |
423 | + request */ | |
424 | + request: ApiOrderConfirmReceiveRequest; | |
425 | + }; | |
426 | +} | |
427 | + | |
428 | +/** @description response type for postApiOrderConfirmReceive */ | |
429 | +export interface PostApiOrderConfirmReceiveResponse { | |
430 | + /** | |
431 | + * @description | |
432 | + * OK | |
433 | + */ | |
434 | + 200: ServerResult; | |
435 | + /** | |
436 | + * @description | |
437 | + * Created | |
438 | + */ | |
439 | + 201: any; | |
440 | + /** | |
441 | + * @description | |
442 | + * Unauthorized | |
443 | + */ | |
444 | + 401: any; | |
445 | + /** | |
446 | + * @description | |
447 | + * Forbidden | |
448 | + */ | |
449 | + 403: any; | |
450 | + /** | |
451 | + * @description | |
452 | + * Not Found | |
453 | + */ | |
454 | + 404: any; | |
455 | +} | |
456 | + | |
457 | +export type PostApiOrderConfirmReceiveResponseSuccess = | |
458 | + PostApiOrderConfirmReceiveResponse[200]; | |
459 | +/** | |
460 | + * @description | |
461 | + * 确认收货 | |
462 | + * @tags 内部订单 | |
463 | + * @produces * | |
464 | + * @consumes application/json | |
465 | + */ | |
466 | +export const postApiOrderConfirmReceive = /* #__PURE__ */ (() => { | |
467 | + const method = 'post'; | |
468 | + const url = '/api/order/confirmReceive'; | |
469 | + function request( | |
470 | + option: PostApiOrderConfirmReceiveOption, | |
471 | + ): Promise<PostApiOrderConfirmReceiveResponseSuccess> { | |
472 | + return requester(request.url, { | |
473 | + method: request.method, | |
474 | + ...option, | |
475 | + }) as unknown as Promise<PostApiOrderConfirmReceiveResponseSuccess>; | |
476 | + } | |
477 | + | |
478 | + /** http method */ | |
479 | + request.method = method; | |
480 | + /** request url */ | |
481 | + request.url = url; | |
482 | + return request; | |
483 | +})(); | |
484 | + | |
407 | 485 | /** @description request parameter type for postApiOrderCreateOrder */ |
408 | 486 | export interface PostApiOrderCreateOrderOption { |
409 | 487 | /** |
... | ... | @@ -414,12 +492,563 @@ export interface PostApiOrderCreateOrderOption { |
414 | 492 | /** |
415 | 493 | @description |
416 | 494 | request */ |
417 | - request: ApiCreateOrderRequest; | |
495 | + request: ApiCreateOrderRequest; | |
496 | + }; | |
497 | +} | |
498 | + | |
499 | +/** @description response type for postApiOrderCreateOrder */ | |
500 | +export interface PostApiOrderCreateOrderResponse { | |
501 | + /** | |
502 | + * @description | |
503 | + * OK | |
504 | + */ | |
505 | + 200: ServerResult; | |
506 | + /** | |
507 | + * @description | |
508 | + * Created | |
509 | + */ | |
510 | + 201: any; | |
511 | + /** | |
512 | + * @description | |
513 | + * Unauthorized | |
514 | + */ | |
515 | + 401: any; | |
516 | + /** | |
517 | + * @description | |
518 | + * Forbidden | |
519 | + */ | |
520 | + 403: any; | |
521 | + /** | |
522 | + * @description | |
523 | + * Not Found | |
524 | + */ | |
525 | + 404: any; | |
526 | +} | |
527 | + | |
528 | +export type PostApiOrderCreateOrderResponseSuccess = | |
529 | + PostApiOrderCreateOrderResponse[200]; | |
530 | +/** | |
531 | + * @description | |
532 | + * 创建订单 | |
533 | + * @tags 内部订单 | |
534 | + * @produces * | |
535 | + * @consumes application/json | |
536 | + */ | |
537 | +export const postApiOrderCreateOrder = /* #__PURE__ */ (() => { | |
538 | + const method = 'post'; | |
539 | + const url = '/api/order/createOrder'; | |
540 | + function request( | |
541 | + option: PostApiOrderCreateOrderOption, | |
542 | + ): Promise<PostApiOrderCreateOrderResponseSuccess> { | |
543 | + return requester(request.url, { | |
544 | + method: request.method, | |
545 | + ...option, | |
546 | + }) as unknown as Promise<PostApiOrderCreateOrderResponseSuccess>; | |
547 | + } | |
548 | + | |
549 | + /** http method */ | |
550 | + request.method = method; | |
551 | + /** request url */ | |
552 | + request.url = url; | |
553 | + return request; | |
554 | +})(); | |
555 | + | |
556 | +/** @description request parameter type for postApiOrderCustomers */ | |
557 | +export interface PostApiOrderCustomersOption { | |
558 | + /** | |
559 | + * @description | |
560 | + * request | |
561 | + */ | |
562 | + body: { | |
563 | + /** | |
564 | + @description | |
565 | + request */ | |
566 | + request: ApiOrderCustomersRequest; | |
567 | + }; | |
568 | +} | |
569 | + | |
570 | +/** @description response type for postApiOrderCustomers */ | |
571 | +export interface PostApiOrderCustomersResponse { | |
572 | + /** | |
573 | + * @description | |
574 | + * OK | |
575 | + */ | |
576 | + 200: ServerResult; | |
577 | + /** | |
578 | + * @description | |
579 | + * Created | |
580 | + */ | |
581 | + 201: any; | |
582 | + /** | |
583 | + * @description | |
584 | + * Unauthorized | |
585 | + */ | |
586 | + 401: any; | |
587 | + /** | |
588 | + * @description | |
589 | + * Forbidden | |
590 | + */ | |
591 | + 403: any; | |
592 | + /** | |
593 | + * @description | |
594 | + * Not Found | |
595 | + */ | |
596 | + 404: any; | |
597 | +} | |
598 | + | |
599 | +export type PostApiOrderCustomersResponseSuccess = | |
600 | + PostApiOrderCustomersResponse[200]; | |
601 | +/** | |
602 | + * @description | |
603 | + * 查询订单客户信息 | |
604 | + * @tags 内部订单 | |
605 | + * @produces * | |
606 | + * @consumes application/json | |
607 | + */ | |
608 | +export const postApiOrderCustomers = /* #__PURE__ */ (() => { | |
609 | + const method = 'post'; | |
610 | + const url = '/api/order/customers'; | |
611 | + function request( | |
612 | + option: PostApiOrderCustomersOption, | |
613 | + ): Promise<PostApiOrderCustomersResponseSuccess> { | |
614 | + return requester(request.url, { | |
615 | + method: request.method, | |
616 | + ...option, | |
617 | + }) as unknown as Promise<PostApiOrderCustomersResponseSuccess>; | |
618 | + } | |
619 | + | |
620 | + /** http method */ | |
621 | + request.method = method; | |
622 | + /** request url */ | |
623 | + request.url = url; | |
624 | + return request; | |
625 | +})(); | |
626 | + | |
627 | +/** @description request parameter type for postApiOrderEvaluated */ | |
628 | +export interface PostApiOrderEvaluatedOption { | |
629 | + /** | |
630 | + * @description | |
631 | + * request | |
632 | + */ | |
633 | + body: { | |
634 | + /** | |
635 | + @description | |
636 | + request */ | |
637 | + request: ApiOrderEvaluatedRequest; | |
638 | + }; | |
639 | +} | |
640 | + | |
641 | +/** @description response type for postApiOrderEvaluated */ | |
642 | +export interface PostApiOrderEvaluatedResponse { | |
643 | + /** | |
644 | + * @description | |
645 | + * OK | |
646 | + */ | |
647 | + 200: ServerResult; | |
648 | + /** | |
649 | + * @description | |
650 | + * Created | |
651 | + */ | |
652 | + 201: any; | |
653 | + /** | |
654 | + * @description | |
655 | + * Unauthorized | |
656 | + */ | |
657 | + 401: any; | |
658 | + /** | |
659 | + * @description | |
660 | + * Forbidden | |
661 | + */ | |
662 | + 403: any; | |
663 | + /** | |
664 | + * @description | |
665 | + * Not Found | |
666 | + */ | |
667 | + 404: any; | |
668 | +} | |
669 | + | |
670 | +export type PostApiOrderEvaluatedResponseSuccess = | |
671 | + PostApiOrderEvaluatedResponse[200]; | |
672 | +/** | |
673 | + * @description | |
674 | + * 评价子订单 | |
675 | + * @tags 内部订单 | |
676 | + * @produces * | |
677 | + * @consumes application/json | |
678 | + */ | |
679 | +export const postApiOrderEvaluated = /* #__PURE__ */ (() => { | |
680 | + const method = 'post'; | |
681 | + const url = '/api/order/evaluated'; | |
682 | + function request( | |
683 | + option: PostApiOrderEvaluatedOption, | |
684 | + ): Promise<PostApiOrderEvaluatedResponseSuccess> { | |
685 | + return requester(request.url, { | |
686 | + method: request.method, | |
687 | + ...option, | |
688 | + }) as unknown as Promise<PostApiOrderEvaluatedResponseSuccess>; | |
689 | + } | |
690 | + | |
691 | + /** http method */ | |
692 | + request.method = method; | |
693 | + /** request url */ | |
694 | + request.url = url; | |
695 | + return request; | |
696 | +})(); | |
697 | + | |
698 | +/** @description request parameter type for postApiOrderInvoicedOrderList */ | |
699 | +export interface PostApiOrderInvoicedOrderListOption { | |
700 | + /** | |
701 | + * @description | |
702 | + * request | |
703 | + */ | |
704 | + body: { | |
705 | + /** | |
706 | + @description | |
707 | + request */ | |
708 | + request: MainOrderqueryRequest; | |
709 | + }; | |
710 | +} | |
711 | + | |
712 | +/** @description response type for postApiOrderInvoicedOrderList */ | |
713 | +export interface PostApiOrderInvoicedOrderListResponse { | |
714 | + /** | |
715 | + * @description | |
716 | + * OK | |
717 | + */ | |
718 | + 200: ServerResult; | |
719 | + /** | |
720 | + * @description | |
721 | + * Created | |
722 | + */ | |
723 | + 201: any; | |
724 | + /** | |
725 | + * @description | |
726 | + * Unauthorized | |
727 | + */ | |
728 | + 401: any; | |
729 | + /** | |
730 | + * @description | |
731 | + * Forbidden | |
732 | + */ | |
733 | + 403: any; | |
734 | + /** | |
735 | + * @description | |
736 | + * Not Found | |
737 | + */ | |
738 | + 404: any; | |
739 | +} | |
740 | + | |
741 | +export type PostApiOrderInvoicedOrderListResponseSuccess = | |
742 | + PostApiOrderInvoicedOrderListResponse[200]; | |
743 | +/** | |
744 | + * @description | |
745 | + * 获取已开票订单 | |
746 | + * @tags 内部订单 | |
747 | + * @produces * | |
748 | + * @consumes application/json | |
749 | + */ | |
750 | +export const postApiOrderInvoicedOrderList = /* #__PURE__ */ (() => { | |
751 | + const method = 'post'; | |
752 | + const url = '/api/order/invoicedOrderList'; | |
753 | + function request( | |
754 | + option: PostApiOrderInvoicedOrderListOption, | |
755 | + ): Promise<PostApiOrderInvoicedOrderListResponseSuccess> { | |
756 | + return requester(request.url, { | |
757 | + method: request.method, | |
758 | + ...option, | |
759 | + }) as unknown as Promise<PostApiOrderInvoicedOrderListResponseSuccess>; | |
760 | + } | |
761 | + | |
762 | + /** http method */ | |
763 | + request.method = method; | |
764 | + /** request url */ | |
765 | + request.url = url; | |
766 | + return request; | |
767 | +})(); | |
768 | + | |
769 | +/** @description request parameter type for postApiOrderInvoicedRecordList */ | |
770 | +export interface PostApiOrderInvoicedRecordListOption { | |
771 | + /** | |
772 | + * @description | |
773 | + * request | |
774 | + */ | |
775 | + body: { | |
776 | + /** | |
777 | + @description | |
778 | + request */ | |
779 | + request: InvoiceRecordQueryRequest; | |
780 | + }; | |
781 | +} | |
782 | + | |
783 | +/** @description response type for postApiOrderInvoicedRecordList */ | |
784 | +export interface PostApiOrderInvoicedRecordListResponse { | |
785 | + /** | |
786 | + * @description | |
787 | + * OK | |
788 | + */ | |
789 | + 200: ServerResult; | |
790 | + /** | |
791 | + * @description | |
792 | + * Created | |
793 | + */ | |
794 | + 201: any; | |
795 | + /** | |
796 | + * @description | |
797 | + * Unauthorized | |
798 | + */ | |
799 | + 401: any; | |
800 | + /** | |
801 | + * @description | |
802 | + * Forbidden | |
803 | + */ | |
804 | + 403: any; | |
805 | + /** | |
806 | + * @description | |
807 | + * Not Found | |
808 | + */ | |
809 | + 404: any; | |
810 | +} | |
811 | + | |
812 | +export type PostApiOrderInvoicedRecordListResponseSuccess = | |
813 | + PostApiOrderInvoicedRecordListResponse[200]; | |
814 | +/** | |
815 | + * @description | |
816 | + * 获取开票记录 | |
817 | + * @tags 内部订单 | |
818 | + * @produces * | |
819 | + * @consumes application/json | |
820 | + */ | |
821 | +export const postApiOrderInvoicedRecordList = /* #__PURE__ */ (() => { | |
822 | + const method = 'post'; | |
823 | + const url = '/api/order/invoicedRecordList'; | |
824 | + function request( | |
825 | + option: PostApiOrderInvoicedRecordListOption, | |
826 | + ): Promise<PostApiOrderInvoicedRecordListResponseSuccess> { | |
827 | + return requester(request.url, { | |
828 | + method: request.method, | |
829 | + ...option, | |
830 | + }) as unknown as Promise<PostApiOrderInvoicedRecordListResponseSuccess>; | |
831 | + } | |
832 | + | |
833 | + /** http method */ | |
834 | + request.method = method; | |
835 | + /** request url */ | |
836 | + request.url = url; | |
837 | + return request; | |
838 | +})(); | |
839 | + | |
840 | +/** @description response type for postApiOrderListAllSubOrderBaseInfo */ | |
841 | +export interface PostApiOrderListAllSubOrderBaseInfoResponse { | |
842 | + /** | |
843 | + * @description | |
844 | + * OK | |
845 | + */ | |
846 | + 200: ServerResult; | |
847 | + /** | |
848 | + * @description | |
849 | + * Created | |
850 | + */ | |
851 | + 201: any; | |
852 | + /** | |
853 | + * @description | |
854 | + * Unauthorized | |
855 | + */ | |
856 | + 401: any; | |
857 | + /** | |
858 | + * @description | |
859 | + * Forbidden | |
860 | + */ | |
861 | + 403: any; | |
862 | + /** | |
863 | + * @description | |
864 | + * Not Found | |
865 | + */ | |
866 | + 404: any; | |
867 | +} | |
868 | + | |
869 | +export type PostApiOrderListAllSubOrderBaseInfoResponseSuccess = | |
870 | + PostApiOrderListAllSubOrderBaseInfoResponse[200]; | |
871 | +/** | |
872 | + * @description | |
873 | + * 查询所有子订单基本信息 | |
874 | + * @tags 内部订单 | |
875 | + * @produces * | |
876 | + * @consumes application/json | |
877 | + */ | |
878 | +export const postApiOrderListAllSubOrderBaseInfo = /* #__PURE__ */ (() => { | |
879 | + const method = 'post'; | |
880 | + const url = '/api/order/listAllSubOrderBaseInfo'; | |
881 | + function request(): Promise<PostApiOrderListAllSubOrderBaseInfoResponseSuccess> { | |
882 | + return requester(request.url, { | |
883 | + method: request.method, | |
884 | + }) as unknown as Promise<PostApiOrderListAllSubOrderBaseInfoResponseSuccess>; | |
885 | + } | |
886 | + | |
887 | + /** http method */ | |
888 | + request.method = method; | |
889 | + /** request url */ | |
890 | + request.url = url; | |
891 | + return request; | |
892 | +})(); | |
893 | + | |
894 | +/** @description request parameter type for postApiOrderQueryOrderDetail */ | |
895 | +export interface PostApiOrderQueryOrderDetailOption { | |
896 | + /** | |
897 | + * @description | |
898 | + * request | |
899 | + */ | |
900 | + body: { | |
901 | + /** | |
902 | + @description | |
903 | + request */ | |
904 | + request: ApiQueryOrderDetailRequest; | |
905 | + }; | |
906 | +} | |
907 | + | |
908 | +/** @description response type for postApiOrderQueryOrderDetail */ | |
909 | +export interface PostApiOrderQueryOrderDetailResponse { | |
910 | + /** | |
911 | + * @description | |
912 | + * OK | |
913 | + */ | |
914 | + 200: ServerResult; | |
915 | + /** | |
916 | + * @description | |
917 | + * Created | |
918 | + */ | |
919 | + 201: any; | |
920 | + /** | |
921 | + * @description | |
922 | + * Unauthorized | |
923 | + */ | |
924 | + 401: any; | |
925 | + /** | |
926 | + * @description | |
927 | + * Forbidden | |
928 | + */ | |
929 | + 403: any; | |
930 | + /** | |
931 | + * @description | |
932 | + * Not Found | |
933 | + */ | |
934 | + 404: any; | |
935 | +} | |
936 | + | |
937 | +export type PostApiOrderQueryOrderDetailResponseSuccess = | |
938 | + PostApiOrderQueryOrderDetailResponse[200]; | |
939 | +/** | |
940 | + * @description | |
941 | + * 订单详情 | |
942 | + * @tags 内部订单 | |
943 | + * @produces * | |
944 | + * @consumes application/json | |
945 | + */ | |
946 | +export const postApiOrderQueryOrderDetail = /* #__PURE__ */ (() => { | |
947 | + const method = 'post'; | |
948 | + const url = '/api/order/queryOrderDetail'; | |
949 | + function request( | |
950 | + option: PostApiOrderQueryOrderDetailOption, | |
951 | + ): Promise<PostApiOrderQueryOrderDetailResponseSuccess> { | |
952 | + return requester(request.url, { | |
953 | + method: request.method, | |
954 | + ...option, | |
955 | + }) as unknown as Promise<PostApiOrderQueryOrderDetailResponseSuccess>; | |
956 | + } | |
957 | + | |
958 | + /** http method */ | |
959 | + request.method = method; | |
960 | + /** request url */ | |
961 | + request.url = url; | |
962 | + return request; | |
963 | +})(); | |
964 | + | |
965 | +/** @description request parameter type for postApiOrderQueryOrderStatusCounts */ | |
966 | +export interface PostApiOrderQueryOrderStatusCountsOption { | |
967 | + /** | |
968 | + * @description | |
969 | + * request | |
970 | + */ | |
971 | + body: { | |
972 | + /** | |
973 | + @description | |
974 | + request */ | |
975 | + request: ApiQueryOrderStatusCountsRequest; | |
976 | + }; | |
977 | +} | |
978 | + | |
979 | +/** @description response type for postApiOrderQueryOrderStatusCounts */ | |
980 | +export interface PostApiOrderQueryOrderStatusCountsResponse { | |
981 | + /** | |
982 | + * @description | |
983 | + * OK | |
984 | + */ | |
985 | + 200: ServerResult; | |
986 | + /** | |
987 | + * @description | |
988 | + * Created | |
989 | + */ | |
990 | + 201: any; | |
991 | + /** | |
992 | + * @description | |
993 | + * Unauthorized | |
994 | + */ | |
995 | + 401: any; | |
996 | + /** | |
997 | + * @description | |
998 | + * Forbidden | |
999 | + */ | |
1000 | + 403: any; | |
1001 | + /** | |
1002 | + * @description | |
1003 | + * Not Found | |
1004 | + */ | |
1005 | + 404: any; | |
1006 | +} | |
1007 | + | |
1008 | +export type PostApiOrderQueryOrderStatusCountsResponseSuccess = | |
1009 | + PostApiOrderQueryOrderStatusCountsResponse[200]; | |
1010 | +/** | |
1011 | + * @description | |
1012 | + * 获取各个订单状态数量 | |
1013 | + * @tags 内部订单 | |
1014 | + * @produces * | |
1015 | + * @consumes application/json | |
1016 | + */ | |
1017 | +export const postApiOrderQueryOrderStatusCounts = /* #__PURE__ */ (() => { | |
1018 | + const method = 'post'; | |
1019 | + const url = '/api/order/queryOrderStatusCounts'; | |
1020 | + function request( | |
1021 | + option: PostApiOrderQueryOrderStatusCountsOption, | |
1022 | + ): Promise<PostApiOrderQueryOrderStatusCountsResponseSuccess> { | |
1023 | + return requester(request.url, { | |
1024 | + method: request.method, | |
1025 | + ...option, | |
1026 | + }) as unknown as Promise<PostApiOrderQueryOrderStatusCountsResponseSuccess>; | |
1027 | + } | |
1028 | + | |
1029 | + /** http method */ | |
1030 | + request.method = method; | |
1031 | + /** request url */ | |
1032 | + request.url = url; | |
1033 | + return request; | |
1034 | +})(); | |
1035 | + | |
1036 | +/** @description request parameter type for postApiOrderQueryServiceOrder */ | |
1037 | +export interface PostApiOrderQueryServiceOrderOption { | |
1038 | + /** | |
1039 | + * @description | |
1040 | + * request | |
1041 | + */ | |
1042 | + body: { | |
1043 | + /** | |
1044 | + @description | |
1045 | + request */ | |
1046 | + request: Dto; | |
418 | 1047 | }; |
419 | 1048 | } |
420 | 1049 | |
421 | -/** @description response type for postApiOrderCreateOrder */ | |
422 | -export interface PostApiOrderCreateOrderResponse { | |
1050 | +/** @description response type for postApiOrderQueryServiceOrder */ | |
1051 | +export interface PostApiOrderQueryServiceOrderResponse { | |
423 | 1052 | /** |
424 | 1053 | * @description |
425 | 1054 | * OK |
... | ... | @@ -447,25 +1076,25 @@ export interface PostApiOrderCreateOrderResponse { |
447 | 1076 | 404: any; |
448 | 1077 | } |
449 | 1078 | |
450 | -export type PostApiOrderCreateOrderResponseSuccess = | |
451 | - PostApiOrderCreateOrderResponse[200]; | |
1079 | +export type PostApiOrderQueryServiceOrderResponseSuccess = | |
1080 | + PostApiOrderQueryServiceOrderResponse[200]; | |
452 | 1081 | /** |
453 | 1082 | * @description |
454 | - * 创建订单 | |
1083 | + * 查询订单列表 | |
455 | 1084 | * @tags 内部订单 |
456 | 1085 | * @produces * |
457 | 1086 | * @consumes application/json |
458 | 1087 | */ |
459 | -export const postApiOrderCreateOrder = /* #__PURE__ */ (() => { | |
1088 | +export const postApiOrderQueryServiceOrder = /* #__PURE__ */ (() => { | |
460 | 1089 | const method = 'post'; |
461 | - const url = '/api/order/createOrder'; | |
1090 | + const url = '/api/order/queryServiceOrder'; | |
462 | 1091 | function request( |
463 | - option: PostApiOrderCreateOrderOption, | |
464 | - ): Promise<PostApiOrderCreateOrderResponseSuccess> { | |
1092 | + option: PostApiOrderQueryServiceOrderOption, | |
1093 | + ): Promise<PostApiOrderQueryServiceOrderResponseSuccess> { | |
465 | 1094 | return requester(request.url, { |
466 | 1095 | method: request.method, |
467 | 1096 | ...option, |
468 | - }) as unknown as Promise<PostApiOrderCreateOrderResponseSuccess>; | |
1097 | + }) as unknown as Promise<PostApiOrderQueryServiceOrderResponseSuccess>; | |
469 | 1098 | } |
470 | 1099 | |
471 | 1100 | /** http method */ |
... | ... | @@ -475,8 +1104,8 @@ export const postApiOrderCreateOrder = /* #__PURE__ */ (() => { |
475 | 1104 | return request; |
476 | 1105 | })(); |
477 | 1106 | |
478 | -/** @description request parameter type for postApiOrderQueryOrderDetail */ | |
479 | -export interface PostApiOrderQueryOrderDetailOption { | |
1107 | +/** @description request parameter type for postApiOrderStoreApplyInvoice */ | |
1108 | +export interface PostApiOrderStoreApplyInvoiceOption { | |
480 | 1109 | /** |
481 | 1110 | * @description |
482 | 1111 | * request |
... | ... | @@ -485,12 +1114,12 @@ export interface PostApiOrderQueryOrderDetailOption { |
485 | 1114 | /** |
486 | 1115 | @description |
487 | 1116 | request */ |
488 | - request: ApiQueryOrderDetailRequest; | |
1117 | + request: StoreOrderInvoiceRequest; | |
489 | 1118 | }; |
490 | 1119 | } |
491 | 1120 | |
492 | -/** @description response type for postApiOrderQueryOrderDetail */ | |
493 | -export interface PostApiOrderQueryOrderDetailResponse { | |
1121 | +/** @description response type for postApiOrderStoreApplyInvoice */ | |
1122 | +export interface PostApiOrderStoreApplyInvoiceResponse { | |
494 | 1123 | /** |
495 | 1124 | * @description |
496 | 1125 | * OK |
... | ... | @@ -518,25 +1147,25 @@ export interface PostApiOrderQueryOrderDetailResponse { |
518 | 1147 | 404: any; |
519 | 1148 | } |
520 | 1149 | |
521 | -export type PostApiOrderQueryOrderDetailResponseSuccess = | |
522 | - PostApiOrderQueryOrderDetailResponse[200]; | |
1150 | +export type PostApiOrderStoreApplyInvoiceResponseSuccess = | |
1151 | + PostApiOrderStoreApplyInvoiceResponse[200]; | |
523 | 1152 | /** |
524 | 1153 | * @description |
525 | - * 订单详情 | |
1154 | + * 商城申请开票 | |
526 | 1155 | * @tags 内部订单 |
527 | 1156 | * @produces * |
528 | 1157 | * @consumes application/json |
529 | 1158 | */ |
530 | -export const postApiOrderQueryOrderDetail = /* #__PURE__ */ (() => { | |
1159 | +export const postApiOrderStoreApplyInvoice = /* #__PURE__ */ (() => { | |
531 | 1160 | const method = 'post'; |
532 | - const url = '/api/order/queryOrderDetail'; | |
1161 | + const url = '/api/order/storeApplyInvoice'; | |
533 | 1162 | function request( |
534 | - option: PostApiOrderQueryOrderDetailOption, | |
535 | - ): Promise<PostApiOrderQueryOrderDetailResponseSuccess> { | |
1163 | + option: PostApiOrderStoreApplyInvoiceOption, | |
1164 | + ): Promise<PostApiOrderStoreApplyInvoiceResponseSuccess> { | |
536 | 1165 | return requester(request.url, { |
537 | 1166 | method: request.method, |
538 | 1167 | ...option, |
539 | - }) as unknown as Promise<PostApiOrderQueryOrderDetailResponseSuccess>; | |
1168 | + }) as unknown as Promise<PostApiOrderStoreApplyInvoiceResponseSuccess>; | |
540 | 1169 | } |
541 | 1170 | |
542 | 1171 | /** http method */ |
... | ... | @@ -546,8 +1175,8 @@ export const postApiOrderQueryOrderDetail = /* #__PURE__ */ (() => { |
546 | 1175 | return request; |
547 | 1176 | })(); |
548 | 1177 | |
549 | -/** @description request parameter type for postApiOrderQueryOrderStatusCounts */ | |
550 | -export interface PostApiOrderQueryOrderStatusCountsOption { | |
1178 | +/** @description request parameter type for postApiOrderWaitInvoiceOrderList */ | |
1179 | +export interface PostApiOrderWaitInvoiceOrderListOption { | |
551 | 1180 | /** |
552 | 1181 | * @description |
553 | 1182 | * request |
... | ... | @@ -556,12 +1185,12 @@ export interface PostApiOrderQueryOrderStatusCountsOption { |
556 | 1185 | /** |
557 | 1186 | @description |
558 | 1187 | request */ |
559 | - request: ApiQueryOrderStatusCountsRequest; | |
1188 | + request: MainOrderqueryRequest; | |
560 | 1189 | }; |
561 | 1190 | } |
562 | 1191 | |
563 | -/** @description response type for postApiOrderQueryOrderStatusCounts */ | |
564 | -export interface PostApiOrderQueryOrderStatusCountsResponse { | |
1192 | +/** @description response type for postApiOrderWaitInvoiceOrderList */ | |
1193 | +export interface PostApiOrderWaitInvoiceOrderListResponse { | |
565 | 1194 | /** |
566 | 1195 | * @description |
567 | 1196 | * OK |
... | ... | @@ -589,25 +1218,25 @@ export interface PostApiOrderQueryOrderStatusCountsResponse { |
589 | 1218 | 404: any; |
590 | 1219 | } |
591 | 1220 | |
592 | -export type PostApiOrderQueryOrderStatusCountsResponseSuccess = | |
593 | - PostApiOrderQueryOrderStatusCountsResponse[200]; | |
1221 | +export type PostApiOrderWaitInvoiceOrderListResponseSuccess = | |
1222 | + PostApiOrderWaitInvoiceOrderListResponse[200]; | |
594 | 1223 | /** |
595 | 1224 | * @description |
596 | - * 获取各个订单状态数量 | |
1225 | + * 获取可开票订单 | |
597 | 1226 | * @tags 内部订单 |
598 | 1227 | * @produces * |
599 | 1228 | * @consumes application/json |
600 | 1229 | */ |
601 | -export const postApiOrderQueryOrderStatusCounts = /* #__PURE__ */ (() => { | |
1230 | +export const postApiOrderWaitInvoiceOrderList = /* #__PURE__ */ (() => { | |
602 | 1231 | const method = 'post'; |
603 | - const url = '/api/order/queryOrderStatusCounts'; | |
1232 | + const url = '/api/order/waitInvoiceOrderList'; | |
604 | 1233 | function request( |
605 | - option: PostApiOrderQueryOrderStatusCountsOption, | |
606 | - ): Promise<PostApiOrderQueryOrderStatusCountsResponseSuccess> { | |
1234 | + option: PostApiOrderWaitInvoiceOrderListOption, | |
1235 | + ): Promise<PostApiOrderWaitInvoiceOrderListResponseSuccess> { | |
607 | 1236 | return requester(request.url, { |
608 | 1237 | method: request.method, |
609 | 1238 | ...option, |
610 | - }) as unknown as Promise<PostApiOrderQueryOrderStatusCountsResponseSuccess>; | |
1239 | + }) as unknown as Promise<PostApiOrderWaitInvoiceOrderListResponseSuccess>; | |
611 | 1240 | } |
612 | 1241 | |
613 | 1242 | /** http method */ |
... | ... | @@ -617,8 +1246,8 @@ export const postApiOrderQueryOrderStatusCounts = /* #__PURE__ */ (() => { |
617 | 1246 | return request; |
618 | 1247 | })(); |
619 | 1248 | |
620 | -/** @description request parameter type for postApiOrderQueryServiceOrder */ | |
621 | -export interface PostApiOrderQueryServiceOrderOption { | |
1249 | +/** @description request parameter type for postCanrdApiUserAddressList */ | |
1250 | +export interface PostCanrdApiUserAddressListOption { | |
622 | 1251 | /** |
623 | 1252 | * @description |
624 | 1253 | * request |
... | ... | @@ -627,12 +1256,12 @@ export interface PostApiOrderQueryServiceOrderOption { |
627 | 1256 | /** |
628 | 1257 | @description |
629 | 1258 | request */ |
630 | - request: Dto; | |
1259 | + request: UserAddressListRequest; | |
631 | 1260 | }; |
632 | 1261 | } |
633 | 1262 | |
634 | -/** @description response type for postApiOrderQueryServiceOrder */ | |
635 | -export interface PostApiOrderQueryServiceOrderResponse { | |
1263 | +/** @description response type for postCanrdApiUserAddressList */ | |
1264 | +export interface PostCanrdApiUserAddressListResponse { | |
636 | 1265 | /** |
637 | 1266 | * @description |
638 | 1267 | * OK |
... | ... | @@ -660,25 +1289,96 @@ export interface PostApiOrderQueryServiceOrderResponse { |
660 | 1289 | 404: any; |
661 | 1290 | } |
662 | 1291 | |
663 | -export type PostApiOrderQueryServiceOrderResponseSuccess = | |
664 | - PostApiOrderQueryServiceOrderResponse[200]; | |
1292 | +export type PostCanrdApiUserAddressListResponseSuccess = | |
1293 | + PostCanrdApiUserAddressListResponse[200]; | |
665 | 1294 | /** |
666 | 1295 | * @description |
667 | - * 查询订单列表 | |
668 | - * @tags 内部订单 | |
1296 | + * 查询地址信息 | |
1297 | + * @tags canrd-mobile-api-controller | |
669 | 1298 | * @produces * |
670 | 1299 | * @consumes application/json |
671 | 1300 | */ |
672 | -export const postApiOrderQueryServiceOrder = /* #__PURE__ */ (() => { | |
1301 | +export const postCanrdApiUserAddressList = /* #__PURE__ */ (() => { | |
673 | 1302 | const method = 'post'; |
674 | - const url = '/api/order/queryServiceOrder'; | |
1303 | + const url = '/canrd/api/user/address/list'; | |
675 | 1304 | function request( |
676 | - option: PostApiOrderQueryServiceOrderOption, | |
677 | - ): Promise<PostApiOrderQueryServiceOrderResponseSuccess> { | |
1305 | + option: PostCanrdApiUserAddressListOption, | |
1306 | + ): Promise<PostCanrdApiUserAddressListResponseSuccess> { | |
678 | 1307 | return requester(request.url, { |
679 | 1308 | method: request.method, |
680 | 1309 | ...option, |
681 | - }) as unknown as Promise<PostApiOrderQueryServiceOrderResponseSuccess>; | |
1310 | + }) as unknown as Promise<PostCanrdApiUserAddressListResponseSuccess>; | |
1311 | + } | |
1312 | + | |
1313 | + /** http method */ | |
1314 | + request.method = method; | |
1315 | + /** request url */ | |
1316 | + request.url = url; | |
1317 | + return request; | |
1318 | +})(); | |
1319 | + | |
1320 | +/** @description request parameter type for postCanrdApiUserCenterInfo */ | |
1321 | +export interface PostCanrdApiUserCenterInfoOption { | |
1322 | + /** | |
1323 | + * @description | |
1324 | + * request | |
1325 | + */ | |
1326 | + body: { | |
1327 | + /** | |
1328 | + @description | |
1329 | + request */ | |
1330 | + request: UserCenterInfoRequest; | |
1331 | + }; | |
1332 | +} | |
1333 | + | |
1334 | +/** @description response type for postCanrdApiUserCenterInfo */ | |
1335 | +export interface PostCanrdApiUserCenterInfoResponse { | |
1336 | + /** | |
1337 | + * @description | |
1338 | + * OK | |
1339 | + */ | |
1340 | + 200: ServerResult; | |
1341 | + /** | |
1342 | + * @description | |
1343 | + * Created | |
1344 | + */ | |
1345 | + 201: any; | |
1346 | + /** | |
1347 | + * @description | |
1348 | + * Unauthorized | |
1349 | + */ | |
1350 | + 401: any; | |
1351 | + /** | |
1352 | + * @description | |
1353 | + * Forbidden | |
1354 | + */ | |
1355 | + 403: any; | |
1356 | + /** | |
1357 | + * @description | |
1358 | + * Not Found | |
1359 | + */ | |
1360 | + 404: any; | |
1361 | +} | |
1362 | + | |
1363 | +export type PostCanrdApiUserCenterInfoResponseSuccess = | |
1364 | + PostCanrdApiUserCenterInfoResponse[200]; | |
1365 | +/** | |
1366 | + * @description | |
1367 | + * 获取会员详情 | |
1368 | + * @tags canrd-mobile-api-controller | |
1369 | + * @produces * | |
1370 | + * @consumes application/json | |
1371 | + */ | |
1372 | +export const postCanrdApiUserCenterInfo = /* #__PURE__ */ (() => { | |
1373 | + const method = 'post'; | |
1374 | + const url = '/canrd/api/user/center/info'; | |
1375 | + function request( | |
1376 | + option: PostCanrdApiUserCenterInfoOption, | |
1377 | + ): Promise<PostCanrdApiUserCenterInfoResponseSuccess> { | |
1378 | + return requester(request.url, { | |
1379 | + method: request.method, | |
1380 | + ...option, | |
1381 | + }) as unknown as Promise<PostCanrdApiUserCenterInfoResponseSuccess>; | |
682 | 1382 | } |
683 | 1383 | |
684 | 1384 | /** http method */ |
... | ... | @@ -836,7 +1536,9 @@ export interface GetErrorResponse { |
836 | 1536 | * @description |
837 | 1537 | * OK |
838 | 1538 | */ |
839 | - 200: ModelAndView; | |
1539 | + 200: { | |
1540 | + [propertyName: string]: any; | |
1541 | + }; | |
840 | 1542 | /** |
841 | 1543 | * @description |
842 | 1544 | * Unauthorized |
... | ... | @@ -857,9 +1559,9 @@ export interface GetErrorResponse { |
857 | 1559 | export type GetErrorResponseSuccess = GetErrorResponse[200]; |
858 | 1560 | /** |
859 | 1561 | * @description |
860 | - * errorHtml | |
1562 | + * error | |
861 | 1563 | * @tags basic-error-controller |
862 | - * @produces text/html | |
1564 | + * @produces * | |
863 | 1565 | */ |
864 | 1566 | export const getError = /* #__PURE__ */ (() => { |
865 | 1567 | const method = 'get'; |
... | ... | @@ -883,7 +1585,9 @@ export interface PutErrorResponse { |
883 | 1585 | * @description |
884 | 1586 | * OK |
885 | 1587 | */ |
886 | - 200: ModelAndView; | |
1588 | + 200: { | |
1589 | + [propertyName: string]: any; | |
1590 | + }; | |
887 | 1591 | /** |
888 | 1592 | * @description |
889 | 1593 | * Created |
... | ... | @@ -909,9 +1613,9 @@ export interface PutErrorResponse { |
909 | 1613 | export type PutErrorResponseSuccess = PutErrorResponse[200]; |
910 | 1614 | /** |
911 | 1615 | * @description |
912 | - * errorHtml | |
1616 | + * error | |
913 | 1617 | * @tags basic-error-controller |
914 | - * @produces text/html | |
1618 | + * @produces * | |
915 | 1619 | * @consumes application/json |
916 | 1620 | */ |
917 | 1621 | export const putError = /* #__PURE__ */ (() => { |
... | ... | @@ -936,7 +1640,9 @@ export interface PostErrorResponse { |
936 | 1640 | * @description |
937 | 1641 | * OK |
938 | 1642 | */ |
939 | - 200: ModelAndView; | |
1643 | + 200: { | |
1644 | + [propertyName: string]: any; | |
1645 | + }; | |
940 | 1646 | /** |
941 | 1647 | * @description |
942 | 1648 | * Created |
... | ... | @@ -962,9 +1668,9 @@ export interface PostErrorResponse { |
962 | 1668 | export type PostErrorResponseSuccess = PostErrorResponse[200]; |
963 | 1669 | /** |
964 | 1670 | * @description |
965 | - * errorHtml | |
1671 | + * error | |
966 | 1672 | * @tags basic-error-controller |
967 | - * @produces text/html | |
1673 | + * @produces * | |
968 | 1674 | * @consumes application/json |
969 | 1675 | */ |
970 | 1676 | export const postError = /* #__PURE__ */ (() => { |
... | ... | @@ -989,7 +1695,9 @@ export interface DeleteErrorResponse { |
989 | 1695 | * @description |
990 | 1696 | * OK |
991 | 1697 | */ |
992 | - 200: ModelAndView; | |
1698 | + 200: { | |
1699 | + [propertyName: string]: any; | |
1700 | + }; | |
993 | 1701 | /** |
994 | 1702 | * @description |
995 | 1703 | * No Content |
... | ... | @@ -1010,9 +1718,9 @@ export interface DeleteErrorResponse { |
1010 | 1718 | export type DeleteErrorResponseSuccess = DeleteErrorResponse[200]; |
1011 | 1719 | /** |
1012 | 1720 | * @description |
1013 | - * errorHtml | |
1721 | + * error | |
1014 | 1722 | * @tags basic-error-controller |
1015 | - * @produces text/html | |
1723 | + * @produces * | |
1016 | 1724 | */ |
1017 | 1725 | export const deleteError = /* #__PURE__ */ (() => { |
1018 | 1726 | const method = 'delete'; |
... | ... | @@ -1036,7 +1744,9 @@ export interface OptionsErrorResponse { |
1036 | 1744 | * @description |
1037 | 1745 | * OK |
1038 | 1746 | */ |
1039 | - 200: ModelAndView; | |
1747 | + 200: { | |
1748 | + [propertyName: string]: any; | |
1749 | + }; | |
1040 | 1750 | /** |
1041 | 1751 | * @description |
1042 | 1752 | * No Content |
... | ... | @@ -1057,9 +1767,9 @@ export interface OptionsErrorResponse { |
1057 | 1767 | export type OptionsErrorResponseSuccess = OptionsErrorResponse[200]; |
1058 | 1768 | /** |
1059 | 1769 | * @description |
1060 | - * errorHtml | |
1770 | + * error | |
1061 | 1771 | * @tags basic-error-controller |
1062 | - * @produces text/html | |
1772 | + * @produces * | |
1063 | 1773 | * @consumes application/json |
1064 | 1774 | */ |
1065 | 1775 | export const optionsError = /* #__PURE__ */ (() => { |
... | ... | @@ -1084,7 +1794,9 @@ export interface HeadErrorResponse { |
1084 | 1794 | * @description |
1085 | 1795 | * OK |
1086 | 1796 | */ |
1087 | - 200: ModelAndView; | |
1797 | + 200: { | |
1798 | + [propertyName: string]: any; | |
1799 | + }; | |
1088 | 1800 | /** |
1089 | 1801 | * @description |
1090 | 1802 | * No Content |
... | ... | @@ -1105,9 +1817,9 @@ export interface HeadErrorResponse { |
1105 | 1817 | export type HeadErrorResponseSuccess = HeadErrorResponse[200]; |
1106 | 1818 | /** |
1107 | 1819 | * @description |
1108 | - * errorHtml | |
1820 | + * error | |
1109 | 1821 | * @tags basic-error-controller |
1110 | - * @produces text/html | |
1822 | + * @produces * | |
1111 | 1823 | * @consumes application/json |
1112 | 1824 | */ |
1113 | 1825 | export const headError = /* #__PURE__ */ (() => { |
... | ... | @@ -1132,7 +1844,9 @@ export interface PatchErrorResponse { |
1132 | 1844 | * @description |
1133 | 1845 | * OK |
1134 | 1846 | */ |
1135 | - 200: ModelAndView; | |
1847 | + 200: { | |
1848 | + [propertyName: string]: any; | |
1849 | + }; | |
1136 | 1850 | /** |
1137 | 1851 | * @description |
1138 | 1852 | * No Content |
... | ... | @@ -1153,9 +1867,9 @@ export interface PatchErrorResponse { |
1153 | 1867 | export type PatchErrorResponseSuccess = PatchErrorResponse[200]; |
1154 | 1868 | /** |
1155 | 1869 | * @description |
1156 | - * errorHtml | |
1870 | + * error | |
1157 | 1871 | * @tags basic-error-controller |
1158 | - * @produces text/html | |
1872 | + * @produces * | |
1159 | 1873 | * @consumes application/json |
1160 | 1874 | */ |
1161 | 1875 | export const patchError = /* #__PURE__ */ (() => { |
... | ... | @@ -6415,6 +7129,77 @@ export const postOrderErpUsersUpdatePass = /* #__PURE__ */ (() => { |
6415 | 7129 | return request; |
6416 | 7130 | })(); |
6417 | 7131 | |
7132 | +/** @description request parameter type for postOrderImportImportWeightAndVolume */ | |
7133 | +export interface PostOrderImportImportWeightAndVolumeOption { | |
7134 | + /** | |
7135 | + * @description | |
7136 | + * file | |
7137 | + */ | |
7138 | + formData: { | |
7139 | + /** | |
7140 | + @description | |
7141 | + file */ | |
7142 | + file: File; | |
7143 | + }; | |
7144 | +} | |
7145 | + | |
7146 | +/** @description response type for postOrderImportImportWeightAndVolume */ | |
7147 | +export interface PostOrderImportImportWeightAndVolumeResponse { | |
7148 | + /** | |
7149 | + * @description | |
7150 | + * OK | |
7151 | + */ | |
7152 | + 200: ServerResult; | |
7153 | + /** | |
7154 | + * @description | |
7155 | + * Created | |
7156 | + */ | |
7157 | + 201: any; | |
7158 | + /** | |
7159 | + * @description | |
7160 | + * Unauthorized | |
7161 | + */ | |
7162 | + 401: any; | |
7163 | + /** | |
7164 | + * @description | |
7165 | + * Forbidden | |
7166 | + */ | |
7167 | + 403: any; | |
7168 | + /** | |
7169 | + * @description | |
7170 | + * Not Found | |
7171 | + */ | |
7172 | + 404: any; | |
7173 | +} | |
7174 | + | |
7175 | +export type PostOrderImportImportWeightAndVolumeResponseSuccess = | |
7176 | + PostOrderImportImportWeightAndVolumeResponse[200]; | |
7177 | +/** | |
7178 | + * @description | |
7179 | + * 导入重量和体积 | |
7180 | + * @tags 导入 | |
7181 | + * @produces * | |
7182 | + * @consumes multipart/form-data | |
7183 | + */ | |
7184 | +export const postOrderImportImportWeightAndVolume = /* #__PURE__ */ (() => { | |
7185 | + const method = 'post'; | |
7186 | + const url = '/order/import/importWeightAndVolume'; | |
7187 | + function request( | |
7188 | + option: PostOrderImportImportWeightAndVolumeOption, | |
7189 | + ): Promise<PostOrderImportImportWeightAndVolumeResponseSuccess> { | |
7190 | + return requester(request.url, { | |
7191 | + method: request.method, | |
7192 | + ...option, | |
7193 | + }) as unknown as Promise<PostOrderImportImportWeightAndVolumeResponseSuccess>; | |
7194 | + } | |
7195 | + | |
7196 | + /** http method */ | |
7197 | + request.method = method; | |
7198 | + /** request url */ | |
7199 | + request.url = url; | |
7200 | + return request; | |
7201 | +})(); | |
7202 | + | |
6418 | 7203 | /** @description request parameter type for postPrepaidAudit */ |
6419 | 7204 | export interface PostPrepaidAuditOption { |
6420 | 7205 | /** | ... | ... |
src/utils/StringUtil.ts
0 → 100644