144 lines
6.2 KiB
JavaScript
144 lines
6.2 KiB
JavaScript
|
|
import React, { Component } from 'react';
|
|||
|
|
import { connect } from 'dva';
|
|||
|
|
import { withRouter } from 'dva/router';
|
|||
|
|
import { initFilter, extendRule, extendInclude, setDataFieldValue, guid, initQueryFilter } from "../../utils/common";
|
|||
|
|
import { Modal, Upload, Form, Button, Descriptions, Icon, message } from 'antd';
|
|||
|
|
import config from "../../config.js";
|
|||
|
|
import storage from '../../utils/storage'
|
|||
|
|
|
|||
|
|
|
|||
|
|
class FoUserInfoShow extends React.Component {
|
|||
|
|
constructor(props) {
|
|||
|
|
super(props)
|
|||
|
|
this.state = {
|
|||
|
|
data: null,
|
|||
|
|
userPhone: "",
|
|||
|
|
Department: "",
|
|||
|
|
teamName: "",
|
|||
|
|
postName: "",
|
|||
|
|
SignPhoto: 0,
|
|||
|
|
SignaturePhoto: "",
|
|||
|
|
visible: false
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
handleOk = e => {
|
|||
|
|
this.setState({
|
|||
|
|
visible: false,
|
|||
|
|
});
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
handleCancel = e => {
|
|||
|
|
this.setState({
|
|||
|
|
visible: false,
|
|||
|
|
});
|
|||
|
|
};
|
|||
|
|
showModal = () => {
|
|||
|
|
this.setState({
|
|||
|
|
visible: true,
|
|||
|
|
});
|
|||
|
|
var orgId = this.props.login ? this.props.login.OrgId : ''; //登录后有存储登录信息
|
|||
|
|
var userId = this.props.login ? this.props.login.userId : ''; //登录后有存储登录信息
|
|||
|
|
let json = initFilter(orgId);
|
|||
|
|
extendRule(json, 'ID', 1, userId); //ID=‘’,字段,等于,条件值, 1代表=,2代表不等于,3小于,4小于等于,5大于,6大于等于,7以开始的Like,8以结束的Like,9包含
|
|||
|
|
extendInclude(json, 'Nav_Department');
|
|||
|
|
extendInclude(json, 'Nav_Person.Nav_Post');
|
|||
|
|
extendInclude(json, 'Nav_Person.Nav_TeamPersons.Nav_Team');
|
|||
|
|
extendInclude(json, 'Nav_UserSignFiles.Nav_ImgFile.Nav_File');
|
|||
|
|
this.props.dispatch({
|
|||
|
|
type: 'app/getDataByPost',
|
|||
|
|
payload: json,
|
|||
|
|
url: 'FM/User/OrderPaged',
|
|||
|
|
onComplete: (ret) => { //返回查询结果ret
|
|||
|
|
if (ret) { //判断是否有记录
|
|||
|
|
let teamName = "";
|
|||
|
|
let postName = "";
|
|||
|
|
if (ret[0]?.Nav_Person?.Nav_TeamPersons && ret[0]?.Nav_Person?.Nav_TeamPersons.length > 0) {
|
|||
|
|
teamName = ret[0].Nav_Person.Nav_TeamPersons[0].Nav_Team?.NAME
|
|||
|
|
}
|
|||
|
|
postName = ret[0]?.Nav_Person.Nav_Post?.NAME
|
|||
|
|
this.setState({ //设置setState全局变量
|
|||
|
|
userPhone: ret[0]?.PHONE,
|
|||
|
|
Department: ret[0]?.Nav_Department.NAME,
|
|||
|
|
teamName: teamName,
|
|||
|
|
postName: postName,
|
|||
|
|
})
|
|||
|
|
if (ret[0]?.Nav_UserSignFiles.length > 0) {
|
|||
|
|
if ((ret[0].Nav_UserSignFiles[0].Nav_ImgFile.Nav_File.FILE_PATH).length > 0) {
|
|||
|
|
this.setState({
|
|||
|
|
SignPhoto: 1,
|
|||
|
|
SignaturePhoto: config.picServerHost + ret[0].Nav_UserSignFiles[0].Nav_ImgFile.Nav_File.FILE_PATH,
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
render() {
|
|||
|
|
const Tenant = storage('lacal').getItem('Tenant').val;
|
|||
|
|
const that = this;
|
|||
|
|
const uploadprops = {
|
|||
|
|
name: 'file',
|
|||
|
|
action: config.serviceHost('api/PF/File/UploadFileEditSign'),
|
|||
|
|
data: { OrgId: this.props.login.OrgId, userID: this.props.login.userId },
|
|||
|
|
headers: {
|
|||
|
|
Tenant: Tenant,
|
|||
|
|
},
|
|||
|
|
showUploadList:false,
|
|||
|
|
beforeUpload(file) {
|
|||
|
|
const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png';
|
|||
|
|
if (!isJpgOrPng) {
|
|||
|
|
message.error('只能上传jpg或者png格式图片!');
|
|||
|
|
}
|
|||
|
|
const isLt2M = file.size / 1024 / 1024 < 0.5;
|
|||
|
|
if (!isLt2M) {
|
|||
|
|
message.error('只能上传小于500k图片!');
|
|||
|
|
}
|
|||
|
|
return isJpgOrPng && isLt2M;
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
onChange(info) {
|
|||
|
|
if (info.file.status === 'done') {
|
|||
|
|
that.setState({
|
|||
|
|
SignPhoto: 1,
|
|||
|
|
SignaturePhoto: config.picServerHost + info.file.response.Data.imgFilePath,
|
|||
|
|
})
|
|||
|
|
message.success(`${info.file.name} 上传成功!`);
|
|||
|
|
} else if (info.file.status === 'error') {
|
|||
|
|
message.error(`${info.file.name} 上传失败!`);
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
};
|
|||
|
|
return (
|
|||
|
|
<div>
|
|||
|
|
<span onClick={this.showModal}>我的资料</span>
|
|||
|
|
<Modal title="我的资料" width={'800px'} visible={this.state.visible}
|
|||
|
|
onOk={this.handleOk}
|
|||
|
|
onCancel={this.handleCancel}>
|
|||
|
|
<Descriptions bordered>
|
|||
|
|
<Descriptions.Item label="编码">{this.props.login.user.CODE}</Descriptions.Item>
|
|||
|
|
<Descriptions.Item label="姓名">{this.props.login.user.NAME}</Descriptions.Item>
|
|||
|
|
<Descriptions.Item label="手机">{this.state.userPhone}</Descriptions.Item>
|
|||
|
|
<Descriptions.Item label="部门">{this.state.Department}</Descriptions.Item>
|
|||
|
|
<Descriptions.Item label="班组">{this.state.teamName}</Descriptions.Item>
|
|||
|
|
<Descriptions.Item label="岗位">{this.state.postName}</Descriptions.Item>
|
|||
|
|
<Descriptions.Item label="签名" span={3}>{this.state.SignPhoto === 1 ? <img width='30%' src={this.state.SignaturePhoto} /> : ""}</Descriptions.Item>
|
|||
|
|
<Descriptions.Item label="">
|
|||
|
|
{this.state.SignPhoto === 1 ?
|
|||
|
|
<Upload {...uploadprops}><Button><Icon type="upload" /> 重新上传签名照</Button></Upload> :
|
|||
|
|
<Upload {...uploadprops}><Button><Icon type="upload" /> 上传签名照</Button></Upload>
|
|||
|
|
}
|
|||
|
|
</Descriptions.Item>
|
|||
|
|
</Descriptions>
|
|||
|
|
</Modal>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export default withRouter(connect(({ login }) => ({ login }))(FoUserInfoShow))
|