import { message } from "antd/lib/index"; import { Button, Descriptions, Row, Col, Form, Input, Select, Table } 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 '../HI/StepForm.css'; import config from "../../../config"; import XLSX from 'xlsx'; import moment from 'moment'; import { connect } from 'dva'; import FormPage from '../../../components/FormPage' class HM063ShowPrint extends React.Component { constructor(props) { super(props); this.state = { data: null, tmpData: {}, BtnAgreeDisplay: 'none', areas: null }; }; 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: 'HM/HMRiskRecord/PersonalAgree', payload: { ID: this.props.data.id, TaskID: this.props.data.TaskID, LEVEL: this.state.data.LEVEL, }, onComplete: (ret) => { if (ret) { message.success('确认成功'); this.setState({ BtnAgreeDisplay: 'none' }) this.BtnClose(); } } }) } onClickApprove = (appVisible) => { const newtmpData = { data: { id: this.props.data.id, isShow: true, key: guid(), appVisible: appVisible, BtnAgreeDisplay: 'inline' }, formCode: "PF123", } this.setState({ tmpData: newtmpData, }); } BtnClose = () => { if (typeof this.props.data.onCancel != "undefined" && typeof this.props.data.onCancel == 'function') this.props.data.onCancel(); } renderLevel(level) { var str = ""; if (level == 0) { str = '部门级'; } if (level == 1) { str = '车间级'; } if (level == 2) { str = '班组级'; } if (level == 3) { str = '公司级'; } return str; } loadData = (dataId) => { let json = initFilter(this.props.login.OrgId); extendRule(json, 'ID', 1, dataId); extendInclude(json, 'Nav_Request'); extendInclude(json, 'Nav_Users.Nav_User'); extendInclude(json, 'Nav_Identifyings.Nav_Identifying'); extendInclude(json, 'Nav_Details.Nav_Area'); extendInclude(json, 'Nav_Details.Nav_Identifying'); extendInclude(json, 'Nav_Details.Nav_Type'); extendInclude(json, 'Nav_Details.Nav_EvaluateRiskRecordWorkduty.Nav_Workduty'); extendInclude(json, 'Nav_Details.Nav_EvaluateRiskRecordEquipment.Nav_Equipment'); extendInclude(json, 'Nav_Details.Nav_EvaluateRiskRecordFacilities.Nav_Facilities'); extendInclude(json, 'Nav_Users.Nav_User.Nav_UserSignFiles.Nav_ImgFile.Nav_File'); extendInclude(json, 'Nav_Details.Nav_OperationStep'); extendInclude(json, 'Nav_Files.Nav_ImgFile.Nav_File'); extendInclude(json, 'Nav_NoteTaker'); extendInclude(json, 'Nav_Details.Nav_DepartmentLiable'); extendInclude(json, 'Nav_Details.Nav_LiableUser'); this.props.dispatch({ type: 'app/getDataByPost', payload: json, url: 'HM/HMRiskRecord/FullGet', onComplete: (ret) => { if (ret) { if (this.props.data && this.props.data.loadDataDeal) { this.props.data.loadDataDeal(1); } this.state.areas = this.removeDuplicateArea(ret.Nav_Details); this.onClickApprove(false); let index = ret.Nav_Users.findIndex((item) => item.USER_ID == this.props.login.userId ); ret.Nav_Users = this.removeDuplicateUser(ret.Nav_Users); ret.Nav_Details = ret.Nav_Details.filter(item => item.RISK_STATUS == 0); if (index > -1) { var areaid = ret?.Nav_Users[index]?.AREA_ID; ret.Nav_Details = ret.Nav_Details.filter(item => item.AREA_ID == areaid); ret.Nav_Users = ret.Nav_Users.filter(item => item.AREA_ID == areaid); } this.setState({ data: ret }) if (ret.ID) { this.props.dispatch({ type: 'app/getDataByPost', url: 'HM/HMRiskRecord/GetRiskRecord', payload: { ID: this.props.data.id, }, onComplete: (result) => { if (result != null) { if (result) { if (this.props.data.tableKey == "2" || this.props.data.tableKey == undefined) { this.setState({ BtnAgreeDisplay: 'none' }) } else { this.setState({ BtnAgreeDisplay: 'inline' }) } } } } }) } } } }); } BtnClose = () => { if (typeof this.props.data.onCancel != "undefined" && typeof this.props.data.onCancel == 'function') this.props.data.onCancel(); } 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") } removeDuplicateArea(arr) { let obj = {}; arr = arr.reduce((newArr, next) => { obj[next.AREA_ID] ? "" : (obj[next.AREA_ID] = true && newArr.push(next)); return newArr; }, []); return arr; } removeDuplicateUser(arr) { let obj = {}; arr = arr.reduce((newArr, next) => { obj[next.USER_ID] ? "" : (obj[next.USER_ID] = true && newArr.push(next)); return newArr; }, []); return arr; } render() { const { data } = this.state; return
} content={() => this.componentRef} />
(this.componentRef = el)} id={'tableId' + this.props.data.id} style={{ padding: '20px' }}>

