许静 5 лет назад
Родитель
Сommit
eba0ff41cc
2 измененных файлов: 214 добавлений и 204 удалений
  1. 1
    1
      config/config.js
  2. 213
    203
      src/pages/staff/list/addRole.jsx

+ 1
- 1
config/config.js Просмотреть файл

@@ -479,7 +479,7 @@ export default {
479 479
 
480 480
   proxy: {
481 481
     '/api/': {
482
-      target: 'http://localhost:8080/',
482
+      target: 'http://192.168.0.172:8080/',
483 483
       changeOrigin: true,
484 484
       // pathRewrite: { '^/server': '' },
485 485
     },

+ 213
- 203
src/pages/staff/list/addRole.jsx Просмотреть файл

@@ -1,5 +1,5 @@
1 1
 import React, { useState, useEffect } from 'react';
2
-import { Checkbox, Input, Card, Form, Button } from 'antd';
2
+import { Checkbox, Input, Card, Form, Button,Row,Col } from 'antd';
3 3
 import { connect } from 'dva';
4 4
 import XForm, { FieldTypes } from '../../../components/XForm';
5 5
 import request from '../../../utils/request';
@@ -16,237 +16,247 @@ const { TextArea } = Input;
16 16
  * @param {*} props
17 17
  * @returns
18 18
  */
19
-  const Poster = props => {
20
-    console.log('props,props', props.user.currentUser)
21
-    const userMenus = props.user.currentUser.menus;
22
-    const userBtns = props.user.currentUser.buttons;
23
-
24
-   // 获取当前所有菜单
25
-   const [data, setData] = useState({ data: [] })
26
-   const [buutonDate, setBuutonDate] = useState({ })
27
-
28
-   // 展示要显示的菜单和按钮----(编辑)
29
-   const [dataMenuId, setDataMenuId] = useState([])
30
-   const [dataButtonId, setDataButtonId] = useState([])
31
-
32
-    useEffect(() => {
33
-      // 新增和编辑用一个页面,判断新增是否为0和null
34
-      if (props.location.query) {
35
-        const { id } = props.location.query
36
-        if (id) {
37
-          buttonAndMenuList('', id)
38
-        }
19
+const Poster = props => {
20
+  console.log('props,props', props.user.currentUser)
21
+  const userMenus = props.user.currentUser.menus;
22
+  const userBtns = props.user.currentUser.buttons;
23
+
24
+  // 获取当前所有菜单
25
+  const [data, setData] = useState({ data: [] })
26
+  const [buutonDate, setBuutonDate] = useState({})
27
+
28
+  // 展示要显示的菜单和按钮----(编辑)
29
+  const [dataMenuId, setDataMenuId] = useState([])
30
+  const [dataButtonId, setDataButtonId] = useState([])
31
+
32
+  useEffect(() => {
33
+    // 新增和编辑用一个页面,判断新增是否为0和null
34
+    if (props.location.query) {
35
+      const { id } = props.location.query
36
+      if (id) {
37
+        buttonAndMenuList('', id)
39 38
       }
40
-      // menuList({ pageNum: 1, pageSize: 100 })
41
-      buttonList({ pageNum: 1, pageSize: 100 })
42
-    }, [])
43
-    // 当前所有的菜单
44
-    function menuList(params) {
45
-      request({
46
-        url: '/api/admin/menuList',
47
-        method: 'GET',
48
-        params: { ...params },
49
-    // eslint-disable-next-line no-shadow
39
+    }
40
+    // menuList({ pageNum: 1, pageSize: 100 })
41
+    buttonList({ pageNum: 1, pageSize: 100 })
42
+  }, [])
43
+  // 当前所有的菜单
44
+  function menuList(params) {
45
+    request({
46
+      url: '/api/admin/menuList',
47
+      method: 'GET',
48
+      params: { ...params },
49
+      // eslint-disable-next-line no-shadow
50 50
     }).then(data => {
51
-        setData(data)
51
+      setData(data)
52 52
     })
53
-    }
54
-    // 所有按钮
55
-    function buttonList(params) {
56
-      request({
57
-        url: '/api/admin/buttonList',
58
-        method: 'GET',
59
-        params: { ...params },
60
-    // eslint-disable-next-line no-shadow
53
+  }
54
+  // 所有按钮
55
+  function buttonList(params) {
56
+    request({
57
+      url: '/api/admin/buttonList',
58
+      method: 'GET',
59
+      params: { ...params },
60
+      // eslint-disable-next-line no-shadow
61 61
     }).then(data => {
62
-        console.log(data)
63
-        setBuutonDate(data)
62
+      console.log(data)
63
+      setBuutonDate(data)
64 64
     })
65
-    }
66
-    
67
-    // 根据角色id查询当前的菜单及其按钮
68
-    function buttonAndMenuList(params, id) {
69
-      console.log('id: ', id)
70
-      request({
71
-        url: `/api/admin/taRole/details/${id}`,
72
-        method: 'GET',
73
-        params: { ...params },
74
-    // eslint-disable-next-line no-shadow
65
+  }
66
+
67
+  // 根据角色id查询当前的菜单及其按钮
68
+  function buttonAndMenuList(params, id) {
69
+    console.log('id: ', id)
70
+    request({
71
+      url: `/api/admin/taRole/details/${id}`,
72
+      method: 'GET',
73
+      params: { ...params },
74
+      // eslint-disable-next-line no-shadow
75 75
     }).then(data => {
76 76
       console.log('data.roleName: ', data)
77 77
       props.form.setFieldsValue({ roleName: data.roleName })
78
-        console.log(data)
79
-        setData(data)
78
+      console.log(data)
79
+      setData(data)
80 80
 
81
-        // 获取所有的权限Id
82
-        setDataMenuId(data.sysMenuList.map(item => item.menuId))
83
-        setDataButtonId((data.sysMenuList.map(item => item.sysButtonInMenu.map(btn => btn.btnId).join(',')).filter(f => f !== '').join(',').split(',')).map(a => parseInt(a)))
81
+      // 获取所有的权限Id
82
+      setDataMenuId(data.sysMenuList.map(item => item.menuId))
83
+      setDataButtonId((data.sysMenuList.map(item => item.sysButtonInMenu.map(btn => btn.btnId).join(',')).filter(f => f !== '').join(',').split(',')).map(a => parseInt(a)))
84 84
     })
85
-    }
86
-        // 添加角色
87
-        function addRole(params) {
88
-          request({
89
-            url: '/api/admin/taRole/',
90
-            method: 'GET',
91
-            params: { ...params },
92
-        // eslint-disable-next-line no-shadow
93
-        }).then(data => {
94
-            console.log(data)
95
-            setData(data)
96
-        })
97
-        }
85
+  }
86
+  // 添加角色
87
+  function addRole(params) {
88
+    request({
89
+      url: '/api/admin/taRole/',
90
+      method: 'GET',
91
+      params: { ...params },
92
+      // eslint-disable-next-line no-shadow
93
+    }).then(data => {
94
+      console.log(data)
95
+      setData(data)
96
+    })
97
+  }
98 98
 
99 99
 
100
-    // const [menus, setMenus] = useState([]);
101
-    // 判断menus是否有值
102
-    const [menus, setMenus] = useState([]);
103
-    const addMenus = m => {
100
+  // const [menus, setMenus] = useState([]);
101
+  // 判断menus是否有值
102
+  const [menus, setMenus] = useState([]);
103
+  const addMenus = m => {
104 104
     const newMenus = [...menus, m]
105
-          setMenus([...menus, m])
106
-    };
107
-    const delMenus = m => setMenus(menus.filter(x => x.menuId !== m.menuId));
108
-    const handleMenuChange = m => e => {
109
-      if (e.target.checked) {
110
-        setDataMenuId(dataMenuId.concat(m.menuId))
111
-        addMenus(m)
112
-      } else {
113
-        setDataMenuId([m.menuId])
114
-        delMenus(m)
115
-      }
116
-      console.log('dataMenuId', dataMenuId)
117
-      console.log('menus', menus)
105
+    setMenus([...menus, m])
106
+  };
107
+  const delMenus = m => setMenus(menus.filter(x => x.menuId !== m.menuId));
108
+  const handleMenuChange = m => e => {
109
+    if (e.target.checked) {
110
+      setDataMenuId(dataMenuId.concat(m.menuId))
111
+      addMenus(m)
112
+    } else {
113
+      setDataMenuId([m.menuId])
114
+      delMenus(m)
118 115
     }
116
+    console.log('dataMenuId', dataMenuId)
117
+    console.log('menus', menus)
118
+  }
119 119
 
120
-    const [but, setBut] = useState([]);
121
-    // 判断menus是否有值
122
-        const addBut = m => setBut([...but, m]);
123
-        const delBut = m => setBut(but.filter(x => x.menuId !== m.menuId));
124
-        const handleButChange = m => e => {
125
-          console.log('e', m)
126
-          if (e.target.checked) {
127
-            addBut(m)
128
-          } else {
129
-            delBut(m)
130
-          }
131
-        }
132
-    const gridStyle1 = {
133
-      width: '17%',
134
-      textAlign: 'left',
135
-    };
136
-    const gridStyle2 = {
137
-      width: '80%',
138
-      textAlign: 'left',
139
-      height: '72px',
140
-    };
141
-// 添加菜单
142
-function addMenuList() {
143
-  request({
144
-    url: '/api/admin/updateAuthMenu',
145
-    method: 'PUT',
146
-    data: { sysMenu: menus },
147
-// eslint-disable-next-line no-shadow
148
-}).then(data => {
149
-    console.log(data)
150
-})
151
-}
120
+  const [but, setBut] = useState([]);
121
+  // 判断menus是否有值
122
+  const addBut = m => setBut([...but, m]);
123
+  const delBut = m => setBut(but.filter(x => x.menuId !== m.menuId));
124
+  const handleButChange = m => e => {
125
+    console.log('e', m)
126
+    if (e.target.checked) {
127
+      addBut(m)
128
+    } else {
129
+      delBut(m)
130
+    }
131
+  }
132
+  const gridStyle1 = {
133
+    width: '17%',
134
+    textAlign: 'left',
135
+  };
136
+  const gridStyle2 = {
137
+    width: '80%',
138
+    textAlign: 'left',
139
+    height: '72px',
140
+  };
141
+  // 添加菜单
142
+  function addMenuList() {
143
+    request({
144
+      url: '/api/admin/updateAuthMenu',
145
+      method: 'PUT',
146
+      data: { sysMenu: menus },
147
+      // eslint-disable-next-line no-shadow
148
+    }).then(data => {
149
+      console.log(data)
150
+    })
151
+  }
152 152
 
153
-// 添加按钮
154
-function addButt() {
155
-  request({
156
-    url: '/api/admin/updateAuthMenu',
157
-    method: 'PUT',
158
-    data: { sysMenu: but },
159
-// eslint-disable-next-line no-shadow
160
-}).then(data => {
161
-    console.log(data)
162
-})
163
-}
153
+  // 添加按钮
154
+  function addButt() {
155
+    request({
156
+      url: '/api/admin/updateAuthMenu',
157
+      method: 'PUT',
158
+      data: { sysMenu: but },
159
+      // eslint-disable-next-line no-shadow
160
+    }).then(data => {
161
+      console.log(data)
162
+    })
163
+  }
164 164
 
165
-// 添加按钮
166
-function editAndAddRole() {
167
-  request({
168
-    url: '/admin/editAndAddRole/{id}',
169
-    method: 'PUT',
170
-    data: { sysMenu: but },
171
-// eslint-disable-next-line no-shadow
172
-}).then(data => {
173
-    console.log(data)
174
-})
175
-}
165
+  // 添加按钮
166
+  function editAndAddRole() {
167
+    request({
168
+      url: '/admin/editAndAddRole/{id}',
169
+      method: 'PUT',
170
+      data: { sysMenu: but },
171
+      // eslint-disable-next-line no-shadow
172
+    }).then(data => {
173
+      console.log(data)
174
+    })
175
+  }
176 176
 
177
-function toRoleList(roleId) {
178
-  router.push({
179
-    pathname: '/staff/RoleList',
180
-  });
181
-}
177
+  function toRoleList(roleId) {
178
+    router.push({
179
+      pathname: '/staff/RoleList',
180
+    });
181
+  }
182 182
 
183
-    function handleSubmit (e) {
184
-      e.preventDefault();
185
-      props.form.validateFields((err, values) => {
183
+  function handleSubmit(e) {
184
+    e.preventDefault();
185
+    props.form.validateFields((err, values) => {
186 186
       console.log('values', values)
187
-        // 保存菜单
188
-        // addMenuList()
189
-        // setm
190
-        const sumitMenu = [...data.sysMenuList, ...menus]
191
-        request({
192
-          url: '/api/admin/updateAuthMenu',
193
-          method: 'POST',
194
-          data: { sysMenu: sumitMenu, name: values.roleName, id: props.location.query.id },
195
-      // eslint-disable-next-line no-shadow
187
+      // 保存菜单
188
+      // addMenuList()
189
+      // setm
190
+      const sumitMenu = [...data.sysMenuList, ...menus]
191
+      request({
192
+        url: '/api/admin/updateAuthMenu',
193
+        method: 'POST',
194
+        data: { sysMenu: sumitMenu, name: values.roleName, id: props.location.query.id },
195
+        // eslint-disable-next-line no-shadow
196 196
       }).then(data => {
197 197
         toRoleList()
198 198
       })
199
-      });
200
-    }
201
-    const { getFieldDecorator } = props.form;
202
-    return (
199
+    });
200
+  }
201
+  const { getFieldDecorator } = props.form;
202
+  return (
203 203
     <>
204 204
       <div >
205 205
         <Form labelCol={{ span: 7 }} wrapperCol={{ span: 12 }} onSubmit={handleSubmit}>
206
-        <Form.Item label="角色名称">
207
-          {getFieldDecorator('roleName', {
208
-            rules: [{ required: true, message: '请输入渠道名称' }],
209
-          })(<Input className={channels.inpuit} />)}
210
-
211
-        </Form.Item>
212
-        {userMenus.map(item => (
213
-          (item.parentCode === '-1') &&
214
-          <Card title={<Checkbox checked={ dataMenuId.includes(item.menuId) } onChange={handleMenuChange(item)}>{item.name}</Checkbox>} bordered style={{ width: '100%', alignItems: 'center' }} >
215
-              {
216
-                   userMenus.map(menu => (
217
-
218
-                    (item.menuId === menu.menuRoot && item.menuId !== menu.menuId) &&
219
-                    <>
220
-                      <Card.Grid style={gridStyle1} >
221
-                          <Checkbox checked={ dataMenuId.includes(menu.menuId) } onChange={handleMenuChange(menu)}>{menu.name}</Checkbox>
222
-                      </Card.Grid>
223
-                      <Card.Grid style={gridStyle2}>
224
-                        {buutonDate.length > 0 && buutonDate.map(btn => (
225
-                          <>
226
-                            {
227
-                              btn.menuId === menu.menuId &&
228
-                              <Checkbox checked={ dataButtonId.includes(btn.btnId) } onChange={handleButChange(btn)}>{btn.name}</Checkbox>
229
-                            }
230
-                          </>
231
-                        ))}
232
-                      </Card.Grid>
233
-                   </>
234
-                   ))
235
-              }
236
-          </Card>
237
-        ))}
238
-        <Form.Item wrapperCol={{ span: 15, offset: 7 }}>
239
-          <Button type="primary" htmlType="submit">
240
-            保存
206
+          <Form.Item label="角色名称">
207
+            {getFieldDecorator('roleName', {
208
+              rules: [{ required: true, message: '请输入渠道名称' }],
209
+            })(<Input className={channels.inpuit} />)}
210
+
211
+          </Form.Item>
212
+          {userMenus.map(item => (
213
+            (item.parentCode === '-1') &&
214
+            <Row >
215
+              <Col span={7}>
216
+
217
+              </Col>
218
+              <Col span={17}>
219
+
220
+
221
+                <Card title={<Checkbox checked={dataMenuId.includes(item.menuId)} onChange={handleMenuChange(item)}>{item.name}</Checkbox>} bordered style={{ width: '100%', alignItems: 'center' }} >
222
+                  {
223
+                    userMenus.map(menu => (
224
+
225
+                      (item.menuId === menu.menuRoot && item.menuId !== menu.menuId) &&
226
+                      <>
227
+                        <Card.Grid style={gridStyle1} >
228
+                          <Checkbox checked={dataMenuId.includes(menu.menuId)} onChange={handleMenuChange(menu)}>{menu.name}</Checkbox>
229
+                        </Card.Grid>
230
+                        <Card.Grid style={gridStyle2}>
231
+                          {buutonDate.length > 0 && buutonDate.map(btn => (
232
+                            <>
233
+                              {
234
+                                btn.menuId === menu.menuId &&
235
+                                <Checkbox checked={dataButtonId.includes(btn.btnId)} onChange={handleButChange(btn)}>{btn.name}</Checkbox>
236
+                              }
237
+                            </>
238
+                          ))}
239
+                        </Card.Grid>
240
+                      </>
241
+                    ))
242
+                  }
243
+                </Card>
244
+              </Col>
245
+
246
+            </Row>
247
+          ))}
248
+          <Form.Item wrapperCol={{ span: 15, offset: 7 }} style={{ marginTop: '10px' }}>
249
+            <Button type="primary" htmlType="submit">
250
+              保存
241 251
           </Button>
242
-          <Button className={channels.formButton} type="primary" htmlType="submit">
243
-            取消
252
+            <Button className={channels.formButton} htmlType="submit">
253
+              取消
244 254
           </Button>
245
-        </Form.Item>
246
-      </Form>
255
+          </Form.Item>
256
+        </Form>
247 257
       </div>
248 258
     </>
249
-    )
250
-  }
259
+  )
260
+}
251 261
 const WrappedNormalLoginForm = Form.create({ name: 'Poster' })(Poster);
252 262
 export default connect(({ user }) => ({ user }))(WrappedNormalLoginForm);