|
@@ -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>
|