Commit 2d6efa558af1bf58127e6eb7fb4f15bd2cc5fd7f

Authored by 曾国涛
2 parents 3dd1b455 6940a4c6

Merge branch 'master' into zgt移除ManualInvoicingModal中的非必要注释代码

发现并删除了ManualInvoicingModal组件中未使用的注释代码,以提高代码清晰度和维护性。
.umirc.ts
... ... @@ -87,7 +87,6 @@ export default defineConfig({
87 87 },
88 88 ],
89 89 },
90   -
91 90 {
92 91 name: '预存管理',
93 92 path: '/prepaidManage',
... ... @@ -129,6 +128,13 @@ export default defineConfig({
129 128 component: './OrderPrint',
130 129 layout: false,
131 130 },
  131 + {
  132 + name: '采购退货管理',
  133 + path: '/procure',
  134 + component: './procure',
  135 + icon: 'BookOutlined',
  136 + access: 'canReadAdmin',
  137 + },
132 138 /*{
133 139 name: '用户管理',
134 140 path: '/user',
... ...
src/pages/Invoice/InvoiceRecord/components/ManualInvoicingModal.tsx
... ... @@ -48,12 +48,6 @@ export default ({ record }) => {
48 48 }
49 49 }}
50 50 >
51   - {/*<ProFormText
52   - rules={[{ required: true, message: '此项为必填项' }]}
53   - width={'md'}
54   - name="invoicingPerson"
55   - label="开票人"
56   - />*/}
57 51 <ProFormText
58 52 rules={[{ required: true, message: '此项为必填项' }]}
59 53 width={'md'}
... ... @@ -98,33 +92,6 @@ export default ({ record }) =&gt; {
98 92 ></UploadC>
99 93 </Col>
100 94 </Row>
101   - {/*<ProFormList
102   - name="invoiceDetailDtoList"
103   - label="明细"
104   - creatorButtonProps={false}
105   - copyIconProps={false}
106   - itemRender={({ listDom }, { index }) => (
107   - <ProCard
108   - bordered
109   - style={{ marginBlockEnd: 8 }}
110   - title={`明细${index + 1}`}
111   - bodyStyle={{ paddingBlockEnd: 0 }}
112   - >
113   - {listDom}
114   - </ProCard>
115   - )}
116   - creatorRecord={{ name: '', items: [{ name: '' }] }}
117   - initialValue={record.invoiceDetails}
118   - >
119   - <ProFormText
120   - name="projectName"
121   - label="名称"
122   - placeholder="请输入名称"
123   - readonly
124   - />
125   - <ProFormDigit label="税率" name="taxRate" min={0} max={100} />
126   - <ProFormMoney label="税额" name="taxPrice" locale="zh-CN" min={0} />
127   - </ProFormList>*/}
128 95 </ModalForm>
129 96 );
130 97 };
... ...
src/pages/Invoice/InvoiceRecord/index.tsx
... ... @@ -12,7 +12,7 @@ import {
12 12 import { excelExport } from '@/services/exportRequest';
13 13 import { enumToProTableEnumValue, enumToSelect } from '@/utils';
14 14 import { ActionType, ModalForm, ProTable } from '@ant-design/pro-components';
15   -import { Button, message } from 'antd';
  15 +import { Button, Divider, Space, Tooltip, message } from 'antd';
16 16 import { useEffect, useRef, useState } from 'react';
17 17  
18 18 const InvoiceRecord = () => {
... ... @@ -69,9 +69,31 @@ const InvoiceRecord = () =&gt; {
69 69 ellipsis: true,
70 70 },
71 71 {
  72 + title: '重开发票',
  73 + key: 'reissueInvoiceNumbers',
  74 + width: 120,
  75 + ellipsis: true,
  76 + hideInSearch: true,
  77 + render: (_, record) => {
  78 + //将record.reissueInvoiceNumbers用,拼接
  79 + const numbersText = record.reissueInvoiceNumbers?.join(',');
  80 + return record.reissueInvoiceNumbers?.map((item) => {
  81 + return (
  82 + <Tooltip title={numbersText} key={item}>
  83 + <Space key={item}>
  84 + {item}
  85 + <Divider type={'vertical'} />
  86 + </Space>
  87 + </Tooltip>
  88 + );
  89 + });
  90 + },
  91 + },
  92 + {
72 93 title: '开票日期',
73 94 dataIndex: 'invoicingDate',
74 95 valueType: 'date',
  96 + width: 140,
75 97 hideInSearch: true,
76 98 ellipsis: true,
77 99 },
... ... @@ -97,22 +119,22 @@ const InvoiceRecord = () =&gt; {
97 119 ellipsis: true,
98 120 },
99 121 {
100   - title: '购方税号',
  122 + title: '联系人',
101 123 valueType: 'text',
102   - dataIndex: 'partyATaxid',
  124 + dataIndex: 'contacts',
  125 + hideInSearch: true,
103 126 ellipsis: true,
104 127 },
105 128 {
106   - title: '收款单位',
  129 + title: '购方税号',
107 130 valueType: 'text',
108   - dataIndex: 'partyBName',
109   - hideInSearch: true,
  131 + dataIndex: 'partyATaxid',
110 132 ellipsis: true,
111 133 },
112 134 {
113   - title: '联系人',
  135 + title: '收款单位',
114 136 valueType: 'text',
115   - dataIndex: 'contacts',
  137 + dataIndex: 'partyBName',
116 138 hideInSearch: true,
117 139 ellipsis: true,
118 140 },
... ... @@ -152,6 +174,18 @@ const InvoiceRecord = () =&gt; {
152 174 hideInTable: true,
153 175 },
154 176 {
  177 + title: '主订单号',
  178 + valueType: 'Text',
  179 + dataIndex: 'mainOrderId',
  180 + hideInTable: true,
  181 + },
  182 + {
  183 + title: '子订单号',
  184 + valueType: 'Text',
  185 + dataIndex: 'subOrderId',
  186 + hideInTable: true,
  187 + },
  188 + {
155 189 title: '发票类型',
156 190 valueType: 'select',
157 191 dataIndex: 'type',
... ... @@ -160,7 +194,6 @@ const InvoiceRecord = () =&gt; {
160 194 hideInTable: true,
161 195 valueEnum: enumToProTableEnumValue(invoiceTypeValueEnum),
162 196 },
163   -
164 197 {
165 198 title: '开票状态',
166 199 valueType: 'select',
... ...
src/pages/Invoice/InvoiceVerification/index.tsx
... ... @@ -31,7 +31,6 @@ const InvoiceRecord = () =&gt; {
31 31 const [invoiceRecordDetailVisible, setInvoiceRecordDetailVisible] =
32 32 useState(false);
33 33 const [invoiceRecord] = useState({});
34   - const [contextHolder] = message.useMessage();
35 34  
36 35 const reloadBankStatementTable = () => {
37 36 bankActionRef.current?.reload();
... ... @@ -261,7 +260,6 @@ const InvoiceRecord = () =&gt; {
261 260 ) : (
262 261 ''
263 262 )}
264   - {contextHolder}
265 263 </div>
266 264 );
267 265 };
... ...
src/pages/Invoice/waitProcessRecord/index.tsx
... ... @@ -12,7 +12,7 @@ import {
12 12 } from '@/services';
13 13 import { enumToProTableEnumValue, enumToSelect } from '@/utils';
14 14 import { ActionType, ProTable } from '@ant-design/pro-components';
15   -import { Space, Table, message } from 'antd';
  15 +import { Divider, Space, Table, Tooltip } from 'antd';
16 16 import { useEffect, useRef, useState } from 'react';
17 17  
18 18 const InvoiceRecord = () => {
... ... @@ -23,7 +23,6 @@ const InvoiceRecord = () =&gt; {
23 23 const [invoiceRecordDetailVisible, setInvoiceRecordDetailVisible] =
24 24 useState(false);
25 25 const [invoiceRecord, setInvoiceRecord] = useState({});
26   - const [contextHolder] = message.useMessage();
27 26  
28 27 useEffect(() => {
29 28 async function extracted() {
... ... @@ -82,20 +81,50 @@ const InvoiceRecord = () =&gt; {
82 81 valueType: 'Text',
83 82 dataIndex: 'statusText',
84 83 ellipsis: true,
  84 + width: 100,
85 85 hideInSearch: true,
86 86 },
87 87 {
  88 + title: '重开发票',
  89 + key: 'reissueInvoiceNumbers',
  90 + ellipsis: true,
  91 + width: 160,
  92 + hideInSearch: true,
  93 + render: (_, record) => {
  94 + //将record.reissueInvoiceNumbers用,拼接
  95 + const numbersText = record.reissueInvoiceNumbers?.join(',');
  96 + return record.reissueInvoiceNumbers?.map((item) => {
  97 + return (
  98 + <Tooltip title={numbersText} key={item}>
  99 + <Space>
  100 + {item}
  101 + <Divider type={'vertical'} />
  102 + </Space>
  103 + </Tooltip>
  104 + );
  105 + });
  106 + },
  107 + },
  108 + {
88 109 title: '申请开票时间',
89 110 dataIndex: 'createTime',
90 111 valueType: 'dateTime',
  112 + width: 160,
91 113 hideInSearch: true,
92 114 ellipsis: true,
93 115 },
94 116 {
  117 + title: '订单号',
  118 + valueType: 'text',
  119 + dataIndex: 'mainOrderId',
  120 + hideInTable: true,
  121 + },
  122 + {
95 123 title: '销售代表',
96 124 valueType: 'text',
97 125 hideInSearch: true,
98 126 ellipsis: true,
  127 + width: 100,
99 128 dataIndex: 'createByName',
100 129 },
101 130 {
... ... @@ -123,6 +152,7 @@ const InvoiceRecord = () =&gt; {
123 152 title: '开票金额',
124 153 valueType: 'money',
125 154 dataIndex: 'price',
  155 + width: 100,
126 156 hideInSearch: true,
127 157 ellipsis: true,
128 158 },
... ... @@ -130,6 +160,7 @@ const InvoiceRecord = () =&gt; {
130 160 title: '开具类型',
131 161 valueType: 'Text',
132 162 dataIndex: 'invoicingTypeText',
  163 + width: 100,
133 164 hideInSearch: true,
134 165 ellipsis: true,
135 166 },
... ... @@ -137,6 +168,7 @@ const InvoiceRecord = () =&gt; {
137 168 title: '发票类型',
138 169 valueType: 'Text',
139 170 dataIndex: 'typeText',
  171 + width: 100,
140 172 hideInSearch: true,
141 173 ellipsis: true,
142 174 },
... ... @@ -144,6 +176,7 @@ const InvoiceRecord = () =&gt; {
144 176 title: '是否加急',
145 177 valueType: 'Text',
146 178 dataIndex: 'isUrgentText',
  179 + width: 50,
147 180 hideInSearch: true,
148 181 ellipsis: true,
149 182 },
... ... @@ -259,6 +292,7 @@ const InvoiceRecord = () =&gt; {
259 292 title: '操作',
260 293 valueType: 'option',
261 294 key: 'option',
  295 + width: 200,
262 296 render: (text, record) => {
263 297 return [
264 298 /*<InvoiceRecordDetailModal
... ... @@ -368,7 +402,7 @@ const InvoiceRecord = () =&gt; {
368 402 form={{}}
369 403 dateFormatter="string"
370 404 headerTitle="待开票列表"
371   - scroll={{ x: 1400, y: 360 }}
  405 + scroll={{ x: 2400, y: 500 }}
372 406 />
373 407 {invoiceRecordDetailVisible ? (
374 408 <InvoiceRecordDetailModal
... ... @@ -379,7 +413,6 @@ const InvoiceRecord = () =&gt; {
379 413 ) : (
380 414 ''
381 415 )}
382   - {contextHolder}
383 416 </div>
384 417 );
385 418 };
... ...
src/pages/Order/components/InvoicingDrawerForm.tsx
... ... @@ -10,7 +10,7 @@ import {
10 10 postServiceInvoiceQueryCompanyInfo,
11 11 postServiceInvoiceWaitReissueInvoices,
12 12 } from '@/services';
13   -import { enum2ReverseSelect, enumToSelect } from '@/utils';
  13 +import { FloatAdd, enum2ReverseSelect, enumToSelect } from '@/utils';
14 14 import { convertCurrency } from '@/utils/numberUtil';
15 15 import {
16 16 DrawerForm,
... ... @@ -27,7 +27,7 @@ import {
27 27 import { Button, Divider, Form, Space, Tooltip, message } from 'antd';
28 28 import { useEffect, useRef, useState } from 'react';
29 29  
30   -export default ({ dataList, setVisible, onClose }) => {
  30 +export default ({ dataList, setVisible, mainOrder, onClose }) => {
31 31 // let subOrderIds = dataList?.map((item) => {
32 32 // return item.id;
33 33 // })
... ... @@ -62,6 +62,7 @@ export default ({ dataList, setVisible, onClose }) =&gt; {
62 62 };
63 63 });
64 64 form.setFieldValue('invoiceDetails', initialValue);
  65 + form.setFieldValue('contacts', mainOrder.customerName);
65 66 };
66 67 initOptions();
67 68 }, []);
... ... @@ -116,7 +117,7 @@ export default ({ dataList, setVisible, onClose }) =&gt; {
116 117 const totalPrice = form
117 118 .getFieldValue('invoiceDetails')
118 119 .reduce((accumulator, currentValue) => {
119   - return accumulator + currentValue.totalPrice;
  120 + return FloatAdd(accumulator, currentValue.totalPrice);
120 121 }, 0);
121 122 const partyBName = form.getFieldValue('partyBName');
122 123 const openBank = form.getFieldValue('openBank');
... ... @@ -283,6 +284,11 @@ export default ({ dataList, setVisible, onClose }) =&gt; {
283 284 label="开户行账号"
284 285 placeholder="请输入名称"
285 286 />
  287 + <ProFormText
  288 + name="contacts"
  289 + label="联系人"
  290 + rules={[{ required: true, message: '请选择银行联行号!' }]}
  291 + />
286 292 <ProFormMoney
287 293 label="开票金额"
288 294 name="price"
... ...
src/pages/Order/components/OrderDrawer.tsx
... ... @@ -870,8 +870,8 @@ export default ({ onClose, data, subOrders, orderOptType }) =&gt; {
870 870 values.institution = values.institution?.trim();
871 871 values.institutionContactName = values.institutionContactName?.trim();
872 872 values.customerName = values.customerNameString.trim();
873   - values.customerShippingAddress =
874   - province + city + district + values.customerShippingAddress;
  873 + // values.customerShippingAddress =
  874 + // province + city + district + values.customerShippingAddress;
875 875  
876 876 if (typeof values.erpCustomerId !== 'string') {
877 877 values.erpCustomerId = values.erpCustomerId?.id;
... ...
src/pages/Order/hooks.ts
... ... @@ -46,6 +46,8 @@ export const useFieldAuth = ({ operation }: { operation: OPERATION_TYPE }) =&gt; {
46 46 },
47 47 } as Record<string, boolean | object>;
48 48  
  49 + console.log(role);
  50 +
49 51 if (operation === OPERATION_TYPE.CREATE) {
50 52 return authFields;
51 53 } else if (operation === OPERATION_TYPE.EDIT) {
... ...
src/pages/Order/index.tsx
... ... @@ -178,7 +178,7 @@ const OrderPage = () =&gt; {
178 178 const [rolePath, setRolePath] = useState([]); //当前角色权限(新增跟打印按钮)
179 179 const userInfo = getUserInfo();
180 180 // const [tableHeight, setTableHeight] = useState(200);
181   - const [selectedRows, setSelectedRows] = useState({});
  181 + const [selectedRows, setSelectedRows] = useState([]);
182 182 const [mainOrderIdSubOrderIdRelationsMap] = useState(new Map()); //主订单id与子订单id的对照关系,用于主订单子订单的勾选校验,子订单全选中对应的主订单自动勾选上
183 183 const [selectedMainOrderKeys, setSelectedMainOrderKeys] = useState<any[]>([]);
184 184 const [selectedSubOrderKeys, setSelectedSubOrderKeys] = useState<any[]>([]);
... ... @@ -227,6 +227,12 @@ const OrderPage = () =&gt; {
227 227 const exportLoadingDestory = () => {
228 228 messageApi.destroy();
229 229 };
  230 + useEffect(() => {
  231 + console.log(
  232 + 'selectedRows',
  233 + selectedRows.every((item) => item.paths.includes('applyInvoicing_old')),
  234 + );
  235 + }, [selectedRows]);
230 236  
231 237 const refreshTable = () => {
232 238 mainTableRef.current?.reload();
... ... @@ -667,6 +673,8 @@ const OrderPage = () =&gt; {
667 673 * @param optRecord
668 674 */
669 675 function getOrderStatusTag(optRecord: any): import('react').ReactNode {
  676 + console.log(optRecord);
  677 +
670 678 const orderStatus = optRecord.orderStatus;
671 679 const paymentMethod = optRecord.paymentMethod;
672 680 let orderStatusTagText = enumValueToLabel(
... ... @@ -4314,7 +4322,12 @@ const OrderPage = () =&gt; {
4314 4322 setIsMainOrder(true);
4315 4323 setApplyForInvoicingVisible(true);
4316 4324 }}
4317   - disabled={true} /*{selectedSubOrderKeys?.length === 0}*/
  4325 + disabled={
  4326 + selectedRows.length === 0 ||
  4327 + !selectedRows.every((item) =>
  4328 + item.paths.includes('applyInvoicing_old'),
  4329 + )
  4330 + } /*{selectedSubOrderKeys?.length === 0}*/
4318 4331 >
4319 4332 {roleCode === 'admin' ? '合并(销售)' : '合并开票'}
4320 4333 </Button>,
... ...
src/pages/procure/components/AddDrawer.tsx 0 → 100644
  1 +import {
  2 + postOrderErpOrderStagesUpload,
  3 + postServiceConstStores,
  4 +} from '@/services';
  5 +import { enumToSelect } from '@/utils';
  6 +import {
  7 + DrawerForm,
  8 + ProFormSelect,
  9 + ProFormText,
  10 + ProFormTextArea,
  11 + ProFormUploadDragger,
  12 +} from '@ant-design/pro-components';
  13 +import { Button, Form, message } from 'antd';
  14 +import { RcFile } from 'antd/es/upload';
  15 +
  16 +export default () => {
  17 + const [form] = Form.useForm();
  18 + return (
  19 + <DrawerForm
  20 + title="新增采购退货单"
  21 + resize={{
  22 + onResize() {
  23 + console.log('resize!');
  24 + },
  25 + maxWidth: window.innerWidth * 0.8,
  26 + minWidth: 300,
  27 + }}
  28 + form={form}
  29 + trigger={<Button type="primary">新增</Button>}
  30 + autoFocusFirstInput
  31 + drawerProps={{
  32 + destroyOnClose: true,
  33 + }}
  34 + submitTimeout={2000}
  35 + onFinish={async (values) => {
  36 + console.log(values.name);
  37 + message.success('提交成功');
  38 + // 不返回不会关闭弹框
  39 + return true;
  40 + }}
  41 + >
  42 + <ProFormText
  43 + name="consignee"
  44 + label="收货人"
  45 + placeholder="请输入收货人"
  46 + rules={[
  47 + {
  48 + required: true,
  49 + message: '请输入收货人',
  50 + },
  51 + ]}
  52 + />
  53 + <ProFormText
  54 + name="phoneNumber"
  55 + label="联系电话"
  56 + placeholder="请输入联系电话"
  57 + rules={[
  58 + {
  59 + required: true,
  60 + message: '请输入联系电话',
  61 + },
  62 + ]}
  63 + />
  64 + <ProFormText
  65 + name="address"
  66 + label="收货地址"
  67 + placeholder="请输入收货地址"
  68 + rules={[
  69 + {
  70 + required: true,
  71 + message: '请输入联系电话',
  72 + },
  73 + ]}
  74 + />
  75 + <ProFormTextArea
  76 + name="productDetail"
  77 + label="产品明细"
  78 + placeholder="请输入产品明细"
  79 + rules={[
  80 + {
  81 + required: true,
  82 + message: '请输入联系电话',
  83 + },
  84 + ]}
  85 + ></ProFormTextArea>
  86 + <ProFormSelect
  87 + name="sendStore"
  88 + label="发货仓库"
  89 + request={async () => {
  90 + const res = await postServiceConstStores();
  91 + return enumToSelect(res.data);
  92 + }}
  93 + rules={[
  94 + {
  95 + required: true,
  96 + message: '请输入联系电话',
  97 + },
  98 + ]}
  99 + ></ProFormSelect>
  100 + <ProFormTextArea
  101 + name="notes"
  102 + label="备注"
  103 + placeholder="请输入备注"
  104 + ></ProFormTextArea>
  105 + <ProFormUploadDragger
  106 + label="附件"
  107 + name="attachmentsFile"
  108 + action="upload.do"
  109 + onChange={({ fileList: newFileList }) => {
  110 + if (newFileList.length > 0) {
  111 + const formData = new FormData();
  112 + formData.append('file', newFileList[0].originFileObj as RcFile);
  113 + const res = await postOrderErpOrderStagesUpload({
  114 + data: formData,
  115 + headers: {
  116 + 'Content-Type':
  117 + 'multipart/form-data; boundary=----WebKitFormBoundarynl6gT1BKdPWIejNq',
  118 + },
  119 + });
  120 + const url = res.data;
  121 + form.setFieldValue('attachments', url);
  122 + } else {
  123 + form.setFieldValue('attachments', null);
  124 + }
  125 + }}
  126 + max={1}
  127 + />
  128 + <ProFormText name="attachments" hidden></ProFormText>
  129 + </DrawerForm>
  130 + );
  131 +};
... ...
src/pages/procure/index.less 0 → 100644
  1 +.prepaid-index td {
  2 + font-family: 'San Francisco', 'Helvetica Neue', Helvetica, Arial,
  3 + 'Microsoft YaHei', 'PingFang SC', 'Hiragino Sans GB', 'Heiti SC',
  4 + 'WenQuanYi Micro Hei', sans-serif;
  5 + font-size: 13px;
  6 +}
... ...
src/pages/procure/index.tsx 0 → 100644
  1 +import AddDrawer from '@/pages/procure/components/AddDrawer';
  2 +import {
  3 + postProcureReturnBillPage,
  4 + postServiceConstProcureReturnBills,
  5 + postServiceConstStores,
  6 +} from '@/services';
  7 +import { enumToSelect } from '@/utils';
  8 +import { EllipsisOutlined } from '@ant-design/icons';
  9 +import type { ActionType, ProColumns } from '@ant-design/pro-components';
  10 +import { ProTable, TableDropdown } from '@ant-design/pro-components';
  11 +import { Button, Dropdown } from 'antd';
  12 +import { useRef } from 'react';
  13 +export const waitTimePromise = async (time: number = 100) => {
  14 + return new Promise((resolve) => {
  15 + setTimeout(() => {
  16 + resolve(true);
  17 + }, time);
  18 + });
  19 +};
  20 +
  21 +export const waitTime = async (time: number = 100) => {
  22 + await waitTimePromise(time);
  23 +};
  24 +
  25 +const columns: ProColumns[] = [
  26 + {
  27 + title: '订单编号',
  28 + width: 120,
  29 + dataIndex: 'id',
  30 + ellipsis: true,
  31 + hideInSearch: true,
  32 + },
  33 + {
  34 + title: '收获人',
  35 + width: 120,
  36 + dataIndex: 'consignee',
  37 + ellipsis: true,
  38 + hideInSearch: true,
  39 + },
  40 + {
  41 + title: '联系电话',
  42 + width: 120,
  43 + dataIndex: 'phoneNumber',
  44 + ellipsis: true,
  45 + hideInSearch: true,
  46 + },
  47 + {
  48 + title: '收货地址',
  49 + width: 120,
  50 + dataIndex: 'address',
  51 + ellipsis: true,
  52 + hideInSearch: true,
  53 + },
  54 + {
  55 + title: '产品明细',
  56 + width: 120,
  57 + dataIndex: 'productDetail',
  58 + ellipsis: true,
  59 + hideInSearch: true,
  60 + },
  61 + {
  62 + title: '发货仓库',
  63 + width: 120,
  64 + dataIndex: 'sendStoreText',
  65 + ellipsis: true,
  66 + hideInSearch: true,
  67 + },
  68 + {
  69 + title: '创建人',
  70 + width: 120,
  71 + dataIndex: 'createByName',
  72 + ellipsis: true,
  73 + hideInSearch: true,
  74 + },
  75 + {
  76 + title: '创建时间',
  77 + width: 120,
  78 + valueType: 'dateTime',
  79 + dataIndex: 'createTime',
  80 + ellipsis: true,
  81 + hideInSearch: true,
  82 + },
  83 + {
  84 + title: '订单状态',
  85 + width: 120,
  86 + dataIndex: 'statusText',
  87 + ellipsis: true,
  88 + hideInSearch: true,
  89 + },
  90 + {
  91 + title: '附件',
  92 + width: 120,
  93 + dataIndex: 'attachments',
  94 + ellipsis: true,
  95 + hideInSearch: true,
  96 + },
  97 + {
  98 + title: '备注',
  99 + width: 120,
  100 + dataIndex: 'notes',
  101 + ellipsis: true,
  102 + hideInSearch: true,
  103 + },
  104 + {
  105 + title: '发货信息',
  106 + width: 120,
  107 + dataIndex: 'sendInfo',
  108 + ellipsis: true,
  109 + hideInSearch: true,
  110 + },
  111 +
  112 + {
  113 + title: '订单编号',
  114 + width: 120,
  115 + dataIndex: 'id',
  116 + hideInTable: true,
  117 + },
  118 + {
  119 + title: '收货人',
  120 + width: 120,
  121 + dataIndex: 'consigneeLike',
  122 + hideInTable: true,
  123 + },
  124 + {
  125 + title: '联系电话',
  126 + width: 120,
  127 + dataIndex: 'phoneNumberLike',
  128 + hideInTable: true,
  129 + },
  130 + {
  131 + title: '发货仓库',
  132 + width: 120,
  133 + dataIndex: 'sendStore',
  134 + valueType: 'select',
  135 + hideInTable: true,
  136 + request: async () => {
  137 + const res = await postServiceConstStores();
  138 + return enumToSelect(res.data);
  139 + },
  140 + },
  141 + {
  142 + title: '订单状态',
  143 + width: 120,
  144 + dataIndex: 'status',
  145 + valueType: 'select',
  146 + hideInTable: true,
  147 + request: async () => {
  148 + const res = await postServiceConstProcureReturnBills();
  149 + return enumToSelect(res.data);
  150 + },
  151 + },
  152 + {
  153 + title: '创建人',
  154 + width: 120,
  155 + dataIndex: 'createByNameLike',
  156 + hideInTable: true,
  157 + },
  158 + {
  159 + title: '创建时间',
  160 + dataIndex: 'createTime',
  161 + valueType: 'dateTimeRange',
  162 + search: {
  163 + transform: (value: any) => ({
  164 + createTimeGe: value[0],
  165 + createTimeLe: value[1],
  166 + }),
  167 + },
  168 + hideInTable: true,
  169 + },
  170 + {
  171 + title: '操作',
  172 + valueType: 'option',
  173 + key: 'option',
  174 + render: (text, record, _, action) => [
  175 + <a
  176 + key="editable"
  177 + onClick={() => {
  178 + action?.startEditable?.(record.id);
  179 + }}
  180 + >
  181 + 编辑
  182 + </a>,
  183 + <a href={record.url} target="_blank" rel="noopener noreferrer" key="view">
  184 + 查看
  185 + </a>,
  186 + <TableDropdown
  187 + key="actionGroup"
  188 + onSelect={() => action?.reload()}
  189 + menus={[
  190 + { key: 'copy', name: '复制' },
  191 + { key: 'delete', name: '删除' },
  192 + ]}
  193 + />,
  194 + ],
  195 + },
  196 +];
  197 +
  198 +export default () => {
  199 + const actionRef = useRef<ActionType>();
  200 + return (
  201 + <ProTable
  202 + columns={columns}
  203 + actionRef={actionRef}
  204 + cardBordered
  205 + request={async (params, sort, filter) => {
  206 + console.log(sort, filter);
  207 + const res = await postProcureReturnBillPage({
  208 + data: params,
  209 + });
  210 + console.log(res);
  211 + return res.data;
  212 + }}
  213 + editable={{
  214 + type: 'multiple',
  215 + }}
  216 + scroll={{ x: 1300 }}
  217 + columnsState={{
  218 + persistenceKey: 'pro-table-singe-demos',
  219 + persistenceType: 'localStorage',
  220 + defaultValue: {
  221 + option: { fixed: 'right', disable: true },
  222 + },
  223 + onChange(value) {
  224 + console.log('value: ', value);
  225 + },
  226 + }}
  227 + rowKey="id"
  228 + search={{
  229 + labelWidth: 'auto',
  230 + }}
  231 + options={{
  232 + setting: {
  233 + listsHeight: 400,
  234 + },
  235 + }}
  236 + form={{
  237 + // 由于配置了 transform,提交的参数与定义的不同这里需要转化一下
  238 + syncToUrl: (values, type) => {
  239 + if (type === 'get') {
  240 + return {
  241 + ...values,
  242 + created_at: [values.startTime, values.endTime],
  243 + };
  244 + }
  245 + return values;
  246 + },
  247 + }}
  248 + pagination={{
  249 + pageSize: 5,
  250 + onChange: (page) => console.log(page),
  251 + }}
  252 + dateFormatter="string"
  253 + headerTitle="高级表格"
  254 + toolBarRender={() => [
  255 + <AddDrawer key="add" />,
  256 + <Dropdown
  257 + key="menu"
  258 + menu={{
  259 + items: [
  260 + {
  261 + label: '1st item',
  262 + key: '1',
  263 + },
  264 + {
  265 + label: '2nd item',
  266 + key: '2',
  267 + },
  268 + {
  269 + label: '3rd item',
  270 + key: '3',
  271 + },
  272 + ],
  273 + }}
  274 + >
  275 + <Button>
  276 + <EllipsisOutlined />
  277 + </Button>
  278 + </Dropdown>,
  279 + ]}
  280 + />
  281 + );
  282 +};
... ...
src/services/definition.ts
... ... @@ -71,6 +71,14 @@ export type ModelAndViewStatus =
71 71 | '509 BANDWIDTH_LIMIT_EXCEEDED'
72 72 | '510 NOT_EXTENDED'
73 73 | '511 NETWORK_AUTHENTICATION_REQUIRED';
  74 +export type ProcureReturnBillDtoSendStore =
  75 + | 'DALANG_WAREHOUSE'
  76 + | 'HOUJIE_WAREHOUSE';
  77 +export type ProcureReturnBillDtoStatus =
  78 + | 'AUDIT_NOTPASS'
  79 + | 'WAIT_SEND'
  80 + | 'SENDED'
  81 + | 'WAIT_AUDIT';
74 82 export interface AdminAuthRoleVO {
75 83 menuIds?: Array<number>;
76 84 /** @format int64 */
... ... @@ -863,6 +871,7 @@ export interface ApplyInvoiceDTO {
863 871 * 接收邮箱地址
864 872 */
865 873 receiveEmail?: string;
  874 + reissueInvoiceNumbers?: Array<string>;
866 875 reissueInvoiceRecordIds?: Array<number>;
867 876 /**
868 877 * @description
... ... @@ -1600,6 +1609,7 @@ export interface InvoiceRecordDTO {
1600 1609 * 接收邮箱地址
1601 1610 */
1602 1611 receiveEmail?: string;
  1612 + reissueInvoiceNumbers?: Array<string>;
1603 1613 reissueInvoiceRecordIds?: Array<number>;
1604 1614 /**
1605 1615 * @description
... ... @@ -2513,6 +2523,84 @@ export interface ProcurePrintDto {
2513 2523 ids?: Array<number>;
2514 2524 }
2515 2525  
  2526 +export interface ProcureReturnBillDto {
  2527 + /**
  2528 + * @description
  2529 + * 收货地址
  2530 + */
  2531 + address?: string;
  2532 + /**
  2533 + * @description
  2534 + * 附件
  2535 + */
  2536 + attachments?: string;
  2537 + /**
  2538 + * @description
  2539 + * 收获人
  2540 + */
  2541 + consignee?: string;
  2542 + createByName?: string;
  2543 + /** @format date-time */
  2544 + createTime?: string;
  2545 + /**
  2546 + * @description
  2547 + * 订单编号
  2548 + * @format int64
  2549 + */
  2550 + id?: number;
  2551 + logicDelete?: boolean;
  2552 + /**
  2553 + * @description
  2554 + * 备注
  2555 + */
  2556 + notes?: string;
  2557 + paths?: Array<string>;
  2558 + /**
  2559 + * @description
  2560 + * 联系电话
  2561 + */
  2562 + phoneNumber?: string;
  2563 + /**
  2564 + * @description
  2565 + * 产品明细
  2566 + */
  2567 + productDetail?: string;
  2568 + /**
  2569 + * @description
  2570 + * 发货信息
  2571 + */
  2572 + sendInfo?: string;
  2573 + /**
  2574 + * @description
  2575 + * 发货仓库
  2576 + */
  2577 + sendStore?: ProcureReturnBillDtoSendStore;
  2578 + /**
  2579 + * @description
  2580 + * 发货仓库
  2581 + */
  2582 + sendStoreText?: string;
  2583 + /**
  2584 + * @description
  2585 + * 订单状态
  2586 + */
  2587 + status?: ProcureReturnBillDtoStatus;
  2588 + /**
  2589 + * @description
  2590 + * 订单状态
  2591 + * @format int32
  2592 + */
  2593 + statusCode?: number;
  2594 + /**
  2595 + * @description
  2596 + * 订单状态
  2597 + */
  2598 + statusText?: string;
  2599 + updateByName?: string;
  2600 + /** @format date-time */
  2601 + updateTime?: string;
  2602 +}
  2603 +
2516 2604 export interface ProductInformationDto {
2517 2605 /**
2518 2606 * @description
... ... @@ -2899,6 +2987,32 @@ export interface QueryMainOrderDto {
2899 2987 customerName?: string;
2900 2988 }
2901 2989  
  2990 +export interface QueryProcureReturnBillDto {
  2991 + consigneeLike?: string;
  2992 + createByNameLike?: string;
  2993 + /** @format date-time */
  2994 + createTimeGe?: string;
  2995 + /** @format date-time */
  2996 + createTimeLe?: string;
  2997 + /** @format int32 */
  2998 + current?: number;
  2999 + /** @format int32 */
  3000 + end?: number;
  3001 + /** @format int64 */
  3002 + id?: number;
  3003 + /** @format int32 */
  3004 + pageSize?: number;
  3005 + phoneNumberLike?: string;
  3006 + /** @format int32 */
  3007 + sendStore?: number;
  3008 + /** @format int32 */
  3009 + start?: number;
  3010 + /** @format int32 */
  3011 + status?: number;
  3012 + /** @format int32 */
  3013 + total?: number;
  3014 +}
  3015 +
2902 3016 export interface QueryReportFormsDto {
2903 3017 /**
2904 3018 * @description
... ...
src/services/request.ts
... ... @@ -63,7 +63,6 @@ import type {
63 63 MaterialUnitListRes,
64 64 MeasureUnitListRes,
65 65 MessageQueryDTO,
66   - ModelAndView,
67 66 OrderAddVO,
68 67 OrderAuditLogQueryVO,
69 68 OrderBaseInfoQueryVO,
... ... @@ -83,6 +82,7 @@ import type {
83 82 ProcureConvertProcureDto,
84 83 ProcureOrderDto,
85 84 ProcurePrintDto,
  85 + ProcureReturnBillDto,
86 86 ProductInformationDto,
87 87 QueryAfterSalesInfoSnapshotDto,
88 88 QueryAnnexDto,
... ... @@ -95,6 +95,7 @@ import type {
95 95 QueryInvoiceProjectDto,
96 96 QueryInvoiceRecordDto,
97 97 QueryMainOrderDto,
  98 + QueryProcureReturnBillDto,
98 99 QueryReportFormsDto,
99 100 ReissueInvoiceDto,
100 101 ResearchGroupAddRequest,
... ... @@ -3226,7 +3227,9 @@ export interface GetErrorResponse {
3226 3227 * @description
3227 3228 * OK
3228 3229 */
3229   - 200: ModelAndView;
  3230 + 200: {
  3231 + [propertyName: string]: any;
  3232 + };
3230 3233 /**
3231 3234 * @description
3232 3235 * Unauthorized
... ... @@ -3247,9 +3250,9 @@ export interface GetErrorResponse {
3247 3250 export type GetErrorResponseSuccess = GetErrorResponse[200];
3248 3251 /**
3249 3252 * @description
3250   - * errorHtml
  3253 + * error
3251 3254 * @tags basic-error-controller
3252   - * @produces text/html
  3255 + * @produces *
3253 3256 */
3254 3257 export const getError = /* #__PURE__ */ (() => {
3255 3258 const method = 'get';
... ... @@ -3273,7 +3276,9 @@ export interface PutErrorResponse {
3273 3276 * @description
3274 3277 * OK
3275 3278 */
3276   - 200: ModelAndView;
  3279 + 200: {
  3280 + [propertyName: string]: any;
  3281 + };
3277 3282 /**
3278 3283 * @description
3279 3284 * Created
... ... @@ -3299,9 +3304,9 @@ export interface PutErrorResponse {
3299 3304 export type PutErrorResponseSuccess = PutErrorResponse[200];
3300 3305 /**
3301 3306 * @description
3302   - * errorHtml
  3307 + * error
3303 3308 * @tags basic-error-controller
3304   - * @produces text/html
  3309 + * @produces *
3305 3310 * @consumes application/json
3306 3311 */
3307 3312 export const putError = /* #__PURE__ */ (() => {
... ... @@ -3326,7 +3331,9 @@ export interface PostErrorResponse {
3326 3331 * @description
3327 3332 * OK
3328 3333 */
3329   - 200: ModelAndView;
  3334 + 200: {
  3335 + [propertyName: string]: any;
  3336 + };
3330 3337 /**
3331 3338 * @description
3332 3339 * Created
... ... @@ -3352,9 +3359,9 @@ export interface PostErrorResponse {
3352 3359 export type PostErrorResponseSuccess = PostErrorResponse[200];
3353 3360 /**
3354 3361 * @description
3355   - * errorHtml
  3362 + * error
3356 3363 * @tags basic-error-controller
3357   - * @produces text/html
  3364 + * @produces *
3358 3365 * @consumes application/json
3359 3366 */
3360 3367 export const postError = /* #__PURE__ */ (() => {
... ... @@ -3379,7 +3386,9 @@ export interface DeleteErrorResponse {
3379 3386 * @description
3380 3387 * OK
3381 3388 */
3382   - 200: ModelAndView;
  3389 + 200: {
  3390 + [propertyName: string]: any;
  3391 + };
3383 3392 /**
3384 3393 * @description
3385 3394 * No Content
... ... @@ -3400,9 +3409,9 @@ export interface DeleteErrorResponse {
3400 3409 export type DeleteErrorResponseSuccess = DeleteErrorResponse[200];
3401 3410 /**
3402 3411 * @description
3403   - * errorHtml
  3412 + * error
3404 3413 * @tags basic-error-controller
3405   - * @produces text/html
  3414 + * @produces *
3406 3415 */
3407 3416 export const deleteError = /* #__PURE__ */ (() => {
3408 3417 const method = 'delete';
... ... @@ -3426,7 +3435,9 @@ export interface OptionsErrorResponse {
3426 3435 * @description
3427 3436 * OK
3428 3437 */
3429   - 200: ModelAndView;
  3438 + 200: {
  3439 + [propertyName: string]: any;
  3440 + };
3430 3441 /**
3431 3442 * @description
3432 3443 * No Content
... ... @@ -3447,9 +3458,9 @@ export interface OptionsErrorResponse {
3447 3458 export type OptionsErrorResponseSuccess = OptionsErrorResponse[200];
3448 3459 /**
3449 3460 * @description
3450   - * errorHtml
  3461 + * error
3451 3462 * @tags basic-error-controller
3452   - * @produces text/html
  3463 + * @produces *
3453 3464 * @consumes application/json
3454 3465 */
3455 3466 export const optionsError = /* #__PURE__ */ (() => {
... ... @@ -3474,7 +3485,9 @@ export interface HeadErrorResponse {
3474 3485 * @description
3475 3486 * OK
3476 3487 */
3477   - 200: ModelAndView;
  3488 + 200: {
  3489 + [propertyName: string]: any;
  3490 + };
3478 3491 /**
3479 3492 * @description
3480 3493 * No Content
... ... @@ -3495,9 +3508,9 @@ export interface HeadErrorResponse {
3495 3508 export type HeadErrorResponseSuccess = HeadErrorResponse[200];
3496 3509 /**
3497 3510 * @description
3498   - * errorHtml
  3511 + * error
3499 3512 * @tags basic-error-controller
3500   - * @produces text/html
  3513 + * @produces *
3501 3514 * @consumes application/json
3502 3515 */
3503 3516 export const headError = /* #__PURE__ */ (() => {
... ... @@ -3522,7 +3535,9 @@ export interface PatchErrorResponse {
3522 3535 * @description
3523 3536 * OK
3524 3537 */
3525   - 200: ModelAndView;
  3538 + 200: {
  3539 + [propertyName: string]: any;
  3540 + };
3526 3541 /**
3527 3542 * @description
3528 3543 * No Content
... ... @@ -3543,9 +3558,9 @@ export interface PatchErrorResponse {
3543 3558 export type PatchErrorResponseSuccess = PatchErrorResponse[200];
3544 3559 /**
3545 3560 * @description
3546   - * errorHtml
  3561 + * error
3547 3562 * @tags basic-error-controller
3548   - * @produces text/html
  3563 + * @produces *
3549 3564 * @consumes application/json
3550 3565 */
3551 3566 export const patchError = /* #__PURE__ */ (() => {
... ... @@ -10523,6 +10538,219 @@ export const postPrepaidUpdate = /* #__PURE__ */ (() =&gt; {
10523 10538 return request;
10524 10539 })();
10525 10540  
  10541 +/** @description request parameter type for postProcureReturnBillAdd */
  10542 +export interface PostProcureReturnBillAddOption {
  10543 + /**
  10544 + * @description
  10545 + * dto
  10546 + */
  10547 + body: {
  10548 + /**
  10549 + @description
  10550 + dto */
  10551 + dto: ProcureReturnBillDto;
  10552 + };
  10553 +}
  10554 +
  10555 +/** @description response type for postProcureReturnBillAdd */
  10556 +export interface PostProcureReturnBillAddResponse {
  10557 + /**
  10558 + * @description
  10559 + * OK
  10560 + */
  10561 + 200: ServerResult;
  10562 + /**
  10563 + * @description
  10564 + * Created
  10565 + */
  10566 + 201: any;
  10567 + /**
  10568 + * @description
  10569 + * Unauthorized
  10570 + */
  10571 + 401: any;
  10572 + /**
  10573 + * @description
  10574 + * Forbidden
  10575 + */
  10576 + 403: any;
  10577 + /**
  10578 + * @description
  10579 + * Not Found
  10580 + */
  10581 + 404: any;
  10582 +}
  10583 +
  10584 +export type PostProcureReturnBillAddResponseSuccess =
  10585 + PostProcureReturnBillAddResponse[200];
  10586 +/**
  10587 + * @description
  10588 + * 添加
  10589 + * @tags procure-return-bill-controller
  10590 + * @produces *
  10591 + * @consumes application/json
  10592 + */
  10593 +export const postProcureReturnBillAdd = /* #__PURE__ */ (() => {
  10594 + const method = 'post';
  10595 + const url = '/procureReturnBill/add';
  10596 + function request(
  10597 + option: PostProcureReturnBillAddOption,
  10598 + ): Promise<PostProcureReturnBillAddResponseSuccess> {
  10599 + return requester(request.url, {
  10600 + method: request.method,
  10601 + ...option,
  10602 + }) as unknown as Promise<PostProcureReturnBillAddResponseSuccess>;
  10603 + }
  10604 +
  10605 + /** http method */
  10606 + request.method = method;
  10607 + /** request url */
  10608 + request.url = url;
  10609 + return request;
  10610 +})();
  10611 +
  10612 +/** @description request parameter type for postProcureReturnBillModify */
  10613 +export interface PostProcureReturnBillModifyOption {
  10614 + /**
  10615 + * @description
  10616 + * dto
  10617 + */
  10618 + body: {
  10619 + /**
  10620 + @description
  10621 + dto */
  10622 + dto: ProcureReturnBillDto;
  10623 + };
  10624 +}
  10625 +
  10626 +/** @description response type for postProcureReturnBillModify */
  10627 +export interface PostProcureReturnBillModifyResponse {
  10628 + /**
  10629 + * @description
  10630 + * OK
  10631 + */
  10632 + 200: ServerResult;
  10633 + /**
  10634 + * @description
  10635 + * Created
  10636 + */
  10637 + 201: any;
  10638 + /**
  10639 + * @description
  10640 + * Unauthorized
  10641 + */
  10642 + 401: any;
  10643 + /**
  10644 + * @description
  10645 + * Forbidden
  10646 + */
  10647 + 403: any;
  10648 + /**
  10649 + * @description
  10650 + * Not Found
  10651 + */
  10652 + 404: any;
  10653 +}
  10654 +
  10655 +export type PostProcureReturnBillModifyResponseSuccess =
  10656 + PostProcureReturnBillModifyResponse[200];
  10657 +/**
  10658 + * @description
  10659 + * 修改
  10660 + * @tags procure-return-bill-controller
  10661 + * @produces *
  10662 + * @consumes application/json
  10663 + */
  10664 +export const postProcureReturnBillModify = /* #__PURE__ */ (() => {
  10665 + const method = 'post';
  10666 + const url = '/procureReturnBill/modify';
  10667 + function request(
  10668 + option: PostProcureReturnBillModifyOption,
  10669 + ): Promise<PostProcureReturnBillModifyResponseSuccess> {
  10670 + return requester(request.url, {
  10671 + method: request.method,
  10672 + ...option,
  10673 + }) as unknown as Promise<PostProcureReturnBillModifyResponseSuccess>;
  10674 + }
  10675 +
  10676 + /** http method */
  10677 + request.method = method;
  10678 + /** request url */
  10679 + request.url = url;
  10680 + return request;
  10681 +})();
  10682 +
  10683 +/** @description request parameter type for postProcureReturnBillPage */
  10684 +export interface PostProcureReturnBillPageOption {
  10685 + /**
  10686 + * @description
  10687 + * dto
  10688 + */
  10689 + body: {
  10690 + /**
  10691 + @description
  10692 + dto */
  10693 + dto: QueryProcureReturnBillDto;
  10694 + };
  10695 +}
  10696 +
  10697 +/** @description response type for postProcureReturnBillPage */
  10698 +export interface PostProcureReturnBillPageResponse {
  10699 + /**
  10700 + * @description
  10701 + * OK
  10702 + */
  10703 + 200: ServerResult;
  10704 + /**
  10705 + * @description
  10706 + * Created
  10707 + */
  10708 + 201: any;
  10709 + /**
  10710 + * @description
  10711 + * Unauthorized
  10712 + */
  10713 + 401: any;
  10714 + /**
  10715 + * @description
  10716 + * Forbidden
  10717 + */
  10718 + 403: any;
  10719 + /**
  10720 + * @description
  10721 + * Not Found
  10722 + */
  10723 + 404: any;
  10724 +}
  10725 +
  10726 +export type PostProcureReturnBillPageResponseSuccess =
  10727 + PostProcureReturnBillPageResponse[200];
  10728 +/**
  10729 + * @description
  10730 + * 分页查询
  10731 + * @tags procure-return-bill-controller
  10732 + * @produces *
  10733 + * @consumes application/json
  10734 + */
  10735 +export const postProcureReturnBillPage = /* #__PURE__ */ (() => {
  10736 + const method = 'post';
  10737 + const url = '/procureReturnBill/page';
  10738 + function request(
  10739 + option: PostProcureReturnBillPageOption,
  10740 + ): Promise<PostProcureReturnBillPageResponseSuccess> {
  10741 + return requester(request.url, {
  10742 + method: request.method,
  10743 + ...option,
  10744 + }) as unknown as Promise<PostProcureReturnBillPageResponseSuccess>;
  10745 + }
  10746 +
  10747 + /** http method */
  10748 + request.method = method;
  10749 + /** request url */
  10750 + request.url = url;
  10751 + return request;
  10752 +})();
  10753 +
10526 10754 /** @description request parameter type for postResearchGroupMemberRequestsAdd */
10527 10755 export interface PostResearchGroupMemberRequestsAddOption {
10528 10756 /**
... ... @@ -12440,6 +12668,114 @@ export const postServiceConstNotCanModifyInvoiceRecordStatus =
12440 12668 return request;
12441 12669 })();
12442 12670  
  12671 +/** @description response type for postServiceConstProcureReturnBills */
  12672 +export interface PostServiceConstProcureReturnBillsResponse {
  12673 + /**
  12674 + * @description
  12675 + * OK
  12676 + */
  12677 + 200: ServerResult;
  12678 + /**
  12679 + * @description
  12680 + * Created
  12681 + */
  12682 + 201: any;
  12683 + /**
  12684 + * @description
  12685 + * Unauthorized
  12686 + */
  12687 + 401: any;
  12688 + /**
  12689 + * @description
  12690 + * Forbidden
  12691 + */
  12692 + 403: any;
  12693 + /**
  12694 + * @description
  12695 + * Not Found
  12696 + */
  12697 + 404: any;
  12698 +}
  12699 +
  12700 +export type PostServiceConstProcureReturnBillsResponseSuccess =
  12701 + PostServiceConstProcureReturnBillsResponse[200];
  12702 +/**
  12703 + * @description
  12704 + * 获取仓库
  12705 + * @tags front-const-controller
  12706 + * @produces *
  12707 + * @consumes application/json
  12708 + */
  12709 +export const postServiceConstProcureReturnBills = /* #__PURE__ */ (() => {
  12710 + const method = 'post';
  12711 + const url = '/service/const/procureReturnBills';
  12712 + function request(): Promise<PostServiceConstProcureReturnBillsResponseSuccess> {
  12713 + return requester(request.url, {
  12714 + method: request.method,
  12715 + }) as unknown as Promise<PostServiceConstProcureReturnBillsResponseSuccess>;
  12716 + }
  12717 +
  12718 + /** http method */
  12719 + request.method = method;
  12720 + /** request url */
  12721 + request.url = url;
  12722 + return request;
  12723 +})();
  12724 +
  12725 +/** @description response type for postServiceConstStores */
  12726 +export interface PostServiceConstStoresResponse {
  12727 + /**
  12728 + * @description
  12729 + * OK
  12730 + */
  12731 + 200: ServerResult;
  12732 + /**
  12733 + * @description
  12734 + * Created
  12735 + */
  12736 + 201: any;
  12737 + /**
  12738 + * @description
  12739 + * Unauthorized
  12740 + */
  12741 + 401: any;
  12742 + /**
  12743 + * @description
  12744 + * Forbidden
  12745 + */
  12746 + 403: any;
  12747 + /**
  12748 + * @description
  12749 + * Not Found
  12750 + */
  12751 + 404: any;
  12752 +}
  12753 +
  12754 +export type PostServiceConstStoresResponseSuccess =
  12755 + PostServiceConstStoresResponse[200];
  12756 +/**
  12757 + * @description
  12758 + * 获取仓库
  12759 + * @tags front-const-controller
  12760 + * @produces *
  12761 + * @consumes application/json
  12762 + */
  12763 +export const postServiceConstStores = /* #__PURE__ */ (() => {
  12764 + const method = 'post';
  12765 + const url = '/service/const/stores';
  12766 + function request(): Promise<PostServiceConstStoresResponseSuccess> {
  12767 + return requester(request.url, {
  12768 + method: request.method,
  12769 + }) as unknown as Promise<PostServiceConstStoresResponseSuccess>;
  12770 + }
  12771 +
  12772 + /** http method */
  12773 + request.method = method;
  12774 + /** request url */
  12775 + request.url = url;
  12776 + return request;
  12777 +})();
  12778 +
12443 12779 /** @description response type for postServiceConstTradeStatus */
12444 12780 export interface PostServiceConstTradeStatusResponse {
12445 12781 /**
... ...