mh_jy_safe_web/src/components/CustomPages/FM/UserEditPage.js
2025-11-22 01:42:37 +08:00

900 lines
30 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import React from 'react'
import { connect } from 'dva'
import { Button, Row, Col, Form, Input, Select, Transfer, message, Upload, Icon, Modal, DatePicker, Checkbox } from 'antd'
import {
extend,
extendRule,
initFilter,
getOnlyPropertyData,
extendInclude,
setDataFieldValue,
getPropertyData,
guid
} from '../../../utils/common'
import moment from 'moment'
import DropDownPagination from '../../common/DropDownPaginationEx'
import config from '../../../config'
import classNames from 'classnames'
import styles from '../../../baseComponents/Component.css'
import storage from '../../../utils/storage'
import FormPage from '../../FormPage';
import MultiSelectPagination from "../../common/MultiSelectPagination";
const Option = Select.Option
const { TextArea } = Input
const CheckboxGroup = Checkbox.Group
class UserEditPage extends React.Component {
constructor(props) {
super(props)
this.state = {
data: {
PASSWORD: 'E10ADC3949BA59ABBE56E057F20F883E', // 默认密码为123456
},
btns: [],
userGroupTargetKeys: [],
roleTargetKeys: [],
roleGroupTargetKeys: [],
disabled: false,
SignaturePhoto: ""
}
};
componentDidMount() {
this.props.form.resetFields()
this.loadData()
};
componentWillReceiveProps(NextProps) {
const { data } = this.props
let { id } = data ? data : {}
if (!id)
id = ''
if (NextProps.custom['userEditClick' + id]) {
this.props.form.resetFields()
this.props.dispatch({
type: 'custom/save',
payload: {
['userEditClick' + id]: false
},
})
this.loadData()
}
}
loadDataSource = (orgId) => {
const { dispatch } = this.props
const userGroupJson = initFilter(orgId, '', 'CODE', 1)
extendRule(userGroupJson, 'ENABLE_STATUS', 1, 0)
userGroupJson.OrgType = 1
dispatch({
type: 'FMBase/getUserGroupDatasource',
payload: userGroupJson,
})
const roleJson = initFilter(orgId, '', 'CODE', 1)
extendRule(roleJson, 'ENABLE_STATUS', 1, 0)
roleJson.OrgType = 1
dispatch({
type: 'FMBase/getRoleDatasource',
payload: roleJson,
})
const roleGroupJson = initFilter(orgId, '', 'CODE', 1)
extendRule(roleGroupJson, 'ENABLE_STATUS', 1, 0)
roleGroupJson.OrgType = 1
dispatch({
type: 'FMBase/getRoleGroupDatasource',
payload: roleGroupJson,
})
};
loadData = () => {
const { data, formId, login } = this.props
const { id } = data || {}
if (id) {
const userJson = initFilter(this.props.login.OrgId)
extendRule(userJson, 'ID', 1, id)
extendInclude(userJson, 'Nav_Department')
extendInclude(userJson, 'Nav_ApproveRole')
extendInclude(userJson, 'Nav_Person.Nav_TeamPersons.Nav_Team')
extendInclude(userJson, 'Nav_Person.Nav_Post')
extendInclude(userJson, 'Nav_BelongRoles')
// extendInclude(userJson, 'Nav_BelongRoleGroups')
// extendInclude(userJson, 'Nav_BelongUserGroups')
// extendInclude(userJson, 'Nav_UserPhotoFiles')
extendInclude(userJson, 'Nav_UserPhotoFiles.Nav_ImgFile')
extendInclude(userJson, 'Nav_UserSignFiles.Nav_ImgFile')
extendInclude(userJson, 'Nav_ProdutionUnit.Nav_Enums')
this.props.dispatch({
type: 'FMUserEdit/getUser',
payload: userJson,
onComplete: (ret) => {
if (ret) {
ret.ID_CARD_SHOW = ret.ID_CARD
if (ret.ID_CARD_SHOW != null && ret.ID_CARD_SHOW.length > 1) {
ret.ID_CARD_SHOW = ret.ID_CARD_SHOW.replace(/^(.{5})(?:\d+)(.{2})$/, "$1***********$2")
}
let userGroup = []
let role = []
let roleGroup = []
if (ret.Nav_BelongRoles) {
ret.Nav_BelongRoles.forEach(item => {
role.push(item.BELONG_ROLE_ID.toString().toUpperCase())
})
}
if (ret.Nav_BelongRoleGroups) {
ret.Nav_BelongRoleGroups.forEach(item => {
roleGroup.push(item.BELONG_ROLE_GROUP_ID.toString().toUpperCase())
})
}
if (ret.Nav_BelongUserGroups) {
ret.Nav_BelongUserGroups.forEach(item => {
userGroup.push(item.BELONG_USER_GROUP_ID.toString().toUpperCase())
})
}
this.loadDataSource(ret.ORG_ID)
this.fillData(ret)
this.fillSignData(ret)
this.setState({
data: ret,
userGroupTargetKeys: userGroup,
roleTargetKeys: role,
roleGroupTargetKeys: roleGroup,
disabled: true,
SignaturePhoto: (ret?.FILE_PATH) ? (config.picServerHost + ret.FILE_PATH) : '',
})
}
}
})
}
else {
this.props.form.resetFields()
this.loadDataSource(login.OrgId)
this.setState({
data: {
...this.state.data,
ORG_ID: this.props.login.OrgId,
ENABLE_STATUS: 0,
ID: guid(),
Nav_Person: {
Nav_TeamPersons: [],
Nav_Post: {}
},
},
disabled: false,
})
const { form, } = this.props
const { setFieldsValue } = form
if (this.props.login.OrgCode) {
setFieldsValue({
CODE: (this.props.login.OrgCode),
})
}
}
if (formId) {
const btnJson = initFilter(this.props.login.OrgId, '', 'NUM', 0)
extendRule(btnJson, 'PAGE_CUSTOM_FORM_ID', 1, formId)
this.props.dispatch({
type: 'FMUserEdit/getBtnList',
payload: btnJson,
onComplete: (ret) => {
if (ret) {
this.setState({
btns: ret,
})
}
}
})
}
};
fillData = (ret) => {
const updateLoadFileList = []
if (ret.Nav_UserPhotoFiles) {
ret.Nav_UserPhotoFiles.forEach(t => {
updateLoadFileList.push({
uid: t.ID,
name: t.Nav_ImgFile ? t.Nav_ImgFile.FILE_NAME : '未知文件',
status: 'done',
response: { Data: { imgFileID: t.IMG_FILE_ID }, file: t },
})
})
}
this.setState({
updateLoadFileList: updateLoadFileList,
})
}
fillSignData = (ret) => {
const updateLoadSignFileList = []
if (ret.Nav_UserSignFiles) {
ret.Nav_UserSignFiles.forEach(t => {
updateLoadSignFileList.push({
uid: t.ID,
name: t.Nav_ImgFile ? t.Nav_ImgFile.FILE_NAME : '未知文件',
status: 'done',
response: { Data: { imgFileID: t.IMG_FILE_ID }, file: t },
})
})
}
this.setState({
updateLoadSignFileList: updateLoadSignFileList,
})
}
getBtns = () => {
const btns = []
if (this.state.btns) {
this.state.btns.forEach(item => {
if (item.BTN_TYPE == 1 && this.state.data.ENABLE_STATUS == 0) {
btns.push(<Button type={item.CSS} icon={item.ICON} key={item.ID} onClick={() => this.handleOk()}>{item.LABEL}</Button>)
}
})
if (this.state.data.ENABLE_STATUS == 0) {
btns.push(<Button type="danger" icon="stop" onClick={() => this.handleStatus(this.state.data.ENABLE_STATUS)}>停用</Button>)
} else {
btns.push(<Button type="primary" icon="plus" onClick={() => this.handleStatus(this.state.data.ENABLE_STATUS)}>启用</Button>)
}
}
return btns
};
handleStatus = (status) => {
const { form, dispatch, data } = this.props
if (this.state.data.Nav_Department.NAME.length == 0) {//Nav_Person.Nav_TeamPersons
message.error(`请先选择班组`);
return;
}
dispatch({
type: 'app/getDataByPost',
url: 'FM/User/updateStatus',
payload: {
Parameter1: status,
Parameter2: data.id,
Parameter3: this.state.data.DEPARTMENT_ID,//this.state.data.Nav_Person.Nav_TeamPersons[0].TEAM_ID,
},
onComplete: (ret) => {
if (ret) {
if (data.close) {
data.close()
}
message.success('执行成功')
}
}
})
}
handleOk = () => {
const { form, dispatch, data } = this.props
const { validateFieldsAndScroll } = form
const { updateLoadFileList, updateLoadSignFileList } = this.state
this.state.data.FILE_PATH = this.state.SignaturePhoto.replace(config.picServerHost, '')
validateFieldsAndScroll((errors, values) => {
if (errors) return
extend(this.state.data, values)
let updateData = getOnlyPropertyData(this.state.data)
const ret = this.state.data
if (values.ID_CARD_SHOW != null && values.ID_CARD_SHOW != '' && values.ID_CARD_SHOW.indexOf('*') < 0 && (ret.ID_CARD == null || ret.ID_CARD != values.ID_CARD_SHOW)) {
ret.ID_CARD = values.ID_CARD_SHOW
updateData.ID_CARD = values.ID_CARD_SHOW
}
let personTeam = getPropertyData(this.state.data.Nav_Person);
let userGroup = []
let role = []
let roleGroup = []
let userPhoto = []
let userSign = []
if (updateLoadFileList) {
updateLoadFileList.forEach(item => {
if (item.response && item.response.Data) {
userPhoto.push({ IMG_FILE_ID: item.response.Data.imgFileID, ORG_ID: updateData.ORG_ID, USER_ID: updateData.ID })
}
})
}
if (updateLoadSignFileList) {
updateLoadSignFileList.forEach(item => {
if (item.response && item.response.Data) {
userSign.push({ IMG_FILE_ID: item.response.Data.imgFileID, ORG_ID: updateData.ORG_ID, USER_ID: updateData.ID })
}
})
}
if (this.state.roleTargetKeys) {
this.state.roleTargetKeys.forEach(item => {
let isGet = false
if (ret.Nav_BelongRoles) {
ret.Nav_BelongRoles.forEach(t => {
if (t.BELONG_ROLE_ID.toString().toUpperCase() == item) {
role.push(t)
isGet = true
}
})
}
if (!isGet) {
role.push({ BELONG_ROLE_ID: item, ORG_ID: updateData.ORG_ID })
}
})
}
if (this.state.userGroupTargetKeys) {
this.state.userGroupTargetKeys.forEach(item => {
let isGet = false
if (ret.Nav_BelongUserGroups) {
ret.Nav_BelongUserGroups.forEach(t => {
if (t.BELONG_USER_GROUP_ID.toString().toUpperCase() == item) {
userGroup.push(t)
isGet = true
}
})
}
if (!isGet) {
userGroup.push({ BELONG_USER_GROUP_ID: item, ORG_ID: updateData.ORG_ID })
}
})
}
if (this.state.roleGroupTargetKeys) {
this.state.roleGroupTargetKeys.forEach(item => {
let isGet = false
if (ret.Nav_BelongRoleGroups) {
ret.Nav_BelongRoleGroups.forEach(t => {
if (t.BELONG_ROLE_GROUP_ID.toString().toUpperCase() == item) {
roleGroup.push(t)
isGet = true
}
})
}
if (!isGet) {
roleGroup.push({ BELONG_ROLE_GROUP_ID: item, ORG_ID: updateData.ORG_ID })
}
})
}
updateData['Nav_BelongRoles'] = role
updateData['Nav_BelongUserGroups'] = userGroup
updateData['Nav_BelongRoleGroups'] = roleGroup
updateData['Nav_UserPhotoFiles'] = userPhoto
updateData['Nav_UserSignFiles'] = userSign
updateData['Nav_Person'] = personTeam;
dispatch({
type: 'FMUserEdit/updateUser',
payload: updateData,
onComplete: (ret) => {
if (ret) {
if (data.close) {
data.close()
}
message.success('执行成功')
}
}
})
})
};
handleSopClick = async function (recordId, ids) {
await this.props.dispatch({
type: 'custom/save',
payload: {
['sopViewClick' + recordId]: true,
},
});
};
handleSopShowModal = (file) => {
this.setState({
sopData: { ids: file.response.Data.imgFileID, id: file.response.Data.imgFileID },
sopVisible: true
}, () => {
this.handleSopClick(file.response.Data.imgFileID, file.response.Data.imgFileID);
});
};
handleSopCloseModal = () => {
this.setState({
sopVisible: false
});
};
render() {
const { form } = this.props
const { getFieldDecorator } = form
const handleRoleChange = (nextTargetKeys, direction, moveKeys) => {
this.setState({ roleTargetKeys: nextTargetKeys })
}
const formItemLayout = {
labelCol: { span: 6 },
wrapperCol: { span: 18 },
}
const onSelectDepartment = ({ data, record }) => {
if (data && data.length > 0) {
let json = initFilter(this.props.login.OrgId, record.ID);
this.props.dispatch({
type: 'app/getDataByPost',
payload: json,
url: 'FM/User/GetProductionUnit',
onComplete: (ret) => {
if (ret) {
this.setState({
data: {
...this.state.data,
MineType: ret.MineType
}
})
}
}
});
this.setState({
data: {
...this.state.data,
DEPARTMENT_ID: data[0],
Nav_Department: { NAME: record.NAME },
}
})
}
else {
this.setState({
data: {
...this.state.data,
Nav_Department: { NAME: null },
DEPARTMENT_ID: null,
}
})
};
}
const onSelectApproveRole = ({ data, record }) => {
if (data && data.length > 0) {
this.setState({
data: {
...this.state.data,
APPROVE_ROLE_ID: data[0],
Nav_ApproveRole: { NAME: record.NAME }
}
})
}
else {
this.setState({
data: {
...this.state.data,
Nav_ApproveRole: { NAME: null },
APPROVE_ROLE_ID: null,
}
})
};
}
const onSelectPost = ({ data, record }) => {
var tmpData = { ...this.state.data };
if (data && data.length > 0) {
tmpData.Nav_Person.Post_ID = data[0];
tmpData.Nav_Person.Nav_Post = { NAME: record.NAME };
}
else {
tmpData.Nav_Person.Post_ID = '';
tmpData.Nav_Person.Nav_Post = { NAME: '' };
};
this.setState({
data: tmpData
})
}
const onSelectPerson = ({ data, record }) => {
if (data && data.length > 0) {
this.setState({
data: {
...this.state.data,
PERSON_ID: data[0],
Nav_Person: { NAME: record.NAME }
}
})
}
else {
this.setState({
data: {
...this.state.data,
Nav_Person: { NAME: null },
PERSON_ID: null,
}
})
};
}
const onSelectTeam = (value) => {
var tmpData = { ...this.state.data }
setDataFieldValue(tmpData, 'Nav_Person.Nav_TeamPersons', value)
this.setState({
data: tmpData,
});
}
const onSelectProduction = (value) => {
var tmpData = { ...this.state.data }
setDataFieldValue(tmpData, 'Nav_ProdutionUnit', value)
this.setState({
data: tmpData,
});
}
const onUnitChange = (value) => {
var tmpData = { ...this.state.data }
if (value.length == 0) {
setDataFieldValue(tmpData, 'MineType', value.toString())
}
else {
setDataFieldValue(tmpData, 'MineType', tmpData.MineType + "," + value.toString())
}
this.setState({
data: tmpData,
});
}
const onChange = (field, value,) => {
const data = { ...this.state.data };
data[field] = value;
this.setState({
data: data,
});
}
const that = this
const Tenant = storage('lacal').getItem('Tenant').val
const uploadSopProps = {
name: 'file',
action: config.serviceHost('api/PF/File/UploadFileToImage'),
data: { OrgId: this.props.login.OrgId, IsSaveSelf: true },
fileList: this.state.updateLoadFileList,
headers: {
Tenant: Tenant,
},
onPreview: function (file) {
that.handleSopShowModal(file);
},
onChange(info) {
that.setState({
updateLoadFileList: info.fileList,
})
if (info.file.status === 'done') {
message.success(`${info.file.name} file uploaded successfully`)
} else if (info.file.status === 'error') {
message.error(`${info.file.name} file upload failed.`)
}
},
}
const uploadSingProps = {
name: 'file',
action: config.serviceHost('api/PF/File/UploadFileToImage'),
data: { OrgId: this.props.login.OrgId, IsSaveSelf: true, USER_ID: this.props.data.id },
fileList: this.state.updateLoadSignFileList,
headers: {
Tenant: Tenant,
},
onPreview: function (file) {
that.handleSopShowModal(file);
},
onChange(info) {
that.setState({
updateLoadSignFileList: info.fileList,
SignaturePhoto: config.picServerHost + info?.file?.response?.Data.imgFilePath
})
if (info.file.status === 'done') {
// console.log(that.state)
message.success(`${info.file.name} file uploaded successfully`)
} else if (info.file.status === 'error') {
message.error(`${info.file.name} file upload failed.`)
}
},
}
return (
<Form style={{ padding: 12, overflow: 'hidden' }}>
<div className={styles.topBar}>
<div className={classNames(styles.topBarLeftBtns, styles.antBtns_mr8)}>
{this.getBtns()}
</div>
</div>
<Row gutter={32}>
<Col span={16}>
<Row>
<Col span={8}>
<Form.Item
label={'姓名'}
{...formItemLayout}
>
{getFieldDecorator('NAME', {
validateTrigger: 'onBlur',
initialValue: this.state.data.NAME,
rules: [{ required: true, message: '请输入姓名' }],
})(<Input disabled={this.state.disabled} maxLength={30} placeholder={'请输入姓名'} />)}
</Form.Item>
</Col>
<Col span={8}>
<Form.Item
label={'登入名'}
{...formItemLayout}
>
{getFieldDecorator('CODE', {
validateTrigger: 'onBlur',
initialValue: this.state.data.CODE,
rules: [{ required: true, message: '请输入登入名' }],
})(<Input disabled={this.state.disabled} maxLength={30} placeholder={'请输入登入名'} />)}
</Form.Item>
</Col>
<Col span={8}>
<Form.Item
label={'组织结构'}
{...formItemLayout}
>
<DropDownPagination inputDataApi={'FM/Department/OrderPaged'} fieldName={'Nav_Department.NAME'}
data={this.state.data} onSelect={onSelectDepartment} onFilter={({ params }) => {
params.OrderType = 1
params.OrgId = this.state.data ? this.state.data.ORG_ID : this.props.login.OrgId
}} />
</Form.Item>
</Col>
{/* <Col span={12}>
<Form.Item
label={'关联人员'}
{...formItemLayout}
>
<DropDownPagination inputDataApi={'FM/Person/OrderPaged'} fieldName={'Nav_Person.NAME'}
data={this.state.data} onSelect={onSelectPerson} onFilter={({ params }) => {
params.OrderType = 1
params.OrgId = this.state.data ? this.state.data.ORG_ID : this.props.login.OrgId
}} />
</Form.Item>
</Col> */}
{/* <Col span={8}>
<Form.Item
label={'班组'}
{...formItemLayout}
>
<MultiSelectPagination api={'FM/Team/OrderPaged'}
data={
{
navField: 'ID,NAME',
saveField: 'TEAM_ID,Nav_Team.NAME',
labelField: "Nav_Team.NAME",
showField: "NAME",
filterField: "NAME",
idField: "PERSON_ID",
selectLabelField: "NAME",//不配置则默认取labelField如果labelField也不配置默认取NAME字段
}
}
colConfig={{ field: "Nav_Person.Nav_TeamPersons" }}
record={this.state.data} onChange={onSelectTeam} onFilter={({ params }) => {
params.OrderType = 1
params.OrgId = this.state.data ? this.state.data.ORG_ID : this.props.login.OrgId
}} />
</Form.Item>
</Col> */}
<Col span={8}>
<Form.Item
label={'岗位'}
{...formItemLayout}
>
<DropDownPagination inputDataApi={'FM/UserPost/OrderPaged'} fieldName={'Nav_Person.Nav_Post.NAME'}
data={this.state.data} onSelect={onSelectPost} onFilter={({ params }) => {
params.OrderType = 1
params.OrgId = this.state.data ? this.state.data.ORG_ID : this.props.login.OrgId
}} />
</Form.Item>
</Col>
<Col span={8}>
<Form.Item
label={'手机号'}
{...formItemLayout}
>
{getFieldDecorator('PHONE', {
validateTrigger: 'onBlur',
initialValue: this.state.data.PHONE,
rules: [],
})(<Input maxLength={13} placeholder={'请输入手机号'} />)}
</Form.Item>
</Col>
<Col span={8}>
<Form.Item
label={'身份证号'}
{...formItemLayout}
>
{getFieldDecorator('ID_CARD_SHOW', {
initialValue: this.state.data.ID_CARD_SHOW,
rules: [],
})(<Input maxLength={50} placeholder={'请输入身份证号'} />)}
</Form.Item>
</Col>
<Col span={8}>
<Form.Item
label={'性别'}
{...formItemLayout}
>
{getFieldDecorator('SEX', {
initialValue: this.state.data.SEX ? this.state.data.SEX.toString() : "0",
rules: [],
})(<Select placeholder="性别" >
<Option value="0"></Option>
<Option value="1"></Option>
</Select>)}
</Form.Item>
</Col>
<Col span={8}>
<Form.Item
label={'出生日期'}
{...formItemLayout}
>
<DatePicker
value={moment(this.state.data.BORN_DATE)}
placeholder={'请输入出生日期'}
onChange={(value, dateString) => { onChange('BORN_DATE', dateString, 0) }}
/>
</Form.Item>
</Col>
<Col span={8}>
<Form.Item
label={'入职时间'}
{...formItemLayout}
>
<DatePicker
value={moment(this.state.data.ENTRYTIME)}
placeholder={'请输入入职时间'}
onChange={(value, dateString) => { onChange('ENTRYTIME', dateString, 0) }}
/>
</Form.Item>
</Col>
<Col span={8}>
<Form.Item
label={'离职时间'}
{...formItemLayout}
>
<DatePicker
value={moment(this.state.data.DEPARTURETIME ? this.state.data.DEPARTURETIME : '2099-01-01')}
placeholder={'请输入离职时间'}
onChange={(value, dateString) => { onChange('DEPARTURETIME', dateString, 0) }}
/>
</Form.Item>
</Col>
<Col span={8}>
<Form.Item
label={'工龄'}
{...formItemLayout}
>
{getFieldDecorator('WORKINGYEAR', {
initialValue: this.state.data.WORKINGYEAR,
rules: [],
})(<Input placeholder={'请输入工龄'} />)}
</Form.Item>
</Col>
<Col span={8}>
<Form.Item
label={'审核角色'}
{...formItemLayout}
>
<DropDownPagination inputDataApi={'PF/ApprovalRole/OrderPaged'} fieldName={'Nav_ApproveRole.NAME'}
data={this.state.data} onSelect={onSelectApproveRole} onFilter={({ params }) => {
params.OrderType = 1
params.OrgId = this.state.data ? this.state.data.ORG_ID : this.props.login.OrgId
}} />
</Form.Item>
</Col>
{/* <Col span={8}>
<Form.Item label={'启用标志'} {...formItemLayout}>
{getFieldDecorator('ENABLE_STATUS', {
validateTrigger: 'onBlur',
initialValue: this.state.data.ENABLE_STATUS ? this.state.data.ENABLE_STATUS.toString() : "0",
rules: [],
})(<Select placeholder="数据类型" >
<Option value="0">启用</Option>
<Option value="1">不启用</Option>
</Select>)}
</Form.Item>
</Col> */}
{/* style={{display:this.props.login.user?.NAME.indexOf("管理员") === -1 ?"none":"block"}} */}
<Col span={8}>
<Form.Item
label={'生产单元'}
{...formItemLayout}
>
{/* <CheckboxGroup options={this.props.app.enums.FMProductionUnit.options} value={this.state.data.MineType} onChange={onUnitChange} /> */}
<MultiSelectPagination api={'FM/Enum/GetEnumsByCode'}
data={
{
navField: 'ID,VALUE,NAME',
saveField: 'ENUMS_ID,Nav_Enums.VALUE,Nav_Enums.NAME',
labelField: "Nav_Enums.NAME",
showField: "NAME",
filterField: "NAME",
idField: "USER_ID",
selectLabelField: "NAME",//不配置则默认取labelField如果labelField也不配置默认取NAME字段
}
}
colConfig={{ field: "Nav_ProdutionUnit" }}
record={this.state.data} onChange={onSelectProduction} onFilter={({ params }) => {
// extendRule(params, 'CODE', 1, 'BSMineTypeEnum');
params.OrderType = 1
params.OrgId = this.state.data ? this.state.data.ORG_ID : this.props.login.OrgId
// params.Parameter1='BSMineTypeEnum'
}} />
</Form.Item>
</Col>
<Col span={8}>
<Form.Item
label={'顺序'}
{...formItemLayout}
>
{getFieldDecorator('NUM', {
initialValue: this.state.data.NUM,
rules: [],
})(<Input placeholder={'请输入顺序'} />)}
</Form.Item>
</Col>
<Col span={12}>
<Form.Item
label={'备注'}
{...formItemLayout}
>
{getFieldDecorator('REMARK', {
initialValue: this.state.data.REMARK,
})(<TextArea maxLength={300} rows={4} placeholder={'请输入备注'} />)}
</Form.Item>
</Col>
{/* <Col span={12}>
<Modal visible={this.state.sopVisible} maskClosable={false} onCancel={this.handleSopCloseModal} footer={false} width={"86%"}>
<FormPage formCode={'BD119'} data={this.state.sopData} />
</Modal>
<Form.Item
label={'照片'}
{...formItemLayout}
>
<Upload {...uploadSopProps}>
<Icon type="upload" /> 上传人员照片
</Upload>
</Form.Item>
</Col> */}
<Col span={12}>
<Form.Item
label={'签名'}
{...formItemLayout}
>
<Upload {...uploadSingProps} style={{ backgroundColor: '#f5f5f5' }}>
<Icon type="upload" /> 上传签名图片
</Upload>
</Form.Item>
</Col>
<Col span={12}>
<Form.Item
label={'签名图片'}
{...formItemLayout}
>
{
this.state.SignaturePhoto === '' ?
<div>暂无签名图片</div> :
<img width='30%' src={this.state.SignaturePhoto} />
}
</Form.Item>
</Col>
</Row>
</Col>
<Col span={8} style={{ display: ((this.props.login.user?.NAME.indexOf("管理员") === -1 && this.props.login.user.Nav_Department.DEPARTMENT_STATUS != 2) ? "none" : "block") }}>
<Transfer
dataSource={this.props.FMBase.roleDatasource}
titles={['角色', '已选择']}
targetKeys={this.state.roleTargetKeys}
onChange={handleRoleChange}
render={item => item.title}
style={{ marginTop: 4 }}
/>
</Col>
</Row>
</Form>
)
}
}
export default connect(({ login, FMBase, custom, app }) => ({ login, FMBase, custom, app }))(Form.create()(UserEditPage))