Commit da43036fb6a0cc39ea26594359d44a07acb3de7b

Authored by sanmu
1 parent 8b3b6ad0

feat: init

.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&lt;unknown&gt; = () =&gt; {
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&lt;unknown&gt; = () =&gt; {
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&lt;unknown&gt; = () =&gt; {
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&lt;unknown&gt; = () =&gt; {
263 265 />
264 266 )}
265 267 </Drawer>
  268 + {orderDrawerVisible && (
  269 + <OrderDrawer onClose={() => setOrderDrawerVisible(false)} />
  270 + )}
266 271 </PageContainer>
267 272 );
268 273 };
... ...