|
@@ -1,5 +1,5 @@
|
1
|
1
|
import React, { useState, useEffect } from 'react';
|
2
|
|
-import { Checkbox, Input, Card, Form, Button,Row,Col } from 'antd';
|
|
2
|
+import { Checkbox, Input, Card, Form, Button, Row, Col, Spin } from 'antd';
|
3
|
3
|
import { connect } from 'dva';
|
4
|
4
|
import XForm, { FieldTypes } from '../../../components/XForm';
|
5
|
5
|
import request from '../../../utils/request';
|
|
@@ -29,6 +29,8 @@ const Poster = props => {
|
29
|
29
|
const [dataMenuId, setDataMenuId] = useState([])
|
30
|
30
|
const [dataButtonId, setDataButtonId] = useState([])
|
31
|
31
|
|
|
32
|
+ const [loading, setLoading] = useState(true);
|
|
33
|
+
|
32
|
34
|
useEffect(() => {
|
33
|
35
|
// 新增和编辑用一个页面
|
34
|
36
|
if (props.location.query) {
|
|
@@ -63,14 +65,16 @@ const Poster = props => {
|
63
|
65
|
// 根据角色id查询当前的菜单及其按钮
|
64
|
66
|
function buttonAndMenuList(params, ids) {
|
65
|
67
|
request({ ...apis.role.buttonAndMenuList, urlData: { id: ids }, params: { ...params } }).then(data => {
|
|
68
|
+ setLoading(false)
|
66
|
69
|
props.form.setFieldsValue({ roleName: data.roleName })
|
67
|
70
|
console.log(data)
|
68
|
71
|
setData(data)
|
69
|
72
|
|
70
|
73
|
// 获取所有的权限Id
|
71
|
74
|
if (data.sysMenuList) {
|
72
|
|
- setDataMenuId(data.sysMenuList.map(item => item.menuId))
|
73
|
|
- setDataButtonId((data.sysMenuList.map(item => item.sysButtonInMenu && item.sysButtonInMenu.map(btn => btn.btnId).join(',')).filter(f => f !== '').join(',').split(',')).map(a => parseInt(a)))
|
|
75
|
+ setDataMenuId(data.sysMenuList.map(item => item && item.menuId))
|
|
76
|
+ // setDataButtonId((data.sysMenuList.map(item => item.sysButtonInMenu && item.sysButtonInMenu.map(btn => btn.btnId).join(',')).filter(f => f !== '').join(',').split(',')).map(a => parseInt(a) ) )
|
|
77
|
+ setDataButtonId(data.sysButtonInMenu.map(item => item && item.btnId))
|
74
|
78
|
}
|
75
|
79
|
}).catch((err) => {
|
76
|
80
|
console.log(err)
|
|
@@ -143,10 +147,6 @@ const Poster = props => {
|
143
|
147
|
|
144
|
148
|
const sumitMenu = userMenus.filter(item => dataMenuId.includes(item.menuId))
|
145
|
149
|
const sumitBtn = buutonDate.filter(item => dataButtonId.includes(item.btnId))
|
146
|
|
- // console.log('sumitMenu', sumitMenu)
|
147
|
|
- // console.log('sumitBtn', sumitBtn)
|
148
|
|
- // console.log('sumitMenu', sumitMenu)
|
149
|
|
- // const sumitBut = data.sysMenuList[0].sysButtonInMenu.concat(but)
|
150
|
150
|
updateAuthMenu({ sysMenu: sumitMenu, name: values.roleName, id: props.location.query.id, sysButton: sumitBtn })
|
151
|
151
|
} else {
|
152
|
152
|
updateAuthMenu({ sysMenu: menus, name: values.roleName, id: props.location.query.id, sysButton: but })
|
|
@@ -154,9 +154,11 @@ const Poster = props => {
|
154
|
154
|
});
|
155
|
155
|
}
|
156
|
156
|
const { getFieldDecorator } = props.form;
|
|
157
|
+
|
157
|
158
|
return (
|
158
|
159
|
<>
|
159
|
160
|
<div>
|
|
161
|
+ <Spin spinning={ loading } size="large">
|
160
|
162
|
<Form labelCol={{ span: 6 }} wrapperCol={{ span: 12 }} onSubmit={handleSubmit}>
|
161
|
163
|
<Form.Item label="角色名称">
|
162
|
164
|
{getFieldDecorator('roleName', {
|
|
@@ -207,6 +209,7 @@ const Poster = props => {
|
207
|
209
|
</Button>
|
208
|
210
|
</Form.Item>
|
209
|
211
|
</Form>
|
|
212
|
+ </Spin>
|
210
|
213
|
</div>
|
211
|
214
|
</>
|
212
|
215
|
)
|