import { message } from "antd/lib/index"; import { Button, Modal, Row, Col, Form, Input, Select, Table } from 'antd'; import React from 'react'; import { initFilter, extendRule, extendInclude, getArryPropShow, guid, GetFileModel, showFiles } from "../../../utils/common"; import ReactToPrint from "react-to-print"; import styles from '../../CustomPages/HI/StepForm.css'; import XLSX from 'xlsx'; import { connect } from 'dva'; import moment from 'moment'; import config from "../../../config"; import FormPage from '../../FormPage' const EduCardStatus = { '草稿': 0, '公司培训': 1, '部门培训': 2, '班组培训': 3, '员工签到': 4, '审阅中': 5, '归档': 6, } class SE063ShowPrint extends React.Component { constructor(props) { super(props); this.state = { data: null, CODE: "", NAME: "", ID_CARD_NUMBER: "", IN_TIME: "", depName: "", POSTNAME: "", fileData: [], fileForm: { title: "", visible: false, }, }; }; componentDidMount() { if (window.navigator.userAgent.indexOf("Windows") < 1) { this.setState({ isMobile: true }) } if (this.props.data?.id) this.loadData(this.props.data?.id); } componentWillReceiveProps(NextProps) { if (NextProps.data?.id && this.props.data?.id != NextProps.data?.id) { this.loadData(NextProps.data?.id); } } BtnClose = () => { if (typeof this.props.data.onCancel != "undefined" && typeof this.props.data.onCancel == 'function') this.props.data.onCancel(); } loadData = (dataId) => { let json = initFilter(this.props.login.OrgId); json.Parameter22 = this.props.data.ORG_ID_HV; let userID = this.props.data.parentRecord.USER_ID; extendRule(json, 'USER_ID', 1, userID); extendInclude(json, 'Nav_NewUser.Nav_Department'); extendInclude(json, 'Nav_NewUser.Nav_Department'); extendInclude(json, 'Nav_NewUser.Nav_User'); extendInclude(json, 'Nav_NewUser.Nav_Content'); extendInclude(json, 'Nav_NewUser.Nav_Files.Nav_ImgFile'); extendInclude(json, 'Nav_NewUser.Nav_Teachers.Nav_User'); extendInclude(json, 'Nav_User'); extendInclude(json, 'Nav_Department'); extendInclude(json, 'Nav_Post'); extendInclude(json, 'Nav_Files.Nav_ImgFile'); json.IgnoreDataRule = true; this.props.dispatch({ type: 'app/getDataByPost', payload: json, url: 'SE/SENewUserDetail/Get', onComplete: (ret) => { ret.sort((a, b) => { return a.Nav_NewUser.TRAIN_STATUS - b.Nav_NewUser.TRAIN_STATUS }); this.state.CODE = ret[ret.length - 1].CODE; this.state.NAME = ret[ret.length - 1].Nav_User?.NAME; this.state.ID_CARD_NUMBER = ret[ret.length - 1].ID_CARD_NUMBER; this.state.IN_TIME = ret[ret.length - 1].IN_TIME; this.state.depName = ret[ret.length - 1].Nav_Department?.NAME; this.state.POSTNAME = ret[ret.length - 1].Nav_Post?.NAME; this.setState({ data: ret }) // let top = ret.Nav_Department?.Nav_Parent?.Nav_Parent?.NAME; // if (top != undefined) { // this.state.depName = top + "/" + ret.Nav_Department?.Nav_Parent?.NAME + "/" + ret.Nav_Department?.NAME // } else { // this.state.depName = ret.Nav_Department?.Nav_Parent?.NAME + "/" + ret.Nav_Department?.NAME // } } }); } onTableBtnExport() { let TableWrap = document.getElementById('tableId' + this.props.data.id); let Table = TableWrap.getElementsByTagName('table')[0]; const wb = XLSX.utils.table_to_book(Table); let name = ''; if (this.state.data && this.state.data.CODE) name += this.state.data.CODE name += '三级安全教育卡.xlsx' XLSX.writeFile(wb, name) } fmtEnum(name, value) { const enums = this.props.app.enums; if (!enums || !enums[name]) return ''; return enums[name].enums[value] || ''; } returnModel(level) { let str = ''; if (level == undefined) { return str; } if (level.indexOf('1') >= 0) { str += '讲授法 '; } if (level.indexOf('2') >= 0) { str += '视听法 '; } if (level.indexOf('3') >= 0) { str += '研讨法 '; } if (level.indexOf('4') >= 0) { str += '演示法 '; } return str; } render() { const { data } = this.state; const enums = this.props.data.enums ? this.props.data.enums : this.props.app.enums; return
} content={() => this.componentRef} />
(this.componentRef = el)} id={'tableId' + this.props.data.id}>

三级安全教育卡

{ data ? { data && data.map(it => { return <> {/* */} {/* */} }) }
工号 {this.state.CODE} 姓名 {this.state.NAME} 身份证号 {this.state.ID_CARD_NUMBER}
入职时间 {moment(this.state.IN_TIME).format('YYYY-MM-DD')} 部门 {this.state.depName} 岗位 {this.state.POSTNAME}
{ this.fmtEnum('SEThreeLevelSafeTrainType', it.Nav_NewUser.TRAIN_STATUS) }
开始时间 {it.Nav_NewUser.START_TIME == null ? '' : moment(it.Nav_NewUser.START_TIME).format('YYYY-MM-DD HH:mm')} 结束时间 {it.Nav_NewUser.END_TIME == null ? '' : moment(it.Nav_NewUser.END_TIME).format('YYYY-MM-DD HH:mm')} 培训地点 {it.Nav_NewUser.TAINNING_ADDR} 组织部门 {it.Nav_NewUser.Nav_Department ? it.Nav_NewUser.Nav_Department.NAME : null} 记录人 {it.Nav_NewUser.Nav_User ? it.Nav_NewUser.Nav_User.NAME : null}
培训学时 {it.Nav_NewUser.TRAINNING_TIME} 培训老师 {getArryPropShow(it.Nav_NewUser.Nav_Teachers, "Nav_User.NAME")}{it.Nav_NewUser.TEACHER}培训形式 {enums.TrainType.enums[it.Nav_NewUser?.TRAINTYPE]}{this.returnModel(it.Nav_NewUser.TRAIN_MODEL)}考核结果 {this.fmtEnum('SEExaminationResultsEnum', it.EXAMINATION_RESULTS)} 考核分数 {it.SCORE}
培训内容 {it.Nav_NewUser.Nav_Content.NAME}
签名 { it.ISSIGN && it.ISSIGN !== 0 ? (it.Nav_User && it.Nav_User.FILE_PATH && it.Nav_User.FILE_PATH.length > 0 && it.STATUS == 1 ? {it.Nav_User.NAME} : {it.Nav_User.NAME}) : (

) // it.Nav_NewUser.STATUS && it.Nav_NewUser.STATUS !== 0 && it.Nav_User && it.Nav_User.FILE_PATH && it.Nav_User.FILE_PATH.length > 0 && it.STATUS == 1 ? {it.Nav_User.NAME} : {it.Nav_User.NAME} }

附件 { showFiles((it.Nav_NewUser.Nav_Files != null && it.Nav_NewUser.Nav_Files.length > 0 ? (it.Nav_NewUser.Nav_Files.concat(it.Nav_Files)) : it.Nav_Files), config.picServerHost, this) }
: null }
{ GetFileModel(Modal, FormPage, this, this.state.fileForm.visible) }
} } export default connect(({ login, app }) => ({ login, app }))(SE063ShowPrint)