import React from 'react';
import ReactDom from 'react-dom';
import ajax from 'jquery/src/ajax/xhr.js';
import $ from 'jquery/src/ajax';
import { Form, Radio, Icon, Button, Input, Select, AutoComplete, Spin, Table, Switch, message, DatePicker, Modal, Upload,Popconfirm,Tabs } from 'antd';
import Newuser from "./newUser.jsx"
import './userMangagement.less'
import { techAuditStatusList, station, post } from '../../../dataDic.js';
import {getPost,getStation} from '../../../tools.js';
import {ChooseList} from "../../order/orderNew/chooseList";
const {TabPane} = Tabs
const User = Form.create()(React.createClass({
loadData(pageNo) {
this.state.data = [];
this.setState({
userDetaile:false,
loading: true,
page:pageNo
});
var admin=window.adminData.isSuperAdmin||'';
var departmentId=window.adminData.departmentId||'';
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + '/api/admin/superviser/adminList',
data: {
pageNo: pageNo || 1,
pageSize: this.state.pagination.pageSize,
name: this.state.userNameSearch,
departmentId: admin?this.state.organizationSearch:departmentId,
rid: this.state.rolesSearch,
duty: this.state.postSearch,
position: this.state.stationSearch,
status: this.state.statusSeach,
mobile: this.state.signNameSearch,
superiorId: this.state.theTypes
},
success: function(data) {
let theArr = [];
if(!data.data || !data.data.list) {
if(data.error && data.error.length) {
message.warning(data.error[0].message);
};
} else {
for(let i = 0; i < data.data.list.length; i++) {
let thisdata = data.data.list[i];
theArr.push({
key: i,
id: thisdata.id,
mobile: thisdata.mobile,
name: thisdata.name,
email: thisdata.email,
createTime: thisdata.createTime,
province: thisdata.province,
position: thisdata.position,
superior: thisdata.superior, //上级名称
superiorId: thisdata.superiorId, //上级Id
duty: thisdata.duty, //职务
status: thisdata.status,
userNo: thisdata.userNo,
departmentName: thisdata.departmentName, //部门名称
departmentId: thisdata.departmentId, //部门id
roles:thisdata.roles.join(','),
rolesId:thisdata.rolesId,
lastLoginTime:thisdata.lastLoginTime,
});
};
this.state.pagination.current = data.data.pageNo ? data.data.pageNo : '0';
this.state.pagination.total = data.data.totalCount ? data.data.totalCount : '0';
};
if(!data.data.list.length){
this.state.pagination.current=0
this.state.pagination.total=0
}
this.setState({
dataSource: theArr,
pagination: this.state.pagination,
selectedRowKeys:[]
});
}.bind(this),
}).always(function() {
this.setState({
loading: false
});
}.bind(this));
},
loadDatas(pageNo) {
this.state.data = [];
this.setState({
userDetaile:false,
loading: true,
});
var admin=window.adminData.isSuperAdmin||'';
var departmentId=window.adminData.departmentId||'';
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + '/api/admin/superviser/adminList',
data: {
pageNo: pageNo || 1,
pageSize: this.state.paginations.pageSize,
name: this.state.userNameSearchs,
status: "正常"
// departmentId: admin?this.state.organizationSearch:departmentId,
// rid: this.state.rolesSearch,
// duty: this.state.postSearch,
// position: this.state.stationSearch,
// status: this.state.statusSeach,
// mobile: this.state.signNameSearch,
// superiorId: this.state.theTypes
},
success: function(data) {
let theArr = [];
if(!data.data || !data.data.list) {
if(data.error && data.error.length) {
message.warning(data.error[0].message);
};
} else {
for(let i = 0; i < data.data.list.length; i++) {
let thisdata = data.data.list[i];
theArr.push({
key: i,
id: thisdata.id,
mobile: thisdata.mobile,
name: thisdata.name,
email: thisdata.email,
createTime: thisdata.createTime,
province: thisdata.province,
position: thisdata.position,
superior: thisdata.superior, //上级名称
superiorId: thisdata.superiorId, //上级Id
duty: thisdata.duty, //职务
status: thisdata.status,
userNo: thisdata.userNo,
departmentName: thisdata.departmentName, //部门名称
departmentId: thisdata.departmentId, //部门id
roles:thisdata.roles.join(','),
rolesId:thisdata.rolesId
});
};
this.state.paginations.current = data.data.pageNo ? data.data.pageNo : '0';
this.state.paginations.total = data.data.totalCount ? data.data.totalCount : '0';
};
if(!data.data.list.length){
this.state.paginations.current=0
this.state.paginations.total=0
}
this.setState({
dataSourceData: theArr,
paginations: this.state.paginations,
});
}.bind(this),
}).always(function() {
this.setState({
loading: false
});
}.bind(this));
},
getInitialState() {
return {
datauser: {},
searchMore: true,
selectedRowKeys: [],
selectedRows: [],
userDetaile: false,
departmentArr: [],
loading: false,
roleArr:[],
pagination: {
defaultCurrent: 1,
defaultPageSize: 10,
showQuickJumper: true,
pageSize: 10,
onChange: function(page) {
this.loadData(page);
}.bind(this),
showTotal: function(total) {
return '共' + total + '条数据';
}
},
paginations: {
defaultCurrent: 1,
defaultPageSize: 10,
showQuickJumper: true,
pageSize: 10,
onChange: function(page) {
this.loadDatas(page);
}.bind(this),
showTotal: function(total) {
return '共' + total + '条数据';
}
},
columns: [{
title: '用户编号',
dataIndex: 'userNo',
key: 'userNo',
}, {
title: '登录用户名',
dataIndex: 'mobile',
key: 'mobile',
}, {
title: '角色',
dataIndex: 'roles',
key: 'roles',
}, {
title: '用户姓名',
dataIndex: 'name',
key: 'name',
}, {
title: '部门',
dataIndex: 'departmentName',
key: 'departmentName',
}, {
title: '职务',
dataIndex: 'duty',
key: 'duty',
render: text => { return getPost(text) }
},
{
title: '岗位',
dataIndex: 'position',
key: 'position',
render: text => { return getStation(text) }
},
{
title: '上级主管姓名',
dataIndex: 'superior',
key: 'superior',
},
{
title: '状态',
dataIndex: 'status',
key: 'status',
},
{
title: '最后登录时间',
dataIndex: 'lastLoginTime',
key: 'lastLoginTime',
}
],
column: [{
title: '用户编号',
dataIndex: 'userNo',
key: 'userNo',
}, {
title: '登录用户名',
dataIndex: 'mobile',
key: 'mobile',
}, {
title: '角色',
dataIndex: 'roles',
key: 'roles',
}, {
title: '用户姓名',
dataIndex: 'name',
key: 'name',
}, {
title: '转交',
dataIndex: 'ee',
key: 'ee',
render: (text, record, index) => {
return
{this.examineOK(record)}} okText="确认" cancelText="取消">
}
},
],
dataSourceData: [],
};
},
//点击离职一键转交
resources() {
this.loadDatas();
let deletedIds;
let rowItem;
for(let idx = 0; idx < this.state.selectedRows.length; idx++) {
rowItem = this.state.selectedRows[idx];
// console.log(rowItem.id);
if(rowItem.id) {
deletedIds = rowItem.id;
};
};
this.setState({
visible: true,
aid:deletedIds
});
},
//关闭离职一键转交
handleCancel(){
this.setState({
visible: false,
selectedRowKeys:[]
},()=>{
this.loadData(this.state.page);
});
},
//一键离职
examineOK(record){
console.log(record);
this.setState({
loading: true
});
$.ajax({
method: "POST",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/role/dimission",
data: {
aid:this.state.aid,
transferId:record.id,
}
}).done(function (data) {
if (!data.error.length) {
message.success('转交成功!');
this.handleCancel()
} else {
message.warning(data.error[0].message);
};
this.setState({
loading: false,
visible2: false
});
}.bind(this));
},
componentWillMount() {
this.loadData();
this.departmentList();
this.rolesList();
},
tableRowClick(record, index) {
this.rolesArrS(record)
},
//新建获取id
addIdS() {
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + '/api/admin/superviser/newId',
data: {},
success: function(data) {
this.setState({
addId: data.data
});
}.bind(this),
}).always(function() {
this.setState({
loading: false
});
}.bind(this));
},
//部门
departmentList() {
this.setState({
loading: true
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/organization/selectSuperId",
data: {
},
success: function(data) {
let thedata = data.data;
let theArr = [];
if(!thedata) {
if(data.error && data.error.length) {
message.warning(data.error[0].message);
};
thedata = {};
} else {
thedata.map(function(item, index) {
theArr.push({
key: index,
name: item.name,
id: item.id,
depNo: item.depNo
})
})
}
this.setState({
departmentArr: theArr,
})
}.bind(this),
}).always(function() {
this.setState({
loading: false
});
}.bind(this));
},
//修改时获取角色数组
rolesArrS(e) {
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/role",
data: {
uid:e.id
},
success: function(data) {
let thedata = data.data;
let theArr = [];
let theId=[]
if(!thedata) {
if(data.error && data.error.length) {
message.warning(data.error[0].message);
};
thedata = {};
} else {
}
this.setState({
role:thedata,
userDetaile:true,
showDesc: true,
datauser:e
})
}.bind(this),
}).always(function() {
}.bind(this));
},
//角色
rolesList() {
this.setState({
loading: true
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/roles",
data: {
},
success: function(data) {
let thedata = data.data;
let theArr = [];
if(!thedata) {
if(data.error && data.error.length) {
message.warning(data.error[0].message);
};
thedata = {};
} else {
thedata.map(function(item, index) {
theArr.push({
key: index,
roleName: item.roleName,
id: item.id,
})
})
}
this.setState({
roleArr: theArr,
})
}.bind(this),
}).always(function() {
this.setState({
loading: false
});
}.bind(this));
},
//锁定
locking() {
let deletedIds;
let statust;
let mobiles;
let names;
let rolesId=[];
for(let idx = 0; idx < this.state.selectedRows.length; idx++) {
let rowItem = this.state.selectedRows[idx];
if(rowItem.id) {
deletedIds=rowItem.id;
statust=rowItem.status;
names=rowItem.name;
mobiles=rowItem.mobile;
rolesId=rowItem.rolesId
};
};
this.setState({
selectedRowKeys: [],
loading: true
});
$.ajax({
method: "POST",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/superviser/updateAdmin",
data: {
roles:rolesId,
data:JSON.stringify({
id: deletedIds,
status: '锁定',
name: names,
mobile: mobiles,
}),
}
}).done(function(data) {
if(!data.error.length) {
message.success('锁定成功!');
this.setState({
loading: false,
});
} else {
message.warning(data.error[0].message);
};
this.loadData();
}.bind(this));
},
//激活
activation() {
let deletedIds;
let statust;
let mobiles;
let names;
let rolesId=[]
for(let idx = 0; idx < this.state.selectedRows.length; idx++) {
let rowItem = this.state.selectedRows[idx];
if(rowItem.id) {
deletedIds=rowItem.id;
statust=rowItem.status;
names=rowItem.name;
mobiles=rowItem.mobile;
rolesId=rowItem.rolesId
};
};
this.setState({
selectedRowKeys: [],
loading: true
});
$.ajax({
method: "POST",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/superviser/updateAdmin",
data: {
roles:rolesId,
data:JSON.stringify({
id: deletedIds,
status: '正常',
name: names,
mobile: mobiles,
})
}
}).done(function(data) {
if(!data.error.length) {
message.success('激活成功!');
this.setState({
loading: false,
});
} else {
message.warning(data.error[0].message);
};
this.loadData();
}.bind(this));
},
//删除
delectRow() {
let deletedIds;
for(let idx = 0; idx < this.state.selectedRows.length; idx++) {
let rowItem = this.state.selectedRows[idx];
if(rowItem.id) {
deletedIds=rowItem.id;
};
};
this.setState({
selectedRowKeys: [],
loading: true
});
$.ajax({
method: "POST",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/superviser/deleteById",
data: {
id: deletedIds,
}
}).done(function(data) {
if(!data.error.length) {
message.success('删除成功!');
this.setState({
loading: false,
});
} else {
message.warning(data.error[0].message);
};
this.loadData(this.state.page);
}.bind(this));
},
addClick() {
this.addIdS()
this.setState({
datauser:{},
showDesc: true,
userDetaile: false,
});
},
closeDesc(e, s) {
this.setState({
userDetaile:false,
showDesc:e
})
if(s) {
this.loadData(this.state.page);
};
},
search() {
this.state.userDetaile = false
this.loadData();
},
searchs() {
this.state.userDetaile = false
this.loadDatas();
},
reset() {
this.state.userNameSearch = '';
this.state.organizationSearch = undefined;
this.state.rolesSearch = undefined;
this.state.postSearch = undefined;
this.state.stationSearch = undefined;
this.state.statusSeach = undefined;
this.state.signNameSearch = '';
this.state.mobileSearch = '';
this.state.auto = '';
this.state.theTypes='';
this.loadData();
},
resets() {
this.state.userNameSearchs = '';
this.state.organizationSearch = undefined;
this.state.rolesSearch = undefined;
this.state.postSearch = undefined;
this.state.stationSearch = undefined;
this.state.statusSeach = undefined;
this.state.signNameSearch = '';
this.state.mobileSearch = '';
this.state.auto = '';
this.state.theTypes='';
this.loadDatas();
},
searchSwitch() {
this.setState({
searchMore: !this.state.searchMore
});
},
//主管初始加载(自动补全)
supervisor(e) {
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/organization/selectName",
data: {
name: e
},
success: function(data) {
let thedata = data.data;
if(!thedata) {
if(data.error && data.error.length) {
message.warning(data.error[0].message);
};
thedata = {};
};
this.setState({
customerArr: thedata,
});
}.bind(this),
}).always(function() {
this.setState({
loading: false
});
}.bind(this));
},
//上级主管输入框失去焦点是判断客户是否存在
selectAuto(value, options) {
this.setState({
auto: value
})
},
blurChange(e) {
let theType = '';
let contactLists = this.state.customerArr || [];
if(e) {
contactLists.map(function(item) {
if(item.name == e.toString()) {
theType = item.id;
}
});
}
this.setState({
theTypes: theType
})
},
//值改变时请求客户名称
httpChange(e) {
if(e.length >= 1) {
this.supervisor(e);
}
this.setState({
auto: e
})
},
changeList(arr) {
const newArr = [];
this.state.columns.forEach(item => {
arr.forEach(val => {
if (val === item.title) {
newArr.push(item);
}
});
});
this.setState({
changeList: newArr
});
},
render() {
const rowSelection = {
selectedRowKeys: this.state.selectedRowKeys,
onChange: (selectedRowKeys, selectedRows) => {
this.setState({
selectedRows: selectedRows.slice(-1),
selectedRowKeys: selectedRowKeys.slice(-1)
});
},
onSelectAll: (selected, selectedRows, changeRows) => {
this.setState({
selectedRowKeys: []
})
},
};
const dataSources = this.state.customerArr || [];
const options = dataSources.map((group, index) =>
{group.name}
)
const hasSelected = this.state.selectedRowKeys.length > 0;
const { RangePicker } = DatePicker;
let departmentArr = this.state.departmentArr || [];
let roleArr = this.state.roleArr || [];
return (
{
this.setState({ userNameSearch: e.target.value });
}}
/>
{window.adminData.isSuperAdmin ? (
) : (
""
)}
{/*
更多搜索 */}
{/*
*/}
{/*
*/}
{this.state.showDesc &&
}
);
}
}));
export default User;