Commit 000990f13e47d8d30b11944e431c4cbdb22045c0

Authored by 曾国涛
1 parent 1ce40b7f

feat(product): 新增商品管理功能

- 添加商品采购和商品库存页面
- 实现商品信息的添加、修改和查询功能
- 优化礼品申领页面,改为商品申领
- 更新相关模型和接口定义,支持商品管理功能
.umirc.ts
... ... @@ -151,10 +151,26 @@ export default defineConfig({
151 151 access: 'canReadAdmin',
152 152 },
153 153 {
154   - name: '礼品申领',
155   - path: '/productCollectBill',
156   - component: './productCollectBill',
  154 + name: '商品管理',
  155 + path: '/product',
157 156 icon: 'BookOutlined',
  157 + routes: [
  158 + {
  159 + name: '商品采购',
  160 + path: 'procure',
  161 + component: './product/procure',
  162 + },
  163 + {
  164 + name: '商品库存',
  165 + path: 'product',
  166 + component: './product/product',
  167 + },
  168 + {
  169 + name: '礼品申领',
  170 + path: 'productCollect',
  171 + component: './product/productCollect',
  172 + },
  173 + ],
158 174 },
159 175 {
160 176 name: '客户管理',
... ...
src/pages/product/procure/index.tsx 0 → 100644
  1 +import { RESPONSE_CODE } from '@/constants/enum';
  2 +import { postProcureBillPage } from '@/services';
  3 +import { DownOutlined } from '@ant-design/icons';
  4 +import { ProTable } from '@ant-design/pro-components';
  5 +import { Button } from 'antd';
  6 +
  7 +export default () => {
  8 + const columns = [
  9 + {
  10 + title: '创建时间',
  11 + dataIndex: 'createTime',
  12 + ellipsis: true,
  13 + width: 180,
  14 + hideInSearch: true,
  15 + },
  16 + {
  17 + title: '创建人',
  18 + dataIndex: 'createByName',
  19 + ellipsis: true,
  20 + width: 180,
  21 + hideInSearch: true,
  22 + },
  23 + {
  24 + title: '总金额',
  25 + dataIndex: 'totalAmount',
  26 + ellipsis: true,
  27 + width: 180,
  28 + hideInSearch: true,
  29 + },
  30 + {
  31 + title: '审核状态',
  32 + dataIndex: 'auditStatusText',
  33 + ellipsis: true,
  34 + width: 180,
  35 + hideInSearch: true,
  36 + },
  37 + {
  38 + title: '审核备注',
  39 + dataIndex: 'auditNotes',
  40 + ellipsis: true,
  41 + width: 180,
  42 + hideInSearch: true,
  43 + },
  44 + {
  45 + title: '备注',
  46 + dataIndex: 'notes',
  47 + ellipsis: true,
  48 + width: 180,
  49 + hideInSearch: true,
  50 + },
  51 + ];
  52 +
  53 + return (
  54 + <ProTable
  55 + columns={columns}
  56 + request={async (params) => {
  57 + const res = await postProcureBillPage({
  58 + data: {
  59 + ...params,
  60 + },
  61 + });
  62 + if (res.result === RESPONSE_CODE.SUCCESS) {
  63 + return {
  64 + data: res?.data?.data,
  65 + total: res?.data?.total || 0,
  66 + };
  67 + }
  68 + return {
  69 + data: [],
  70 + success: false,
  71 + };
  72 + }}
  73 + rowKey="id"
  74 + pagination={{
  75 + showQuickJumper: true,
  76 + }}
  77 + expandable={{
  78 + expandedRowRender: (record) => (
  79 + <ProTable
  80 + columns={[
  81 + { title: '商品名称', dataIndex: 'totalPrice', key: 'totalPrice' },
  82 + { title: '数量', dataIndex: 'number', key: 'number' },
  83 + { title: '备注', dataIndex: 'notes', key: 'notes' },
  84 + ]}
  85 + headerTitle={false}
  86 + search={false}
  87 + options={false}
  88 + dataSource={record.procureBillDetailList}
  89 + pagination={false}
  90 + />
  91 + ),
  92 + }}
  93 + search={false}
  94 + dateFormatter="string"
  95 + headerTitle="嵌套表格"
  96 + options={false}
  97 + toolBarRender={() => [
  98 + <Button key="show">查看日志</Button>,
  99 + <Button key="out">
  100 + 导出数据
  101 + <DownOutlined />
  102 + </Button>,
  103 + <Button key="primary" type="primary">
  104 + 创建应用
  105 + </Button>,
  106 + ]}
  107 + />
  108 + );
  109 +};
... ...
src/pages/product/product/components/AddOrUpdate.tsx 0 → 100644
  1 +import { postProductAddOrModify } from '@/services';
  2 +import {
  3 + ModalForm,
  4 + ProFormDigit,
  5 + ProFormText,
  6 +} from '@ant-design/pro-components';
  7 +import { Button, Form, message } from 'antd';
  8 +
  9 +export default ({ record, onFinish }) => {
  10 + const [form] = Form.useForm();
  11 + return (
  12 + <ModalForm
  13 + title="新建表单"
  14 + trigger={
  15 + record?.id ? (
  16 + <Button type="link">修改</Button>
  17 + ) : (
  18 + <Button type="primary">新建</Button>
  19 + )
  20 + }
  21 + form={form}
  22 + autoFocusFirstInput
  23 + modalProps={{
  24 + destroyOnClose: true,
  25 + onCancel: () => console.log('run'),
  26 + }}
  27 + submitTimeout={2000}
  28 + onFinish={async (values) => {
  29 + let res = await postProductAddOrModify({
  30 + data: {
  31 + ...record,
  32 + ...values,
  33 + },
  34 + });
  35 + if (res) {
  36 + message.success(res.message);
  37 + onFinish();
  38 + }
  39 + return true;
  40 + }}
  41 + >
  42 + <ProFormText
  43 + width="md"
  44 + initialValue={record?.name}
  45 + name="name"
  46 + label="商品名称"
  47 + rules={[{ required: true, message: '商品名称必填' }]}
  48 + />
  49 + <ProFormText
  50 + width="md"
  51 + initialValue={record?.baseUnitName}
  52 + name="baseUnitName"
  53 + label="商品单位"
  54 + rules={[{ required: true, message: '商品单位必填' }]}
  55 + />
  56 + <ProFormDigit
  57 + label="商品单价"
  58 + name="unitPrice"
  59 + initialValue={record?.unitPrice}
  60 + width="sm"
  61 + min={0}
  62 + rules={[{ required: true, message: '商品单价必填' }]}
  63 + />
  64 + <ProFormDigit
  65 + label="商品库存"
  66 + name="inventory"
  67 + initialValue={record?.inventory}
  68 + width="sm"
  69 + min={0}
  70 + rules={[{ required: true, message: '商品库存必填' }]}
  71 + />
  72 + </ModalForm>
  73 + );
  74 +};
... ...
src/pages/product/product/index.tsx 0 → 100644
  1 +import ButtonConfirm from '@/components/ButtomConfirm';
  2 +import { RESPONSE_CODE } from '@/constants/enum';
  3 +import AddOrUpdate from '@/pages/product/product/components/AddOrUpdate';
  4 +import { postProductDelete, postProductPage } from '@/services';
  5 +import type { ActionType, ProColumns } from '@ant-design/pro-components';
  6 +import { ProTable } from '@ant-design/pro-components';
  7 +import { message } from 'antd';
  8 +import { useRef } from 'react';
  9 +
  10 +export const waitTimePromise = async (time: number = 100) => {
  11 + return new Promise((resolve) => {
  12 + setTimeout(() => {
  13 + resolve(true);
  14 + }, time);
  15 + });
  16 +};
  17 +
  18 +export default () => {
  19 + const actionRef = useRef<ActionType>();
  20 + const columns: ProColumns[] = [
  21 + {
  22 + title: '编号',
  23 + dataIndex: 'id',
  24 + ellipsis: true,
  25 + hideInSearch: true,
  26 + },
  27 + {
  28 + title: '商品名称',
  29 + dataIndex: 'name',
  30 + ellipsis: true,
  31 + hideInSearch: true,
  32 + },
  33 + {
  34 + title: '单位',
  35 + dataIndex: 'baseUnitName',
  36 + ellipsis: true,
  37 + hideInSearch: true,
  38 + },
  39 + {
  40 + title: '单价',
  41 + dataIndex: 'unitPrice',
  42 + ellipsis: true,
  43 + hideInSearch: true,
  44 + },
  45 + {
  46 + title: '库存',
  47 + dataIndex: 'inventory',
  48 + ellipsis: true,
  49 + hideInSearch: true,
  50 + },
  51 + {
  52 + title: '操作',
  53 + valueType: 'option',
  54 + key: 'option',
  55 + render: (text, record) => [
  56 + <AddOrUpdate
  57 + key={'addOrUpdate'}
  58 + record={record}
  59 + onFinish={() => {
  60 + actionRef.current?.reload();
  61 + }}
  62 + />,
  63 + <ButtonConfirm
  64 + key="delete"
  65 + className="p-0"
  66 + title={'确认删除该记录?'}
  67 + text="删除"
  68 + onConfirm={async () => {
  69 + let res = await postProductDelete({
  70 + query: { id: record.id },
  71 + });
  72 + if (res) {
  73 + message.success(res.message);
  74 + actionRef.current?.reload();
  75 + }
  76 + }}
  77 + />,
  78 + ],
  79 + },
  80 + ];
  81 + return (
  82 + <ProTable
  83 + columns={columns}
  84 + actionRef={actionRef}
  85 + cardBordered
  86 + request={async (params) => {
  87 + const res = await postProductPage({
  88 + data: {
  89 + ...params,
  90 + },
  91 + });
  92 + if (res.result === RESPONSE_CODE.SUCCESS) {
  93 + return {
  94 + data: res?.data?.data,
  95 + total: res?.data?.total || 0,
  96 + };
  97 + }
  98 + return {
  99 + data: [],
  100 + success: false,
  101 + };
  102 + }}
  103 + editable={{
  104 + type: 'multiple',
  105 + }}
  106 + columnsState={{
  107 + persistenceKey: 'pro-table-singe-demos',
  108 + persistenceType: 'localStorage',
  109 + defaultValue: {
  110 + option: { fixed: 'right', disable: true },
  111 + },
  112 + onChange(value) {
  113 + console.log('value: ', value);
  114 + },
  115 + }}
  116 + rowKey="id"
  117 + search={{
  118 + labelWidth: 'auto',
  119 + }}
  120 + options={{
  121 + setting: {
  122 + listsHeight: 400,
  123 + },
  124 + }}
  125 + form={{
  126 + // 由于配置了 transform,提交的参数与定义的不同这里需要转化一下
  127 + syncToUrl: (values, type) => {
  128 + if (type === 'get') {
  129 + return {
  130 + ...values,
  131 + created_at: [values.startTime, values.endTime],
  132 + };
  133 + }
  134 + return values;
  135 + },
  136 + }}
  137 + pagination={{
  138 + pageSize: 5,
  139 + onChange: (page) => console.log(page),
  140 + }}
  141 + dateFormatter="string"
  142 + headerTitle="商品列表"
  143 + toolBarRender={() => [
  144 + <AddOrUpdate
  145 + key="AddOrUpdate"
  146 + record={null}
  147 + onFinish={() => {
  148 + actionRef.current?.reload();
  149 + }}
  150 + />,
  151 + ]}
  152 + />
  153 + );
  154 +};
... ...
src/pages/productCollectBill/components/AddOrUpdate.tsx renamed to src/pages/product/productCollect/components/AddOrUpdate.tsx
src/pages/productCollectBill/components/Audit.tsx renamed to src/pages/product/productCollect/components/Audit.tsx
src/services/definition.ts
... ... @@ -79,6 +79,10 @@ export type ProcureReturnBillDtoStatus =
79 79 | 'WAIT_SEND'
80 80 | 'SENDED'
81 81 | 'WAIT_AUDIT';
  82 +export type ProcureBillInfoAuditStatus =
  83 + | 'WAIT_AUDIT'
  84 + | 'AUDIT_PASS'
  85 + | 'AUDIT_REFUSE';
82 86 export type ProductCollectBillAuditStatus =
83 87 | 'WAIT_AUDIT'
84 88 | 'AUDIT_PASS'
... ... @@ -215,6 +219,10 @@ export interface AdminClientDto {
215 219 export interface AdminDeptQueryVO {
216 220 createByName?: string;
217 221 createByNameLike?: string;
  222 + /** @format date-time */
  223 + createTimeGe?: string;
  224 + /** @format date-time */
  225 + createTimeLe?: string;
218 226 /** @format int32 */
219 227 current?: number;
220 228 /** @format int32 */
... ... @@ -261,6 +269,10 @@ export interface AdminInvoicingAccountDTO {
261 269 export interface AdminJobQueryVO {
262 270 createByName?: string;
263 271 createByNameLike?: string;
  272 + /** @format date-time */
  273 + createTimeGe?: string;
  274 + /** @format date-time */
  275 + createTimeLe?: string;
264 276 /** @format int32 */
265 277 current?: number;
266 278 /** @format int32 */
... ... @@ -293,6 +305,10 @@ export interface AdminMenuQueryVO {
293 305 component?: string;
294 306 createByName?: string;
295 307 createByNameLike?: string;
  308 + /** @format date-time */
  309 + createTimeGe?: string;
  310 + /** @format date-time */
  311 + createTimeLe?: string;
296 312 /** @format int32 */
297 313 current?: number;
298 314 /** @format int32 */
... ... @@ -344,6 +360,10 @@ export interface AdminMenuVO {
344 360 export interface AdminRoleQueryVO {
345 361 createByName?: string;
346 362 createByNameLike?: string;
  363 + /** @format date-time */
  364 + createTimeGe?: string;
  365 + /** @format date-time */
  366 + createTimeLe?: string;
347 367 /** @format int32 */
348 368 current?: number;
349 369 dataScope?: string;
... ... @@ -378,6 +398,10 @@ export interface AdminRoleVO {
378 398 export interface AdminUserLoginByPhoneVO {
379 399 createByName?: string;
380 400 createByNameLike?: string;
  401 + /** @format date-time */
  402 + createTimeGe?: string;
  403 + /** @format date-time */
  404 + createTimeLe?: string;
381 405 /** @format int32 */
382 406 current?: number;
383 407 /** @format int32 */
... ... @@ -395,6 +419,10 @@ export interface AdminUserLoginByPhoneVO {
395 419 export interface AdminUserLoginByPwdVO {
396 420 createByName?: string;
397 421 createByNameLike?: string;
  422 + /** @format date-time */
  423 + createTimeGe?: string;
  424 + /** @format date-time */
  425 + createTimeLe?: string;
398 426 /** @format int32 */
399 427 current?: number;
400 428 /** @format int32 */
... ... @@ -415,6 +443,10 @@ export interface AdminUserModifyPwdVO {
415 443 confirmPassword?: string;
416 444 createByName?: string;
417 445 createByNameLike?: string;
  446 + /** @format date-time */
  447 + createTimeGe?: string;
  448 + /** @format date-time */
  449 + createTimeLe?: string;
418 450 /** @format int32 */
419 451 current?: number;
420 452 /** @format int32 */
... ... @@ -433,6 +465,10 @@ export interface AdminUserModifyPwdVO {
433 465 export interface AdminUserPasswordRecoverEmailVO {
434 466 createByName?: string;
435 467 createByNameLike?: string;
  468 + /** @format date-time */
  469 + createTimeGe?: string;
  470 + /** @format date-time */
  471 + createTimeLe?: string;
436 472 /** @format int32 */
437 473 current?: number;
438 474 /** @format int32 */
... ... @@ -449,6 +485,10 @@ export interface AdminUserPasswordRecoverEmailVO {
449 485 export interface AdminUserQueryVO {
450 486 createByName?: string;
451 487 createByNameLike?: string;
  488 + /** @format date-time */
  489 + createTimeGe?: string;
  490 + /** @format date-time */
  491 + createTimeLe?: string;
452 492 /** @format int32 */
453 493 current?: number;
454 494 email?: string;
... ... @@ -475,6 +515,10 @@ export interface AdminUserRegisterVO {
475 515 confirmPassword?: string;
476 516 createByName?: string;
477 517 createByNameLike?: string;
  518 + /** @format date-time */
  519 + createTimeGe?: string;
  520 + /** @format date-time */
  521 + createTimeLe?: string;
478 522 /** @format int32 */
479 523 current?: number;
480 524 email?: string;
... ... @@ -707,6 +751,10 @@ export interface ApiCreateProductRequest {
707 751 export interface ApiOrderCustomersRequest {
708 752 createByName?: string;
709 753 createByNameLike?: string;
  754 + /** @format date-time */
  755 + createTimeGe?: string;
  756 + /** @format date-time */
  757 + createTimeLe?: string;
710 758 /** @format int32 */
711 759 current?: number;
712 760 /** @format int32 */
... ... @@ -1016,6 +1064,10 @@ export interface AuditDto {
1016 1064 export interface AuditVO {
1017 1065 createByName?: string;
1018 1066 createByNameLike?: string;
  1067 + /** @format date-time */
  1068 + createTimeGe?: string;
  1069 + /** @format date-time */
  1070 + createTimeLe?: string;
1019 1071 /** @format int32 */
1020 1072 current?: number;
1021 1073 /** @format int32 */
... ... @@ -1100,6 +1152,10 @@ export interface CancelSendOrderDto {
1100 1152 export interface CaptchaMessageVO {
1101 1153 createByName?: string;
1102 1154 createByNameLike?: string;
  1155 + /** @format date-time */
  1156 + createTimeGe?: string;
  1157 + /** @format date-time */
  1158 + createTimeLe?: string;
1103 1159 /** @format int32 */
1104 1160 current?: number;
1105 1161 /** @format int32 */
... ... @@ -1375,6 +1431,10 @@ export interface CustomerSaveReq {
1375 1431 export interface DictionaryQueryVO {
1376 1432 createByName?: string;
1377 1433 createByNameLike?: string;
  1434 + /** @format date-time */
  1435 + createTimeGe?: string;
  1436 + /** @format date-time */
  1437 + createTimeLe?: string;
1378 1438 /** @format int32 */
1379 1439 current?: number;
1380 1440 dictCode?: string;
... ... @@ -2244,6 +2304,10 @@ export interface MergeIntegralDto {
2244 2304 export interface MessageQueryDTO {
2245 2305 createByName?: string;
2246 2306 createByNameLike?: string;
  2307 + /** @format date-time */
  2308 + createTimeGe?: string;
  2309 + /** @format date-time */
  2310 + createTimeLe?: string;
2247 2311 /** @format int32 */
2248 2312 current?: number;
2249 2313 /** @format int32 */
... ... @@ -2289,6 +2353,10 @@ export interface OrderAuditLogQueryVO {
2289 2353 applyId?: number;
2290 2354 createByName?: string;
2291 2355 createByNameLike?: string;
  2356 + /** @format date-time */
  2357 + createTimeGe?: string;
  2358 + /** @format date-time */
  2359 + createTimeLe?: string;
2292 2360 /** @format int32 */
2293 2361 current?: number;
2294 2362 /** @format int32 */
... ... @@ -2335,6 +2403,10 @@ export interface OrderBaseInfoQueryVO {
2335 2403 collection?: string;
2336 2404 createByName?: string;
2337 2405 createByNameLike?: string;
  2406 + /** @format date-time */
  2407 + createTimeGe?: string;
  2408 + /** @format date-time */
  2409 + createTimeLe?: string;
2338 2410 /** @format int32 */
2339 2411 current?: number;
2340 2412 customerCode?: string;
... ... @@ -2431,6 +2503,10 @@ export interface OrderFieldLockApplyQueryVO {
2431 2503 auditUserId?: number;
2432 2504 createByName?: string;
2433 2505 createByNameLike?: string;
  2506 + /** @format date-time */
  2507 + createTimeGe?: string;
  2508 + /** @format date-time */
  2509 + createTimeLe?: string;
2434 2510 /** @format int32 */
2435 2511 current?: number;
2436 2512 /** @format int32 */
... ... @@ -2502,6 +2578,10 @@ export interface OrderMainProDo {
2502 2578 export interface OrderOptLogQueryVO {
2503 2579 createByName?: string;
2504 2580 createByNameLike?: string;
  2581 + /** @format date-time */
  2582 + createTimeGe?: string;
  2583 + /** @format date-time */
  2584 + createTimeLe?: string;
2505 2585 /** @format int32 */
2506 2586 current?: number;
2507 2587 /** @format int32 */
... ... @@ -2925,6 +3005,10 @@ export interface QueryBankStatementDto {
2925 3005 collectionDatetimeEnd?: string;
2926 3006 createByName?: string;
2927 3007 createByNameLike?: string;
  3008 + /** @format date-time */
  3009 + createTimeGe?: string;
  3010 + /** @format date-time */
  3011 + createTimeLe?: string;
2928 3012 /** @format int32 */
2929 3013 current?: number;
2930 3014 /** @format int32 */
... ... @@ -3107,6 +3191,10 @@ export interface QueryInvoiceDetailDto {
3107 3191 export interface QueryInvoiceProjectDto {
3108 3192 createByName?: string;
3109 3193 createByNameLike?: string;
  3194 + /** @format date-time */
  3195 + createTimeGe?: string;
  3196 + /** @format date-time */
  3197 + createTimeLe?: string;
3110 3198 /** @format int32 */
3111 3199 current?: number;
3112 3200 /** @format int32 */
... ... @@ -3412,6 +3500,10 @@ export interface QueryUseOldInvoicingDto {
3412 3500 export interface QueryUserIntegralRecordDto {
3413 3501 createByName?: string;
3414 3502 createByNameLike?: string;
  3503 + /** @format date-time */
  3504 + createTimeGe?: string;
  3505 + /** @format date-time */
  3506 + createTimeLe?: string;
3415 3507 /** @format int32 */
3416 3508 current?: number;
3417 3509 /** @format int32 */
... ... @@ -3580,6 +3672,10 @@ export interface ResearchGroupListRequest {
3580 3672 companyNameLike?: string;
3581 3673 createByName?: string;
3582 3674 createByNameLike?: string;
  3675 + /** @format date-time */
  3676 + createTimeGe?: string;
  3677 + /** @format date-time */
  3678 + createTimeLe?: string;
3583 3679 /** @format int32 */
3584 3680 current?: number;
3585 3681 /** @format int32 */
... ... @@ -3732,6 +3828,10 @@ export interface ResearchGroupMemberRequestsRequest {
3732 3828 */
3733 3829 createByName?: string;
3734 3830 createByNameLike?: string;
  3831 + /** @format date-time */
  3832 + createTimeGe?: string;
  3833 + /** @format date-time */
  3834 + createTimeLe?: string;
3735 3835 /** @format int32 */
3736 3836 current?: number;
3737 3837 /** @format int32 */
... ... @@ -4070,6 +4170,10 @@ export interface SysLogQueryVO {
4070 4170 browser?: string;
4071 4171 createByName?: string;
4072 4172 createByNameLike?: string;
  4173 + /** @format date-time */
  4174 + createTimeGe?: string;
  4175 + /** @format date-time */
  4176 + createTimeLe?: string;
4073 4177 /** @format int32 */
4074 4178 current?: number;
4075 4179 description?: string;
... ... @@ -4109,6 +4213,10 @@ export interface TicketsSearchVo {
4109 4213 createByName?: string;
4110 4214 createByNameLike?: string;
4111 4215 createTime?: Array<LocalDateTime>;
  4216 + /** @format date-time */
  4217 + createTimeGe?: string;
  4218 + /** @format date-time */
  4219 + createTimeLe?: string;
4112 4220 /** @format int32 */
4113 4221 current?: number;
4114 4222 detailText?: string;
... ... @@ -4300,6 +4408,10 @@ export interface UserAddressListRequest {
4300 4408 export interface UserCenterInfoRequest {
4301 4409 createByName?: string;
4302 4410 createByNameLike?: string;
  4411 + /** @format date-time */
  4412 + createTimeGe?: string;
  4413 + /** @format date-time */
  4414 + createTimeLe?: string;
4303 4415 /** @format int32 */
4304 4416 current?: number;
4305 4417 /** @format int32 */
... ... @@ -4327,6 +4439,10 @@ export interface UserCenterInfoRequest {
4327 4439 export interface UserDetailRequest {
4328 4440 createByName?: string;
4329 4441 createByNameLike?: string;
  4442 + /** @format date-time */
  4443 + createTimeGe?: string;
  4444 + /** @format date-time */
  4445 + createTimeLe?: string;
4330 4446 /** @format int32 */
4331 4447 current?: number;
4332 4448 /** @format int32 */
... ... @@ -4352,6 +4468,10 @@ export interface UserDetailRequest {
4352 4468 export interface UserListRequest {
4353 4469 createByName?: string;
4354 4470 createByNameLike?: string;
  4471 + /** @format date-time */
  4472 + createTimeGe?: string;
  4473 + /** @format date-time */
  4474 + createTimeLe?: string;
4355 4475 /** @format int32 */
4356 4476 current?: number;
4357 4477 /**
... ... @@ -4688,6 +4808,10 @@ export interface InvoiceReissueRecord {
4688 4808 createDatetimeLe?: string;
4689 4809 /** @format date-time */
4690 4810 createTime?: string;
  4811 + /** @format date-time */
  4812 + createTimeGe?: string;
  4813 + /** @format date-time */
  4814 + createTimeLe?: string;
4691 4815 /** @format int32 */
4692 4816 current?: number;
4693 4817 /** @format int32 */
... ... @@ -4769,6 +4893,66 @@ export interface InvoiceReissueRecord {
4769 4893 updateTime?: string;
4770 4894 }
4771 4895  
  4896 +export interface ProcureBillDetail {
  4897 + annex?: string;
  4898 + createByName?: string;
  4899 + /** @format date-time */
  4900 + createTime?: string;
  4901 + /** @format int64 */
  4902 + id?: number;
  4903 + /** @format int64 */
  4904 + infoId?: number;
  4905 + logicDelete?: boolean;
  4906 + notes?: string;
  4907 + number?: number;
  4908 + paths?: Array<string>;
  4909 + /** @format int64 */
  4910 + productId?: number;
  4911 + productName?: string;
  4912 + productUnitName?: string;
  4913 + productUnitPrice?: number;
  4914 + totalPrice?: number;
  4915 + updateByName?: string;
  4916 + /** @format date-time */
  4917 + updateTime?: string;
  4918 +}
  4919 +
  4920 +export interface ProcureBillInfo {
  4921 + auditNotes?: string;
  4922 + auditNotesLike?: string;
  4923 + auditStatus?: ProcureBillInfoAuditStatus;
  4924 + auditStatusText?: string;
  4925 + createByName?: string;
  4926 + createByNameLike?: string;
  4927 + /** @format date-time */
  4928 + createTime?: string;
  4929 + /** @format date-time */
  4930 + createTimeGe?: string;
  4931 + /** @format date-time */
  4932 + createTimeLe?: string;
  4933 + /** @format int32 */
  4934 + current?: number;
  4935 + /** @format int32 */
  4936 + end?: number;
  4937 + /** @format int64 */
  4938 + id?: number;
  4939 + logicDelete?: boolean;
  4940 + notes?: string;
  4941 + notesLike?: string;
  4942 + /** @format int32 */
  4943 + pageSize?: number;
  4944 + paths?: Array<string>;
  4945 + procureBillDetailList?: Array<ProcureBillDetail>;
  4946 + /** @format int32 */
  4947 + start?: number;
  4948 + /** @format int32 */
  4949 + total?: number;
  4950 + totalPrice?: number;
  4951 + updateByName?: string;
  4952 + /** @format date-time */
  4953 + updateTime?: string;
  4954 +}
  4955 +
4772 4956 /**
4773 4957 * @description
4774 4958 * 礼品申领单
... ... @@ -4860,6 +5044,42 @@ export interface ProductCollectBill {
4860 5044 warehouseText?: string;
4861 5045 }
4862 5046  
  5047 +export interface Product {
  5048 + /** @format int64 */
  5049 + baseUnit?: number;
  5050 + baseUnitName?: string;
  5051 + createByName?: string;
  5052 + createByNameLike?: string;
  5053 + /** @format date-time */
  5054 + createTime?: string;
  5055 + /** @format date-time */
  5056 + createTimeGe?: string;
  5057 + /** @format date-time */
  5058 + createTimeLe?: string;
  5059 + /** @format int32 */
  5060 + current?: number;
  5061 + /** @format int32 */
  5062 + end?: number;
  5063 + /** @format int64 */
  5064 + id?: number;
  5065 + idIn?: Array<number>;
  5066 + inventory?: number;
  5067 + logicDelete?: boolean;
  5068 + name?: string;
  5069 + nameLike?: string;
  5070 + /** @format int32 */
  5071 + pageSize?: number;
  5072 + paths?: Array<string>;
  5073 + /** @format int32 */
  5074 + start?: number;
  5075 + /** @format int32 */
  5076 + total?: number;
  5077 + unitPrice?: number;
  5078 + updateByName?: string;
  5079 + /** @format date-time */
  5080 + updateTime?: string;
  5081 +}
  5082 +
4863 5083 export interface ResearchGroupAccounts {
4864 5084 /**
4865 5085 * @description
... ... @@ -5052,6 +5272,10 @@ export interface SalesRechargePrepaymentRequest {
5052 5272 * @format date-time
5053 5273 */
5054 5274 createTimeEndTime?: string;
  5275 + /** @format date-time */
  5276 + createTimeGe?: string;
  5277 + /** @format date-time */
  5278 + createTimeLe?: string;
5055 5279 /** @format int32 */
5056 5280 current?: number;
5057 5281 /**
... ...
src/services/request.ts
... ... @@ -89,11 +89,13 @@ import type {
89 89 OrderUnlockFieldApplyVO,
90 90 OrderUpdateVO,
91 91 OrderZoNingProvinceUserDo,
  92 + ProcureBillInfo,
92 93 ProcureConvertProcureDto,
93 94 ProcureOrderDto,
94 95 ProcurePrintDto,
95 96 ProcureReturnBillApprovalDto,
96 97 ProcureReturnBillDto,
  98 + Product,
97 99 ProductCollectBill,
98 100 ProductInformationDto,
99 101 QueryAfterSalesInfoSnapshotDto,
... ... @@ -163,6 +165,221 @@ import type {
163 165 WarningUserWhiteListDto,
164 166 } from './definition';
165 167  
  168 +/** @description request parameter type for postProcureBillAddOrModify */
  169 +export interface PostProcureBillAddOrModifyOption {
  170 + /**
  171 + * @description
  172 + * dto
  173 + */
  174 + body: {
  175 + /**
  176 + @description
  177 + dto */
  178 + dto: ProcureBillInfo;
  179 + };
  180 +}
  181 +
  182 +/** @description response type for postProcureBillAddOrModify */
  183 +export interface PostProcureBillAddOrModifyResponse {
  184 + /**
  185 + * @description
  186 + * OK
  187 + */
  188 + 200: ServerResult;
  189 + /**
  190 + * @description
  191 + * Created
  192 + */
  193 + 201: any;
  194 + /**
  195 + * @description
  196 + * Unauthorized
  197 + */
  198 + 401: any;
  199 + /**
  200 + * @description
  201 + * Forbidden
  202 + */
  203 + 403: any;
  204 + /**
  205 + * @description
  206 + * Not Found
  207 + */
  208 + 404: any;
  209 +}
  210 +
  211 +export type PostProcureBillAddOrModifyResponseSuccess =
  212 + PostProcureBillAddOrModifyResponse[200];
  213 +/**
  214 + * @description
  215 + * 新增或修改
  216 + * @tags 采购管理
  217 + * @produces *
  218 + * @consumes application/json
  219 + */
  220 +export const postProcureBillAddOrModify = /* #__PURE__ */ (() => {
  221 + const method = 'post';
  222 + const url = '/ProcureBill/addOrModify';
  223 + function request(
  224 + option: PostProcureBillAddOrModifyOption,
  225 + ): Promise<PostProcureBillAddOrModifyResponseSuccess> {
  226 + return requester(request.url, {
  227 + method: request.method,
  228 + ...option,
  229 + }) as unknown as Promise<PostProcureBillAddOrModifyResponseSuccess>;
  230 + }
  231 +
  232 + /** http method */
  233 + request.method = method;
  234 + /** request url */
  235 + request.url = url;
  236 + return request;
  237 +})();
  238 +
  239 +/** @description request parameter type for postProcureBillDelete */
  240 +export interface PostProcureBillDeleteOption {
  241 + /**
  242 + * @description
  243 + * id
  244 + * @format int64
  245 + */
  246 + query: {
  247 + /**
  248 + @description
  249 + id
  250 + @format int64 */
  251 + id: number;
  252 + };
  253 +}
  254 +
  255 +/** @description response type for postProcureBillDelete */
  256 +export interface PostProcureBillDeleteResponse {
  257 + /**
  258 + * @description
  259 + * OK
  260 + */
  261 + 200: ServerResult;
  262 + /**
  263 + * @description
  264 + * Created
  265 + */
  266 + 201: any;
  267 + /**
  268 + * @description
  269 + * Unauthorized
  270 + */
  271 + 401: any;
  272 + /**
  273 + * @description
  274 + * Forbidden
  275 + */
  276 + 403: any;
  277 + /**
  278 + * @description
  279 + * Not Found
  280 + */
  281 + 404: any;
  282 +}
  283 +
  284 +export type PostProcureBillDeleteResponseSuccess =
  285 + PostProcureBillDeleteResponse[200];
  286 +/**
  287 + * @description
  288 + * 删除
  289 + * @tags 采购管理
  290 + * @produces *
  291 + * @consumes application/json
  292 + */
  293 +export const postProcureBillDelete = /* #__PURE__ */ (() => {
  294 + const method = 'post';
  295 + const url = '/ProcureBill/delete';
  296 + function request(
  297 + option: PostProcureBillDeleteOption,
  298 + ): Promise<PostProcureBillDeleteResponseSuccess> {
  299 + return requester(request.url, {
  300 + method: request.method,
  301 + ...option,
  302 + }) as unknown as Promise<PostProcureBillDeleteResponseSuccess>;
  303 + }
  304 +
  305 + /** http method */
  306 + request.method = method;
  307 + /** request url */
  308 + request.url = url;
  309 + return request;
  310 +})();
  311 +
  312 +/** @description request parameter type for postProcureBillPage */
  313 +export interface PostProcureBillPageOption {
  314 + /**
  315 + * @description
  316 + * dto
  317 + */
  318 + body: {
  319 + /**
  320 + @description
  321 + dto */
  322 + dto: ProcureBillInfo;
  323 + };
  324 +}
  325 +
  326 +/** @description response type for postProcureBillPage */
  327 +export interface PostProcureBillPageResponse {
  328 + /**
  329 + * @description
  330 + * OK
  331 + */
  332 + 200: ServerResult;
  333 + /**
  334 + * @description
  335 + * Created
  336 + */
  337 + 201: any;
  338 + /**
  339 + * @description
  340 + * Unauthorized
  341 + */
  342 + 401: any;
  343 + /**
  344 + * @description
  345 + * Forbidden
  346 + */
  347 + 403: any;
  348 + /**
  349 + * @description
  350 + * Not Found
  351 + */
  352 + 404: any;
  353 +}
  354 +
  355 +export type PostProcureBillPageResponseSuccess =
  356 + PostProcureBillPageResponse[200];
  357 +/**
  358 + * @description
  359 + * 分页查询
  360 + * @tags 采购管理
  361 + * @produces *
  362 + * @consumes application/json
  363 + */
  364 +export const postProcureBillPage = /* #__PURE__ */ (() => {
  365 + const method = 'post';
  366 + const url = '/ProcureBill/page';
  367 + function request(
  368 + option: PostProcureBillPageOption,
  369 + ): Promise<PostProcureBillPageResponseSuccess> {
  370 + return requester(request.url, {
  371 + method: request.method,
  372 + ...option,
  373 + }) as unknown as Promise<PostProcureBillPageResponseSuccess>;
  374 + }
  375 +
  376 + /** http method */
  377 + request.method = method;
  378 + /** request url */
  379 + request.url = url;
  380 + return request;
  381 +})();
  382 +
166 383 /** @description request parameter type for postAdminClientAddAdminClient */
167 384 export interface PostAdminClientAddAdminClientOption {
168 385 /**
... ... @@ -12959,6 +13176,219 @@ export const postProcureReturnBillSend = /* #__PURE__ */ (() =&gt; {
12959 13176 return request;
12960 13177 })();
12961 13178  
  13179 +/** @description request parameter type for postProductAddOrModify */
  13180 +export interface PostProductAddOrModifyOption {
  13181 + /**
  13182 + * @description
  13183 + * dto
  13184 + */
  13185 + body: {
  13186 + /**
  13187 + @description
  13188 + dto */
  13189 + dto: Product;
  13190 + };
  13191 +}
  13192 +
  13193 +/** @description response type for postProductAddOrModify */
  13194 +export interface PostProductAddOrModifyResponse {
  13195 + /**
  13196 + * @description
  13197 + * OK
  13198 + */
  13199 + 200: ServerResult;
  13200 + /**
  13201 + * @description
  13202 + * Created
  13203 + */
  13204 + 201: any;
  13205 + /**
  13206 + * @description
  13207 + * Unauthorized
  13208 + */
  13209 + 401: any;
  13210 + /**
  13211 + * @description
  13212 + * Forbidden
  13213 + */
  13214 + 403: any;
  13215 + /**
  13216 + * @description
  13217 + * Not Found
  13218 + */
  13219 + 404: any;
  13220 +}
  13221 +
  13222 +export type PostProductAddOrModifyResponseSuccess =
  13223 + PostProductAddOrModifyResponse[200];
  13224 +/**
  13225 + * @description
  13226 + * 新增或修改
  13227 + * @tags 商品管理
  13228 + * @produces *
  13229 + * @consumes application/json
  13230 + */
  13231 +export const postProductAddOrModify = /* #__PURE__ */ (() => {
  13232 + const method = 'post';
  13233 + const url = '/product/addOrModify';
  13234 + function request(
  13235 + option: PostProductAddOrModifyOption,
  13236 + ): Promise<PostProductAddOrModifyResponseSuccess> {
  13237 + return requester(request.url, {
  13238 + method: request.method,
  13239 + ...option,
  13240 + }) as unknown as Promise<PostProductAddOrModifyResponseSuccess>;
  13241 + }
  13242 +
  13243 + /** http method */
  13244 + request.method = method;
  13245 + /** request url */
  13246 + request.url = url;
  13247 + return request;
  13248 +})();
  13249 +
  13250 +/** @description request parameter type for postProductDelete */
  13251 +export interface PostProductDeleteOption {
  13252 + /**
  13253 + * @description
  13254 + * id
  13255 + * @format int64
  13256 + */
  13257 + query: {
  13258 + /**
  13259 + @description
  13260 + id
  13261 + @format int64 */
  13262 + id: number;
  13263 + };
  13264 +}
  13265 +
  13266 +/** @description response type for postProductDelete */
  13267 +export interface PostProductDeleteResponse {
  13268 + /**
  13269 + * @description
  13270 + * OK
  13271 + */
  13272 + 200: ServerResult;
  13273 + /**
  13274 + * @description
  13275 + * Created
  13276 + */
  13277 + 201: any;
  13278 + /**
  13279 + * @description
  13280 + * Unauthorized
  13281 + */
  13282 + 401: any;
  13283 + /**
  13284 + * @description
  13285 + * Forbidden
  13286 + */
  13287 + 403: any;
  13288 + /**
  13289 + * @description
  13290 + * Not Found
  13291 + */
  13292 + 404: any;
  13293 +}
  13294 +
  13295 +export type PostProductDeleteResponseSuccess = PostProductDeleteResponse[200];
  13296 +/**
  13297 + * @description
  13298 + * 删除
  13299 + * @tags 商品管理
  13300 + * @produces *
  13301 + * @consumes application/json
  13302 + */
  13303 +export const postProductDelete = /* #__PURE__ */ (() => {
  13304 + const method = 'post';
  13305 + const url = '/product/delete';
  13306 + function request(
  13307 + option: PostProductDeleteOption,
  13308 + ): Promise<PostProductDeleteResponseSuccess> {
  13309 + return requester(request.url, {
  13310 + method: request.method,
  13311 + ...option,
  13312 + }) as unknown as Promise<PostProductDeleteResponseSuccess>;
  13313 + }
  13314 +
  13315 + /** http method */
  13316 + request.method = method;
  13317 + /** request url */
  13318 + request.url = url;
  13319 + return request;
  13320 +})();
  13321 +
  13322 +/** @description request parameter type for postProductPage */
  13323 +export interface PostProductPageOption {
  13324 + /**
  13325 + * @description
  13326 + * dto
  13327 + */
  13328 + body: {
  13329 + /**
  13330 + @description
  13331 + dto */
  13332 + dto: Product;
  13333 + };
  13334 +}
  13335 +
  13336 +/** @description response type for postProductPage */
  13337 +export interface PostProductPageResponse {
  13338 + /**
  13339 + * @description
  13340 + * OK
  13341 + */
  13342 + 200: ServerResult;
  13343 + /**
  13344 + * @description
  13345 + * Created
  13346 + */
  13347 + 201: any;
  13348 + /**
  13349 + * @description
  13350 + * Unauthorized
  13351 + */
  13352 + 401: any;
  13353 + /**
  13354 + * @description
  13355 + * Forbidden
  13356 + */
  13357 + 403: any;
  13358 + /**
  13359 + * @description
  13360 + * Not Found
  13361 + */
  13362 + 404: any;
  13363 +}
  13364 +
  13365 +export type PostProductPageResponseSuccess = PostProductPageResponse[200];
  13366 +/**
  13367 + * @description
  13368 + * 分页查询
  13369 + * @tags 商品管理
  13370 + * @produces *
  13371 + * @consumes application/json
  13372 + */
  13373 +export const postProductPage = /* #__PURE__ */ (() => {
  13374 + const method = 'post';
  13375 + const url = '/product/page';
  13376 + function request(
  13377 + option: PostProductPageOption,
  13378 + ): Promise<PostProductPageResponseSuccess> {
  13379 + return requester(request.url, {
  13380 + method: request.method,
  13381 + ...option,
  13382 + }) as unknown as Promise<PostProductPageResponseSuccess>;
  13383 + }
  13384 +
  13385 + /** http method */
  13386 + request.method = method;
  13387 + /** request url */
  13388 + request.url = url;
  13389 + return request;
  13390 +})();
  13391 +
12962 13392 /** @description request parameter type for postProductCollectBillAddOrModify */
12963 13393 export interface PostProductCollectBillAddOrModifyOption {
12964 13394 /**
... ... @@ -16030,6 +16460,12 @@ export interface GetServiceInvoiceListInvoiceProjectOption {
16030 16460 createByName?: string;
16031 16461 createByNameLike?: string;
16032 16462 /**
  16463 + @format date-time */
  16464 + createTimeGe?: string;
  16465 + /**
  16466 + @format date-time */
  16467 + createTimeLe?: string;
  16468 + /**
16033 16469 @format int32 */
16034 16470 current?: number;
16035 16471 /**
... ...