Commit 1d454be0bcbd9bc956800a01867899015720a809

Authored by zhongnanhuang
1 parent 15c41122

feat: add new functionality

chore: update review functionality

Too many changes to show.

To preserve performance only 7 of 10 files are displayed.

.umirc.ts
... ... @@ -12,8 +12,8 @@ export default defineConfig({
12 12 title: '订单管理系统',
13 13 },
14 14 proxy: {
15   - '/erp/': {
16   - target: 'http://39.108.227.113:3000/mock/39',
  15 + '/service/': {
  16 + target: 'http://localhost:8085/',
17 17 changeOrigin: true,
18 18 // pathRewrite: { '^/api': '' },
19 19 },
... ...
src/pages/Order/components/CheckModal.tsx
  1 +import { postServiceOrderCheckOrder } from '@/services';
1 2 import { ModalForm, ProFormTextArea } from '@ant-design/pro-components';
2   -import { Form, message } from 'antd';
3   -
4   -export default ({ setCheckVisible }) => {
  3 +import { Button, Form, message } from 'antd';
  4 +export default ({ setCheckVisible, data, onClose }) => {
5 5 const [form] = Form.useForm<{ name: string; company: string }>();
  6 + let subOrderIds: any[] = [];
  7 + const subOrderList = data.subOrderInformationLists;
  8 + //是单条子订单审核
  9 + if (subOrderList === undefined) {
  10 + subOrderIds = [data.id];
  11 + } else {
  12 + subOrderIds = subOrderList.map((subOrder) => subOrder.id);
  13 + }
  14 + async function doCheck(body: object) {
  15 + const res = await postServiceOrderCheckOrder({
  16 + data: body,
  17 + });
  18 + if (res.result === 0) {
  19 + message.success(res.message);
  20 + } else {
  21 + message.error(res.message);
  22 + }
  23 + onClose();
  24 + return true;
  25 + }
6 26 return (
7 27 <ModalForm<{
8 28 name: string;
... ... @@ -21,12 +41,35 @@ export default ({ setCheckVisible }) =&gt; {
21 41 setCheckVisible(false);
22 42 },
23 43 }}
  44 + submitter={{
  45 + render: (props, defaultDoms) => {
  46 + return [
  47 + <Button
  48 + key="驳回"
  49 + onClick={() => {
  50 + doCheck({
  51 + flag: false,
  52 + ids: subOrderIds,
  53 + checkNotes: form.getFieldValue('name'),
  54 + });
  55 + }}
  56 + >
  57 + 驳回
  58 + </Button>,
  59 + defaultDoms[1],
  60 + ];
  61 + },
  62 + }}
24 63 submitTimeout={2000}
25 64 onFinish={async (values) => {
26   - console.log(values.name);
27   - message.success('提交成功');
28   - return true;
  65 + //审核通过
  66 + return doCheck({
  67 + flag: true,
  68 + ids: subOrderIds,
  69 + checkNotes: values.name,
  70 + });
29 71 }}
  72 + onOpenChange={setCheckVisible}
30 73 >
31 74 <div>请特别注意订单总金额与订单金额。</div>
32 75 <ProFormTextArea
... ...
src/pages/Order/components/DeliverModal.tsx
  1 +import { enumToSelect } from '@/utils';
1 2 import {
2 3 ProColumns,
3 4 ProForm,
  5 + ProFormSelect,
4 6 ProFormText,
5 7 ProTable,
6 8 } from '@ant-design/pro-components';
7   -import { Button, Input, InputNumber, Modal } from 'antd';
  9 +import { Button, InputNumber, Modal } from 'antd';
8 10 import { cloneDeep } from 'lodash';
9 11 import { useEffect, useRef, useState } from 'react';
  12 +import { LOGISTICS_STATUS_OPTIONS } from '../constant';
10 13  
11 14 const DeliverModal = ({ data: propsData, onClose }) => {
12 15 const [data, setData] = useState(propsData || {});
... ... @@ -40,18 +43,21 @@ const DeliverModal = ({ data: propsData, onClose }) =&gt; {
40 43 {
41 44 title: '物流方式',
42 45 width: 180,
43   - key: 'paymentChannel',
44   - render: (_, record, index) => (
45   - <Input
46   - value={record.paymentChannel}
47   - onChange={handleChange('paymentChannel', index)}
  46 + key: 'logisticsMethod',
  47 + render: () => (
  48 + <ProFormSelect
  49 + placeholder="请输入物流方式"
  50 + name="logisticsMethod"
  51 + width="lg"
  52 + label="物流方式"
  53 + options={enumToSelect(LOGISTICS_STATUS_OPTIONS)}
48 54 />
49 55 ),
50 56 },
51 57 {
52 58 title: '物流单号',
53 59 width: 180,
54   - key: 'productCode',
  60 + key: 'serialNumber',
55 61 render: (_, record, index) => (
56 62 <InputNumber
57 63 value={record.productCode}
... ...
src/pages/Order/components/OrderDrawer.tsx
1   -import { postErpOrderAdd } from '@/services';
  1 +import { postServiceOrderAddOrder } from '@/services';
  2 +import { enumToSelect } from '@/utils';
2 3 import {
3 4 DrawerForm,
4 5 FormListActionType,
5 6 ProCard,
  7 + ProFormDateTimePicker,
6 8 ProFormGroup,
7 9 ProFormList,
  10 + ProFormSelect,
8 11 ProFormText,
  12 + ProFormTextArea,
9 13 } from '@ant-design/pro-components';
10 14 import { Form, message } from 'antd';
11 15 import { useEffect, useRef } from 'react';
12   -import { useFieldAuth } from '../hooks';
13   -import { OPERATION_TYPE } from '../type.d';
  16 +import {
  17 + INVOCING_STATUS_OPTIONS,
  18 + PAYMENT_CHANNEL_OPTIONS,
  19 + PAYMENT_METHOD_OPTIONS,
  20 + PRODUCT_BELONG_DEPARTMENT_OPTIONS,
  21 +} from '../constant';
14 22  
15 23 export default ({ onClose, data }) => {
16   - const { authFields } = useFieldAuth({
17   - operation: data?.id ? OPERATION_TYPE.EDIT : OPERATION_TYPE.CREATE,
18   - });
  24 + console.log('');
19 25 const [form] = Form.useForm<{ name: string; company: string }>();
20 26 const actionRef = useRef<
21 27 FormListActionType<{
... ... @@ -35,7 +41,48 @@ export default ({ onClose, data }) =&gt; {
35 41 company: string;
36 42 }>
37 43 open
  44 + width="35%"
38 45 title="新建订单"
  46 + initialValues={{
  47 + customerName: '123',
  48 + customerContactNumber: '123',
  49 + institution: '123',
  50 + institutionContactName: '123',
  51 + customerShippingAddress: '123123',
  52 + totalPayment: '12312',
  53 + paymentChannel: 'BANK_TRANSFER',
  54 + paymentMethod: 'PAYMENT_IN_ADVANCE',
  55 + productBelongBusiness: 'EXPERIMENTAL_CONSUMABLES',
  56 + invoicingStatus: 'INVOICED',
  57 + invoiceIdentificationNumber: '12312',
  58 + invoicingTime: '2023-11-29 23:19:15',
  59 + bank: '123',
  60 + bankAccountNumber: '1231',
  61 + notes: '123',
  62 + list: [
  63 + {
  64 + productCode: 'qweq',
  65 + productName: 'qweqwe',
  66 + quantity: '99',
  67 + productPrice: '12313',
  68 + parameters: 'qweq',
  69 + subOrderPayment: '1231',
  70 + unit: 'qweq',
  71 + serialNumber: 'qwewqe',
  72 + notes: 'qweqw',
  73 + },
  74 + {
  75 + productName: 'asdsda',
  76 + productCode: 'dasda',
  77 + parameters: 'sdasa',
  78 + quantity: '99',
  79 + productPrice: '123',
  80 + unit: '123',
  81 + subOrderPayment: '123',
  82 + serialNumber: 'adadas',
  83 + },
  84 + ],
  85 + }}
39 86 resize={{
40 87 onResize() {
41 88 console.log('resize!');
... ... @@ -52,13 +99,10 @@ export default ({ onClose, data }) =&gt; {
52 99 }}
53 100 submitTimeout={2000}
54 101 onFinish={async (values) => {
55   - console.log(form);
56   - console.log(values);
57   - await postErpOrderAdd({ values });
58   - console.log(values.name);
  102 + await postServiceOrderAddOrder({ data: values });
59 103 message.success('提交成功');
60 104 // 不返回不会关闭弹框
61   - // onClose();
  105 + onClose();
62 106 return true;
63 107 }}
64 108 onOpenChange={(val) => {
... ... @@ -67,37 +111,30 @@ export default ({ onClose, data }) =&gt; {
67 111 >
68 112 <h2>订单基本信息</h2>
69 113 <ProFormText
70   - name="id"
71   - width="lg"
72   - label="订单编号"
73   - placeholder="请输入订单编号"
74   - disabled={authFields.id}
75   - />
76   - <ProFormText
77   - width="lg"
78 114 name="salesCode"
79   - label="销售代号"
80   - placeholder="请输入销售代号"
81   - disabled={authFields.salesCode}
  115 + width="lg"
  116 + disabled
  117 + label="销售代表"
  118 + placeholder="请输入销售代表"
  119 + initialValue="JOJO"
82 120 />
83 121 <ProFormText
84 122 name="customerName"
85 123 width="lg"
86 124 label="收货人"
87 125 placeholder="请输入收货人"
88   - disabled={authFields.customerName}
89 126 />
90 127 <ProFormText
91 128 width="lg"
92 129 name="customerContactNumber"
93   - label="收货人联系手机号"
94   - placeholder="请输入收货人联系手机号"
  130 + label="联系方式"
  131 + placeholder="请输入联系方式"
95 132 />
96 133 <ProFormText
97 134 width="lg"
98   - name="customerShippingAddress"
99   - label="收货人地址信息"
100   - placeholder="请输入收货人地址信息"
  135 + name="institution"
  136 + label="单位"
  137 + placeholder="请输入单位"
101 138 />
102 139 <ProFormText
103 140 width="lg"
... ... @@ -105,20 +142,85 @@ export default ({ onClose, data }) =&gt; {
105 142 label="单位联系人"
106 143 placeholder="请输入单位联系人"
107 144 />
  145 + <ProFormTextArea
  146 + width="lg"
  147 + name="customerShippingAddress"
  148 + label="收货地址"
  149 + placeholder="请输入收货地址"
  150 + />
  151 + <ProFormText name="totalPayment" width="lg" label="支付总额(¥)" />
  152 + <ProFormSelect
  153 + placeholder="请输入支付渠道"
  154 + name="paymentChannel"
  155 + width="lg"
  156 + label="支付渠道"
  157 + options={enumToSelect(PAYMENT_CHANNEL_OPTIONS)}
  158 + />
  159 + <ProFormSelect
  160 + placeholder="请输入支付方式"
  161 + name="paymentMethod"
  162 + width="lg"
  163 + label="支付方式"
  164 + options={enumToSelect(PAYMENT_METHOD_OPTIONS)}
  165 + />
  166 + <ProFormSelect
  167 + placeholder="请输入所属事业部"
  168 + name="productBelongBusiness"
  169 + width="lg"
  170 + label="所属事业部"
  171 + options={enumToSelect(PRODUCT_BELONG_DEPARTMENT_OPTIONS)}
  172 + />
  173 + <ProFormSelect
  174 + placeholder="选择是否要开票"
  175 + name="invoicingStatus"
  176 + width="lg"
  177 + label="是否要开票"
  178 + options={enumToSelect(INVOCING_STATUS_OPTIONS)}
  179 + />
108 180 <ProFormText
109 181 width="lg"
110   - name="institution"
111   - label="单位"
112   - placeholder="请输入单位"
  182 + name="invoiceIdentificationNumber"
  183 + label="开票信息"
  184 + placeholder="请输入开票信息"
  185 + />
  186 + <ProFormDateTimePicker
  187 + width="lg"
  188 + name="invoicingTime"
  189 + label="开票时间"
  190 + placeholder="请输入开票时间"
  191 + />
  192 + <ProFormText
  193 + width="lg"
  194 + name="bank"
  195 + label="开户银行"
  196 + placeholder="请输入开户银行"
  197 + />
  198 + <ProFormText
  199 + width="lg"
  200 + name="bankAccountNumber"
  201 + label="银行账号"
  202 + placeholder="请输入银行账号"
  203 + />
  204 + <ProFormText
  205 + width="lg"
  206 + name="notes"
  207 + label="备注"
  208 + placeholder="请输入备注"
113 209 />
114 210  
115   - <h2>商品基本信息</h2>
  211 + {/* <h2>商品基本信息</h2>
116 212 <ProFormText width="lg" name="totalPayment" label="支付总金额" />
117   - <ProFormText
  213 + <ProFormSelect
  214 + disabled
  215 + placeholder="请输入物流方式"
  216 + name="logisticsMethod"
118 217 width="lg"
119   - name="logisticsStatus"
120 218 label="物流方式"
121   - placeholder="请输入物流方式"
  219 + request={async () => {
  220 + // 发送请求获取选项数据
  221 + const { data } = await getServiceOrderProvideLogisticsStatus();
  222 + return enumToSelect(data);
  223 + }}
122 224 />
123 225 <ProFormText
124 226 width="lg"
... ... @@ -126,17 +228,28 @@ export default ({ onClose, data }) =&gt; {
126 228 label="支付状态"
127 229 placeholder="请输入支付状态"
128 230 />
129   - <ProFormText
130   - width="lg"
  231 +
  232 + <ProFormSelect
  233 + placeholder="请输入支付方式"
131 234 name="paymentMethod"
  235 + width="lg"
132 236 label="支付方式"
133   - placeholder="请输入支付方式"
  237 + request={async () => {
  238 + // 发送请求获取选项数据
  239 + const { data } = await getServiceOrderProvidePaymentMethod();
  240 + return enumToSelect(data);
  241 + }}
134 242 />
135   - <ProFormText
136   - width="lg"
  243 + <ProFormSelect
  244 + placeholder="请输入支付渠道"
137 245 name="paymentChannel"
  246 + width="lg"
138 247 label="支付渠道"
139   - placeholder="请输入支付渠道"
  248 + request={async () => {
  249 + // 发送请求获取选项数据
  250 + const { data } = await getServiceOrderProvidePaymentChannel();
  251 + return enumToSelect(data);
  252 + }}
140 253 />
141 254 <ProFormText
142 255 width="lg"
... ... @@ -185,11 +298,11 @@ export default ({ onClose, data }) =&gt; {
185 298 name="orderStatus"
186 299 label="订单状态"
187 300 placeholder="请输入订单状态"
188   - />
  301 + /> */}
189 302  
190 303 <h2>商品信息</h2>
191 304 <ProFormList
192   - name="subOrderInformationLists"
  305 + name="list"
193 306 label=""
194 307 initialValue={[
195 308 {
... ... @@ -217,11 +330,14 @@ export default ({ onClose, data }) =&gt; {
217 330 return;
218 331 }
219 332 rowNumber.current = 1;
220   - setTimeout(() => resolve(true), 1000);
  333 + setTimeout(() => {
  334 + resolve(true);
  335 + }, 1000);
221 336 });
222 337 },
223 338 }}
224   - itemRender={({ listDom, action }) => {
  339 + itemRender={({ listDom, action }, {}) => {
  340 + // const list = actionRef.current?.getList();
225 341 return (
226 342 <ProCard
227 343 bordered
... ... @@ -239,47 +355,60 @@ export default ({ onClose, data }) =&gt; {
239 355 >
240 356 <ProFormGroup key="group">
241 357 <ProFormText
242   - width="md"
  358 + width="lg"
  359 + name="productName"
  360 + label="商品名称"
  361 + placeholder="请输入商品名称"
  362 + />
  363 + <ProFormText
  364 + width="lg"
243 365 name="productCode"
244 366 label="商品编码"
245   - placeholder="请输入商品编码"
  367 + placeholder="未输入商品名称"
246 368 />
247 369 <ProFormText
248   - width="md"
249   - name="productName"
250   - label="商品名称"
251   - placeholder="请输入商品名称"
  370 + width="lg"
  371 + name="parameters"
  372 + label="商品参数"
  373 + placeholder="请输入商品参数"
252 374 />
253 375 <ProFormText
254   - width="md"
  376 + width="lg"
255 377 name="quantity"
256 378 label="商品数量"
257 379 placeholder="请输入商品数量"
258 380 />
259 381 <ProFormText
260   - width="md"
  382 + width="lg"
261 383 name="productPrice"
262 384 label="商品单价"
263 385 placeholder="请输入商品单价"
264 386 />
265 387 <ProFormText
266   - width="md"
  388 + width="lg"
267 389 name="unit"
268 390 label="价格单位"
269 391 placeholder="请输入价格单位"
270 392 />
  393 +
271 394 <ProFormText
272   - width="md"
273   - name="parameters"
274   - label="商品参数"
275   - placeholder="请输入商品参数"
276   - />
277   - <ProFormText
278   - width="md"
  395 + width="lg"
279 396 name="subOrderPayment"
280 397 label="子订单金额"
281 398 placeholder="请输入子订单金额"
282 399 />
  400 + <ProFormText
  401 + width="lg"
  402 + name="serialNumber"
  403 + label="物流单号"
  404 + placeholder="请输入物流单号"
  405 + />
  406 + <ProFormText
  407 + width="lg"
  408 + name="notes"
  409 + label="备注"
  410 + placeholder="请输入备注"
  411 + />
283 412 </ProFormGroup>
284 413 </ProFormList>
285 414  
... ...
src/pages/Order/constant.ts
... ... @@ -182,3 +182,41 @@ export const SUB_ORDER_COLUMNS = [
182 182 component: 'tag',
183 183 },
184 184 ];
  185 +
  186 +export const PAYMENT_CHANNEL_OPTIONS = {
  187 + ALIPAY: '支付宝',
  188 + WECHAT: '微信',
  189 + BANK_TRANSFER: '银行转账',
  190 +};
  191 +
  192 +export const PAYMENT_METHOD_OPTIONS = {
  193 + PAYMENT_IN_ADVANCE: '预付',
  194 + CASH_ON_DELIVERY: '货到付款',
  195 +};
  196 +
  197 +export const PRODUCT_BELONG_DEPARTMENT_OPTIONS = {
  198 + APPLICATION_PROJECT: '应用项目事业部门',
  199 + TEST: '测试事业部门',
  200 + CUSTOMIZATION: '定制化事业部门',
  201 + EXPERIMENTAL_EQUIPMENT: '实验设备事业部门',
  202 + EXPERIMENTAL_CONSUMABLES: '实验耗材事业部门',
  203 +};
  204 +
  205 +export const INVOCING_STATUS_OPTIONS = {
  206 + UN_INVOICE: '未开票',
  207 + INVOICED: '已开票',
  208 +};
  209 +
  210 +export const LOGISTICS_STATUS_OPTIONS = {
  211 + JINGDONG_LOGISTICS: '京东物流',
  212 + DEBANG_LOGISTICS: '德邦物流',
  213 +};
  214 +
  215 +export const ORDER_STATUS_OPTIONS = {
  216 + CONFIRM_RECEIPT: '确认收货',
  217 + UNAUDITED: '未审核',
  218 + AUDITED: '已审核',
  219 + WAIT_SHIP: '待发货',
  220 + AUDIT_FAILED: '审核失败',
  221 + SHIPPED: '已发货',
  222 +};
... ...
src/pages/Order/index.tsx
1 1 import ButtonConfirm from '@/components/ButtomConfirm';
2   -import { postErpOrderListByPage } from '@/services';
  2 +import { postServiceOrderQueryServiceOrder } from '@/services';
  3 +import { enumValueToLabel } from '@/utils';
3 4 import {
4 5 PageContainer,
5 6 ProColumns,
6 7 ProTable,
7 8 } from '@ant-design/pro-components';
8   -import { Button, Divider, Flex, Space, Tag, message } from 'antd';
9   -import { Key, useState } from 'react';
  9 +import { Button, Checkbox, Divider, Flex, Space, Tag, message } from 'antd';
  10 +import { Key, useRef, useState } from 'react';
10 11 import CheckModal from './components/CheckModal';
11 12 import DeliverModal from './components/DeliverModal';
12 13 import OrderDrawer from './components/OrderDrawer';
13   -import { MAIN_ORDER_COLUMNS, SUB_ORDER_COLUMNS } from './constant';
  14 +import {
  15 + INVOCING_STATUS_OPTIONS,
  16 + MAIN_ORDER_COLUMNS,
  17 + ORDER_STATUS_OPTIONS,
  18 + PAYMENT_CHANNEL_OPTIONS,
  19 + PAYMENT_METHOD_OPTIONS,
  20 + SUB_ORDER_COLUMNS,
  21 +} from './constant';
14 22 import './index.less';
15 23 import { OrderListItemType, OrderType } from './type.d';
16 24  
... ... @@ -20,27 +28,23 @@ const OrderPage = () =&gt; {
20 28 const [deliverVisible, setDeliverVisible] = useState<boolean>(false);
21 29 const [expandedRowKeys, setExpandedRowKeys] = useState<Key[]>([]);
22 30 const [orderRow, setOrderRow] = useState<Partial<OrderType>>({});
23   - const [subOrderShowText, setSubOrderShowText] = useState('订单详情');
24 31  
25 32 const [selectedRows, setSelectedRows] = useState({});
26 33 const [selectedRowObj, setSelectedRowObj] = useState({});
  34 + const [selectedItems, setSelectedItems] = useState([]);
  35 + const mainTableRef = useRef();
27 36  
28   - // const onCheckboxChange = (itemKey: number) => {
29   - // const newSelectedItems = selectedItems.includes(itemKey)
30   - // ? selectedItems.filter((key) => key !== itemKey)
31   - // : [...selectedItems, itemKey];
  37 + const onCheckboxChange = (itemKey: never) => {
  38 + const newSelectedItems = selectedItems.includes(itemKey)
  39 + ? selectedItems.filter((key) => key !== itemKey)
  40 + : [...selectedItems, itemKey];
32 41  
33   - // setSelectedItems(newSelectedItems);
34   - // };
  42 + setSelectedItems(newSelectedItems);
  43 + };
35 44  
36 45 // 主订单内容渲染
37 46 const MainOrderColumnRender = ({ record }: { record: OrderListItemType }) => {
38 47 const handleExpand = (key: number) => {
39   - if (expandedRowKeys.includes(key)) {
40   - setSubOrderShowText('查看详情');
41   - } else {
42   - setSubOrderShowText('收起详情');
43   - }
44 48 const newExpandedRowKeys = expandedRowKeys.includes(key)
45 49 ? expandedRowKeys.filter((k) => k !== key)
46 50 : [...expandedRowKeys, key];
... ... @@ -51,15 +55,15 @@ const OrderPage = () =&gt; {
51 55 <Flex vertical={true}>
52 56 {/* 编号、时间、销售信息 */}
53 57 <Flex justify="space-between" className="px-2 py-4 bg-gray-100">
54   - {/* <Checkbox
55   - onChange={() => onCheckboxChange(record.main_order_id)}
56   - checked={selectedItems.includes(record.main_order_id)}
57   - > */}
58   - <Flex wrap="wrap" gap="middle">
59   - <div>{record.createTime}</div>
60   - <div>订单编号:{record.main_order_id}</div>
61   - </Flex>
62   - {/* </Checkbox> */}
  58 + <Checkbox
  59 + onChange={() => onCheckboxChange(record.id)}
  60 + checked={selectedItems.includes(record.id)}
  61 + >
  62 + <Flex wrap="wrap" gap="middle">
  63 + <div>{record.createTime}</div>
  64 + <div>订单编号:{record.main_order_id}</div>
  65 + </Flex>
  66 + </Checkbox>
63 67 </Flex>
64 68 {/* 收货、开票、备注信息 */}
65 69 <Flex justify="space-between" className="px-2 py-4">
... ... @@ -156,6 +160,7 @@ const OrderPage = () =&gt; {
156 160 className="p-0"
157 161 type="link"
158 162 onClick={() => {
  163 + setOrderRow(record);
159 164 setCheckVisible(true);
160 165 }}
161 166 >
... ... @@ -176,7 +181,7 @@ const OrderPage = () =&gt; {
176 181 onClick={() => handleExpand(record.id)}
177 182 size="small"
178 183 >
179   - {subOrderShowText}
  184 + {expandedRowKeys.includes(record.id) ? '收起详情' : '订单详情'}
180 185 </Button>
181 186 </Space.Compact>
182 187 </Space>
... ... @@ -211,11 +216,30 @@ const OrderPage = () =&gt; {
211 216 return {
212 217 ...item,
213 218 render: (text: string) => {
  219 + let label = enumValueToLabel(text, ORDER_STATUS_OPTIONS);
  220 + console.log('label:' + label);
  221 + if (label === undefined) {
  222 + label = enumValueToLabel(text, INVOCING_STATUS_OPTIONS);
  223 + }
214 224 let color = 'gold';
215   - if (text === '已开票' || text === '已审核') {
  225 + if (label === '已开票' || label === '已审核') {
216 226 color = 'green';
217 227 }
218   - return <Tag color={color}>{text}</Tag>;
  228 + return <Tag color={color}>{label}</Tag>;
  229 + },
  230 + };
  231 + }
  232 +
  233 + //枚举字段处理
  234 + if (item.key === 'paymentMethod' || item.key === 'paymentChannel') {
  235 + return {
  236 + ...item,
  237 + render: (text: string) => {
  238 + let label = enumValueToLabel(text, PAYMENT_CHANNEL_OPTIONS);
  239 + if (label === undefined) {
  240 + label = enumValueToLabel(text, PAYMENT_METHOD_OPTIONS);
  241 + }
  242 + return label;
219 243 },
220 244 };
221 245 }
... ... @@ -227,9 +251,15 @@ const OrderPage = () =&gt; {
227 251 dataIndex: 'operation',
228 252 key: 'operation',
229 253 align: 'center',
230   - render: () => (
  254 + render: (optText, optRecord) => (
231 255 <Flex>
232   - <Button type="link" size="small">
  256 + <Button
  257 + type="link"
  258 + size="small"
  259 + onClick={() => {
  260 + mainTableRef.current?.reload();
  261 + }}
  262 + >
233 263 编辑
234 264 </Button>
235 265 <Button
... ... @@ -237,7 +267,7 @@ const OrderPage = () =&gt; {
237 267 size="small"
238 268 onClick={() => {
239 269 setCheckVisible(true);
240   - setOrderRow(record);
  270 + setOrderRow(optRecord);
241 271 }}
242 272 >
243 273 审核
... ... @@ -294,6 +324,7 @@ const OrderPage = () =&gt; {
294 324 }}
295 325 >
296 326 <ProTable
  327 + actionRef={mainTableRef}
297 328 expandIconColumnIndex={-1}
298 329 columns={mainOrdersColumns}
299 330 rowKey="id"
... ... @@ -318,7 +349,7 @@ const OrderPage = () =&gt; {
318 349 sorter,
319 350 filter,
320 351 ) => {
321   - const { data } = await postErpOrderListByPage({
  352 + const { data } = await postServiceOrderQueryServiceOrder({
322 353 // ...params,
323 354 // FIXME: remove @ts-ignore
324 355 // @ts-ignore
... ... @@ -336,7 +367,7 @@ const OrderPage = () =&gt; {
336 367 <Button key="out" onClick={() => setOrderDrawerVisible(true)}>
337 368 新增
338 369 </Button>,
339   - <Button key="primary" type="primary">
  370 + <Button key="primary" type="primary" onClick={() => {}}>
340 371 导出
341 372 </Button>,
342 373 ]}
... ... @@ -348,17 +379,19 @@ const OrderPage = () =&gt; {
348 379 onClose={() => {
349 380 setOrderDrawerVisible(false);
350 381 setOrderRow({});
  382 + mainTableRef.current?.reload();
351 383 }}
352 384 />
353 385 )}
354 386  
355 387 {checkVisible && (
356 388 <CheckModal
357   - data={orderRow}
358 389 setCheckVisible={setCheckVisible}
  390 + data={orderRow}
359 391 onClose={() => {
360 392 setCheckVisible(false);
361 393 setOrderRow({});
  394 + mainTableRef.current?.reload();
362 395 }}
363 396 />
364 397 )}
... ...
src/services/definition.ts
... ... @@ -2,3 +2,844 @@
2 2 /* tslint:disable */
3 3 /** Do not modify manually.
4 4 content is generated automatically by `ts-gear`. */
  5 +export type ModelAndViewStatus =
  6 + | '100 CONTINUE'
  7 + | '101 SWITCHING_PROTOCOLS'
  8 + | '102 PROCESSING'
  9 + | '103 CHECKPOINT'
  10 + | '200 OK'
  11 + | '201 CREATED'
  12 + | '202 ACCEPTED'
  13 + | '203 NON_AUTHORITATIVE_INFORMATION'
  14 + | '204 NO_CONTENT'
  15 + | '205 RESET_CONTENT'
  16 + | '206 PARTIAL_CONTENT'
  17 + | '207 MULTI_STATUS'
  18 + | '208 ALREADY_REPORTED'
  19 + | '226 IM_USED'
  20 + | '300 MULTIPLE_CHOICES'
  21 + | '301 MOVED_PERMANENTLY'
  22 + | '302 FOUND'
  23 + | '302 MOVED_TEMPORARILY'
  24 + | '303 SEE_OTHER'
  25 + | '304 NOT_MODIFIED'
  26 + | '305 USE_PROXY'
  27 + | '307 TEMPORARY_REDIRECT'
  28 + | '308 PERMANENT_REDIRECT'
  29 + | '400 BAD_REQUEST'
  30 + | '401 UNAUTHORIZED'
  31 + | '402 PAYMENT_REQUIRED'
  32 + | '403 FORBIDDEN'
  33 + | '404 NOT_FOUND'
  34 + | '405 METHOD_NOT_ALLOWED'
  35 + | '406 NOT_ACCEPTABLE'
  36 + | '407 PROXY_AUTHENTICATION_REQUIRED'
  37 + | '408 REQUEST_TIMEOUT'
  38 + | '409 CONFLICT'
  39 + | '410 GONE'
  40 + | '411 LENGTH_REQUIRED'
  41 + | '412 PRECONDITION_FAILED'
  42 + | '413 PAYLOAD_TOO_LARGE'
  43 + | '413 REQUEST_ENTITY_TOO_LARGE'
  44 + | '414 URI_TOO_LONG'
  45 + | '414 REQUEST_URI_TOO_LONG'
  46 + | '415 UNSUPPORTED_MEDIA_TYPE'
  47 + | '416 REQUESTED_RANGE_NOT_SATISFIABLE'
  48 + | '417 EXPECTATION_FAILED'
  49 + | '418 I_AM_A_TEAPOT'
  50 + | '419 INSUFFICIENT_SPACE_ON_RESOURCE'
  51 + | '420 METHOD_FAILURE'
  52 + | '421 DESTINATION_LOCKED'
  53 + | '422 UNPROCESSABLE_ENTITY'
  54 + | '423 LOCKED'
  55 + | '424 FAILED_DEPENDENCY'
  56 + | '425 TOO_EARLY'
  57 + | '426 UPGRADE_REQUIRED'
  58 + | '428 PRECONDITION_REQUIRED'
  59 + | '429 TOO_MANY_REQUESTS'
  60 + | '431 REQUEST_HEADER_FIELDS_TOO_LARGE'
  61 + | '451 UNAVAILABLE_FOR_LEGAL_REASONS'
  62 + | '500 INTERNAL_SERVER_ERROR'
  63 + | '501 NOT_IMPLEMENTED'
  64 + | '502 BAD_GATEWAY'
  65 + | '503 SERVICE_UNAVAILABLE'
  66 + | '504 GATEWAY_TIMEOUT'
  67 + | '505 HTTP_VERSION_NOT_SUPPORTED'
  68 + | '506 VARIANT_ALSO_NEGOTIATES'
  69 + | '507 INSUFFICIENT_STORAGE'
  70 + | '508 LOOP_DETECTED'
  71 + | '509 BANDWIDTH_LIMIT_EXCEEDED'
  72 + | '510 NOT_EXTENDED'
  73 + | '511 NETWORK_AUTHENTICATION_REQUIRED';
  74 +export interface AdminAuthRoleVO {
  75 + menuIds?: Array<number>;
  76 + /** @format int64 */
  77 + roleId?: number;
  78 +}
  79 +
  80 +export interface AdminAuthUserVO {
  81 + roleIds?: Array<number>;
  82 + /** @format int64 */
  83 + userId?: number;
  84 +}
  85 +
  86 +export interface AdminDeptQueryVO {
  87 + /** @format int32 */
  88 + current?: number;
  89 + /** @format int64 */
  90 + id?: number;
  91 + ids?: Array<number>;
  92 + name?: string;
  93 + /** @format int32 */
  94 + pageSize?: number;
  95 + /** @format int64 */
  96 + pid?: number;
  97 + /** @format int32 */
  98 + total?: number;
  99 +}
  100 +
  101 +export interface AdminDeptVO {
  102 + /** @format int64 */
  103 + id?: number;
  104 + name?: string;
  105 + /** @format int64 */
  106 + pid?: number;
  107 +}
  108 +
  109 +export interface AdminJobQueryVO {
  110 + /** @format int32 */
  111 + current?: number;
  112 + /** @format int64 */
  113 + id?: number;
  114 + ids?: Array<number>;
  115 + name?: string;
  116 + /** @format int32 */
  117 + pageSize?: number;
  118 + /** @format int32 */
  119 + sort?: number;
  120 + /** @format int32 */
  121 + total?: number;
  122 +}
  123 +
  124 +export interface AdminJobVO {
  125 + /** @format int64 */
  126 + id?: number;
  127 + name?: string;
  128 + /** @format int32 */
  129 + sort?: number;
  130 +}
  131 +
  132 +export interface AdminMenuQueryVO {
  133 + /** @format int32 */
  134 + cache?: number;
  135 + component?: string;
  136 + /** @format int32 */
  137 + current?: number;
  138 + /** @format int32 */
  139 + hidden?: number;
  140 + icon?: string;
  141 + /** @format int64 */
  142 + id?: number;
  143 + ids?: Array<number>;
  144 + /** @format int32 */
  145 + iframe?: number;
  146 + name?: string;
  147 + /** @format int32 */
  148 + pageSize?: number;
  149 + path?: string;
  150 + permission?: string;
  151 + /** @format int64 */
  152 + pid?: number;
  153 + /** @format int32 */
  154 + total?: number;
  155 + /** @format int32 */
  156 + type?: number;
  157 +}
  158 +
  159 +export interface AdminMenuVO {
  160 + /** @format int32 */
  161 + cache?: number;
  162 + component?: string;
  163 + /** @format int32 */
  164 + hidden?: number;
  165 + icon?: string;
  166 + /** @format int64 */
  167 + id?: number;
  168 + /** @format int32 */
  169 + iframe?: number;
  170 + name?: string;
  171 + path?: string;
  172 + permission?: string;
  173 + /** @format int64 */
  174 + pid?: number;
  175 + title?: string;
  176 + /** @format int32 */
  177 + type?: number;
  178 +}
  179 +
  180 +export interface AdminRoleQueryVO {
  181 + /** @format int32 */
  182 + current?: number;
  183 + dataScope?: string;
  184 + /** @format int64 */
  185 + id?: number;
  186 + ids?: Array<number>;
  187 + /** @format int32 */
  188 + level?: number;
  189 + name?: string;
  190 + /** @format int32 */
  191 + pageSize?: number;
  192 + permission?: string;
  193 + remark?: string;
  194 + /** @format int32 */
  195 + total?: number;
  196 +}
  197 +
  198 +export interface AdminRoleVO {
  199 + dataScope?: string;
  200 + description?: string;
  201 + /** @format int64 */
  202 + id?: number;
  203 + /** @format int32 */
  204 + level?: number;
  205 + name?: string;
  206 +}
  207 +
  208 +export interface AdminUserLoginByPhoneVO {
  209 + /** @format int32 */
  210 + current?: number;
  211 + /** @format int32 */
  212 + pageSize?: number;
  213 + phone?: string;
  214 + smsCaptchaCode?: string;
  215 + /** @format int32 */
  216 + total?: number;
  217 +}
  218 +
  219 +export interface AdminUserLoginByPwdVO {
  220 + /** @format int32 */
  221 + current?: number;
  222 + imgCaptchaCode?: string;
  223 + imgCaptchaUuid?: string;
  224 + /** @format int32 */
  225 + pageSize?: number;
  226 + password?: string;
  227 + /** @format int32 */
  228 + total?: number;
  229 + userName?: string;
  230 +}
  231 +
  232 +export interface AdminUserModifyPwdVO {
  233 + confirmPassword?: string;
  234 + /** @format int32 */
  235 + current?: number;
  236 + /** @format int32 */
  237 + pageSize?: number;
  238 + password?: string;
  239 + phone?: string;
  240 + smsCaptchaCode?: string;
  241 + /** @format int32 */
  242 + total?: number;
  243 +}
  244 +
  245 +export interface AdminUserPasswordRecoverEmailVO {
  246 + /** @format int32 */
  247 + current?: number;
  248 + /** @format int32 */
  249 + pageSize?: number;
  250 + /** @format int32 */
  251 + total?: number;
  252 + userName?: string;
  253 +}
  254 +
  255 +export interface AdminUserQueryVO {
  256 + /** @format int32 */
  257 + current?: number;
  258 + email?: string;
  259 + /** @format int64 */
  260 + id?: number;
  261 + ids?: Array<number>;
  262 + nickName?: string;
  263 + /** @format int32 */
  264 + pageSize?: number;
  265 + password?: string;
  266 + phone?: string;
  267 + sex?: string;
  268 + /** @format int32 */
  269 + total?: number;
  270 + userName?: string;
  271 + workerType?: string;
  272 +}
  273 +
  274 +export interface AdminUserRegisterVO {
  275 + confirmPassword?: string;
  276 + /** @format int32 */
  277 + current?: number;
  278 + email?: string;
  279 + isAgreeAgreement?: boolean;
  280 + /** @format int32 */
  281 + pageSize?: number;
  282 + password?: string;
  283 + phone?: string;
  284 + safeAnswer?: string;
  285 + safeQuestion?: string;
  286 + smsCaptchaCode?: string;
  287 + /** @format int32 */
  288 + total?: number;
  289 + userName?: string;
  290 +}
  291 +
  292 +export interface AdminUserVO {
  293 + avatarName?: string;
  294 + avatarPath?: string;
  295 + /** @format int64 */
  296 + deptId?: number;
  297 + email?: string;
  298 + gender?: string;
  299 + /** @format int64 */
  300 + id?: number;
  301 + isAdmin?: boolean;
  302 + nickName?: string;
  303 + password?: string;
  304 + phone?: string;
  305 + /** @format date-time */
  306 + pwdResetTime?: string;
  307 + remark?: string;
  308 + /** @format int64 */
  309 + roleId?: number;
  310 + userName?: string;
  311 +}
  312 +
  313 +export interface AuditVO {
  314 + /** @format int32 */
  315 + current?: number;
  316 + /** @format int64 */
  317 + id?: number;
  318 + /** @format int32 */
  319 + pageSize?: number;
  320 + /** @format int32 */
  321 + status?: number;
  322 + /** @format int32 */
  323 + total?: number;
  324 +}
  325 +
  326 +export interface CaptchaMessageVO {
  327 + /** @format int32 */
  328 + current?: number;
  329 + imgCaptchaCode?: string;
  330 + imgCaptchaUuid?: string;
  331 + /** @format int32 */
  332 + pageSize?: number;
  333 + phone?: string;
  334 + /** @format int32 */
  335 + total?: number;
  336 + type?: string;
  337 +}
  338 +
  339 +export interface DictionaryQueryVO {
  340 + /** @format int32 */
  341 + current?: number;
  342 + dictCode?: string;
  343 + dictName?: string;
  344 + dictValue?: string;
  345 + /** @format int64 */
  346 + id?: number;
  347 + ids?: Array<number>;
  348 + /** @format int32 */
  349 + pageSize?: number;
  350 + remark?: string;
  351 + /** @format int32 */
  352 + sort?: number;
  353 + /** @format int32 */
  354 + total?: number;
  355 +}
  356 +
  357 +export interface DictionaryVO {
  358 + dictCode?: string;
  359 + dictName?: string;
  360 + dictValue?: string;
  361 + /** @format int64 */
  362 + id?: number;
  363 + remark?: string;
  364 + /** @format int32 */
  365 + sort?: number;
  366 +}
  367 +
  368 +export interface ModelAndView {
  369 + empty?: boolean;
  370 + model?: any;
  371 + modelMap?: {
  372 + [propertyName: string]: any;
  373 + };
  374 + reference?: boolean;
  375 + status?: ModelAndViewStatus;
  376 + view?: View;
  377 + viewName?: string;
  378 +}
  379 +
  380 +export interface OrderAddVO {
  381 + baseInfo?: OrderBaseInfoVO;
  382 + inspectionStageInfo?: OrderInspectionStageVO;
  383 + profitAnalysisInfo?: OrderProfitAnalysisVO;
  384 + reportInfo?: OrderCompletionReportVO;
  385 + trackStageInfo?: OrderTrackStageVO;
  386 +}
  387 +
  388 +export interface OrderAuditLogQueryVO {
  389 + /** @format int64 */
  390 + applyId?: number;
  391 + /** @format int32 */
  392 + current?: number;
  393 + /** @format int64 */
  394 + id?: number;
  395 + ids?: Array<number>;
  396 + optType?: string;
  397 + /** @format int64 */
  398 + orderId?: number;
  399 + /** @format int32 */
  400 + pageSize?: number;
  401 + /** @format int32 */
  402 + total?: number;
  403 +}
  404 +
  405 +export interface OrderBaseFieldVO {
  406 + cnColor?: string;
  407 + collection?: string;
  408 + customerCode?: string;
  409 + customerPo?: string;
  410 + customerStyle?: string;
  411 + innerNo?: string;
  412 + modeleLo?: string;
  413 + orderComposition?: string;
  414 + orderCount?: string;
  415 + orderHodTime?: string;
  416 + orderStatus?: string;
  417 + outboundType?: string;
  418 + packetType?: string;
  419 + picUrl?: string;
  420 + poColor?: string;
  421 + productStyle?: string;
  422 + productionComment?: string;
  423 + productionDepartment?: string;
  424 + productionDepartmentConsignTime?: string;
  425 + projectNo?: string;
  426 +}
  427 +
  428 +export interface OrderBaseInfoQueryVO {
  429 + cnColor?: string;
  430 + collection?: string;
  431 + /** @format int32 */
  432 + current?: number;
  433 + customerCode?: string;
  434 + customerPo?: string;
  435 + customerStyle?: string;
  436 + /** @format int64 */
  437 + id?: number;
  438 + ids?: Array<number>;
  439 + innerNo?: string;
  440 + modeleLo?: string;
  441 + orderComposition?: string;
  442 + /** @format int32 */
  443 + orderCount?: number;
  444 + orderHodTime?: string;
  445 + outboundType?: string;
  446 + packetType?: string;
  447 + /** @format int32 */
  448 + pageSize?: number;
  449 + picUrl?: string;
  450 + poColor?: string;
  451 + productStyle?: string;
  452 + productionComment?: string;
  453 + productionDepartment?: string;
  454 + productionDepartmentConsignTime?: string;
  455 + projectNo?: string;
  456 + /** @format int32 */
  457 + total?: number;
  458 +}
  459 +
  460 +export interface OrderBaseInfoVO {
  461 + cnColor?: string;
  462 + collection?: string;
  463 + customerCode?: string;
  464 + customerPo?: string;
  465 + customerStyle?: string;
  466 + /** @format int64 */
  467 + id?: number;
  468 + innerNo?: string;
  469 + modeleLo?: string;
  470 + orderComposition?: string;
  471 + /** @format int32 */
  472 + orderCount?: number;
  473 + orderHodTime?: string;
  474 + /** @format int32 */
  475 + orderStatus?: number;
  476 + outboundType?: string;
  477 + packetType?: string;
  478 + picUrl?: string;
  479 + poColor?: string;
  480 + productStyle?: string;
  481 + productionComment?: string;
  482 + productionDepartment?: string;
  483 + productionDepartmentConsignTime?: string;
  484 + projectNo?: string;
  485 + smallPicUrl?: string;
  486 +}
  487 +
  488 +export interface OrderCompletionReportFieldVO {
  489 + ideaManualRate?: string;
  490 + ideaSource?: string;
  491 + manualPreform?: string;
  492 + /** @format int64 */
  493 + orderId?: number;
  494 + orderStatus?: string;
  495 +}
  496 +
  497 +export interface OrderCompletionReportVO {
  498 + /** @format int64 */
  499 + id?: number;
  500 + /** @format double */
  501 + ideaManualRate?: number;
  502 + ideaSource?: string;
  503 + manualPreform?: string;
  504 + /** @format int64 */
  505 + orderId?: number;
  506 + /** @format int32 */
  507 + orderStatus?: number;
  508 +}
  509 +
  510 +export interface OrderFieldLockApplyQueryVO {
  511 + /** @format int64 */
  512 + applyUserId?: number;
  513 + /** @format int64 */
  514 + auditUserId?: number;
  515 + /** @format int32 */
  516 + current?: number;
  517 + fields?: string;
  518 + /** @format int64 */
  519 + id?: number;
  520 + ids?: Array<number>;
  521 + /** @format int64 */
  522 + orderId?: number;
  523 + /** @format int32 */
  524 + pageSize?: number;
  525 + /** @format int32 */
  526 + status?: number;
  527 + statusList?: Array<number>;
  528 + /** @format int32 */
  529 + total?: number;
  530 + /** @format int32 */
  531 + type?: number;
  532 +}
  533 +
  534 +export interface OrderInspectionStageFieldVO {
  535 + boxPacket?: string;
  536 + electroplate?: string;
  537 + endCheckApplyTime?: string;
  538 + endCheckResult?: string;
  539 + functionality?: string;
  540 + midCheckApplyTime?: string;
  541 + midCheckComment?: string;
  542 + midCheckResult?: string;
  543 + orderStatus?: string;
  544 + specification?: string;
  545 + value1?: string;
  546 + value2?: string;
  547 + value3?: string;
  548 +}
  549 +
  550 +export interface OrderInspectionStageVO {
  551 + boxPacket?: string;
  552 + electroplate?: string;
  553 + endCheckApplyTime?: string;
  554 + endCheckResult?: string;
  555 + functionality?: string;
  556 + /** @format int64 */
  557 + id?: number;
  558 + midCheckApplyTime?: string;
  559 + midCheckComment?: string;
  560 + midCheckResult?: string;
  561 + /** @format int64 */
  562 + orderId?: number;
  563 + /** @format int32 */
  564 + orderStatus?: number;
  565 + specification?: string;
  566 + value1?: string;
  567 + value2?: string;
  568 + value3?: string;
  569 +}
  570 +
  571 +export interface OrderOptLogQueryVO {
  572 + /** @format int32 */
  573 + current?: number;
  574 + /** @format int64 */
  575 + id?: number;
  576 + ids?: Array<number>;
  577 + /** @format int64 */
  578 + orderId?: number;
  579 + /** @format int32 */
  580 + pageSize?: number;
  581 + /** @format int32 */
  582 + total?: number;
  583 +}
  584 +
  585 +export interface OrderProfitAnalysisFieldVO {
  586 + customerPrice?: string;
  587 + customerTotalPrice?: string;
  588 + exchangeRate?: string;
  589 + /** @format int64 */
  590 + orderId?: number;
  591 + orderStatus?: string;
  592 + packetPrice?: string;
  593 + packetTotalPrice?: string;
  594 + productionDepartmentPrice?: string;
  595 + productionDepartmentTotalPrice?: string;
  596 + profitRate?: string;
  597 +}
  598 +
  599 +export interface OrderProfitAnalysisVO {
  600 + customerCurrency?: string;
  601 + /** @format double */
  602 + customerPrice?: number;
  603 + /** @format double */
  604 + customerTotalPrice?: number;
  605 + /** @format double */
  606 + exchangeRate?: number;
  607 + /** @format int64 */
  608 + id?: number;
  609 + /** @format int64 */
  610 + orderId?: number;
  611 + /** @format int32 */
  612 + orderStatus?: number;
  613 + packetCurrency?: string;
  614 + /** @format double */
  615 + packetPrice?: number;
  616 + /** @format double */
  617 + packetTotalPrice?: number;
  618 + productionDepartmentCurrency?: string;
  619 + /** @format double */
  620 + productionDepartmentPrice?: number;
  621 + /** @format double */
  622 + productionDepartmentTotalPrice?: number;
  623 + /** @format double */
  624 + profitRate?: number;
  625 +}
  626 +
  627 +export interface OrderProfitAnalysisVo {
  628 + orderIds?: Array<number>;
  629 +}
  630 +
  631 +export interface OrderTrackStageFieldVO {
  632 + aitexTestFinishResult?: string;
  633 + aitexTestSendTime?: string;
  634 + barcodeStickerArrivalTime?: string;
  635 + esoSampleSendTime?: string;
  636 + latestArrivalTime?: string;
  637 + latestBkTime?: string;
  638 + orderStatus?: string;
  639 + ppConfirmResult?: string;
  640 + ppTime?: string;
  641 + selfTestPassTime?: string;
  642 + sgsTestFinishResult?: string;
  643 + sgsTestSendTime?: string;
  644 + shippmentSampleConfirmResult?: string;
  645 + shippmentSampleSendTime?: string;
  646 +}
  647 +
  648 +export interface OrderTrackStageVO {
  649 + aitexTestFinishResult?: string;
  650 + aitexTestSendTime?: string;
  651 + barcodeStickerArrivalTime?: string;
  652 + esoSampleSendTime?: string;
  653 + /** @format int64 */
  654 + id?: number;
  655 + latestArrivalTime?: string;
  656 + latestBkTime?: string;
  657 + /** @format int64 */
  658 + orderId?: number;
  659 + /** @format int32 */
  660 + orderStatus?: number;
  661 + ppConfirmResult?: string;
  662 + ppTime?: string;
  663 + selfTestPassTime?: string;
  664 + sgsTestFinishResult?: string;
  665 + sgsTestSendTime?: string;
  666 + shippmentSampleConfirmResult?: string;
  667 + shippmentSampleSendTime?: string;
  668 +}
  669 +
  670 +export interface OrderUnlockFieldApplyVO {
  671 + baseFields?: OrderBaseFieldVO;
  672 + inspectionStageFields?: OrderInspectionStageFieldVO;
  673 + /** @format int64 */
  674 + orderId?: number;
  675 + profitAnalysisFields?: OrderProfitAnalysisFieldVO;
  676 + reportFields?: OrderCompletionReportFieldVO;
  677 + trackStageFields?: OrderTrackStageFieldVO;
  678 +}
  679 +
  680 +export interface OrderUpdateVO {
  681 + baseInfo?: OrderBaseInfoVO;
  682 + inspectionStageInfo?: OrderInspectionStageVO;
  683 + /** @format int64 */
  684 + orderId?: number;
  685 + profitAnalysisInfo?: OrderProfitAnalysisVO;
  686 + reportInfo?: OrderCompletionReportVO;
  687 + trackStageInfo?: OrderTrackStageVO;
  688 +}
  689 +
  690 +export interface ResetPwdVO {
  691 + /** @format int64 */
  692 + userId?: number;
  693 +}
  694 +
  695 +export interface ServerResult {
  696 + data?: any;
  697 + message?: string;
  698 + /** @format int32 */
  699 + result?: number;
  700 +}
  701 +
  702 +export interface SysLogQueryVO {
  703 + address?: string;
  704 + browser?: string;
  705 + /** @format int32 */
  706 + current?: number;
  707 + description?: string;
  708 + exceptionDetail?: string;
  709 + /** @format int64 */
  710 + id?: number;
  711 + ids?: Array<number>;
  712 + logType?: string;
  713 + method?: string;
  714 + /** @format int32 */
  715 + pageSize?: number;
  716 + params?: string;
  717 + requestIp?: string;
  718 + /** @format int64 */
  719 + time?: number;
  720 + /** @format int32 */
  721 + total?: number;
  722 + username?: string;
  723 +}
  724 +
  725 +export interface UpdatePwdVO {
  726 + confirmPassword?: string;
  727 + password?: string;
  728 + /** @format int64 */
  729 + userId?: number;
  730 +}
  731 +
  732 +export interface View {
  733 + contentType?: string;
  734 +}
  735 +
  736 +export interface Dto {
  737 + /**
  738 + * @description
  739 + * 银行名称
  740 + */
  741 + bank?: string;
  742 + /**
  743 + * @description
  744 + * 开始时间
  745 + * @format date-time
  746 + * @example
  747 + * 2023-11-11 10:10
  748 + */
  749 + beginTime?: string;
  750 + /** @format int32 */
  751 + current?: number;
  752 + /**
  753 + * @description
  754 + * 收货人联系手机号
  755 + */
  756 + customerContactNumber?: string;
  757 + /**
  758 + * @description
  759 + * 收货人姓名
  760 + */
  761 + customerName?: string;
  762 + /**
  763 + * @description
  764 + * 收货人地址信息
  765 + */
  766 + customerShippingAddress?: string;
  767 + /**
  768 + * @description
  769 + * 结束时间
  770 + * @format date-time
  771 + * @example
  772 + * 2023-11-11 10:20
  773 + */
  774 + endTime?: string;
  775 + /**
  776 + * @description
  777 + * 主订单号id
  778 + * @format int64
  779 + */
  780 + id?: number;
  781 + /**
  782 + * @description
  783 + * 单位
  784 + */
  785 + institution?: string;
  786 + /**
  787 + * @description
  788 + * 单位联系人
  789 + */
  790 + institutionContactName?: string;
  791 + /**
  792 + * @description
  793 + * 开票状态
  794 + */
  795 + invoicingStatus?: string;
  796 + /**
  797 + * @description
  798 + * 物流方式
  799 + */
  800 + logisticsMethod?: string;
  801 + /**
  802 + * @description
  803 + * 订单状态
  804 + */
  805 + orderStatus?: string;
  806 + /** @format int32 */
  807 + pageSize?: number;
  808 + /**
  809 + * @description
  810 + * 商品参数
  811 + */
  812 + parameters?: string;
  813 + /**
  814 + * @description
  815 + * 支付渠道
  816 + */
  817 + paymentChannel?: string;
  818 + /**
  819 + * @description
  820 + * 支付方式
  821 + */
  822 + paymentMethod?: string;
  823 + /**
  824 + * @description
  825 + * 支付流水号
  826 + */
  827 + paymentTransactionId?: string;
  828 + /**
  829 + * @description
  830 + * 商品所属事业部门
  831 + */
  832 + productBelongBusiness?: string;
  833 + /**
  834 + * @description
  835 + * 商品名称
  836 + */
  837 + productName?: string;
  838 + /**
  839 + * @description
  840 + * 销售代号
  841 + */
  842 + salesCode?: string;
  843 + /** @format int32 */
  844 + total?: number;
  845 +}
... ...