Your Name 2 years ago
parent
commit
fbc24865eb

+ 4
- 3
src/pages/login/style.less View File

22
   .login-card {
22
   .login-card {
23
     width: 900px;
23
     width: 900px;
24
     height: 600px;
24
     height: 600px;
25
-    border-radius: 4px;
25
+    border-radius: 8px;
26
     overflow: hidden;
26
     overflow: hidden;
27
+    backdrop-filter: blur(6px);
27
     box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.2);
28
     box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.2);
28
     
29
     
29
     display: grid;
30
     display: grid;
31
   }
32
   }
32
 
33
 
33
   .login-card-left {
34
   .login-card-left {
34
-    background: rgba(255, 255, 255, 0.9);
35
+    background: rgba(255, 255, 255, 0.45);
35
   }
36
   }
36
   .login-card-right {
37
   .login-card-right {
37
-    background: #EFF6FA;
38
+    // background: #EFF6FA;
38
   }
39
   }
39
 
40
 
40
   .login-form-box {
41
   .login-form-box {

+ 18
- 34
src/pages/position/edit/index.jsx View File

2
 import { Button, Card, Form, Input, Select } from 'antd';
2
 import { Button, Card, Form, Input, Select } from 'antd';
3
 import useBool from '@/utils/hooks/useBool';
3
 import useBool from '@/utils/hooks/useBool';
4
 import { getSysPosition, postSysPosition, putSysPosition, getSysPositionById } from "@/service/sysposition";
4
 import { getSysPosition, postSysPosition, putSysPosition, getSysPositionById } from "@/service/sysposition";
5
+import { getSysOrg } from '@/service/sysorg';
5
 import { useSearchParams, useNavigate } from 'react-router-dom';
6
 import { useSearchParams, useNavigate } from 'react-router-dom';
6
-
7
-const formItemLayout = {
8
-  labelCol: {
9
-    xs: { span: 24 },
10
-    sm: { span: 8 },
11
-  },
12
-  wrapperCol: {
13
-    xs: { span: 24 },
14
-    sm: { span: 16 },
15
-  },
16
-};
17
-const tailFormItemLayout = {
18
-  wrapperCol: {
19
-    xs: {
20
-      span: 24,
21
-      offset: 0,
22
-    },
23
-    sm: {
24
-      span: 16,
25
-      offset: 8,
26
-    },
27
-  },
28
-};
7
+import { formItemLayout, tailFormItemLayout } from '@/utils/form';
29
 
8
 
30
 const { Option } = Select;
9
 const { Option } = Select;
31
 export default (props) => {
10
 export default (props) => {
37
   const actionRef = useRef();
16
   const actionRef = useRef();
38
   const [searchParams, setSearchParams] = useSearchParams();
17
   const [searchParams, setSearchParams] = useSearchParams();
39
   const id = searchParams.get("id");
18
   const id = searchParams.get("id");
40
-  const [sysPositionList, setSysPositionList] = useState([]);
19
+  const [positionList, setPositionList] = useState([]);
20
+  const [orgList, setOrgList] = useState([]);
41
 
21
 
42
   useEffect(() => {
22
   useEffect(() => {
43
     if (id) {
23
     if (id) {
49
 
29
 
50
   useEffect(() => {
30
   useEffect(() => {
51
     getSysPosition({ pageSize: 999 }).then((res) => {
31
     getSysPosition({ pageSize: 999 }).then((res) => {
52
-      console.log('res', res.records);
53
-      setSysPositionList(res.records);
32
+      setPositionList(res.records || []);
33
+    })
34
+    getSysOrg({ pageSize: 999 }).then((res) => {
35
+      setOrgList(res.records || []);
54
     })
36
     })
55
   }, [])
37
   }, [])
56
 
38
 
75
     }
57
     }
76
   }
58
   }
77
 
59
 
78
-
79
-  console.log('tiantian', sysPositionList);
80
-
81
-
82
   return (
60
   return (
83
     <Card loading={loading}>
61
     <Card loading={loading}>
84
       <Form onFinish={onFinish} form={form} {...formItemLayout} scrollToFirstError style={{ maxWidth: '1000px' }}>
62
       <Form onFinish={onFinish} form={form} {...formItemLayout} scrollToFirstError style={{ maxWidth: '1000px' }}>
92
           name="positionPId"
70
           name="positionPId"
93
           label="上级岗位"
71
           label="上级岗位"
94
         >
72
         >
95
-          <Input />
73
+          <Select allowClear>
74
+            {positionList.map((item) => (
75
+              <Option value={item.positionId} key={item.positionId}>
76
+                {item.name}
77
+              </Option>
78
+            ))}
79
+          </Select>
96
         </Form.Item>
80
         </Form.Item>
97
         <Form.Item
81
         <Form.Item
98
           name="orgId"
82
           name="orgId"
99
           label="所属单位"
83
           label="所属单位"
100
         >
84
         >
101
           <Select allowClear>
85
           <Select allowClear>
102
-            {sysPositionList.map((item) => (
103
-              <Option value={item.positionId} key={item.positionId}>
104
-                {item.orgId}
86
+            {orgList.map((item) => (
87
+              <Option value={item.orgId} key={item.orgId}>
88
+                {item.name}
105
               </Option>
89
               </Option>
106
             ))}
90
             ))}
107
           </Select>
91
           </Select>

+ 5
- 1
src/pages/position/list/index.jsx View File

1
 import React from "react";
1
 import React from "react";
2
 import { useNavigate } from "react-router-dom";
2
 import { useNavigate } from "react-router-dom";
3
-import { queryTable } from "@/utils/request";
3
+import { queryTable, queryDict } from "@/utils/request";
4
 import { ProTable } from "@ant-design/pro-components";
4
 import { ProTable } from "@ant-design/pro-components";
5
 import { Button, message, Popconfirm } from "antd";
5
 import { Button, message, Popconfirm } from "antd";
6
 import { getSysPosition, deleteSysPosition } from "@/service/sysposition";
6
 import { getSysPosition, deleteSysPosition } from "@/service/sysposition";
7
+import { getSysOrg } from "@/service/sysorg";
7
 
8
 
8
 const querySysPositionList = queryTable(getSysPosition);
9
 const querySysPositionList = queryTable(getSysPosition);
10
+const queryOrg = queryDict(getSysOrg, {labelKey: 'name', valueKey: 'orgId'})
9
 
11
 
10
 export default (props) => {
12
 export default (props) => {
11
   const actionRef = React.useRef();
13
   const actionRef = React.useRef();
39
     {
41
     {
40
       title: "所属单位",
42
       title: "所属单位",
41
       dataIndex: "orgId",
43
       dataIndex: "orgId",
44
+      valueType: 'select',
45
+      request: queryOrg,
42
     },
46
     },
43
 
47
 
44
     {
48
     {

+ 29
- 26
src/pages/user/Edit.jsx View File

5
 import { postSysUser, getSysUserById } from '@/service/sysuser';
5
 import { postSysUser, getSysUserById } from '@/service/sysuser';
6
 import { useSearchParams, useNavigate } from 'react-router-dom';
6
 import { useSearchParams, useNavigate } from 'react-router-dom';
7
 import Page from '@/components/Page';
7
 import Page from '@/components/Page';
8
+import {formItemLayout, tailFormItemLayout} from '@/utils/form';
9
+import { getSysOrg } from '@/service/sysorg';
10
+import { getSysPosition } from '@/service/sysposition';
8
 import Account from './Account';
11
 import Account from './Account';
9
 
12
 
10
-const formItemLayout = {
11
-  labelCol: {
12
-    xs: { span: 24 },
13
-    sm: { span: 8 },
14
-  },
15
-  wrapperCol: {
16
-    xs: { span: 24 },
17
-    sm: { span: 16 },
18
-  },
19
-};
20
-const tailFormItemLayout = {
21
-  wrapperCol: {
22
-    xs: {
23
-      span: 24,
24
-      offset: 0,
25
-    },
26
-    sm: {
27
-      span: 16,
28
-      offset: 8,
29
-    },
30
-  },
31
-};
32
-
33
 const { Option } = Select;
13
 const { Option } = Select;
34
 
14
 
35
 export default (props) => {
15
 export default (props) => {
37
   const [submiting, startSubmit, cancelSubmit] = useBool();
17
   const [submiting, startSubmit, cancelSubmit] = useBool();
38
   const [open, setShow, setHidden] = useBool(false);
18
   const [open, setShow, setHidden] = useBool(false);
39
   const [roleList, setRoleList] = React.useState([]);
19
   const [roleList, setRoleList] = React.useState([]);
20
+  const [orgList, setOrgList] = React.useState([]);
21
+  const [org, setOrg] = React.useState();
22
+  const [posList, setPosList] = React.useState([]);
40
   const [searchParams] = useSearchParams();
23
   const [searchParams] = useSearchParams();
41
   const [form] = Form.useForm();
24
   const [form] = Form.useForm();
42
   const [user, setUser] = React.useState();
25
   const [user, setUser] = React.useState();
61
   }
44
   }
62
 
45
 
63
   React.useEffect(() => {
46
   React.useEffect(() => {
64
-    getSysRole({ pageSize: 500 }).then(res => setRoleList(res.records));
47
+    getSysRole({ pageSize: 500 }).then(res => setRoleList(res.records || []));
48
+    getSysOrg({ pageSize: 500 }).then(res => setOrgList(res.records || []));
65
   }, []);
49
   }, []);
50
+
51
+  React.useEffect(() => {
52
+    if (org) {
53
+      getSysPosition({orgId: org, pageSize: 500}).then(res => setPosList(res.records || []));
54
+    }
55
+  }, [org])
66
   
56
   
67
   React.useEffect(() => {
57
   React.useEffect(() => {
68
     if (id) {
58
     if (id) {
69
       startLoading();
59
       startLoading();
70
       getSysUserById(id).then(res => {
60
       getSysUserById(id).then(res => {
61
+        setOrg(res.orgId);
71
         setUser(res);
62
         setUser(res);
72
         form.setFieldsValue({
63
         form.setFieldsValue({
73
           ...res,
64
           ...res,
114
             name="orgId"
105
             name="orgId"
115
             label="单位"
106
             label="单位"
116
           >
107
           >
117
-            <Input />
108
+            <Select onChange={setOrg}>
109
+              {
110
+                orgList.map(x => (
111
+                  <Option key={x.orgId}>{x.name}</Option>
112
+                ))
113
+              }
114
+            </Select>
118
           </Form.Item>
115
           </Form.Item>
119
           <Form.Item
116
           <Form.Item
120
             name="positionId"
117
             name="positionId"
121
             label="岗位"
118
             label="岗位"
122
           >
119
           >
123
-            <Input />
120
+            <Select>
121
+              {
122
+                posList.map(x => (
123
+                  <Option key={x.positionId}>{x.name}</Option>
124
+                ))
125
+              }
126
+            </Select>
124
           </Form.Item>
127
           </Form.Item>
125
           <Form.Item
128
           <Form.Item
126
             name="rolesList"
129
             name="rolesList"

+ 9
- 1
src/pages/user/index.jsx View File

1
 import React from "react";
1
 import React from "react";
2
 import { useNavigate } from "react-router-dom";
2
 import { useNavigate } from "react-router-dom";
3
-import { queryTable } from "@/utils/request";
3
+import { queryTable, queryDict } from "@/utils/request";
4
 import { ProTable } from "@ant-design/pro-components";
4
 import { ProTable } from "@ant-design/pro-components";
5
 import Page from "@/components/Page";
5
 import Page from "@/components/Page";
6
 import { Button, message, Popconfirm } from "antd";
6
 import { Button, message, Popconfirm } from "antd";
7
 import { getSysUser, updateUserStatus, deleteSysUser } from "@/service/sysuser";
7
 import { getSysUser, updateUserStatus, deleteSysUser } from "@/service/sysuser";
8
+import { getSysOrg } from "@/service/sysorg";
9
+import { getSysPosition } from "@/service/sysposition";
8
 
10
 
9
 const queryUserList = queryTable(getSysUser);
11
 const queryUserList = queryTable(getSysUser);
12
+const queryOrg = queryDict(getSysOrg, {labelKey: 'name', valueKey: 'orgId'});
13
+const queryPosition = queryDict(getSysPosition, {labelKey: 'name', valueKey: 'positionId'})
10
 
14
 
11
 export default (props) => {
15
 export default (props) => {
12
   const actionRef = React.useRef();
16
   const actionRef = React.useRef();
36
     {
40
     {
37
       title: "单位",
41
       title: "单位",
38
       dataIndex: "orgId",
42
       dataIndex: "orgId",
43
+      valueType: 'select',
44
+      request: queryOrg,
39
     },
45
     },
40
     {
46
     {
41
       title: "姓名",
47
       title: "姓名",
48
     {
54
     {
49
       title: "岗位",
55
       title: "岗位",
50
       dataIndex: "positionId",
56
       dataIndex: "positionId",
57
+      valueType: 'select',
58
+      request: queryPosition,
51
     },
59
     },
52
     {
60
     {
53
       title: "状态",
61
       title: "状态",

+ 2
- 4
src/utils/request.js View File

19
     noTip = method.toLocaleLowerCase() === 'get' ? true : false;
19
     noTip = method.toLocaleLowerCase() === 'get' ? true : false;
20
   }
20
   }
21
 
21
 
22
-  console.log('---------------')
23
-
24
   // 在发送请求之前做些什么
22
   // 在发送请求之前做些什么
25
   return {
23
   return {
26
     ...config,
24
     ...config,
105
   };
103
   };
106
 }
104
 }
107
 
105
 
108
-export function queryDict (apiRequest) {
109
-  return function (params, labelKey = 'name', valueKey = 'id') {
106
+export function queryDict (apiRequest, {labelKey = 'name', valueKey = 'id'}) {
107
+  return function (params) {
110
     const { current, pageSize, ...leftParams } = params || {};
108
     const { current, pageSize, ...leftParams } = params || {};
111
     return apiRequest({
109
     return apiRequest({
112
       pageSize: 9999,
110
       pageSize: 9999,