import { Button, Descriptions, Badge, Popconfirm, Row, Col, Form, Input, Select, Table, Modal } from 'antd'; import React from 'react'; import { initFilter, extendRule, extendInclude, setDataFieldValue, showApprove, guid, ShowDateTime, GetFileModel, } from '../../../utils/common.js'; import ReactToPrint from 'react-to-print'; import { ExportToExcel } from '@woowalker/feui'; import XLSX from 'xlsx'; import { connect } from 'dva'; import moment from 'moment'; import { message } from 'antd/lib/index'; import styles from './OperateLog.css'; import config from '../../../config.js'; import FormPage from '../../FormPage'; class SK006ShowOperateLog extends React.Component { constructor(props) { super(props); this.state = { data: null, riskCount: 1, riskHeight: 50, opEnd: null, detailForm: { isShow: false, formCode: '', title: '', ID: '', }, fileData: [], fileForm: { title: '', visible: false, }, // dateFirst: [ // [{ OPERATEPOINT: 10 }, { OPERATEPOINT: 20 }, { OPERATEPOINT: 30 }, { OPERATEPOINT: 40 }], // [{ OPERATEPOINT: 48 }, { OPERATEPOINT: 50 }, { OPERATEPOINT: 60 }, { OPERATEPOINT: 70 }, { OPERATEPOINT: 80 }], // [{ OPERATEPOINT: 130 }], // [ // [{ OPERATEPOINT: 140 }, { OPERATEPOINT: 150 }, { OPERATEPOINT: 160 }, { OPERATEPOINT: 180 }, { OPERATEPOINT: 190 }, { OPERATEPOINT: 200 }, { OPERATEPOINT: 210 }, { OPERATEPOINT: 220 }] // ] // ] }; } 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); } } loadData = (id) => { var orgId = this.props.login ? this.props.login.OrgId : ''; let json = initFilter(orgId, id); this.props.dispatch({ type: 'app/getDataByPost', payload: json, url: 'SK/SKSecurityInspectionNotice/OperateLogView', onComplete: (ret) => { if (ret) { let riskCount = 1; riskCount = ret.length - 3; var isEnd = false; var opEnd = null; if (ret[ret.length - 1].length == 1 && ret[ret.length - 1][0].OPERATEPOINT == 220) { isEnd = true; riskCount = riskCount - 1; opEnd = ret[ret.length - 1][0]; } let dataRiskMore = []; if (riskCount > 0) { var countOpeate = ret.length; if (isEnd) countOpeate--; for (let i = 4; i < countOpeate; i++) { dataRiskMore.push(ret[i]); } } if (riskCount == 0) riskCount = 1; let riskHeight = 65 * riskCount; this.setState({ data: ret, dataRiskMore: dataRiskMore, riskCount: riskCount, opEnd: opEnd, riskHeight: riskHeight, }); } }, }); }; showDetailModalPage = (ID, CODE) => { if (ID == null) return message.warning('暂无待办'); const newtmpData = { data: { id: ID, // USER_ID: USER_ID, }, formCode: CODE, }; this.setState({ tmpDataPage: newtmpData }, () => { var detailForm = { isShow: true, title: '', }; console.log(this.state.tmpDataPage, '00'); this.setState({ detailForm: detailForm, }); }); }; //详情弹窗关闭(隐藏) detailFormClose = () => { var detailForm = { isShow: false, }; this.setState({ detailForm: detailForm, }); }; render() { const { data, riskCount, dataRiskMore, opEnd, riskHeight } = this.state; const enums = this.props.data.enums ? this.props.data.enums : this.props.app.enums; return (
{/* */} {/* 检查任务 */} {data && data?.map((item, index) => { // 判断当前item的logList中是否所有STATUS都是0 const allStatusZero = item.logList?.every((log) => log.STATUS === 0); // 获取上一个item的FORM_NAME const prevFormName = index > 0 ? data[index - 1].FORM_NAME : null; // 判断当前FORM_NAME是否与上一个重复 const isDuplicate = item.FORM_NAME === prevFormName; { return (
{/* 当不是重复的FORM_NAME时才显示步骤名称 */} {!isDuplicate && (
{item.FORM_NAME}
)} {!isDuplicate && index < data.length - 1 && (
)}
{item.logList && item.logList.map((item1, index1) => { { return (
this.showDetailModalPage(item1.ID, item1.CODE)}>
{item1.NAME}
用户:{item1.USER_NAME} {' '} 时间:{ShowDateTime(item1.DEAL_DATE, 'MM-dd HH:mm')}
{index1 < item.logList.length - 1 ?
: null}
); } })}
); } })} {/* 检查任务 */} {/* 隐患整改记录 */}
{GetFileModel(Modal, FormPage, this, this.state.fileForm.visible)}
); } } export default connect(({ login, app }) => ({ login, app }))(SK006ShowOperateLog);