import React, { Component } from "react"; import { connect } from "dva"; import { Link } from 'dva/router'; import { gup } from '../../../utils/utils'; import { Alert, Form, Row, Col, Input, Table, message, Button, Modal, Checkbox, Upload, Icon, Tabs, Breadcrumb, Radio, Divider, Select } from "antd"; import { formItemLayout, formLayout, formLayout1, formLayoutTable, formLayoutTable2, formLayout3 } from './formLayout'; import PSelect from '../../../components/Pro/PSelect'; import PFromUpload from '../../../components/Pro/PFromUpload'; import BTable from '../../../components/Pro/BTable'; import declare from '../../../utils/hoc/declare'; import ImageFormItem from './imageFormItem'; import { contract, infoReview, internReview } from "./columns"; import { qualify_applyInfo, qualify_selectProofList } from "../../../services/bkt/qualify" import { trainInternInternLinePage, trainGradeApplyInfo, trainGradeApplyInfoCheck } from "../../../services/bkt/grade" import { getBayBaseInfo, publicCommonFileFilePreview } from "../../../services/api" const { TabPane } = Tabs; @connect(state => ({ profile: state.profile })) @Form.create() @declare export default class CertificateMessage extends Component { constructor(props, context) { super(props, context); this.state = { tab: '1', contractColumns: [], //合同信息 infoReviewColumns: [], //学习记录 internReviewColumns: [], //实习记录 checkStatus: 1, internModel: false, checkContent: "", //不合格原因 info: {}, selectProofList: [], //学习记录列表 internList: [], //实习记录列表 internContent: "", //实习记录不合格原因 personApplyId: this.props.history.location.query ? `${this.props.history.location.query.personApplyId}` : "", checkPerName: "", pageParm: { //实习记录表格参数 pageSize: '10', pageNumber: '1', }, }; } componentWillMount() { this.__getDetailInfo(this.state.personApplyId) this.__getSelectProofList(this.state.personApplyId) this._getUserInfo() const tab = gup('tab'); if (tab) { this.setState({ tab }); } } componentDidMount() { const contractColumns = contract.call(this); const infoReviewColumns = infoReview.call(this); const internReviewColumns = internReview.call(this); this.setState({ contractColumns, infoReviewColumns, internReviewColumns }); } // 获取操作人信息 _getUserInfo = () => { getBayBaseInfo().then(res => { console.log(res) this.setState({ checkPerName: res.data.name }); }) } //获取详情 __getDetailInfo = (personApplyId) => { let { pageParm } = this.state trainGradeApplyInfo({ data: { personApplyId } }).then(res => { this.setState({ info: res.data, pageParm: { ...pageParm, uid: res.data.uid } }); this._getInternLine(res.data.uid) }); } //获取学习记录 __getSelectProofList = (personApplyId) => { qualify_selectProofList({ data: { personApplyId } }).then(res => { res.data.forEach((item, index) => { item.checkStatus = 1; item.number = index + 1; }) this.setState({ selectProofList: res.data }) }) } //获取实习记录 _getInternLine = (uid) => { let page = { pageSize: '1000', pageNumber: '1', } trainInternInternLinePage({ ...page, data: { uid } }).then(res => { res.data.data.forEach(item => { item.checkStatus = "1" item.internContent = "" }) this.setState({ internList: res.data.data }) }); } //是否合格 checkQualified = (e) => { if (e.target.value === 1) { this.setState({ checkStatus: 1, checkContent: "" }); } else { this.setState({ checkStatus: 2 }); } } //学习记录是否合格 handleProofListQualified = (record, e) => { const { selectProofList } = this.state selectProofList.forEach(item => { if (item.trackUserProofId === record.trackUserProofId) { item.checkStatus = e; } }) this.setState({ selectProofList }) } //不合格理由 handleCheckContent = (e) => { this.setState({ checkContent: e.target.value }); } //实习记录是否合格 handleInternQualified = (record, e) => { const { internList } = this.state internList.forEach(item => { if (item.personInternLineId === record.personInternLineId) { item.checkStatus = e; item.internContent = ""; } }) if (e === "1") { this.setState({ internModel: false, personInternLineId: record.personInternLineId, internList, }) } else { this.setState({ internModel: true, personInternLineId: record.personInternLineId, internList, }) } } //修改不合格原因 editInternContent = (internContent, record) => { this.setState({ internModel: true, personInternLineId: record.personInternLineId, internContent, }) } handleOk = () => { const { personInternLineId, internContent, internList } = this.state if (internContent == "") { message.error("请输入不合格原因"); return; } internList.forEach(item => { if (item.personInternLineId === personInternLineId) { item.internContent = internContent } }) this.setState({ internList, internContent: "", internModel: false }) } handleOnCancel = () => { const { personInternLineId, internContent, internList } = this.state let internContent2 = "" internList.forEach(item => { if (item.personInternLineId === personInternLineId) { if (!item.internContent && item.checkStatus === "2") { item.checkStatus = "1"; } } }) this.setState({ internList, internContent: "", internModel: false }) this.setState({ internModel: false, internContent: "" }) } //提交 __submit = () => { const { isQualified, checkContent, personApplyId, info, checkPerName, selectProofList, checkStatus, internList } = this.state if (checkStatus === 2 && !checkContent) { message.error("请填写不合格原因"); return; } //学习记录的数据 let data = selectProofList.map(item => { return { personApplyId, checkPerName, productTypeCode: 3, objectId: item.trackUserProofId, checkItem: 2, checkStatus: item.checkStatus, checkContent: "" } }) //实习记录 let internData = internList.map(item => { return { personApplyId, checkPerName, productTypeCode: 3, objectId: item.personInternLineId, checkItem: 3, checkStatus: item.checkStatus, checkContent: item.internContent } }) //基本信息数据 let data1 = { personApplyId, checkPerName, productTypeCode: 3, checkItem: 1, objectId: personApplyId, checkStatus: checkStatus, checkContent: checkContent } data.push(data1) data.push(...internData) console.log(data) trainGradeApplyInfoCheck({ data }).then(res => { if (res.retType === "0") { message.success("提交成功") this.props.history.push("/spotCheck/gradeRecord") } }); } render() { const { getFieldDecorator } = this.props.form; const { state } = this const { info, selectProofList, personApplyId } = this.state const contractDataSource = [] if (info.contractName) { contractDataSource.push(info) } return (