import { message } from "antd/lib/index"; import { Button, Popconfirm, Row, Col, Checkbox, Radio, Form, Input, Select, Table, Upload, Icon, PageHeader, Modal } from 'antd'; import React from 'react'; import { initFilter, extendRule, extendInclude, setDataFieldValue, guid, initQueryFilter } 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'; class SE021ShowPrint extends React.Component { constructor(props) { super(props); this.state = { data: null, }; }; componentDidMount() { this.loadData(); } BtnClose = () => { if (typeof this.props.data.onCancel != "undefined" && typeof this.props.data.onCancel == 'function') this.props.data.onCancel(); } fmtEnum(name,value){ const enums = this.props.app.enums; if (!enums || !enums[name]) return ''; return enums[name].enums[value] || ''; } loadData = () => { if (this.props.data.id == "") return; let json = initFilter(this.props.login.OrgId, '', null, null, null); extendRule(json, 'ID', 1, this.props.data.id); json.OrgType = 2; extendInclude(json, 'Nav_User'); extendInclude(json, 'Nav_ResultList'); extendInclude(json, 'Nav_ResultList.Nav_Subject'); json.IgnoreDataRule = true; this.props.dispatch({ type: 'app/getDataByPost', payload: json, url: 'SE/TrainingEffectEvaluationSurvey/Get', onComplete: (ret) => { if (!ret) return; 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); let name = '培训效果评估调查表'; name += '.xlsx'; XLSX.writeFile(wb, name) } render() { const { data } = this.state; const enums = this.props.app.enums; const reportCount = data && data.Nav_Demands ? data.Nav_Demands.filter(i => i.OK).length : 0; const total = data && data.Nav_Demands ? data.Nav_Demands.length : 0; const rate = total === 0 ? 0 : Math.round(reportCount * 100 / total); return
(this.componentRef = el)} id={'tableId' + this.props.data.id} style={{ padding : '20px' }}>

培训效果评估调查表

{ this.state.data && this.state.data.Nav_ResultList.map((r, idx) => { return }) }
培训名称 {data ? data.NAME : null} 调查截止时间 {data ? data.END_TIME : null} 参与人员 {data && data.Nav_User ? data.Nav_User.NAME : ''}
序号 题目 选项
{idx + 1} {r.Nav_Subject.NAME} {this.fmtEnum('SEEvaluationResultEnum',r.EVALUATION_RESULT)}
培训改进意见 {data ? data.OPINION : null}
} } export default connect(({ login, app }) => ({ login, app }))(SE021ShowPrint)