Commit da43036fb6a0cc39ea26594359d44a07acb3de7b

Authored by sanmu
1 parent 8b3b6ad0

feat: init

.umirc.ts
@@ -9,7 +9,7 @@ export default defineConfig({ @@ -9,7 +9,7 @@ export default defineConfig({
9 initialState: {}, 9 initialState: {},
10 request: {}, 10 request: {},
11 layout: { 11 layout: {
12 - title: '项目组模板', 12 + title: '订单管理系统',
13 }, 13 },
14 proxy: { 14 proxy: {
15 '/api/': { 15 '/api/': {
@@ -21,27 +21,27 @@ export default defineConfig({ @@ -21,27 +21,27 @@ export default defineConfig({
21 routes: [ 21 routes: [
22 { 22 {
23 path: '/', 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,6 +10,7 @@ import {
10 import { Button, Divider, Drawer, message } from 'antd'; 10 import { Button, Divider, Drawer, message } from 'antd';
11 import React, { useRef, useState } from 'react'; 11 import React, { useRef, useState } from 'react';
12 import CreateForm from './components/CreateForm'; 12 import CreateForm from './components/CreateForm';
  13 +import OrderDrawer from './components/OrderDrawer';
13 import UpdateForm, { FormValueType } from './components/UpdateForm'; 14 import UpdateForm, { FormValueType } from './components/UpdateForm';
14 15
15 const { addUser, queryUserList, deleteUser, modifyUser } = 16 const { addUser, queryUserList, deleteUser, modifyUser } =
@@ -90,11 +91,12 @@ const TableList: React.FC&lt;unknown&gt; = () =&gt; { @@ -90,11 +91,12 @@ const TableList: React.FC&lt;unknown&gt; = () =&gt; {
90 const actionRef = useRef<ActionType>(); 91 const actionRef = useRef<ActionType>();
91 const [row, setRow] = useState<API.UserInfo>(); 92 const [row, setRow] = useState<API.UserInfo>();
92 const [selectedRowsState, setSelectedRows] = useState<API.UserInfo[]>([]); 93 const [selectedRowsState, setSelectedRows] = useState<API.UserInfo[]>([]);
  94 + const [orderDrawerVisible, setOrderDrawerVisible] = useState<boolean>(false);
93 const columns: ProDescriptionsItemProps<API.UserInfo>[] = [ 95 const columns: ProDescriptionsItemProps<API.UserInfo>[] = [
94 { 96 {
95 title: '名称', 97 title: '名称',
96 dataIndex: 'name', 98 dataIndex: 'name',
97 - tip: '名称是唯一的 key', 99 + // tip: '名称是唯一的 key',
98 formItemProps: { 100 formItemProps: {
99 rules: [ 101 rules: [
100 { 102 {
@@ -142,7 +144,7 @@ const TableList: React.FC&lt;unknown&gt; = () =&gt; { @@ -142,7 +144,7 @@ const TableList: React.FC&lt;unknown&gt; = () =&gt; {
142 return ( 144 return (
143 <PageContainer 145 <PageContainer
144 header={{ 146 header={{
145 - title: 'CRUD 示例', 147 + title: '订单管理',
146 }} 148 }}
147 > 149 >
148 <ProTable<API.UserInfo> 150 <ProTable<API.UserInfo>
@@ -156,7 +158,7 @@ const TableList: React.FC&lt;unknown&gt; = () =&gt; { @@ -156,7 +158,7 @@ const TableList: React.FC&lt;unknown&gt; = () =&gt; {
156 <Button 158 <Button
157 key="1" 159 key="1"
158 type="primary" 160 type="primary"
159 - onClick={() => handleModalVisible(true)} 161 + onClick={() => setOrderDrawerVisible(true)}
160 > 162 >
161 新建 163 新建
162 </Button>, 164 </Button>,
@@ -263,6 +265,9 @@ const TableList: React.FC&lt;unknown&gt; = () =&gt; { @@ -263,6 +265,9 @@ const TableList: React.FC&lt;unknown&gt; = () =&gt; {
263 /> 265 />
264 )} 266 )}
265 </Drawer> 267 </Drawer>
  268 + {orderDrawerVisible && (
  269 + <OrderDrawer onClose={() => setOrderDrawerVisible(false)} />
  270 + )}
266 </PageContainer> 271 </PageContainer>
267 ); 272 );
268 }; 273 };