import React, { Component } from 'react';
import { connect } from 'dva';
// import st from 'styled-components';
import moment from 'moment';
import { Button, Drawer, Form, Input, Row, Col, Select, Modal, message } from 'antd';
// import videojs from 'video.js';
import {
getBayBaseInfo
} from '../../../../services/api';
import PFromUpload from '../../../../components/Pro/PFromUpload';
import $modal from '../../../../utils/modal';
import {
grade_trainInternInternLineInfo,
grade_trainInternLineApprovePass,
grade_trainInternLineApproveFail,
} from '../../../../services/bkt/apis';
import 'video.js/dist/video-js.min.css';
const { Option } = Select;
const warnColor = '#F59A23';
const okColor = '#4B7902';
const errColor = '#D9001B';
const formItemLayout = {
labelCol: {
xs: {
span: 24
},
sm: {
span: 7
}
},
wrapperCol: {
xs: {
span: 24
},
sm: {
span: 20
},
md: {
span: 16
}
}
};
const formItemLayout1 = {
labelCol: {
span: 24
},
wrapperCol: {
span: 24
}
};
@connect(state => ({
companyInfo: state.global.companyInfo
}))
@Form.create()
export default class SubDrawer extends Component {
constructor(props) {
super(props);
this.state = {
oldPersonInternLineId: '',
comName: this.props.companyInfo.comName,
info: null, //详情
imgs: [],
refuseModal: false, //拒绝的弹窗
refuseReason: '', //拒绝原因
editUser: null, //当前操作人信息
};
}
componentDidMount() { }
componentWillReceiveProps(nextProps) {
if (!!nextProps.personInternLineId && this.state.oldPersonInternLineId != nextProps.personInternLineId) {
this.setState({ oldPersonInternLineId: nextProps.personInternLineId });
this._getDetailInfo(nextProps.personInternLineId);
}
}
_getDetailInfo = (personInternLineId) => {
grade_trainInternInternLineInfo({ data: { personInternLineId } }).then(res => {
const { approveStatus, trainApproveStatus } = res.data;
let disabled = true;
// 保安公司审核通过
if(approveStatus == '1') {
// 培训公司已经审核
if(trainApproveStatus == '1' || trainApproveStatus == '2') {
disabled = true;
}else {
disabled = false;
}
}else {// 保安公司未审核或未审核通过
disabled= true;
}
res.data.disabled = disabled;
this.setState({
info: res.data
});
if (res.data) {
// 重组图像文件
const imgArr = [];
if(res.data.wearUrl) {
imgArr.push({
label: '穿戴保安服照',
fieldsName: 'wearUrl',
types: ['image/jpeg', 'image/jpg'],
rules: [{
required: true,
message: `穿戴保安服照`
}]
});
}
if(res.data.internAddressUrl) {
imgArr.push({
label: '实习地点照片',
fieldsName: 'internAddressUrl',
types: ['image/jpeg', 'image/jpg'],
rules: [{
required: true,
message: `实习地点照片`
}]
});
}
if(res.data.internProcessUrl) {
imgArr.push({
label: '实习过程照片',
fieldsName: 'internProcessUrl',
types: ['image/jpeg', 'image/jpg'],
rules: [{
required: true,
message: `实习过程照片`
}]
});
}
if(res.data.internProcessVideo) {
imgArr.push({
label: '实习过程视频',
fieldsName: 'internProcessVideo',
types: ['video/*'],
rules: [{
required: true,
message: `实习过程视频`
}]
});
}
const rows = [];
const length = Math.ceil(imgArr.length / 3);
for (let i = 0; i < length; i++) {
rows.push([
imgArr[i * 3],
imgArr[i * 3 + 1],
imgArr[i * 3 + 2]
]);
}
this.setState({
imgs: rows
});
}
});
}
_onSubmit = () => {
this.props.form.validateFields((err, values) => {
if (!err) {
// this._getUserInfo(() => {
// const materialApprovePerName = this.state.editUser.name;
// const materialApprovePerIdCardNo = this.state.editUser.idCardNo;
// const { personType } = this.state.info;
// const { personApplyId } = this.props;
// const data = { ...values, materialApprovePerName, materialApprovePerIdCardNo, personType, personApplyId, comContractId };
// trainGradeApplyPersonApplyUpdate({ data }).then(res => {
// $modal(res.msg, '', null, 'success');
// this._getDetailInfo(this.props.personApplyId);
// });
// });
}
});
}
// 获取操作人信息
_getUserInfo = (cb) => {
if (this.state.editUser) {
cb();
} else {
getBayBaseInfo().then(res => {
this.setState({
editUser: res.data
}, cb);
})
}
}
render() {
const { getFieldDecorator } = this.props.form;
const { info } = this.state;
return (
{
this.props.onClose();
}}
>
{/* form表单 */}
{
info &&
{getFieldDecorator('fullName', {
initialValue: info.fullName
})()}
{getFieldDecorator('identityNumber', {
initialValue: info.identityNumber
})()}
{getFieldDecorator('learnName', {
initialValue: info.learnName
})()}
{getFieldDecorator('internDate', {
initialValue: info.internDate
})()}
{getFieldDecorator('signInDate', {
initialValue: info.signInDate
})()}
{getFieldDecorator('signInAddress', {
initialValue: info.signInAddress
})()}
{getFieldDecorator('signOutDate', {
initialValue: info.signOutDate
})()}
{getFieldDecorator('signOutAddress', {
initialValue: info.signOutAddress
})()}
{/* {getFieldDecorator('internMinute', {
initialValue: ''
})()} */}
{`${Math.floor(info.internMinute / 60)}小时${info.internMinute % 60}分钟`}
{/*
{getFieldDecorator('internContent', {
initialValue: info.internContent
})()}
*/}
{/* {getFieldDecorator('identitynumber', {
initialValue: info.identitynumber
})()} */}
{(() => {
let text = '未审核';
let color = warnColor;
const value = info.approveStatus;
switch (true) {
case value == 0:
color = warnColor;
text = '未审核';
break;
case value == 1:
color = okColor;
text = '审核通过';
break;
case value == 2:
color = errColor;
text = '审核不通过';
}
return (
{text}
);
})()}
{
info.approveStatus == 2 &&
{info.comments}
}
{/* {getFieldDecorator('approveFullName', {
initialValue: info.approveFullName + info.approvePerIdCardNo?`(${info.approvePerIdCardNo})` : ''
})()} */}
{
info.trainApproveStatus !=0 &&
<>
{(() => {
let text = '未审核';
let color = warnColor;
const value = info.trainApproveStatus;
switch (true) {
case value == 0:
color = warnColor;
text = '未审核';
break;
case value == 1:
color = okColor;
text = '审核通过';
break;
case value == 2:
color = errColor;
text = '审核不通过';
}
return (
{text}
);
})()}
{
info.trainApproveStatus == 2 &&
{info.comments}
}
{/* {getFieldDecorator('trainApprovePerName', {
initialValue: info.trainApprovePerName + (info.trainApprovePerIdCardNo?`(${info.trainApprovePerIdCardNo})` : '')
})()} */}
>
}
{(() => {
let text = '';
let color = warnColor;
const value = info.lineStatus;
switch (true) {
case value == 0:
color = warnColor;
text = '未审核';
break;
case value == 1:
color = okColor;
text = '审核通过';
break;
case value == 2:
color = errColor;
text = '审核不通过';
}
if(text) {
return (
{text}
);
}
})()}
图像材料
{
this.state.imgs.map((row, index) => {
return (
{
row.map((item, idex) => {
if (!item) {
return '';
}
return (
{
item.fieldsName == 'internProcessVideo'&&
<>
{item.label}
>
}
{
item.fieldsName != 'internProcessVideo'&&
{item.label}}>
{getFieldDecorator(item.fieldsName, {
initialValue: info[item.fieldsName]
})(
)}
}
)
})
}
);
})
}
}
{/* 底部提交按钮 */}
{
info &&
}
{
this.setState({
refuseModal: false
});
}}
onOk={() => {
// $modal('班级取消成功!','已发送取消通知到相关人员。', null, 'success');
const comments = this.state.refuseReason;
if (comments) {
const subFun = () => {
const trainApprovePerName = this.state.editUser.name;
const trainApprovePerIdCardNo = this.state.editUser.idCardNo;
const { personInternLineId } = this.props;
grade_trainInternLineApproveFail({ data: { personInternLineId, comments, trainApprovePerName, trainApprovePerIdCardNo } }).then(res => {
$modal('提交成功!', '保安公司可查看不通过原因。', null, 'success');
this.setState({
refuseModal: false,
refuseReason: ''
});
this._getDetailInfo(this.props.personInternLineId);
this.props.updateTable();
});
}
// 获取人员基础信息
this._getUserInfo(subFun);
} else {
message.error("请输入不通过原因及修改意见")
}
}}
>
{
this.setState({
refuseReason: e.target.value
});
}} placeholder="请输入不通过原因及修改意见。" />
);
}
}