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.setState({ signNameSearch: e.target.value }); }} />
{/* 更多搜索 */}
{/* */} {/* */}
{this.state.showDesc && }
{ this.setState({ userNameSearchs: e.target.value }); }} />
); } })); export default User;