危险源/风险辨识记录表

{ data ?
{data.CODE} {this.renderLevel(data.LEVEL)} {moment(data.START_TIME).format('YYYY-MM-DD') + '~' + moment(data.END_TIME).format('YYYY-MM-DD')} { this.state.areas && this.state.areas.map((item, i) => { if (i == (this.state.areas.length - 1)) { return item.Nav_Area.NAME } else { return item.Nav_Area.NAME + ' ' } }) } { data.Nav_Request ? data.Nav_Request.NAME : '' } {data.Nav_NoteTaker?.NAME} { data.Nav_Users && data.Nav_Users.map((item, i) => { if (i == (data.Nav_Users.length - 1)) { if (item.DEAL_STATUS == 0) return else return item.Nav_User.NAME } else { if (item.DEAL_STATUS == 0) return else return item.Nav_User.NAME + ' ' } }) } { data.Nav_Identifyings && data.Nav_Identifyings.map((item, i) => { if (i == (data.Nav_Identifyings.length - 1)) { return item.Nav_Identifying.NAME } else { return item.Nav_Identifying.NAME + ' ' } }) } { data.Nav_Files && data.Nav_Files.map((item, i) => { return {item.Nav_ImgFile.FILE_NAME} }) } {/* */} {/* */} {data.Nav_Details && data.Nav_Details.map((item, index) => { return ( {/* */} {/* */} ) }) }
序号 辨识区域 辨识对象 风险类别 风险名称 风险地点 相关岗位 相关设备相关设施作业环节 责任单位 责任岗位 责任人员状态
{index + 1} {item.Nav_Area ? item.Nav_Area.NAME : ''} {item.Nav_Identifying ? item.Nav_Identifying.NAME : ''} {item.Nav_Type ? item.Nav_Type.NAME : ''} {item.RISK_NAME} {item.RISK_PLACE} {item.Nav_EvaluateRiskRecordWorkduty && item.Nav_EvaluateRiskRecordWorkduty.map((ite, i) => { if (i == (item.Nav_EvaluateRiskRecordWorkduty.length - 1)) { return ite.Nav_Workduty ? ite.Nav_Workduty.NAME : '' } else { return ite.Nav_Workduty ? ite.Nav_Workduty.NAME + ' ' : '' } })} {item.Nav_EvaluateRiskRecordEquipment && item.Nav_EvaluateRiskRecordEquipment.map((ite, i) => { if (i == (item.Nav_EvaluateRiskRecordEquipment.length - 1)) { return ite.Nav_Equipment ? ite.Nav_Equipment.NAME : '' } else { return ite.Nav_Equipment ? ite.Nav_Equipment.NAME + ' ' : '' } })}{item.Nav_EvaluateRiskRecordFacilities && item.Nav_EvaluateRiskRecordFacilities.map((ite, i) => { if (i == (item.Nav_EvaluateRiskRecordFacilities.length - 1)) { return ite.Nav_Facilities ? ite.Nav_Facilities.NAME : '' } else { return ite.Nav_Facilities ? ite.Nav_Facilities.NAME + ' ' : '' } })}{item.Nav_OperationStep ? item.Nav_OperationStep.NAME : ''} {item.Nav_DepartmentLiable ? item.Nav_DepartmentLiable.NAME : ''} {item.Nav_PostLiable ? item.Nav_PostLiable.NAME : ''} {item.Nav_LiableUser ? item.Nav_LiableUser.NAME : ''}{item.RISK_STATUS == 1 ? '作废' : '有效'}
辨识人员签字 { data.Nav_Users && data.Nav_Users.map((item, i) => { if (item.DEAL_STATUS == 1) { if (item.Nav_User != null && item.Nav_User?.Nav_UserSignFiles[0] != null) return {item.Nav_User.NAME} else return } }) }
: null }
} } export default connect(({ login, app }) => ({ login, app }))(HM063ShowPrint)