import { message } from "antd/lib/index"; import { Button, Input, Modal, Select, Table, notification } from 'antd'; const { TextArea } = Input; import React from 'react'; import { initFilter, extendRule, extendInclude, 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 FO005ShowPrint extends React.Component { constructor(props) { super(props); this.state = { data: null, isFinished: 'none', isAudit: 'none', isSignin: 'none', DEALOPINION: '', isMobile: false, fileForm: { title: "", visible: false, }, }; }; componentDidMount() { if (window.navigator.userAgent.indexOf("Windows") < 1) { this.setState({ isMobile: true }) } 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); } } //审批意见 改变 DEALOPINIONCHANGE = (val) => { this.state.DEALOPINION = val } onChange = (value) => { this.setState({ auditOpinion: value }) } 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); json.Parameter22 = this.props.data.ORG_ID_HV; extendRule(json, 'ID', 1, dataId); extendInclude(json, 'Nav_Users.Nav_User'); extendInclude(json, 'Nav_Team'); extendInclude(json, 'Nav_ChargeUser'); extendInclude(json, 'Nav_Class'); extendInclude(json, 'Nav_Files.Nav_ImgFile'); extendInclude(json, 'Nav_DepartmentPost'); json.IgnoreDataRule = true; this.props.dispatch({ type: 'app/getDataByPost', payload: json, url: 'FO/CurrentClassRecord/Get', onComplete: (ret) => { if (ret) { this.setState({ data: ret }) if (ret.SHIFT_STATUS == 4) { this.setState({ isFinished: 'inline' }) } if (this.props.data.tableKey == "2" || this.props.data.tableKey == undefined) { return } let isAllOK = true; for (let i = 0; i < ret.Nav_Users.length; i++) { if (ret.Nav_Users[i].USER_SHIFT_STATUS == 0) { isAllOK = false; } } if (!isAllOK && this.props.data.TaskID != null) { this.setState({ isSignin: 'inline' }) } if (isAllOK && this.props.data.tableKey == "1") { this.setState({ isAudit: 'table-row' }) } } else { message.error('数据加载获取失败,请联系管理员排查!'); } } }); } onChargeUserAgree(agree) { this.props.dispatch({ type: 'app/getDataByPost', url: 'FO/FOCurrentClassRecord/ChargeUserAgree', payload: { ID: this.props.data.id, TaskID: this.props.data.TaskID, CODE: agree, AUDIT_OPINION: this.state.DEALOPINION, DEPARTMENT_ID: this.state.data.DEPARTMENT_ID, CLASS_ID: this.state.data.CLASS_ID, }, onComplete: (ret) => { if (ret) { message.success('处理完成!'); this.setState({ isAudit: 'none' }) this.BtnClose(); } } }) } onTableBtnSignin() { this.props.dispatch({ type: 'app/getDataByPost', url: 'FO/FOCurrentClassRecord/UserSignin', payload: { ID: this.props.data.id, TaskID: this.props.data.TaskID, }, onComplete: (ret) => { if (ret) { message.success('签到成功!'); this.setState({ isSignin: 'none' }) this.BtnClose(); } } }) } 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, this.state.data.Nav_Team?.NAME + ".xlsx") } render() { const { data, isMobile } = this.state; return
} content={() => this.componentRef} pageStyle=".printDIV { padding:0 40px;} img{width :120px}" />
{/* 岗位当班工作记录表 */}
(this.componentRef = el)} style={{ padding: isMobile ? '0px 0px 20px 0px' : '20px' }} id={'tableId' + this.props.data.id}>

岗位当班工作记录表

{ data ?
{/* */}
记录日期 {data.RECORD_DATE} 当班班次 {data.Nav_Class ? data.Nav_Class.NAME : ""} 岗位 {data.Nav_DepartmentPost.NAME} 当班人员 { data.Nav_Users && data.Nav_Users.map((item, i) => { if (i == (data.Nav_Users.length - 1)) { if (item.USER_SHIFT_STATUS == 0) return else return item.Nav_User.NAME } else { if (item.USER_SHIFT_STATUS == 0) return else return item.Nav_User.NAME + ' ' } }) }
本班运行情况 {data.SHIFT_STATUS > 0 ? data.CURRENT_CLASS_STATUS == 0 ? '正常' : '不正常' : null} 存在问题 {data.SHIFT_STATUS > 0 ? data.CURRENT_CLASS_STATUS == 0 ? '无' : data.CURRENT_CLASS_QUESTION : null} 处理情况 {data.SHIFT_STATUS > 0 ? data.CURRENT_CLASS_STATUS == 0 ? '无' : data.CURRENT_CLASS_MEASURE : null}
设备运行状况 {data.SHIFT_STATUS > 0 ? data.DEVICE_STATUS == 0 ? '正常' : '不正常' : null} 存在问题 {data.SHIFT_STATUS > 0 ? data.DEVICE_STATUS == 0 ? '无' : data.DEVICE_QUESTION : null} 处理情况 {data.SHIFT_STATUS > 0 ? data.DEVICE_STATUS == 0 ? '无' : data.DEVICE_MEASURE : null}
现场环境情况 {data.SHIFT_STATUS > 0 ? data.ENVIRONMENT_STATUS == 0 ? '正常' : '不正常' : null} 存在问题 {data.SHIFT_STATUS > 0 ? data.ENVIRONMENT_STATUS == 0 ? '无' : data.ENVIRONMENT_QUESTION : null} 处理情况 {data.SHIFT_STATUS > 0 ? data.ENVIRONMENT_STATUS == 0 ? '无' : data.ENVIRONMENT_MEASURE : null}
劳保用品使用情况 {data.SHIFT_STATUS > 0 ? data.SUPPLIES_STATUS == 0 ? '正常' : '不正常' : null}是否佩戴 {data.SHIFT_STATUS > 0 ? data.SUPPLIES_USED == 0 ? '否' : '是' : null}存在问题 {data.SHIFT_STATUS > 0 ? data.SUPPLIES_STATUS == 0 ? '无' : data.SUPPLIES_QUESTION : null} 处理情况 {data.SHIFT_STATUS > 0 ? data.SUPPLIES_STATUS == 0 ? '无' : data.SUPPLIES_MEASURE : null}
设备工具材料使用存放情况 {data.DEVICE_STORAGE} 附件 { showFiles(data?.Nav_Files, config.picServerHost, this) }
当班人员活动签名 { data.Nav_Users && data.Nav_Users.map((item, i) => { if (item.USER_SHIFT_STATUS == 1) { if (item.Nav_User != null && item.Nav_User.FILE_PATH != null && item.Nav_User.FILE_PATH.length > 0) return {item.Nav_User.NAME} else return } }) }
班长签名 { data.SHIFT_STATUS == 4 ? {data.Nav_ChargeUser.NAME} : null }



意见: this.DEALOPINIONCHANGE(evt.target.value)} />
: null }
{ GetFileModel(Modal, FormPage, this, this.state.fileForm.visible) }
} } export default connect(({ login }) => ({ login }))(FO005ShowPrint)