dingxin 5 лет назад
Родитель
Сommit
b7f09cd3f3
1 измененных файлов: 31 добавлений и 23 удалений
  1. 31
    23
      src/pages/staff/list/addRole.jsx

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

@@ -17,7 +17,6 @@ const { TextArea } = Input;
17 17
  * @returns
18 18
  */
19 19
 const Poster = props => {
20
-  console.log('props,props', props.user.currentUser)
21 20
   const userMenus = props.user.currentUser.menus;
22 21
   const userBtns = props.user.currentUser.buttons;
23 22
 
@@ -79,47 +78,53 @@ const Poster = props => {
79 78
       setData(data)
80 79
 
81 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 101
   // const [menus, setMenus] = useState([]);
101 102
   // 判断menus是否有值
102 103
   const [menus, setMenus] = useState([]);
103
-  const addMenus = m => setMenus([...menus, m]);
104
+
105
+  const addMenus = m => setMenus([...menus, m])
104 106
   const delMenus = m => setMenus(menus.filter(x => x.menuId !== m.menuId));
107
+
105 108
   const handleMenuChange = m => e => {
106 109
     if (e.target.checked) {
107 110
       setDataMenuId(dataMenuId.concat(m.menuId))
108 111
       addMenus(m)
109 112
     } else {
113
+      setDataMenuId(dataMenuId.filter(item => item !== m.menuId));
110 114
       delMenus(m)
111 115
     }
112 116
   }
113 117
 
114 118
   const [but, setBut] = useState([]);
115 119
   // 判断menus是否有值
116
-  const addBut = m => setBut([...but, m]);
120
+  const addBut = m => setBut([...but, m])
117 121
   const delBut = m => setBut(but.filter(x => x.menuId !== m.menuId));
118 122
   const handleButChange = m => e => {
119 123
     if (e.target.checked) {
120 124
       setDataButtonId(dataButtonId.concat(m.btnId))
121 125
       addBut(m)
122 126
     } else {
127
+      setDataButtonId(dataButtonId.filter(item => item !== m.btnId));
123 128
       delBut(m)
124 129
     }
125 130
   }
@@ -133,7 +138,7 @@ const Poster = props => {
133 138
     height: '72px',
134 139
   };
135 140
 
136
-  function toRoleList(roleId) {
141
+  function toRoleList() {
137 142
     router.push({
138 143
       pathname: '/staff/RoleList',
139 144
     });
@@ -154,9 +159,13 @@ const Poster = props => {
154 159
     e.preventDefault();
155 160
     props.form.validateFields((err, values) => {
156 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 169
       } else {
161 170
         updateAuthMenu({ sysMenu: menus, name: values.roleName, id: props.location.query.id, sysButton: but })
162 171
         }
@@ -165,7 +174,6 @@ const Poster = props => {
165 174
   const { getFieldDecorator } = props.form;
166 175
   return (
167 176
     <>
168
-       { console.log('dataButtonId', dataButtonId) }
169 177
       <div >
170 178
         <Form labelCol={{ span: 7 }} wrapperCol={{ span: 12 }} onSubmit={handleSubmit}>
171 179
           <Form.Item label="角色名称">
@@ -214,7 +222,7 @@ const Poster = props => {
214 222
             <Button type="primary" htmlType="submit">
215 223
               保存
216 224
           </Button>
217
-            <Button className={channels.formButton} htmlType="submit">
225
+            <Button className={channels.formButton} htmlType="submit" onChange = {toRoleList}>
218 226
               取消
219 227
           </Button>
220 228
           </Form.Item>