import { Button, Descriptions, Popconfirm, Row, Col, Form, Input, Select, Modal } from 'antd'; import React from 'react'; import { initFilter, extendRule, extendInclude, extendIgnoreDataRule, 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 moment from 'moment'; import { message } from "antd/lib/index"; import FormPage from '../../../components/FormPage' class HM123ShowPrint extends React.Component { constructor(props) { super(props); this.state = { data: null, BtnAgreeDisplay: 'none', details: [], 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); } } onPersonalAgree() { let json = initFilter(this.props.login.OrgId, this.props.data.id); this.props.dispatch({ type: 'app/getDataByPost', url: 'HM/HMFilePublish/ChangeStatus', payload: json, onComplete: (ret) => { if (ret) { message.success('成功!'); this.setState({ BtnSignDisplay: 'none' }) this.BtnClose(); } } }) } BtnClose = () => { if (typeof this.props.data.onCancel != "undefined" && typeof this.props.data.onCancel == 'function') this.props.data.onCancel(); } loadData = (dataId) => { let that = this; let json = initFilter(that.props.login.OrgId); extendRule(json, 'ID', 1, dataId); extendIgnoreDataRule(json) that.props.dispatch({ type: 'app/getDataByPost', payload: json, url: 'HM/HMFilePublish/GetEdit', onComplete: (ret) => { if (ret) { let detailTemp = []; if (ret.Nav_License_Details && ret.Nav_License_Details.length !== 0) { ret.Nav_License_Details.forEach(item => { let objIdentifying = { Nav_Area: item.Nav_Area, Nav_OperationStep: item.Nav_OperationStep, Nav_DetailRisk: item.Nav_DetailRisk, SafeConfirmsStr: item.SafeConfirmsStr, SafeMeasuresStr: item.SafeMeasuresStr, DealMeasuresStr: item.DealMeasuresStr, AUDIT_LEVEL: item.AUDIT_LEVEL, Nav_WorkPermitType: item.Nav_WorkPermitType, Nav_Files: item.Nav_Files } detailTemp.push(objIdentifying); }) } if (ret.Nav_Crucial_Details && ret.Nav_Crucial_Details.length !== 0) { ret.Nav_Crucial_Details.forEach(item => { let objIdentifying = { Nav_Area: item.Nav_Area, Nav_OperationStep: item.Nav_OperationStep, Nav_DetailRisk: item.Nav_DetailRisk, SafeConfirmsStr: item.SafeConfirmsStr, SafeMeasuresStr: item.SafeMeasuresStr, DealMeasuresStr: item.DealMeasuresStr, Nav_WorkPermitType: item.Nav_WorkPermitType, AUDIT_LEVEL: item.AUDIT_LEVEL, Nav_Files: item.Nav_Files } detailTemp.push(objIdentifying); }) } if (ret.Nav_Ordinary_Details && ret.Nav_Ordinary_Details.length !== 0) { ret.Nav_Ordinary_Details.forEach(item => { let objIdentifying = { Nav_Area: item.Nav_Area, Nav_OperationStep: item.Nav_OperationStep, Nav_DetailRisk: item.Nav_DetailRisk, SafeConfirmsStr: item.SafeConfirmsStr, SafeMeasuresStr: item.SafeMeasuresStr, DealMeasuresStr: item.DealMeasuresStr, Nav_WorkPermitType: item.Nav_WorkPermitType, AUDIT_LEVEL: item.AUDIT_LEVEL, Nav_Files: item.Nav_Files } detailTemp.push(objIdentifying); }) } that.setState({ data: ret, details: detailTemp }); if (that.props.data.tableKey === "2" || that.props.data.tableKey === undefined) { that.setState({ BtnAgreeDisplay: 'none' }) } else { that.setState({ BtnAgreeDisplay: 'inline' }) } } else { message.error('请先尝试刷新,若仍然加载失败,请联系管理员排查!'); } } }); } 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, details } = this.state; const enums = this.props.app.enums; return
} content={() => this.componentRef} pageStyle=".printDIV { padding:0 40px;} img{width :120px}" />
(this.componentRef = el)} style={{ padding: '20px' }} id={'tableId' + this.props.data.id} className="printDIV">

作业任务分析文件发布

{ data ? {/* */} {/* */} { details.map((item, i) => { return {/* */} {/* }) } */} }) }
文件名称 {data.NAME} 发布人员 {data.Nav_User ? data.Nav_User.NAME : ''}
发布时间 {data.PUBLISH_DATE ? moment(data.PUBLISH_DATE).format('YYYY-MM-DD') : null} 发布部门 {data.Nav_User.Nav_Department ? data.Nav_User.Nav_Department.NAME : ''}
文件编号 {data.CODE} 文件版次 {data.EDITION}
文件密级 {enums.SecretLevelEnum.enums[data.SecretLevel]} 发布范围 { data.Nav_Area && data.Nav_Area.map((item, i) => { if (i == (data.Nav_Area.length - 1)) { return item.Nav_Department.NAME } else { return item.Nav_Department.NAME + ' ' } }) }
序号辨识区域任务名称 作业周期涉及风险作业前安全确认 作业流程及安全措施 作业后处理措施 作业许可类别 审批层级 附件
{i + 1} {item.Nav_Area?.NAME} {item.Nav_OperationStep?.NAME} {enums.HMCycleTypeEnum.enums[item.CYCLE_TYPE]} { item.Nav_DetailRisk && item.Nav_DetailRisk.map((item, i) => { return
{item.SafeConfirmsStr} {item.SafeMeasuresStr} {item.DealMeasuresStr} {item.Nav_WorkPermitType?.NAME} {enums.HMOperationTaskAuditEnum.enums[item.AUDIT_LEVEL]} { showFiles(item?.Nav_Files, config.picServerHost, this) }
: null }
{ GetFileModel(Modal, FormPage, this, this.state.fileForm.visible) }
} } export default connect(({ login, app }) => ({ login, app }))(HM123ShowPrint)