Commit da43036fb6a0cc39ea26594359d44a07acb3de7b
1 parent
8b3b6ad0
feat: init
Showing
6 changed files
with
159 additions
and
25 deletions
.umirc.ts
... | ... | @@ -9,7 +9,7 @@ export default defineConfig({ |
9 | 9 | initialState: {}, |
10 | 10 | request: {}, |
11 | 11 | layout: { |
12 | - title: '项目组模板', | |
12 | + title: '订单管理系统', | |
13 | 13 | }, |
14 | 14 | proxy: { |
15 | 15 | '/api/': { |
... | ... | @@ -21,27 +21,27 @@ export default defineConfig({ |
21 | 21 | routes: [ |
22 | 22 | { |
23 | 23 | path: '/', |
24 | - redirect: '/home', | |
24 | + redirect: '/order', | |
25 | 25 | }, |
26 | + // { | |
27 | + // name: '首页', | |
28 | + // path: '/home', | |
29 | + // component: './Home', | |
30 | + // }, | |
31 | + // { | |
32 | + // name: '权限演示', | |
33 | + // path: '/access', | |
34 | + // component: './Access', | |
35 | + // }, | |
36 | + // { | |
37 | + // name: '用户', | |
38 | + // path: '/user', | |
39 | + // component: './User', | |
40 | + // }, | |
26 | 41 | { |
27 | - name: '首页', | |
28 | - path: '/home', | |
29 | - component: './Home', | |
30 | - }, | |
31 | - { | |
32 | - name: '权限演示', | |
33 | - path: '/access', | |
34 | - component: './Access', | |
35 | - }, | |
36 | - { | |
37 | - name: '用户', | |
38 | - path: '/user', | |
39 | - component: './User', | |
40 | - }, | |
41 | - { | |
42 | - name: ' CRUD 示例', | |
43 | - path: '/table', | |
44 | - component: './Table', | |
42 | + name: '订单管理', | |
43 | + path: '/order', | |
44 | + component: './Order', | |
45 | 45 | }, |
46 | 46 | ], |
47 | 47 | ... | ... |
README.md
1 | -# README | |
1 | +# 订单新建 | |
2 | 2 | |
3 | -`@umijs/max` 模板项目,更多功能参考 [Umi Max 简介](https://umijs.org/docs/max/introduce) | |
3 | +新建订单文件地址 | |
4 | + | |
5 | +/src/pages/Order/components/OrderDrawer.tsx | |
6 | + | |
7 | +新增/修改下面这个代码就可以操作订单新建字段,将name对应接口,label对应的中文 | |
8 | + | |
9 | +``` | |
10 | +<ProFormText | |
11 | + name="orderId" | |
12 | + width="lg" | |
13 | + label="订单编号" | |
14 | + placeholder="请输入名称" | |
15 | +/> | |
16 | +``` | |
17 | + | |
18 | +点击确认后看控制台的console确认提交的对象是否正确 | |
19 | + | |
20 | +# 订单列表 | |
21 | + | |
22 | +文件地址/src/pages/Order/index.tsx | |
23 | + | |
24 | +搜索columns,新建/修改下面的对象 | |
25 | + | |
26 | +``` | |
27 | +{ title: '昵称', dataIndex: 'nickName', valueType: 'text', }, | |
28 | +``` | ... | ... |
src/pages/Table/components/CreateForm.tsx renamed to src/pages/Order/components/CreateForm.tsx
src/pages/Order/components/OrderDrawer.tsx
0 → 100644
1 | +// import { PlusOutlined } from '@ant-design/icons'; | |
2 | +import { DrawerForm, ProFormText } from '@ant-design/pro-components'; | |
3 | +import { Form, message } from 'antd'; | |
4 | + | |
5 | +const waitTime = (time: number = 100) => { | |
6 | + return new Promise((resolve) => { | |
7 | + setTimeout(() => { | |
8 | + resolve(true); | |
9 | + }, time); | |
10 | + }); | |
11 | +}; | |
12 | + | |
13 | +export default ({ onClose }) => { | |
14 | + const [form] = Form.useForm<{ name: string; company: string }>(); | |
15 | + | |
16 | + return ( | |
17 | + <DrawerForm<{ | |
18 | + name: string; | |
19 | + company: string; | |
20 | + }> | |
21 | + open | |
22 | + title="新建订单" | |
23 | + resize={{ | |
24 | + onResize() { | |
25 | + console.log('resize!'); | |
26 | + }, | |
27 | + maxWidth: window.innerWidth * 0.8, | |
28 | + minWidth: 400, | |
29 | + }} | |
30 | + // layout="horizontal" | |
31 | + // labelCol={{ span: 8 }} | |
32 | + form={form} | |
33 | + autoFocusFirstInput | |
34 | + drawerProps={{ | |
35 | + destroyOnClose: true, | |
36 | + }} | |
37 | + submitTimeout={2000} | |
38 | + onFinish={async (values) => { | |
39 | + console.log( | |
40 | + '%c [ ]-40', | |
41 | + 'font-size:13px; background:pink; color:#bf2c9f;', | |
42 | + values, | |
43 | + ); | |
44 | + console.log(values.name); | |
45 | + message.success('提交成功'); | |
46 | + // 不返回不会关闭弹框 | |
47 | + // onClose(); | |
48 | + return true; | |
49 | + }} | |
50 | + onOpenChange={(val) => { | |
51 | + !val && onClose(); | |
52 | + }} | |
53 | + > | |
54 | + <h2>订单基本信息</h2> | |
55 | + <ProFormText | |
56 | + name="orderId" | |
57 | + width="lg" | |
58 | + label="订单编号" | |
59 | + placeholder="请输入名称" | |
60 | + /> | |
61 | + <ProFormText | |
62 | + width="lg" | |
63 | + name="orderName" | |
64 | + label="销售代号" | |
65 | + placeholder="请输入名称" | |
66 | + /> | |
67 | + <h2>商品基本信息</h2> | |
68 | + <ProFormText width="lg" name="id" label="支付总金额" /> | |
69 | + <h2>商品1</h2> | |
70 | + <ProFormText width="lg" name="id" label="支付总金额" /> | |
71 | + {/* <ProFormDateRangePicker name="contractTime" label="合同生效时间" /> */} | |
72 | + {/* <ProForm.Group> | |
73 | + <ProFormSelect | |
74 | + options={[ | |
75 | + { | |
76 | + value: 'chapter', | |
77 | + label: '盖章后生效', | |
78 | + }, | |
79 | + ]} | |
80 | + width="xs" | |
81 | + name="useMode" | |
82 | + label="合同约定生效方式" | |
83 | + /> | |
84 | + <ProFormSelect | |
85 | + width="xs" | |
86 | + options={[ | |
87 | + { | |
88 | + value: 'time', | |
89 | + label: '履行完终止', | |
90 | + }, | |
91 | + ]} | |
92 | + formItemProps={{ | |
93 | + style: { | |
94 | + margin: 0, | |
95 | + }, | |
96 | + }} | |
97 | + name="unusedMode" | |
98 | + label="合同约定失效效方式" | |
99 | + /> | |
100 | + </ProForm.Group> | |
101 | + */} | |
102 | + </DrawerForm> | |
103 | + ); | |
104 | +}; | ... | ... |
src/pages/Table/components/UpdateForm.tsx renamed to src/pages/Order/components/UpdateForm.tsx
src/pages/Table/index.tsx renamed to src/pages/Order/index.tsx
... | ... | @@ -10,6 +10,7 @@ import { |
10 | 10 | import { Button, Divider, Drawer, message } from 'antd'; |
11 | 11 | import React, { useRef, useState } from 'react'; |
12 | 12 | import CreateForm from './components/CreateForm'; |
13 | +import OrderDrawer from './components/OrderDrawer'; | |
13 | 14 | import UpdateForm, { FormValueType } from './components/UpdateForm'; |
14 | 15 | |
15 | 16 | const { addUser, queryUserList, deleteUser, modifyUser } = |
... | ... | @@ -90,11 +91,12 @@ const TableList: React.FC<unknown> = () => { |
90 | 91 | const actionRef = useRef<ActionType>(); |
91 | 92 | const [row, setRow] = useState<API.UserInfo>(); |
92 | 93 | const [selectedRowsState, setSelectedRows] = useState<API.UserInfo[]>([]); |
94 | + const [orderDrawerVisible, setOrderDrawerVisible] = useState<boolean>(false); | |
93 | 95 | const columns: ProDescriptionsItemProps<API.UserInfo>[] = [ |
94 | 96 | { |
95 | 97 | title: '名称', |
96 | 98 | dataIndex: 'name', |
97 | - tip: '名称是唯一的 key', | |
99 | + // tip: '名称是唯一的 key', | |
98 | 100 | formItemProps: { |
99 | 101 | rules: [ |
100 | 102 | { |
... | ... | @@ -142,7 +144,7 @@ const TableList: React.FC<unknown> = () => { |
142 | 144 | return ( |
143 | 145 | <PageContainer |
144 | 146 | header={{ |
145 | - title: 'CRUD 示例', | |
147 | + title: '订单管理', | |
146 | 148 | }} |
147 | 149 | > |
148 | 150 | <ProTable<API.UserInfo> |
... | ... | @@ -156,7 +158,7 @@ const TableList: React.FC<unknown> = () => { |
156 | 158 | <Button |
157 | 159 | key="1" |
158 | 160 | type="primary" |
159 | - onClick={() => handleModalVisible(true)} | |
161 | + onClick={() => setOrderDrawerVisible(true)} | |
160 | 162 | > |
161 | 163 | 新建 |
162 | 164 | </Button>, |
... | ... | @@ -263,6 +265,9 @@ const TableList: React.FC<unknown> = () => { |
263 | 265 | /> |
264 | 266 | )} |
265 | 267 | </Drawer> |
268 | + {orderDrawerVisible && ( | |
269 | + <OrderDrawer onClose={() => setOrderDrawerVisible(false)} /> | |
270 | + )} | |
266 | 271 | </PageContainer> |
267 | 272 | ); |
268 | 273 | }; | ... | ... |