|
@@ -1,9 +1,9 @@
|
|
|
import React from 'react';
|
|
|
-import { Icon, Modal, message, AutoComplete,Spin, Input, Select, Button, Form,Popconfirm} from 'antd';
|
|
|
+import { Icon, Modal, message, AutoComplete, Spin, Input, Select, Button, Form, Popconfirm } from 'antd';
|
|
|
import $ from 'jquery/src/ajax';
|
|
|
import './userMangagement.less';
|
|
|
-import {cityArr,station,post} from '../../../dataDic.js';
|
|
|
-import {splitUrl} from '../../../tools.js';
|
|
|
+import { cityArr, station, post } from '../../../dataDic.js';
|
|
|
+import { splitUrl } from '../../../tools.js';
|
|
|
import moment from 'moment';
|
|
|
import ImgList from "../../../common/imgList";
|
|
|
|
|
@@ -16,9 +16,9 @@ const PicturesWall = React.createClass({
|
|
|
previewVisible: false,
|
|
|
previewImage: '',
|
|
|
fileList: [],
|
|
|
- role:[],
|
|
|
- district:[],
|
|
|
- cityOption:[],
|
|
|
+ role: [],
|
|
|
+ district: [],
|
|
|
+ cityOption: [],
|
|
|
}
|
|
|
},
|
|
|
handleCancel() {
|
|
@@ -47,16 +47,16 @@ const PicturesWall = React.createClass({
|
|
|
</div>
|
|
|
);
|
|
|
return (
|
|
|
- <div style={{display:"inline-block"}}>
|
|
|
+ <div style={{ display: "inline-block" }}>
|
|
|
<ImgList
|
|
|
domId={this.props.domId}
|
|
|
uploadConfig={{
|
|
|
- action:globalConfig.context + "/api/admin/superviser/uploadAdminImg",
|
|
|
- data:{ 'sign': this.props.pictureSign },
|
|
|
- multiple:true,
|
|
|
- listType:"picture-card",
|
|
|
+ action: globalConfig.context + "/api/admin/superviser/uploadAdminImg",
|
|
|
+ data: { 'sign': this.props.pictureSign },
|
|
|
+ multiple: true,
|
|
|
+ listType: "picture-card",
|
|
|
}}
|
|
|
- onChange={(infor)=>{
|
|
|
+ onChange={(infor) => {
|
|
|
this.handleChange(infor)
|
|
|
}}
|
|
|
fileList={fileList}
|
|
@@ -69,62 +69,62 @@ const PicturesWall = React.createClass({
|
|
|
const Newuser = Form.create()(React.createClass({
|
|
|
getInitialState() {
|
|
|
return {
|
|
|
- orgCodeUrl:[],
|
|
|
+ orgCodeUrl: [],
|
|
|
loading: false,
|
|
|
loaduser: {},
|
|
|
- datauser:[],
|
|
|
- role:[]
|
|
|
+ datauser: [],
|
|
|
+ role: []
|
|
|
};
|
|
|
},
|
|
|
- getDefaultProps(){
|
|
|
- return{
|
|
|
- userDetaile:false
|
|
|
- }
|
|
|
+ getDefaultProps() {
|
|
|
+ return {
|
|
|
+ userDetaile: false
|
|
|
+ }
|
|
|
},
|
|
|
handleSubmit(e) {
|
|
|
e.preventDefault();
|
|
|
- if(!this.state.role || this.state.role.length === 0){
|
|
|
- message.warning('请选择角色');
|
|
|
- return false;
|
|
|
- };
|
|
|
- if(!this.state.status&&this.props.userDetaile){
|
|
|
- message.warning('请选择角色状态');
|
|
|
- return false;
|
|
|
+ if (!this.state.role || this.state.role.length === 0) {
|
|
|
+ message.warning('请选择角色');
|
|
|
+ return false;
|
|
|
};
|
|
|
- if(window.adminData.isSuperAdmin){
|
|
|
- if(!this.state.departmentId){
|
|
|
- message.warning('请选择组织部门');
|
|
|
- return false;
|
|
|
- };
|
|
|
+ // if (!this.state.status && this.props.userDetaile) {
|
|
|
+ // message.warning('请选择角色状态');
|
|
|
+ // return false;
|
|
|
+ // };
|
|
|
+ if (window.adminData.isSuperAdmin) {
|
|
|
+ if (!this.state.departmentId) {
|
|
|
+ message.warning('请选择组织部门');
|
|
|
+ return false;
|
|
|
+ };
|
|
|
}
|
|
|
- if(!this.state.theTypes&&!this.state.superiorId){
|
|
|
- message.warning('请输入正确的上级主管');
|
|
|
- return false;
|
|
|
+ if (!this.state.theTypes && !this.state.superiorId) {
|
|
|
+ message.warning('请输入正确的上级主管');
|
|
|
+ return false;
|
|
|
};
|
|
|
- if(!this.state.reviewer){
|
|
|
+ if (!this.state.reviewer) {
|
|
|
message.warning('请输入正确的公出审核人');
|
|
|
return false;
|
|
|
}
|
|
|
- if(this.state.contactMobile){
|
|
|
- if(!(/^1[1-9][0-9]\d{4,8}$/.test(this.state.contactMobile))){
|
|
|
- message.warning("不是完整的11位手机号或者正确的手机号前七位");
|
|
|
- this.setState({
|
|
|
+ if (this.state.contactMobile) {
|
|
|
+ if (!(/^1[1-9][0-9]\d{4,8}$/.test(this.state.contactMobile))) {
|
|
|
+ message.warning("不是完整的11位手机号或者正确的手机号前七位");
|
|
|
+ this.setState({
|
|
|
loading: false
|
|
|
});
|
|
|
- return false;
|
|
|
- }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
}
|
|
|
let theorgCodeUrl = [];
|
|
|
if (this.state.orgCodeUrl.length) {
|
|
|
let picArr = [];
|
|
|
this.state.orgCodeUrl.map(function (item) {
|
|
|
- if ( item.response && item.response.data && item.response.data.length ){
|
|
|
- picArr.push(item.response.data);
|
|
|
- }
|
|
|
+ if (item.response && item.response.data && item.response.data.length) {
|
|
|
+ picArr.push(item.response.data);
|
|
|
+ }
|
|
|
});
|
|
|
theorgCodeUrl = picArr.join(",");
|
|
|
};
|
|
|
- let api = this.props.userDetaile?"/api/admin/superviser/updateAdmin":'/api/admin/superviser/insertAdmin'
|
|
|
+ let api = this.props.userDetaile ? "/api/admin/superviser/updateAdmin" : '/api/admin/superviser/insertAdmin'
|
|
|
this.setState({
|
|
|
loading: true
|
|
|
});
|
|
@@ -134,23 +134,23 @@ const Newuser = Form.create()(React.createClass({
|
|
|
crossDomain: false,
|
|
|
url: globalConfig.context + api,
|
|
|
data: {
|
|
|
- roles:this.state.role,
|
|
|
- data:JSON.stringify({
|
|
|
- id:this.state.id?this.state.id:this.props.addId,
|
|
|
- mobile:this.state.mobile,
|
|
|
- status:this.state.status,
|
|
|
- contactMobile:this.state.contactMobile,
|
|
|
- name:this.state.name,
|
|
|
- departmentId:window.adminData.isSuperAdmin?this.state.departmentId:window.adminData.departmentId,
|
|
|
- duty:this.state.duty,
|
|
|
- position:this.state.position,//岗位
|
|
|
- email:this.state.email,
|
|
|
- superiorId:this.state.theTypes?this.state.theTypes:this.state.superiorId,
|
|
|
- reviewer:this.state.reviewer,
|
|
|
- district:this.state.district,
|
|
|
- headPortraitUrl:theorgCodeUrl.length?theorgCodeUrl:'',
|
|
|
- entryTime:this.state.selTime
|
|
|
- })
|
|
|
+ roles: this.state.role,
|
|
|
+ data: JSON.stringify({
|
|
|
+ id: this.state.id ? this.state.id : this.props.addId,
|
|
|
+ mobile: this.state.mobile,
|
|
|
+ status: this.state.status,
|
|
|
+ contactMobile: this.state.contactMobile,
|
|
|
+ name: this.state.name,
|
|
|
+ departmentId: window.adminData.isSuperAdmin ? this.state.departmentId : window.adminData.departmentId,
|
|
|
+ duty: this.state.duty,
|
|
|
+ position: this.state.position,//岗位
|
|
|
+ email: this.state.email,
|
|
|
+ superiorId: this.state.theTypes ? this.state.theTypes : this.state.superiorId,
|
|
|
+ reviewer: this.state.reviewer,
|
|
|
+ district: this.state.district,
|
|
|
+ headPortraitUrl: theorgCodeUrl.length ? theorgCodeUrl : '',
|
|
|
+ entryTime: this.state.selTime
|
|
|
+ })
|
|
|
}
|
|
|
}).done(function (data) {
|
|
|
this.setState({
|
|
@@ -165,17 +165,17 @@ const Newuser = Form.create()(React.createClass({
|
|
|
}.bind(this));
|
|
|
},
|
|
|
//主管初始加载(自动补全)
|
|
|
- supervisor(e){
|
|
|
- $.ajax({
|
|
|
+ supervisor(e) {
|
|
|
+ $.ajax({
|
|
|
method: "post",
|
|
|
dataType: "json",
|
|
|
crossDomain: false,
|
|
|
url: globalConfig.context + "/api/admin/organization/selectName",
|
|
|
- data:{
|
|
|
- name:e
|
|
|
+ data: {
|
|
|
+ name: e
|
|
|
},
|
|
|
success: function (data) {
|
|
|
- let thedata=data.data;
|
|
|
+ let thedata = data.data;
|
|
|
if (!thedata) {
|
|
|
if (data.error && data.error.length) {
|
|
|
message.warning(data.error[0].message);
|
|
@@ -183,19 +183,19 @@ const Newuser = Form.create()(React.createClass({
|
|
|
thedata = {};
|
|
|
};
|
|
|
this.setState({
|
|
|
- customerArr:thedata,
|
|
|
+ customerArr: thedata,
|
|
|
});
|
|
|
- }.bind(this),
|
|
|
- }).always(function () {
|
|
|
+ }.bind(this),
|
|
|
+ }).always(function () {
|
|
|
this.setState({
|
|
|
loading: false
|
|
|
});
|
|
|
}.bind(this));
|
|
|
- },
|
|
|
- //上级主管输入框失去焦点是判断客户是否存在
|
|
|
- selectAuto(value){
|
|
|
- let theType='';
|
|
|
- let contactLists=this.state.customerArr||[];
|
|
|
+ },
|
|
|
+ //上级主管输入框失去焦点是判断客户是否存在
|
|
|
+ selectAuto(value) {
|
|
|
+ let theType = '';
|
|
|
+ let contactLists = this.state.customerArr || [];
|
|
|
if (value) {
|
|
|
contactLists.map(function (item) {
|
|
|
if (item.name === value.toString()) {
|
|
@@ -204,76 +204,76 @@ const Newuser = Form.create()(React.createClass({
|
|
|
});
|
|
|
}
|
|
|
this.setState({
|
|
|
- theTypes:theType,
|
|
|
- superior:value
|
|
|
+ theTypes: theType,
|
|
|
+ superior: value
|
|
|
})
|
|
|
- if(!this.state.reviewerName || !this.state.reviewer){
|
|
|
+ if (!this.state.reviewerName || !this.state.reviewer) {
|
|
|
this.setState({
|
|
|
- reviewerName:value,
|
|
|
- reviewer:theType
|
|
|
+ reviewerName: value,
|
|
|
+ reviewer: theType
|
|
|
})
|
|
|
}
|
|
|
- },
|
|
|
- //值改变时请求客户名称
|
|
|
- httpChange(e){
|
|
|
- if(e.length>=1){
|
|
|
- this.supervisor(e);
|
|
|
- }
|
|
|
- this.setState({
|
|
|
- superior:e
|
|
|
- })
|
|
|
- },
|
|
|
- //查看基本详情基本信息
|
|
|
- loaduser(record){
|
|
|
- if(record){
|
|
|
- $.ajax({
|
|
|
- method: "post",
|
|
|
- dataType: "json",
|
|
|
- crossDomain: false,
|
|
|
- url: globalConfig.context + '/api/admin/superviser/selectAllByid',
|
|
|
- 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);
|
|
|
+ },
|
|
|
+ //值改变时请求客户名称
|
|
|
+ httpChange(e) {
|
|
|
+ if (e.length >= 1) {
|
|
|
+ this.supervisor(e);
|
|
|
+ }
|
|
|
+ this.setState({
|
|
|
+ superior: e
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //查看基本详情基本信息
|
|
|
+ loaduser(record) {
|
|
|
+ if (record) {
|
|
|
+ $.ajax({
|
|
|
+ method: "post",
|
|
|
+ dataType: "json",
|
|
|
+ crossDomain: false,
|
|
|
+ url: globalConfig.context + '/api/admin/superviser/selectAllByid',
|
|
|
+ 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 = {};
|
|
|
};
|
|
|
- thisdata = {};
|
|
|
- };
|
|
|
- this.setState({
|
|
|
- id: thisdata.id,
|
|
|
- mobile: thisdata.mobile,
|
|
|
- name: thisdata.name,
|
|
|
- email: thisdata.email,
|
|
|
- createTime: thisdata.createTime,
|
|
|
- district:thisdata.district!=' '?JSON.parse(thisdata.district):undefined,
|
|
|
- position: thisdata.position?thisdata.position:undefined,
|
|
|
- superior:thisdata.superior,
|
|
|
- superiorId: thisdata.superiorId,//上级Id
|
|
|
+ this.setState({
|
|
|
+ id: thisdata.id,
|
|
|
+ mobile: thisdata.mobile,
|
|
|
+ name: thisdata.name,
|
|
|
+ email: thisdata.email,
|
|
|
+ createTime: thisdata.createTime,
|
|
|
+ district: thisdata.district != ' ' ? JSON.parse(thisdata.district) : undefined,
|
|
|
+ position: thisdata.position ? thisdata.position : undefined,
|
|
|
+ superior: thisdata.superior,
|
|
|
+ superiorId: thisdata.superiorId,//上级Id
|
|
|
|
|
|
- reviewerName:thisdata.reviewerName,
|
|
|
- reviewer:thisdata.reviewer,
|
|
|
+ reviewerName: thisdata.reviewerName,
|
|
|
+ reviewer: thisdata.reviewer,
|
|
|
|
|
|
- theTypes:'',
|
|
|
- duty:thisdata.duty?thisdata.duty:undefined,//职务
|
|
|
- status:thisdata.status?thisdata.status:undefined,
|
|
|
- contactMobile:thisdata.contactMobile?thisdata.contactMobile:undefined,//手机号
|
|
|
- departmentId:thisdata.departmentId?thisdata.departmentId:undefined,//部门id
|
|
|
- userNo:thisdata.userNo,
|
|
|
- orgCodeUrl: thisdata.headPortraitUrl? splitUrl(thisdata.headPortraitUrl, ',', globalConfig.avatarHost + '/upload') : [],
|
|
|
- role:this.props.role,
|
|
|
- entryTime:thisdata.entryTime?moment(thisdata.entryTime,'YYYY-MM-DD'):undefined,
|
|
|
- selTime:thisdata.entryTime
|
|
|
+ theTypes: '',
|
|
|
+ duty: thisdata.duty ? thisdata.duty : undefined,//职务
|
|
|
+ status: Number(thisdata.status),
|
|
|
+ contactMobile: thisdata.contactMobile ? thisdata.contactMobile : undefined,//手机号
|
|
|
+ departmentId: thisdata.departmentId ? thisdata.departmentId : undefined,//部门id
|
|
|
+ userNo: thisdata.userNo,
|
|
|
+ orgCodeUrl: thisdata.headPortraitUrl ? splitUrl(thisdata.headPortraitUrl, ',', globalConfig.avatarHost + '/upload') : [],
|
|
|
+ role: this.props.role,
|
|
|
+ entryTime: thisdata.entryTime ? moment(thisdata.entryTime, 'YYYY-MM-DD') : undefined,
|
|
|
+ selTime: thisdata.entryTime
|
|
|
+ });
|
|
|
+ }.bind(this),
|
|
|
+ }).always(function () {
|
|
|
+ this.setState({
|
|
|
+ loading: false
|
|
|
});
|
|
|
- }.bind(this),
|
|
|
- }).always(function () {
|
|
|
- this.setState({
|
|
|
- loading: false
|
|
|
- });
|
|
|
- }.bind(this));
|
|
|
- }
|
|
|
+ }.bind(this));
|
|
|
+ }
|
|
|
},
|
|
|
|
|
|
//重置密码
|
|
@@ -307,132 +307,135 @@ const Newuser = Form.create()(React.createClass({
|
|
|
this.props.closeDesc(false);
|
|
|
},
|
|
|
//入职时间选择
|
|
|
- selTime(e,index){
|
|
|
- this.setState({
|
|
|
- entryTime:e,
|
|
|
- selTime:index
|
|
|
- })
|
|
|
+ selTime(e, index) {
|
|
|
+ this.setState({
|
|
|
+ entryTime: e,
|
|
|
+ selTime: index
|
|
|
+ })
|
|
|
},
|
|
|
getOrgCodeUrl(e) {
|
|
|
this.setState({ orgCodeUrl: e });
|
|
|
},
|
|
|
- componentWillMount(e){
|
|
|
- const cityArrs=[];
|
|
|
+ componentWillMount(e) {
|
|
|
+ const cityArrs = [];
|
|
|
cityArr.map(function (item) {
|
|
|
cityArrs.push(
|
|
|
<Select.Option key={item.value}>{item.key}</Select.Option>
|
|
|
)
|
|
|
});
|
|
|
- this.state.cityOption=cityArrs;
|
|
|
+ this.state.cityOption = cityArrs;
|
|
|
},
|
|
|
componentDidMount() {
|
|
|
- if(this.props.datauser.id){
|
|
|
- this.loaduser(this.props.datauser)
|
|
|
- this.setState({
|
|
|
- rolek:this.props.role
|
|
|
- })
|
|
|
- }
|
|
|
- },
|
|
|
+ if (this.props.datauser.id) {
|
|
|
+ this.loaduser(this.props.datauser)
|
|
|
+ this.setState({
|
|
|
+ rolek: this.props.role
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
render() {
|
|
|
const FormItem = Form.Item
|
|
|
const formItemLayout = {
|
|
|
labelCol: { span: 8 },
|
|
|
wrapperCol: { span: 14 },
|
|
|
};
|
|
|
- const dataSources=this.state.customerArr || [];
|
|
|
- const options = dataSources.map((group,index) =>
|
|
|
- <Select.Option key={index} value={group.name}>{group.name}</Select.Option>
|
|
|
- )
|
|
|
- const departmentArr=this.props.departmentArr || [];
|
|
|
- const roleArrS=this.props.roleArr || [];
|
|
|
- const rolst=this.state.rolek || [];
|
|
|
+ const dataSources = this.state.customerArr || [];
|
|
|
+ const options = dataSources.map((group, index) =>
|
|
|
+ <Select.Option key={index} value={group.name}>{group.name}</Select.Option>
|
|
|
+ )
|
|
|
+ const departmentArr = this.props.departmentArr || [];
|
|
|
+ const roleArrS = this.props.roleArr || [];
|
|
|
+ const rolst = this.state.rolek || [];
|
|
|
return (
|
|
|
- <div>
|
|
|
- <Modal maskClosable={false} visible={this.props.showDesc}
|
|
|
- onOk={this.handleOk} onCancel={this.handleCancel}
|
|
|
- width='800px'
|
|
|
- title={this.props.userDetaile?'用户详情':'新建用户'}
|
|
|
- footer=''
|
|
|
- className="admin-desc-content">
|
|
|
- <Form layout="horizontal" onSubmit={this.handleSubmit} id="demand-form">
|
|
|
- <Spin spinning={this.state.loading}>
|
|
|
- <div className="clearfix">
|
|
|
- <div className="clearfix">
|
|
|
- <FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="用户名" >
|
|
|
- <Input placeholder="输入登录用户名" value={this.state.mobile}
|
|
|
- onChange={(e)=>{this.setState({mobile:e.target.value})}} required="required" style={{width:'200px'}}/>
|
|
|
- <span className="mandatory">*</span>
|
|
|
- </FormItem>
|
|
|
- {this.props.userDetaile?
|
|
|
- <Popconfirm
|
|
|
- title={"用户 [ " + this.props.datauser.name + " ] 的密码将会重置为123456,确认操作?"}
|
|
|
- onConfirm={this.resetPwd}
|
|
|
- okText="确认"
|
|
|
- cancelText="取消"
|
|
|
- placement="topLeft">
|
|
|
- <Button>重置密码</Button>
|
|
|
- </Popconfirm>:''}
|
|
|
- </div>
|
|
|
- <FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="用户角色"
|
|
|
- >
|
|
|
- {roleArrS.length > 0 ?
|
|
|
- <Select
|
|
|
- mode="multiple"
|
|
|
- optionFilterProp={'title'}
|
|
|
- tokenSeparators={[',']}
|
|
|
- placeholder="选择用户角色"
|
|
|
- value={this.state.role}
|
|
|
- style={{width:'200px'}}
|
|
|
- onChange={(e)=>{
|
|
|
- this.setState({
|
|
|
- role:e
|
|
|
- })
|
|
|
- }}>
|
|
|
- {
|
|
|
- roleArrS.map(function (item,_) {
|
|
|
- return <Select.Option title={item.roleName} value={item.id}>{item.roleName}</Select.Option>
|
|
|
- })
|
|
|
- }
|
|
|
- </Select> : null
|
|
|
- }
|
|
|
- <span className="mandatory">*</span>
|
|
|
- </FormItem>
|
|
|
+ <div>
|
|
|
+ <Modal maskClosable={false} visible={this.props.showDesc}
|
|
|
+ onOk={this.handleOk} onCancel={this.handleCancel}
|
|
|
+ width='800px'
|
|
|
+ title={this.props.userDetaile ? '用户详情' : '新建用户'}
|
|
|
+ footer=''
|
|
|
+ className="admin-desc-content">
|
|
|
+ <Form layout="horizontal" onSubmit={this.handleSubmit} id="demand-form">
|
|
|
+ <Spin spinning={this.state.loading}>
|
|
|
+ <div className="clearfix">
|
|
|
+ <div className="clearfix">
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="用户名" >
|
|
|
+ <Input placeholder="输入登录用户名" value={this.state.mobile}
|
|
|
+ onChange={(e) => { this.setState({ mobile: e.target.value }) }} required="required" style={{ width: '200px' }} />
|
|
|
+ <span className="mandatory">*</span>
|
|
|
+ </FormItem>
|
|
|
+ {this.props.userDetaile ?
|
|
|
+ <Popconfirm
|
|
|
+ title={"用户 [ " + this.props.datauser.name + " ] 的密码将会重置为123456,确认操作?"}
|
|
|
+ onConfirm={this.resetPwd}
|
|
|
+ okText="确认"
|
|
|
+ cancelText="取消"
|
|
|
+ placement="topLeft">
|
|
|
+ <Button>重置密码</Button>
|
|
|
+ </Popconfirm> : ''}
|
|
|
+ </div>
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="用户角色"
|
|
|
+ >
|
|
|
+ {roleArrS.length > 0 ?
|
|
|
+ <Select
|
|
|
+ mode="multiple"
|
|
|
+ optionFilterProp={'title'}
|
|
|
+ tokenSeparators={[',']}
|
|
|
+ placeholder="选择用户角色"
|
|
|
+ value={this.state.role}
|
|
|
+ style={{ width: '200px' }}
|
|
|
+ onChange={(e) => {
|
|
|
+ this.setState({
|
|
|
+ role: e
|
|
|
+ })
|
|
|
+ }}>
|
|
|
+ {
|
|
|
+ roleArrS.map(function (item, _) {
|
|
|
+ return <Select.Option title={item.roleName} value={item.id}>{item.roleName}</Select.Option>
|
|
|
+ })
|
|
|
+ }
|
|
|
+ </Select> : null
|
|
|
+ }
|
|
|
+ <span className="mandatory">*</span>
|
|
|
+ </FormItem>
|
|
|
|
|
|
- <FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label=""
|
|
|
- >
|
|
|
- <span style={{display:rolst.length>1?'block':'none',color:'red'}}>存在多个角色</span>
|
|
|
- </FormItem>
|
|
|
- {this.props.userDetaile?<FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="用户状态" >
|
|
|
- <Select placeholder="用户状态" value={this.state.status} style={{width:'200px'}}
|
|
|
- onChange={(e)=>{this.setState({status:e})}} >
|
|
|
- <Select.Option value="正常" >正常</Select.Option>
|
|
|
- <Select.Option value="注销" >注销</Select.Option>
|
|
|
- <Select.Option value="锁定" >锁定</Select.Option>
|
|
|
- </Select>
|
|
|
- <span className="mandatory">*</span>
|
|
|
- </FormItem>:''}
|
|
|
- <FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="用户姓名" >
|
|
|
- <Input placeholder="请输入用户姓名" style={{width:'200px'}} value={this.state.name}
|
|
|
- onChange={(e)=>{this.setState({name:e.target.value})}} required="required"/>
|
|
|
- <span className="mandatory">*</span>
|
|
|
- </FormItem>
|
|
|
- <FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="联系方式" >
|
|
|
- <Input placeholder="请输入手机号" style={{width:'200px'}} value={this.state.contactMobile}
|
|
|
- onChange={(e)=>{this.setState({contactMobile:e.target.value})}} />
|
|
|
- </FormItem>
|
|
|
- {/*<FormItem className="half-item"
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label=""
|
|
|
+ >
|
|
|
+ <span style={{ display: rolst.length > 1 ? 'block' : 'none', color: 'red' }}>存在多个角色</span>
|
|
|
+ </FormItem>
|
|
|
+ {this.props.userDetaile ? <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="用户状态" >
|
|
|
+ <Select
|
|
|
+ placeholder="用户状态"
|
|
|
+ value={this.state.status}
|
|
|
+ style={{ width: '200px' }}
|
|
|
+ onChange={(e) => { this.setState({ status: e }) }}
|
|
|
+ >
|
|
|
+ <Select.Option value={0} >正常</Select.Option>
|
|
|
+ <Select.Option value={1} >锁定</Select.Option>
|
|
|
+ </Select>
|
|
|
+ <span className="mandatory">*</span>
|
|
|
+ </FormItem> : ''}
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="用户姓名" >
|
|
|
+ <Input placeholder="请输入用户姓名" style={{ width: '200px' }} value={this.state.name}
|
|
|
+ onChange={(e) => { this.setState({ name: e.target.value }) }} required="required" />
|
|
|
+ <span className="mandatory">*</span>
|
|
|
+ </FormItem>
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="联系方式" >
|
|
|
+ <Input placeholder="请输入手机号" style={{ width: '200px' }} value={this.state.contactMobile}
|
|
|
+ onChange={(e) => { this.setState({ contactMobile: e.target.value }) }} />
|
|
|
+ </FormItem>
|
|
|
+ {/*<FormItem className="half-item"
|
|
|
{...formItemLayout}
|
|
|
label="入职时间" >
|
|
|
<DatePicker
|
|
@@ -444,138 +447,138 @@ const Newuser = Form.create()(React.createClass({
|
|
|
onChange={(e,time)=>{this.selTime(e,time)}}
|
|
|
/>
|
|
|
</FormItem>*/}
|
|
|
- {window.adminData.isSuperAdmin?<FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="组织部门" >
|
|
|
- <Select placeholder="选择组织部门"
|
|
|
- style={{ width: 200 }}
|
|
|
- value={this.state.departmentId}
|
|
|
- onChange={(e) => { this.setState({ departmentId: e }) }}>
|
|
|
- {
|
|
|
- departmentArr.map(function (item) {
|
|
|
- return <Select.Option key={item.id} >{item.name}</Select.Option>
|
|
|
- })
|
|
|
- }
|
|
|
- </Select>
|
|
|
- <span className="mandatory">*</span>
|
|
|
- </FormItem>:''}
|
|
|
- <FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="职务"
|
|
|
- >
|
|
|
- <Select placeholder="选择职务" style={{width:'200px'}} value={this.state.duty} onChange={(e)=>{this.setState({duty:e})}}>
|
|
|
- {
|
|
|
- post.map(function (item) {
|
|
|
- return <Select.Option key={item.value} >{item.key}</Select.Option>
|
|
|
- })
|
|
|
- }
|
|
|
- </Select>
|
|
|
- </FormItem>
|
|
|
- <FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="岗位"
|
|
|
- >
|
|
|
- <Select placeholder="选择岗位" style={{width:'200px'}} value={this.state.position} onChange={(e)=>{this.setState({position:e})}}>
|
|
|
- {
|
|
|
- station.map(function (item) {
|
|
|
- return <Select.Option key={item.value} >{item.key}</Select.Option>
|
|
|
- })
|
|
|
- }
|
|
|
- </Select>
|
|
|
- </FormItem>
|
|
|
- <FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="电子邮箱" >
|
|
|
- <Input placeholder="请输入邮箱" style={{width:'200px'}} value={this.state.email}
|
|
|
- onChange={(e)=>{this.setState({email:e.target.value})}} />
|
|
|
- </FormItem>
|
|
|
- <FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="上级主管"
|
|
|
- >
|
|
|
- <AutoComplete
|
|
|
- className="certain-category-search"
|
|
|
- dropdownClassName="certain-category-search-dropdown"
|
|
|
- dropdownMatchSelectWidth={false}
|
|
|
- size="large"
|
|
|
- style={{ width: '200px' }}
|
|
|
- dataSource={options}
|
|
|
- placeholder="输入名称"
|
|
|
- value={this.state.superior}
|
|
|
- onChange={this.httpChange}
|
|
|
- filterOption={true}
|
|
|
- onSelect={this.selectAuto}
|
|
|
- >
|
|
|
- <Input/>
|
|
|
- </AutoComplete>
|
|
|
- <span className="mandatory">*</span>
|
|
|
- </FormItem>
|
|
|
- <FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="公出审核"
|
|
|
+ {window.adminData.isSuperAdmin ? <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="组织部门" >
|
|
|
+ <Select placeholder="选择组织部门"
|
|
|
+ style={{ width: 200 }}
|
|
|
+ value={this.state.departmentId}
|
|
|
+ onChange={(e) => { this.setState({ departmentId: e }) }}>
|
|
|
+ {
|
|
|
+ departmentArr.map(function (item) {
|
|
|
+ return <Select.Option key={item.id} >{item.name}</Select.Option>
|
|
|
+ })
|
|
|
+ }
|
|
|
+ </Select>
|
|
|
+ <span className="mandatory">*</span>
|
|
|
+ </FormItem> : ''}
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="职务"
|
|
|
+ >
|
|
|
+ <Select placeholder="选择职务" style={{ width: '200px' }} value={this.state.duty} onChange={(e) => { this.setState({ duty: e }) }}>
|
|
|
+ {
|
|
|
+ post.map(function (item) {
|
|
|
+ return <Select.Option key={item.value} >{item.key}</Select.Option>
|
|
|
+ })
|
|
|
+ }
|
|
|
+ </Select>
|
|
|
+ </FormItem>
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="岗位"
|
|
|
+ >
|
|
|
+ <Select placeholder="选择岗位" style={{ width: '200px' }} value={this.state.position} onChange={(e) => { this.setState({ position: e }) }}>
|
|
|
+ {
|
|
|
+ station.map(function (item) {
|
|
|
+ return <Select.Option key={item.value} >{item.key}</Select.Option>
|
|
|
+ })
|
|
|
+ }
|
|
|
+ </Select>
|
|
|
+ </FormItem>
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="电子邮箱" >
|
|
|
+ <Input placeholder="请输入邮箱" style={{ width: '200px' }} value={this.state.email}
|
|
|
+ onChange={(e) => { this.setState({ email: e.target.value }) }} />
|
|
|
+ </FormItem>
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="上级主管"
|
|
|
+ >
|
|
|
+ <AutoComplete
|
|
|
+ className="certain-category-search"
|
|
|
+ dropdownClassName="certain-category-search-dropdown"
|
|
|
+ dropdownMatchSelectWidth={false}
|
|
|
+ size="large"
|
|
|
+ style={{ width: '200px' }}
|
|
|
+ dataSource={options}
|
|
|
+ placeholder="输入名称"
|
|
|
+ value={this.state.superior}
|
|
|
+ onChange={this.httpChange}
|
|
|
+ filterOption={true}
|
|
|
+ onSelect={this.selectAuto}
|
|
|
+ >
|
|
|
+ <Input />
|
|
|
+ </AutoComplete>
|
|
|
+ <span className="mandatory">*</span>
|
|
|
+ </FormItem>
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="公出审核"
|
|
|
+ >
|
|
|
+ <StaffSearch
|
|
|
+ valueName={this.state.reviewerName}
|
|
|
+ placeholder="输入名称"
|
|
|
+ onBlurChange={(obj) => {
|
|
|
+ this.setState({
|
|
|
+ reviewer: obj.value
|
|
|
+ })
|
|
|
+ }}
|
|
|
+ />
|
|
|
+ <span className="mandatory">*</span>
|
|
|
+ </FormItem>
|
|
|
+ {this.props.userDetaile ?
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="用户编号" >
|
|
|
+ <span>{this.state.userNo}</span>
|
|
|
+ </FormItem>
|
|
|
+ : ''}
|
|
|
+ <div className='clearfix'>
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="地区" >
|
|
|
+ <Select
|
|
|
+ multiple
|
|
|
+ style={{ width: '500px' }}
|
|
|
+ placeholder="选择地区"
|
|
|
+ filterOption={(input, option) => { return option.props.children.indexOf(input) >= 0 }}
|
|
|
+ value={this.state.district}
|
|
|
+ onChange={(pids) => {
|
|
|
+ this.state.district = pids;
|
|
|
+ this.setState({
|
|
|
+ district: this.state.district
|
|
|
+ })
|
|
|
+ }}
|
|
|
>
|
|
|
- <StaffSearch
|
|
|
- valueName={this.state.reviewerName}
|
|
|
- placeholder="输入名称"
|
|
|
- onBlurChange={(obj)=>{
|
|
|
- this.setState({
|
|
|
- reviewer:obj.value
|
|
|
- })
|
|
|
- }}
|
|
|
- />
|
|
|
- <span className="mandatory">*</span>
|
|
|
- </FormItem>
|
|
|
- {this.props.userDetaile?
|
|
|
- <FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="用户编号" >
|
|
|
- <span>{this.state.userNo}</span>
|
|
|
- </FormItem>
|
|
|
- :''}
|
|
|
- <div className='clearfix'>
|
|
|
- <FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="地区" >
|
|
|
- <Select
|
|
|
- multiple
|
|
|
- style={{width:'500px'}}
|
|
|
- placeholder="选择地区"
|
|
|
- filterOption={(input, option) => { return option.props.children.indexOf(input) >= 0 }}
|
|
|
- value={this.state.district}
|
|
|
- onChange={(pids) => {
|
|
|
- this.state.district = pids;
|
|
|
- this.setState({
|
|
|
- district: this.state.district
|
|
|
- })
|
|
|
- }}
|
|
|
- >
|
|
|
- {this.state.cityOption}
|
|
|
- </Select>
|
|
|
- </FormItem>
|
|
|
- </div>
|
|
|
+ {this.state.cityOption}
|
|
|
+ </Select>
|
|
|
+ </FormItem>
|
|
|
+ </div>
|
|
|
|
|
|
- <div className="clearfix pictures">
|
|
|
- <FormItem
|
|
|
- labelCol={{ span: 4 }}
|
|
|
- wrapperCol={{ span: 18 }}
|
|
|
- label="用户头像" >
|
|
|
- <PicturesWall
|
|
|
- domId={'newUser1'}
|
|
|
- pictureSign="customer_sys_file"
|
|
|
- fileList={this.getOrgCodeUrl}
|
|
|
- pictureUrl={this.state.orgCodeUrl} />
|
|
|
- <p>图片建议:要清晰。</p>
|
|
|
- </FormItem>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <FormItem wrapperCol={{ span: 12, offset: 4 }}>
|
|
|
- <Button className="set-submit" type="primary" htmlType="submit">保存</Button>
|
|
|
- <Button className="set-submit" type="ghost" onClick={this.handleCancel}>取消</Button>
|
|
|
- </FormItem>
|
|
|
- </Spin>
|
|
|
- </Form >
|
|
|
- </Modal>
|
|
|
- </div>
|
|
|
+ <div className="clearfix pictures">
|
|
|
+ <FormItem
|
|
|
+ labelCol={{ span: 4 }}
|
|
|
+ wrapperCol={{ span: 18 }}
|
|
|
+ label="用户头像" >
|
|
|
+ <PicturesWall
|
|
|
+ domId={'newUser1'}
|
|
|
+ pictureSign="customer_sys_file"
|
|
|
+ fileList={this.getOrgCodeUrl}
|
|
|
+ pictureUrl={this.state.orgCodeUrl} />
|
|
|
+ <p>图片建议:要清晰。</p>
|
|
|
+ </FormItem>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <FormItem wrapperCol={{ span: 12, offset: 4 }}>
|
|
|
+ <Button className="set-submit" type="primary" htmlType="submit">保存</Button>
|
|
|
+ <Button className="set-submit" type="ghost" onClick={this.handleCancel}>取消</Button>
|
|
|
+ </FormItem>
|
|
|
+ </Spin>
|
|
|
+ </Form >
|
|
|
+ </Modal>
|
|
|
+ </div>
|
|
|
)
|
|
|
}
|
|
|
}));
|