dingxin 5 yıl önce
ebeveyn
işleme
b7f09cd3f3
1 değiştirilmiş dosya ile 31 ekleme ve 23 silme
  1. 31
    23
      src/pages/staff/list/addRole.jsx

+ 31
- 23
src/pages/staff/list/addRole.jsx Dosyayı Görüntüle

17
  * @returns
17
  * @returns
18
  */
18
  */
19
 const Poster = props => {
19
 const Poster = props => {
20
-  console.log('props,props', props.user.currentUser)
21
   const userMenus = props.user.currentUser.menus;
20
   const userMenus = props.user.currentUser.menus;
22
   const userBtns = props.user.currentUser.buttons;
21
   const userBtns = props.user.currentUser.buttons;
23
 
22
 
79
       setData(data)
78
       setData(data)
80
 
79
 
81
       // 获取所有的权限Id
80
       // 获取所有的权限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
-    })
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)
81
+      if (data.sysMenuList) {
82
+        setDataMenuId(data.sysMenuList.map(item => item.menuId))
83
+        setDataButtonId((data.sysMenuList.map(item => item.sysButtonInMenu && item.sysButtonInMenu.map(btn => btn.btnId).join(',')).filter(f => f !== '').join(',').split(',')).map(a => parseInt(a)))
84
+      }
96
     })
85
     })
97
   }
86
   }
87
+  // // 添加角色
88
+  // function addRole(params) {
89
+  //   request({
90
+  //     url: '/api/admin/taRole/',
91
+  //     method: 'GET',
92
+  //     params: { ...params },
93
+  //     // eslint-disable-next-line no-shadow
94
+  //   }).then(data => {
95
+  //     console.log(data)
96
+  //     setData(data)
97
+  //   })
98
+  // }
98
 
99
 
99
 
100
 
100
   // const [menus, setMenus] = useState([]);
101
   // const [menus, setMenus] = useState([]);
101
   // 判断menus是否有值
102
   // 判断menus是否有值
102
   const [menus, setMenus] = useState([]);
103
   const [menus, setMenus] = useState([]);
103
-  const addMenus = m => setMenus([...menus, m]);
104
+
105
+  const addMenus = m => setMenus([...menus, m])
104
   const delMenus = m => setMenus(menus.filter(x => x.menuId !== m.menuId));
106
   const delMenus = m => setMenus(menus.filter(x => x.menuId !== m.menuId));
107
+
105
   const handleMenuChange = m => e => {
108
   const handleMenuChange = m => e => {
106
     if (e.target.checked) {
109
     if (e.target.checked) {
107
       setDataMenuId(dataMenuId.concat(m.menuId))
110
       setDataMenuId(dataMenuId.concat(m.menuId))
108
       addMenus(m)
111
       addMenus(m)
109
     } else {
112
     } else {
113
+      setDataMenuId(dataMenuId.filter(item => item !== m.menuId));
110
       delMenus(m)
114
       delMenus(m)
111
     }
115
     }
112
   }
116
   }
113
 
117
 
114
   const [but, setBut] = useState([]);
118
   const [but, setBut] = useState([]);
115
   // 判断menus是否有值
119
   // 判断menus是否有值
116
-  const addBut = m => setBut([...but, m]);
120
+  const addBut = m => setBut([...but, m])
117
   const delBut = m => setBut(but.filter(x => x.menuId !== m.menuId));
121
   const delBut = m => setBut(but.filter(x => x.menuId !== m.menuId));
118
   const handleButChange = m => e => {
122
   const handleButChange = m => e => {
119
     if (e.target.checked) {
123
     if (e.target.checked) {
120
       setDataButtonId(dataButtonId.concat(m.btnId))
124
       setDataButtonId(dataButtonId.concat(m.btnId))
121
       addBut(m)
125
       addBut(m)
122
     } else {
126
     } else {
127
+      setDataButtonId(dataButtonId.filter(item => item !== m.btnId));
123
       delBut(m)
128
       delBut(m)
124
     }
129
     }
125
   }
130
   }
133
     height: '72px',
138
     height: '72px',
134
   };
139
   };
135
 
140
 
136
-  function toRoleList(roleId) {
141
+  function toRoleList() {
137
     router.push({
142
     router.push({
138
       pathname: '/staff/RoleList',
143
       pathname: '/staff/RoleList',
139
     });
144
     });
154
     e.preventDefault();
159
     e.preventDefault();
155
     props.form.validateFields((err, values) => {
160
     props.form.validateFields((err, values) => {
156
       if (props.location.query.id !== undefined) {
161
       if (props.location.query.id !== undefined) {
157
-        const sumitMenu = data.sysMenuList.concat(menus)
158
-        const sumitBut = data.sysMenuList[0].sysButtonInMenu.concat(but)  
159
-        updateAuthMenu({ sysMenu: sumitMenu, name: values.roleName, id: props.location.query.id, sysButton: sumitBut })
162
+        console.log('menus', menus)
163
+      
164
+        const sumitMenu = userMenus.filter(item => dataMenuId.includes(item.menuId))
165
+        const sumitBtn = userMenus.filter(item => dataButtonId.includes(item.btnId))
166
+        // console.log('sumitMenu', sumitMenu)
167
+        // const sumitBut = data.sysMenuList[0].sysButtonInMenu.concat(but)
168
+        updateAuthMenu({ sysMenu: sumitMenu, name: values.roleName, id: props.location.query.id, sysButton: sumitBtn })
160
       } else {
169
       } else {
161
         updateAuthMenu({ sysMenu: menus, name: values.roleName, id: props.location.query.id, sysButton: but })
170
         updateAuthMenu({ sysMenu: menus, name: values.roleName, id: props.location.query.id, sysButton: but })
162
         }
171
         }
165
   const { getFieldDecorator } = props.form;
174
   const { getFieldDecorator } = props.form;
166
   return (
175
   return (
167
     <>
176
     <>
168
-       { console.log('dataButtonId', dataButtonId) }
169
       <div >
177
       <div >
170
         <Form labelCol={{ span: 7 }} wrapperCol={{ span: 12 }} onSubmit={handleSubmit}>
178
         <Form labelCol={{ span: 7 }} wrapperCol={{ span: 12 }} onSubmit={handleSubmit}>
171
           <Form.Item label="角色名称">
179
           <Form.Item label="角色名称">
214
             <Button type="primary" htmlType="submit">
222
             <Button type="primary" htmlType="submit">
215
               保存
223
               保存
216
           </Button>
224
           </Button>
217
-            <Button className={channels.formButton} htmlType="submit">
225
+            <Button className={channels.formButton} htmlType="submit" onChange = {toRoleList}>
218
               取消
226
               取消
219
           </Button>
227
           </Button>
220
           </Form.Item>
228
           </Form.Item>