import { message } from "antd/lib/index"; import { Button, Popconfirm, Row, Col, Form, Input, Select, Table } from 'antd'; import React from 'react'; import { initFilter, extendRule, extendInclude, setDataFieldValue, guid, initQueryFilter, extendOrder } 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 '../../../components/FormPage' class SE011ShowPrint extends React.Component { constructor(props) { super(props); this.state = { data: null, BtnAgreeDisplay: 'none', confirmBtn: 'none', tmpData: {}, }; }; componentDidMount() { this.loadData(); } BtnClose = () => { if (typeof this.props.data.onCancel != "undefined" && typeof this.props.data.onCancel == 'function') this.props.data.onCancel(); } loadData = () => { let json = initFilter(this.props.login.OrgId); extendRule(json, 'ID', 1, this.props.data.id); extendInclude(json, 'Nav_LaunchDepartment'); extendInclude(json, 'Nav_LaunchUser'); extendInclude(json, 'Nav_YearTrainPlanDepartment.Nav_Department'); extendInclude(json, 'Nav_Files.Nav_ImgFile.Nav_File'); extendInclude(json, 'Nav_YearTrainPlanDetail.Nav_TrainTypeEnum'); extendInclude(json, 'Nav_YearTrainPlanDetail.Nav_YearTrainPlanContent.Nav_TestEnumPoint'); extendInclude(json, 'Nav_YearTrainPlanDetail.Nav_TrainCheckTypeEnum'); extendInclude(json, 'Nav_YearTrainPlanDetail.Nav_ResponsibilityDep'); extendInclude(json, 'Nav_YearTrainPlanDetail.Nav_ResponsibilityUser'); json.IgnoreDataRule = true; this.props.dispatch({ type: 'app/getDataByPost', payload: json, url: 'SE/YearTrainPlan/Get', onComplete: (ret) => { if (ret) { if (this.props.data && this.props.data.loadDataDeal) { this.props.data.loadDataDeal(1); } this.onClickApprove(false); ret.Nav_YearTrainPlanDetail.sort((a, b) => { return a.MOON - b.MOON }); if (ret.STATUS == 30 && this.props.data.tableKey == "1") { this.setState({ confirmBtn: 'inline' }) } this.setState({ data: ret }) } } }); } onTableBtnExport() { let TableWrap = document.getElementById('tableId' + this.props.data.id); let Table = TableWrap.getElementsByTagName('table')[0]; const wb = XLSX.utils.table_to_book(Table); XLSX.writeFile(wb, "年度培训计划.xlsx") } fmtEnum(name, value) { const enums = this.props.app.enums; if (!enums || !enums[name]) return ''; return enums[name].enums[value] || ''; } fmtPlanContentList(item) { if (!item || !item.Nav_YearTrainPlanContent) return ''; let ret = []; for (let it of item.Nav_YearTrainPlanContent) { if (it.Nav_TestEnumPoint && it.Nav_TestEnumPoint.NAME) ret.push(it.Nav_TestEnumPoint.NAME); } return ret.join('、'); } fmtDepContentList(item) { let ret = []; for (let it of item) { if (it.Nav_Department && it.Nav_Department.NAME) ret.push(it.Nav_Department.NAME); } return ret.join('、'); } onClickApprove = (appVisible) => { const newtmpData = { data: { id: this.props.data.id, isShow: true, key: guid(), appVisible: appVisible, BtnAgreeDisplay: 'inline' }, formCode: "PF123", } this.setState({ tmpData: newtmpData, }); } 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; } onTableBtnAgree() { this.props.dispatch({ type: 'app/getDataByPost', url: 'HM/HMNoticeRelease/PersonalAgree', payload: { ID: this.props.data.id, TaskID: this.props.data.TaskID, }, onComplete: (ret) => { if (ret) { message.success('确认成功!'); this.setState({ BtnAgreeDisplay: 'none' }) this.BtnClose(); } } }) } render() { const { data } = this.state; return
} content={() => this.componentRef} />
{/* 年度培训计划 */}
(this.componentRef = el)} id={'tableId' + this.props.data.id} style={{padding: '20px' }}>

年度培训计划

{ data ?
{ data.Nav_YearTrainPlanDetail ? data.Nav_YearTrainPlanDetail.map((item, index) => { return }) : null }
计划年度 {data.PLAN_YEAR} 发起时间 {data.LAUNCH_TIME} 发起部门 {data.Nav_LaunchDepartment ? data.Nav_LaunchDepartment.NAME : ''} 发起人员 {data.Nav_LaunchUser ? data.Nav_LaunchUser.NAME : ''}
计划名称 {data.PLAN_NAME}
培训目标 {data.TRAIN_GOAL}
实施要求 {data.IMPLEMENT_REQUIREMENT}
发送部门 {this.fmtDepContentList(data.Nav_YearTrainPlanDepartment)}
培训月份 培训类型 培训名称 培训内容 培训级别 培训对象 培训地点 培训形式 培训教材 培训老师 考核方式 责任部门 责任人
{item.MOON} {item.Nav_TrainTypeEnum ? item.Nav_TrainTypeEnum.NAME : ''} {item.NAME} {this.fmtPlanContentList(item)} {this.fmtEnum("FMDepartmentType", item.LEVEL)} {item.OBJECT} {item.ADDRESS} {this.returnModel(item.TRAIN_MODEL)} {item.TEACHING_MATERIAL} {item.TEACHER} {item.Nav_TrainCheckTypeEnum ? item.Nav_TrainCheckTypeEnum.NAME : ''} {item.Nav_ResponsibilityDep ? item.Nav_ResponsibilityDep.NAME : ''} {item.Nav_ResponsibilityUser ? item.Nav_ResponsibilityUser.NAME : ''}
附件 { data.Nav_Files && data.Nav_Files.map((item, i) => { return {item.Nav_ImgFile.FILE_NAME} }) }
: null }
} } export default connect(({ login, app }) => ({ login, app }))(SE011ShowPrint)