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(