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="请输入不通过原因及修改意见。" />
); } }