From 050ac3fecfd054d7051adca3ec4fdad567bbbdb9 Mon Sep 17 00:00:00 2001 From: wyw <571921741@qq.com> Date: Tue, 5 Mar 2024 14:53:45 +0800 Subject: [PATCH] 34 --- src/components/CustomPages/CM/CM041LibShow.js | 384 ++++++++++++++++++ src/utils/customConfig.js | 6 + src/utils/customConfig1.js | 6 + 3 files changed, 396 insertions(+) create mode 100644 src/components/CustomPages/CM/CM041LibShow.js diff --git a/src/components/CustomPages/CM/CM041LibShow.js b/src/components/CustomPages/CM/CM041LibShow.js new file mode 100644 index 0000000..cec527a --- /dev/null +++ b/src/components/CustomPages/CM/CM041LibShow.js @@ -0,0 +1,384 @@ +import React, { useState, useEffect, useRef, Component } from "react"; +import { connect } from "dva"; +import { + initFilter, + addRuleAndGroups, + guid, + extendInclude, + extendRule, + extendOrder, + extend, + initQueryFilter, +} from "../../../utils/common"; +import { LocalSearch, LayoutCard } from '@woowalker/feui' +import { + Form, + Table, + Row, + Col, + Button, + Input, + Select, + Pagination, + DatePicker, +} from "antd"; +import echarts from "echarts"; +import moment from "moment"; +const { Option } = Select; + +const RangePicker = DatePicker.RangePicker +class CM041LibShow extends React.Component { + constructor(props) { + super(props); + this.state = { + pagination: {}, + retData: [], + columns: [ + { + title: '序号', + render: (value, record, index) => { + const obj = { + children: `${index + 1}`, + props: {}, + }; + + let arr = this.state.retData.filter((res) => { + return res.URGENT_EVENT_ID == record.URGENT_EVENT_ID; + }); + + if (index == 0 || this.state.retData[index - 1].URGENT_EVENT_ID != record.URGENT_EVENT_ID) { + obj.props.rowSpan = arr.length; + } else { + obj.props.rowSpan = 0; + } + + return obj; + }, + }, + { + title: "事件类型", + dataIndex: "Nav_UrgentEvent.Nav_EventType.NAME", + render: (value, record, index) => { + const obj = { + children: value, + props: {}, + }; + + let arr = this.state.retData.filter((res) => { + return res.URGENT_EVENT_ID == record.URGENT_EVENT_ID; + }); + + if (index == 0 || this.state.retData[index - 1].URGENT_EVENT_ID != record.URGENT_EVENT_ID) { + obj.props.rowSpan = arr.length; + } else { + obj.props.rowSpan = 0; + } + + return obj; + }, + }, + { + title: "预计影响范围", + dataIndex: "Nav_UrgentEvent.Nav_ListArearInfluence", + render: (value, record, index) => { + + var show = '' + value.forEach(e => { + show += ' ' + e.Nav_CoverageInfluence.NAME + }); + + const obj = { + children: show, + props: {}, + }; + + let arr = this.state.retData.filter((res) => { + return res.URGENT_EVENT_ID == record.URGENT_EVENT_ID; + }); + + if (index == 0 || this.state.retData[index - 1].URGENT_EVENT_ID != record.URGENT_EVENT_ID) { + obj.props.rowSpan = arr.length; + } else { + obj.props.rowSpan = 0; + } + + return obj; + + }, + }, + { + title: "影响范围描述", + dataIndex: "Nav_UrgentEvent.AREAR_INFLUENCE", + render: (value, record, index) => { + const obj = { + children: value, + props: {}, + }; + + let arr = this.state.retData.filter((res) => { + return res.URGENT_EVENT_ID == record.URGENT_EVENT_ID; + }); + + if (index == 0 || this.state.retData[index - 1].URGENT_EVENT_ID != record.URGENT_EVENT_ID) { + obj.props.rowSpan = arr.length; + } else { + obj.props.rowSpan = 0; + } + + return obj; + }, + + }, + { + title: "事故的后果", + dataIndex: "Nav_UrgentEvent.ACCIDENT_CONSEQUENCE", + render: (value, record, index) => { + const obj = { + children: value, + props: {}, + }; + + let arr = this.state.retData.filter((res) => { + return res.URGENT_EVENT_ID == record.URGENT_EVENT_ID; + }); + + if (index == 0 || this.state.retData[index - 1].URGENT_EVENT_ID != record.URGENT_EVENT_ID) { + obj.props.rowSpan = arr.length; + } else { + obj.props.rowSpan = 0; + } + + return obj; + }, + }, + { + title: "关联风险类型", + dataIndex: "Nav_UrgentEvent.Nav_ListEventRiskType", + render: (value, record, index) => { + var show = '' + value.forEach(e => { + show += ' ' + e.Nav_RiskType.NAME + }); + const obj = { + children: show, + props: {}, + }; + let arr = this.state.retData.filter((res) => { + return res.URGENT_EVENT_ID == record.URGENT_EVENT_ID; + }); + if (index == 0 || this.state.retData[index - 1].URGENT_EVENT_ID != record.URGENT_EVENT_ID) { + obj.props.rowSpan = arr.length; + } else { + obj.props.rowSpan = 0; + } + return obj; + }, + }, + { + title: "预案类型", + dataIndex: "Nav_ContingencyType.NAME", + }, + { + title: "是否编制", + dataIndex: "IS_DRAW_UP",// 是 = 10, 否 20 + render: (value) => { + debugger + return (value == null || value == undefined) ? '' : (value == 10 ? '是' : '否'); + }, + }, + { + title: "预案编制责任部门", + dataIndex: "Nav_Department.NAME" + }, + { + title: "责任人员", + dataIndex: "Nav_User.NAME" + }, + { + title: "要求完成时间", + dataIndex: "COMPLETE_TIME", + render: (value, record, index) => { + return (value != null && value.length > 0) ? value.split(' ')[0] : ''; + }, + }, + ], + loadParam: { + PageIndex: 1, + Limit: 10 + }, + showLoading: false, + TotalCount: 0, + PageIndex: 1, + search: { + EventTypeNAME: '',//"事件类型" "Nav_UrgentEvent.Nav_EventType.NAME", + CoverageInfluenceNAME: '',//"预计影响范围" "Nav_UrgentEvent.Nav_ListArearInfluence.Nav_CoverageInfluence.NAME", + AREAR_INFLUENCE: '',//"影响范围描述" Nav_UrgentEvent.AREAR_INFLUENCE + ACCIDENTCONSEQUENCE: '',//"事故的后果" Nav_UrgentEvent.ACCIDENT_CONSEQUENCE + ContingencyTypeNAME: '',//"预案类型" Nav_ContingencyType.NAME + DepartmentNAME: '',//"预案编制责任部门" "Nav_Department.NAME" + UserNAME: '',//"责任人员" Nav_User.NAME + COMPLETETIMES: '',//"要求完成时间" "COMPLETE_TIME" + COMPLETETIMEE: '',//"要求完成时间" "COMPLETE_TIME" + } + }; + } + + componentDidMount() { + this.loadData(); + } + renderSpeedColumn = () => { + return { className: 'redTableCell' } + } + handleSearch = () => { + this.loadData() + } + loadData = (pageIndex, limit) => { + + var orgId = this.props.login ? this.props.login.OrgId : ''; + let json = initFilter(orgId); + json.PageIndex = pageIndex ? pageIndex : 1 + json.Limit = limit ? limit : 10 + + extendInclude(json, 'Nav_UrgentEvent.Nav_EventType') + extendInclude(json, 'Nav_UrgentEvent.Nav_Department') + extendInclude(json, 'Nav_UrgentEvent.Nav_ListEventRiskType.Nav_RiskType') + extendInclude(json, 'Nav_UrgentEvent.Nav_ListArearInfluence.Nav_CoverageInfluence') + extendInclude(json, 'Nav_UrgentEvent.Nav_User') + extendInclude(json, 'Nav_User') + extendInclude(json, 'Nav_Department') + extendInclude(json, 'Nav_ContingencyType') + json.Sort = 'Nav_UrgentEvent.Nav_EventType.NAME' + extendRule(json, 'ENABLE_STATUS', 1, 0); + + if (this.state.search.EventTypeNAME != null && this.state.search.EventTypeNAME.length > 0) + extendRule(json, 'Nav_UrgentEvent.Nav_EventType.NAME', 9, this.state.search.EventTypeNAME); + if (this.state.search.CoverageInfluenceNAME != null && this.state.search.CoverageInfluenceNAME.length > 0) + extendRule(json, 'Nav_UrgentEvent.Nav_ListArearInfluence.Nav_CoverageInfluence.NAME', 9, this.state.search.CoverageInfluenceNAME); + if (this.state.search.AREAR_INFLUENCE != null && this.state.search.AREAR_INFLUENCE.length > 0) + extendRule(json, 'Nav_UrgentEvent.AREAR_INFLUENCE', 9, this.state.search.AREAR_INFLUENCE); + if (this.state.search.ACCIDENTCONSEQUENCE != null && this.state.search.ACCIDENTCONSEQUENCE.length > 0) + extendRule(json, 'Nav_UrgentEvent.ACCIDENT_CONSEQUENCE', 9, this.state.search.ACCIDENTCONSEQUENCE); + if (this.state.search.ContingencyTypeNAME != null && this.state.search.ContingencyTypeNAME.length > 0) + extendRule(json, 'Nav_ContingencyType.NAME', 9, this.state.search.ContingencyTypeNAME); + if (this.state.search.DepartmentNAME != null && this.state.search.DepartmentNAME.length > 0) + extendRule(json, 'Nav_Department.NAME', 9, this.state.search.DepartmentNAME); + if (this.state.search.UserNAME != null && this.state.search.UserNAME.length > 0) + extendRule(json, 'Nav_User.NAME', 9, this.state.search.UserNAME); + if (this.state.search.COMPLETETIMES != null && this.state.search.COMPLETETIMES.length > 0) { + extendRule(json, 'COMPLETE_TIME', 6, this.state.search.COMPLETETIMES); + extendRule(json, 'COMPLETE_TIME', 4, this.state.search.COMPLETETIMEE); + } + this.props.dispatch({ + type: 'app/getDataByPost', + payload: json, + onlyData: false, + url: 'CM/UrgentEventContingencyPlan/OrderPaged', + onComplete: (ret) => { + if (ret && ret.IsSuccessful) { + this.setState({ + retData: ret.Data, + TotalCount: ret.TotalCount, + loadParam: { + PageIndex: json.PageIndex, + Limit: json.Limit + }, + }) + } else { + this.setState({ + retData: [], + TotalCount: 0, + loadParam: { + PageIndex: json.PageIndex, + Limit: json.Limit + }, + }) + } + } + }); + } + + showTotal = () => { + return `共 ${this.state ? this.state.TotalCount : 0} 条`; + } + + onChangeEventTypeNAME = (val) => { + this.state.search.EventTypeNAME = val.trim() + } + onChangeAREAR_INFLUENCE = (val) => { + this.state.search.AREAR_INFLUENCE = val.trim() + } + onChangeACCIDENTCONSEQUENCE = (val) => { + this.state.search.ACCIDENTCONSEQUENCE = val.trim() + } + onChangeContingencyTypeNAME = (val) => { + this.state.search.ContingencyTypeNAME = val.trim() + } + onChangeDepartmentNAME = (val) => { + this.state.search.DepartmentNAME = val.trim() + } + onChangeUserNAME = (val) => { + this.state.search.UserNAME = val.trim() + } + onChangeCOMPLETETIME = (val) => { + if (val.length == 2) { + this.state.search.COMPLETETIMES = new Date(val[0]._d).Format('yyyy-MM-dd') + this.state.search.COMPLETETIMEE = new Date(val[1]._d).Format('yyyy-MM-dd') + } else { + this.state.search.COMPLETETIMES = '' + this.state.search.COMPLETETIMEE = '' + } + } + + render() { + return ( + +