import { message } from "antd/lib/index"; import { Button, Descriptions, Row, Col, Form, Input, Select, Modal } from 'antd'; import React from 'react'; import { initFilter, extendRule, extendInclude, setDataFieldValue, guid, showFiles, GetFileModel } from "../../../utils/common"; import ReactToPrint from "react-to-print"; import styles from '../HI/StepForm.css'; import config from "../../../config"; import XLSX from 'xlsx'; import { connect } from 'dva'; import FormPage from '../../../components/FormPage' class PF132ShowPrint extends React.Component { constructor(props) { super(props); this.state = { data: null, enumData: null, BtnAgreeDisplay: 'none', fileForm: { title: "", visible: false, }, }; }; componentDidMount() { 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); } } onTableBtnAgree() { this.props.dispatch({ type: 'app/getDataByPost', url: 'FO/FOJobEventRecord/PersonalAgree', payload: { ID: this.props.data.id, TaskID: this.props.data.TaskID, }, onComplete: (ret) => { if (ret) { message.success('签字成功!'); this.setState({ BtnAgreeDisplay: 'none' }) this.BtnClose(); } } }) } 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); extendRule(json, 'ID', 1, dataId); extendInclude(json, 'Nav_Files'); extendInclude(json, 'Nav_Files.Nav_ImgFile'); extendInclude(json, 'Nav_Files.Nav_ImgFile'); this.props.dispatch({ type: 'app/getDataByPost', payload: json, url: 'PF/QuestionFeedback/Get', onComplete: (ret) => { if (ret) { this.setState({ data: ret }) if (this.props.data.tableKey == "2" || this.props.data.tableKey == undefined) { this.setState({ BtnAgreeDisplay: 'none' }) } else { this.setState({ BtnAgreeDisplay: 'inline' }) } } } }); } 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") } render() { const { data } = this.state; return
} content={() => this.componentRef} />
{/* 问题反馈表 */}
(this.componentRef = el)} style={{ padding: '20px' }} id={'tableId' + this.props.data.id}>

问题反馈表

{ data ?
{data.USER_NAME} {data.FEEDBACK_TIME} {data.DEAPARTMENT_NAME} {data.QUESTION_DESCRIPTION} { showFiles(data?.Nav_Files, config.picServerHost, this) }
: null }
{ GetFileModel(Modal, FormPage, this, this.state.fileForm.visible) }
} } export default connect(({ login, app }) => ({ login, app }))(PF132ShowPrint)