Browse Source

Merge branch 'master' of http://git.ycjcjy.com/zhiyuxing/estateagents-admin-manager

魏熙美 5 years ago
parent
commit
e236f64292
2 changed files with 70 additions and 84 deletions
  1. 69
    83
      src/pages/staff/list/addRole.jsx
  2. 1
    1
      src/pages/staff/list/editRole.jsx

+ 69
- 83
src/pages/staff/list/addRole.jsx View File

1
 import React, { useState, useEffect } from 'react';
1
 import React, { useState, useEffect } from 'react';
2
-import { Checkbox, Input, Card } from 'antd';
2
+import { Checkbox, Input, Card, Form, Button } from 'antd';
3
 import { connect } from 'dva';
3
 import { connect } from 'dva';
4
 import XForm, { FieldTypes } from '../../../components/XForm';
4
 import XForm, { FieldTypes } from '../../../components/XForm';
5
 import request from '../../../utils/request';
5
 import request from '../../../utils/request';
6
 import channels from './channelList.less';
6
 import channels from './channelList.less';
7
 import { resolve } from 'path';
7
 import { resolve } from 'path';
8
-
9
 const { TextArea } = Input;
8
 const { TextArea } = Input;
10
 
9
 
11
 
10
 
15
  * @param {*} props
14
  * @param {*} props
16
  * @returns
15
  * @returns
17
  */
16
  */
18
-const add = props => {
19
-  const Poster = propses => {
17
+  const Poster = props => {
20
     console.log('props,props', props.user.currentUser)
18
     console.log('props,props', props.user.currentUser)
21
     const userMenus = props.user.currentUser.menus;
19
     const userMenus = props.user.currentUser.menus;
22
     const userBtns = props.user.currentUser.buttons;
20
     const userBtns = props.user.currentUser.buttons;
23
-    const [data, setData] = useState({ data: [] })
21
+
24
    // 获取当前所有菜单
22
    // 获取当前所有菜单
23
+   const [data, setData] = useState({ data: [] })
24
+   const [buutonDate, setBuutonDate] = useState({ })
25
     useEffect(() => {
25
     useEffect(() => {
26
       localStorage.removeItem('value');
26
       localStorage.removeItem('value');
27
       menuList({ pageNum: 1, pageSize: 100 })
27
       menuList({ pageNum: 1, pageSize: 100 })
28
+      buttonList({ pageNum: 1, pageSize: 100 })
29
+      // buttonAndMenuList()
28
     }, [])
30
     }, [])
29
-  
31
+
30
     function menuList(params) {
32
     function menuList(params) {
31
       request({
33
       request({
32
         url: '/api/admin/menuList',
34
         url: '/api/admin/menuList',
38
         setData(data)
40
         setData(data)
39
     })
41
     })
40
     }
42
     }
43
+    // 所有按钮
44
+    function buttonList(params) {
45
+      request({
46
+        url: '/api/admin/buttonList',
47
+        method: 'GET',
48
+        params: { ...params },
49
+    // eslint-disable-next-line no-shadow
50
+    }).then(data => {
51
+        console.log(data)
52
+        setBuutonDate(data)
53
+    })
54
+    }
41
 
55
 
56
+    // 根据角色id查询当前的菜单及其按钮
57
+    function buttonAndMenuList(params) {
58
+      request({
59
+        url: `/api/admin/taRole/details/${2}`,
60
+        method: 'GET',
61
+        params: { ...params },
62
+    // eslint-disable-next-line no-shadow
63
+    }).then(data => {
64
+        console.log(data)
65
+        setData(data)
66
+    })
67
+    }
42
 
68
 
43
     // const [menus, setMenus] = useState([]);
69
     // const [menus, setMenus] = useState([]);
44
-// 判断menus是否有值
70
+    // 判断menus是否有值
45
     const [menus, setMenus] = useState([]);
71
     const [menus, setMenus] = useState([]);
46
-
47
-
48
     const addMenus = m => {
72
     const addMenus = m => {
49
-      const newMenus = [...menus, m]
50
-      setMenus([...menus, m])
73
+    const newMenus = [...menus, m]
74
+          setMenus([...menus, m])
51
     };
75
     };
52
     const delMenus = m => setMenus(menus.filter(x => x.menuId !== m.menuId));
76
     const delMenus = m => setMenus(menus.filter(x => x.menuId !== m.menuId));
53
     const handleMenuChange = m => e => {
77
     const handleMenuChange = m => e => {
58
       } else {
82
       } else {
59
         delMenus(m)
83
         delMenus(m)
60
       }
84
       }
61
-      console.log('menus1111', menus)
62
     }
85
     }
63
 
86
 
64
     const [but, setBut] = useState([]);
87
     const [but, setBut] = useState([]);
72
           } else {
95
           } else {
73
             delBut(m)
96
             delBut(m)
74
           }
97
           }
75
-          // console.log('menus', menus)
76
-
77
-          console.log('menus', menus)
78
-          console.log('but', but)
79
         }
98
         }
