dingxin 5 年 前
コミット
ba9f10329a
共有1 個のファイルを変更した21 個の追加56 個の削除を含む
  1. 21
    56
      src/pages/staff/list/addRole.jsx

+ 21
- 56
src/pages/staff/list/addRole.jsx ファイルの表示

@@ -30,7 +30,7 @@ const Poster = props => {
30 30
   const [dataButtonId, setDataButtonId] = useState([])
31 31
 
32 32
   useEffect(() => {
33
-    // 新增和编辑用一个页面,判断新增是否为0和null
33
+    // 新增和编辑用一个页面
34 34
     if (props.location.query) {
35 35
       const { id } = props.location.query
36 36
       if (id) {
@@ -100,21 +100,15 @@ const Poster = props => {
100 100
   // const [menus, setMenus] = useState([]);
101 101
   // 判断menus是否有值
102 102
   const [menus, setMenus] = useState([]);
103
-  const addMenus = m => {
104
-    const newMenus = [...menus, m]
105
-    setMenus([...menus, m])
106
-  };
103
+  const addMenus = m => setMenus([...menus, m]);
107 104
   const delMenus = m => setMenus(menus.filter(x => x.menuId !== m.menuId));
108 105
   const handleMenuChange = m => e => {
109 106
     if (e.target.checked) {
110 107
       setDataMenuId(dataMenuId.concat(m.menuId))
111 108
       addMenus(m)
112 109
     } else {
113
-      setDataMenuId([m.menuId])
114 110
       delMenus(m)
115 111
     }
116
-    console.log('dataMenuId', dataMenuId)
117
-    console.log('menus', menus)
118 112
   }
119 113
 
120 114
   const [but, setBut] = useState([]);
@@ -122,8 +116,8 @@ const Poster = props => {
122 116
   const addBut = m => setBut([...but, m]);
123 117
   const delBut = m => setBut(but.filter(x => x.menuId !== m.menuId));
124 118
   const handleButChange = m => e => {
125
-    console.log('e', m)
126 119
     if (e.target.checked) {
120
+      setDataButtonId(dataButtonId.concat(m.btnId))
127 121
       addBut(m)
128 122
     } else {
129 123
       delBut(m)
@@ -138,74 +132,45 @@ const Poster = props => {
138 132
     textAlign: 'left',
139 133
     height: '72px',
140 134
   };
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 135
 
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
-    })
136
+  function toRoleList(roleId) {
137
+    router.push({
138
+      pathname: '/staff/RoleList',
139
+    });
163 140
   }
164
-
165
-  // 添加按钮
166
-  function editAndAddRole() {
141
+  function updateAuthMenu(params) {
167 142
     request({
168
-      url: '/admin/editAndAddRole/{id}',
169
-      method: 'PUT',
170
-      data: { sysMenu: but },
143
+      url: '/api/admin/updateAuthMenu',
144
+      method: 'POST',
145
+      data: { ...params },
171 146
       // eslint-disable-next-line no-shadow
172 147
     }).then(data => {
173
-      console.log(data)
148
+      toRoleList()
174 149
     })
175 150
   }
176 151
 
177
-  function toRoleList(roleId) {
178
-    router.push({
179
-      pathname: '/staff/RoleList',
180
-    });
181
-  }
182 152
 
183 153
   function handleSubmit(e) {
184 154
     e.preventDefault();
185 155
     props.form.validateFields((err, values) => {
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
196
-      }).then(data => {
197
-        toRoleList()
198
-      })
156
+      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 })
160
+      } else {
161
+        updateAuthMenu({ sysMenu: menus, name: values.roleName, id: props.location.query.id, sysButton: but })
162
+        }
199 163
     });
200 164
   }
201 165
   const { getFieldDecorator } = props.form;
202 166
   return (
203 167
     <>
168
+       { console.log('dataButtonId', dataButtonId) }
204 169
       <div >
205 170
         <Form labelCol={{ span: 7 }} wrapperCol={{ span: 12 }} onSubmit={handleSubmit}>
206 171
           <Form.Item label="角色名称">
207 172
             {getFieldDecorator('roleName', {
208
-              rules: [{ required: true, message: '请输入渠道名称' }],
173
+              rules: [{ required: true, message: '请输入角色名称' }],
209 174
             })(<Input className={channels.inpuit} />)}
210 175
 
211 176
           </Form.Item>