import React from 'react';
import { Icon, Table, Modal, message, Spin, Input, Select, Button, Form, Tree } from 'antd';
import ajax from 'jquery/src/ajax/xhr.js';
import $ from 'jquery/src/ajax';
import './userMangagement.less';
const TreeNodet = Tree.TreeNode;
const Newrole = Form.create()(React.createClass({
addloadData() {
this.setState({
loading: true
});
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + '/api/admin/permissions',
data: {
},
success: function (data) {
let theArr = [];
if (!data.data || !data.data.one) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
};
} else {
this.setState({
Interface: data.data.one,
});
};
}.bind(this),
}).always(function () {
this.setState({
loading: false
});
}.bind(this));
},
getInitialState() {
return {
loading: false,
visible: false,
expandedKeys: [],
autoExpandParent: true,
checkedKeys: [],
selectedKeys: [],
renderTreeNodes: undefined,
Interface: []
};
},
handleSubmit(e) {
e.preventDefault();
this.props.form.validateFields((err, values) => {
let selectAllId = this.state.checkedKeys || [];
if (!err) {
this.setState({
loading: true
});
// if(selectAllId){
// if(selectAllId[0]==null){
// selectAllId.splice(0,1)
// }
// }
$.ajax({
method: "POST",
dataType: "json",
crossDomain: false,
url: globalConfig.context + '/api/admin/role',
data: {
data: JSON.stringify({
'id': this.state.ids ? this.state.ids : null,
'roleName': this.state.roleName,
'roleType': this.state.roleType,
'permissions': selectAllId.checked ? selectAllId.checked : selectAllId
})
}
}).done(function (data) {
this.setState({
loading: false
});
if (!data.error.length) {
message.success('保存成功!');
this.handleOk()
} else {
message.warning(data.error[0].message);
}
}.bind(this));
}
});
},
//查看基本详情基本信息
loaduser(record) {
if (record) {
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + '/api/admin/role/rolePermission',
data: {
id: record.id
},
success: function (data) {
let thisData = data.data;
if (!thisData) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
};
thisData = {};
};
let idList = [];
thisData.map(function (item) {
idList.push(
item.pid
)
})
this.setState({
ids: record.id,
roleName: thisData[0].rname,
roleType: thisData[0].roleType,
checkedKeys: idList,
});
}.bind(this),
}).always(function () {
this.setState({
loading: false
});
}.bind(this));
}
},
handleOk(e) {
this.setState({
visible: false,
});
this.props.closeDesc(false, true);
},
handleCancel(e) {
this.setState({
visible: false,
});
this.props.closeDesc(false);
},
componentWillMount() {
this.addloadData()
},
componentWillReceiveProps(nextProps) { //props改变时触发
this.state.visible = nextProps.showDesc;
if (nextProps.userDetaile && nextProps.showDesc) {
if (nextProps.datauser && nextProps.datauser.id) {
this.loaduser(nextProps.datauser)
}
} else {
this.setState({
checkedKeys: [],
datauser: {},
roleName: '',
roleType: '',
ids: '',
})
}
},
//权限多选
onExpand(expandedKeys) {
this.setState({
expandedKeys,
autoExpandParent: false,
});
},
onCheck(checkedKeys) {
this.setState({ checkedKeys: checkedKeys });
},
onSelect(selectedKeys, info) {
this.setState({ selectedKeys });
},
renderTreeNodes(data) {
return data.map((item) => {
if (item.children) {
return (