80
-
81
-    const dataSource = [
82
-      {
83
-        name: '员工管理',
84
-        per: [
85
-          '111111',
86
-          '22222',
87
-          '33333',
88
-        ],
89
-      },
90
-      {
91
-        name: '角色管理',
92
-        per: [
93
-          '444',
94
-          '555',
95
-          '666',
96
-        ],
97
-      },
98
-    ];
99
-
100
-
101
     const gridStyle1 = {
99
     const gridStyle1 = {
102
       width: '20%',
100
       width: '20%',
103
       textAlign: 'left',
101
       textAlign: 'left',
108
       height: '69px',
106
       height: '69px',
109
     };
107
     };
110
 
108
 
109
+    function handleSubmit (e) {
110
+      e.preventDefault();
111
+      props.form.validateFields((err, values) => {
112
+        request({
113
+          url: '/api/admin/updateAuthMenu',
114
+          method: 'PUT',
115
+          data: { sysMenu: menus },
116
+      // eslint-disable-next-line no-shadow
117
+      }).then(data => {
118
+          console.log(data)
119
+          setData(data)
120
+      })
121
+      });
122
+    }
123
+    const { getFieldDecorator } = props.form;
111
     return (
124
     return (
112
     <>
125
     <>
113
       <div >
126
       <div >
114
-        {/* { console.log('userMenus', userMenus) }
115
-        { console.log('userBtns', userBtns) } */}
127
+        <Form labelCol={{ span: 7 }} wrapperCol={{ span: 12 }} onSubmit={handleSubmit}>
128
+        <Form.Item label="渠道名称">
129
+          {getFieldDecorator('channelName', {
130
+            rules: [{ required: true, message: '请输入渠道名称' }],
131
+          })(<Input className={channels.inpuit} />)}
132
+
133
+        </Form.Item>
116
         {userMenus.map(item => (
134
         {userMenus.map(item => (
117
           (item.parentCode === '-1') &&
135
           (item.parentCode === '-1') &&
118
           <Card title={<Checkbox onChange={handleMenuChange(item)}>{item.name}</Checkbox>} bordered style={{ width: '100%', alignItems: 'center' }} >
136
           <Card title={<Checkbox onChange={handleMenuChange(item)}>{item.name}</Checkbox>} bordered style={{ width: '100%', alignItems: 'center' }} >
125
                           <Checkbox onChange={handleMenuChange(menu)}>{menu.name}</Checkbox>
143
                           <Checkbox onChange={handleMenuChange(menu)}>{menu.name}</Checkbox>
126
                       </Card.Grid>
144
                       </Card.Grid>
127
                       <Card.Grid style={gridStyle2}>
145
                       <Card.Grid style={gridStyle2}>
128
-                        {userBtns.map(btn => (
146
+                        {buutonDate.length > 0 && buutonDate.map(btn => (
129
                           <>
147
                           <>
130
                             {
148
                             {
131
                               btn.menuId === menu.menuId &&
149
                               btn.menuId === menu.menuId &&
139
               }
157
               }
140
           </Card>
158
           </Card>
141
         ))}
159
         ))}
160
+        <Form.Item wrapperCol={{ span: 15, offset: 7 }}>
161
+          <Button type="primary" htmlType="submit">
162
+            保存
163
+          </Button>
164
+          <Button className={channels.formButton} type="primary" htmlType="submit">
165
+            取消
166
+          </Button>
167
+        </Form.Item>
168
+      </Form>
142
       </div>
169
       </div>
143
     </>
170
     </>
144
     )
171
     )
145
   }
172
   }
146
-  
147
-  const fields = [
148
-    {
149
-      label: '角色名称',
150
-      name: 'roleName',
151
-      type: FieldTypes.Text,
152
-      // placeholder: '名称',
153
-      value: ''
154
-    },
155
-    {
156
-      label: '简介',
157
-      name: 'roleIntroduction',
158
-      render: <TextArea className={channels.inpuitTxt} ></TextArea>,
159
-      value: ''
160
-
161
-    },
162
-
163
-    {
164
-      label: '菜单权限',
165
-      name: 'rolePermission',
166
-      render:
167
-        <>
168
-          <div>
169
-            <Poster/>
170
-          </div>
171
-        </>,
172
-    },
173
-
174
-  ]
175
-  const handleSubmit = val => {
176
-    window.console.log('submit data --->', val)
177
-    request({
178
-      url: '/api/admin/menuList',
179
-      method: 'POST',
180
-      params: { ...params },
181
-  // eslint-disable-next-line no-shadow
182
-  }).then(data => {
183
-      console.log(data)
184
-  })
185
-  }
186
-  return <XForm onSubmit={handleSubmit} fields={fields}></XForm>
187
-}
188
-export default connect(({ user }) => ({ user }))(add);
173
+const WrappedNormalLoginForm = Form.create({ name: 'Poster' })(Poster);
174
+export default connect(({ user }) => ({ user }))(WrappedNormalLoginForm);

+ 1
- 1
src/pages/staff/list/editRole.jsx View File

179
       render:
179
       render:
180
         <>
180
         <>
181
           <div>
181
           <div>
182
-            <Poster value="111111" />
182
+            <Poster/>
183
           </div>
183
           </div>
184
         </>,
184
         </>,
185
     },
185
     },