import React, { useState, useEffect, useRef, Component } from "react"; import { connect } from "dva"; import storage from "../utils/storage"; import IconFont from "../utils/iconFont"; import { initFilter, addRuleAndGroups, guid, extendInclude, extendRule, extend, extendOrder, } from "../utils/common"; import "./home.less"; // 组件库 import { Row, Col, Icon, Progress, Tabs, message, Dropdown, Menu, Empty, Modal, Divider, Form, Input, Table, Button, DatePicker, Select, } from "antd"; import styles from "./dashboard.css"; import "slick-carousel/slick/slick.css"; import "slick-carousel/slick/slick-theme.css"; import echarts from "echarts"; import config from "../config"; import ModifyPassword from "../components/MainPage/ModifyPassword"; import FoUserInfoShow from "../components/MainPage/FoUserInfoShow"; import FormPage from "../components/FormPage"; const { TabPane } = Tabs; const Option = Select.Option; const RangePicker = DatePicker.RangePicker; const formItemLayout = { labelCol: { span: 6 }, wrapperCol: { span: 14 }, }; const AllTech = (props) => { return ( { props.techClick(); }} >
{props.title} ); }; const WorkBench = (props) => { return (
{props.data.map((item, index) => { const result = (Date.parse(item.TASK_ENDDT) - Date.parse(Date())) / 3600 / 1000; const prepare = result > 0 ? "正常" : "超期"; const warning = item.NOTICE_STATUS == 0 ? "未读" : item.NOTICE_STATUS == 3 ? "已读" : "已办"; const type = props.index == 1 || props.index == 2 ? prepare : warning; return (
{ props.benchCLick(item); }} >
{type}
{item.NOTICE_TITLE}
开始时间:{item.TASK_STARTDT}
结束时间:{item.TASK_ENDDT}
{/*
发起人:{item.person}
*/}
); })}
); }; const UserInfo = (props) => { return (
{ props.showAll(); }} >
{props.title}
{props.data}
); }; class Home extends React.Component { constructor(props) { super(props); this.state = { visible: false, userInfo: "", timeNow: "上午好", workData: [], workTotal: "", tableKey: "1", formVisible: false, noticeTitle: "", searchVisible: false, visibleTitle: "", searchTodayVisible: false, taskSelects: [], tmpData: {}, querySearch: {}, currentpageIndex: "1", visibleStartTime: [], visibleEndTime: [], mineType: localStorage.getItem("currentMineType") === "20" ? "10" : localStorage.getItem("currentMineType"), detailForm: { isShow: false, formCode: "", title: "", }, completeName: [ { name: "张森友", value: 100, }, { name: "李友军", value: 99, }, { name: "洪虎林", value: 97, }, { name: "李彦斌", value: 95, }, { name: "王志文", value: 93, }, { name: "黄海林", value: 90, }, { name: "赵无极", value: 67, }, { name: "林佑君", value: 43, }, ], }; } componentDidMount() { if (window.navigator.userAgent.indexOf("Windows") < 1) { window.location.replace(config.guideH5Host); //alert('手机'); } this.getBaseData(1, "1", 5); this.timeJudg(); this.riskLevel(); // this.homeRound(); this.completeRate(); this.timelyRate(); this.safeCheck(); this.dangerChange(); this.getUser(); } getSixMonth = (number, yearString = "", monthString = "") => { let nowdate = new Date(); nowdate.setMonth(nowdate.getMonth() + number); let y = nowdate.getFullYear(); let m = nowdate.getMonth() + 1; // let d = nowdate.getDate(); let retrundate = y + yearString + m + monthString; return retrundate; }; showAll = (key) => { const { tableData } = this.state; if (key == "2") { this.state.searchColumns = [ { width: "450px", title: "任务名称", dataIndex: "NOTICE_TITLE", key: "NOTICE_TITLE", render: (text, record) => ( this.showEditModal( record.SOURCE_DATA_ID, record.SOURCE_FORMCODE, record.ID, record.NOTICE_TITLE, record.CODE ) } > {record.NOTICE_TITLE} ), }, { title: "开始时间", dataIndex: "TASK_STARTDT", key: "TASK_STARTDT", }, { title: "结束时间", dataIndex: "TASK_ENDDT", key: "TASK_ENDDT", }, { title: "办结时间", dataIndex: "TASK_DT", key: "TASK_DT", }, ]; this.setState({ searchVisible: true, searchTodayVisible: false, querySearch: {}, }); } else if (key === "3") { this.state.searchColumns = [ { width: "450px", title: "提醒内容", dataIndex: "NOTICE_TITLE", key: "NOTICE_TITLE", render: (text, record) => ( this.showTodayModal( record.SOURCE_DATA_ID, record.SOURCE_FORMCODE, record.ID, record.NOTICE_TITLE, record.CODE, record.TASK_STARTDT, record.NOTICE_STATUS ) } > {record.NOTICE_TITLE} ), }, { title: "提醒时间", dataIndex: "TASK_STARTDT", key: "TASK_STARTDT", }, { title: "状态", dataIndex: "NOTICE_STATUS", key: "NOTICE_STATUS", render: (text, record) => this.ShowStatus(record), }, ]; this.setState({ searchVisible: false, searchTodayVisible: true, querySearch: {}, }); } else { this.state.searchColumns = [ { width: "450px", title: "任务名称", dataIndex: "NOTICE_TITLE", key: "NOTICE_TITLE", render: (text, record) => ( this.showEditModal( record.SOURCE_DATA_ID, record.SOURCE_FORMCODE, record.ID, record.NOTICE_TITLE, record.CODE ) } > {record.NOTICE_TITLE} ), }, { title: "开始时间", dataIndex: "TASK_STARTDT", key: "TASK_STARTDT", }, { title: "结束时间", dataIndex: "TASK_ENDDT", key: "TASK_ENDDT", }, { title: "预警状态", dataIndex: "NOTICE_TYPE", key: "NOTICE_TYPE", render: (text, record) => this.ShowState(record), }, ]; this.setState({ searchVisible: true, searchTodayVisible: false, querySearch: {}, }); } this.setState( { tableData, currentpageIndex: key, }, () => { this.getBaseData(1, key); } ); }; tabsCallback = (key) => { if (key == 1) { this.getBaseData(1, "1", 5); this.setState({ tableKey: "1", }); } else if (key == 2) { this.getBaseData(1, "4", 5); this.setState({ tableKey: "4", }); } else if (key == 3) { this.getBaseData(1, "2", 5); this.setState({ tableKey: "2", }); } else { this.getBaseData(1, "3", 5); this.setState({ tableKey: "3", }); } }; workClick = (e) => { this.showEditModal( e.SOURCE_DATA_ID, e.SOURCE_FORMCODE, e.ID, e.NOTICE_TITLE, e.CODE ); }; ShowState(obj) { var thisResult = (Date.parse(obj.TASK_ENDDT) - Date.parse(Date())) / 3600 / 1000; if (thisResult > 0) { return "正常"; } else { return 超期; } } ShowStatus(obj) { if (obj.NOTICE_STATUS === 0) { return 未读; } else if (obj.NOTICE_STATUS === 3) { return "已读"; } else { return "已办"; } } showEditModal = (dataId, formCode, TaskID, title, taskCode) => { this.props.dispatch({ type: "app/getDataByPost", url: "BI/BIController/getVersion", onComplete: (ret) => { if (ret > config.version) { window.localStorage.clear(); message.success("清除成功,即将重新加载页面", 2, () => { setTimeout(() => window.location.reload(true), 500); }); } }, }); const newtmpData = { data: { id: dataId, TaskID: TaskID, onCancel: this.handleCancel, taskCode: taskCode, tableKey: this.state.tableKey, homeReload: true, }, formCode: formCode, }; this.setState( { noticeTitle: title, taskCode: taskCode, tmpData: newtmpData, currActivatedMenu: "", }, () => { this.setState({ formVisible: true, }); } ); }; clearData = () => { let newtmpData = { ...this.state.tmpData }; newtmpData["data"].id = ""; newtmpData["data"].homeReload = false; newtmpData.formCode = ""; this.setState({ formVisible: false, tmpData: [], //newtmpData }); }; handleCancel = () => { // 退出弹窗 this.getBaseData(1, this.state.tableKey, 5); this.clearData(); }; closeModal = () => { this.setState({ formVisible: false, }); }; getBaseData = (pagination, key, limit) => { const current = pagination ? pagination.current : 1; const json = initFilter(this.props.login.OrgId, "", "CODE", 1, current); const querySearch = this.state.querySearch; for (var item in querySearch) { if (item == "searchName") { extendRule(json, "NOTICE_TITLE", 9, querySearch[item]); } if (item == "searchCode") { extendRule(json, "CODE", 9, querySearch[item]); } if (item == "startTime1") { extendRule(json, "TASK_STARTDT", 6, querySearch[item]); } if (item == "startTime2") { extendRule(json, "TASK_STARTDT", 4, querySearch[item]); } if (item == "endTime1") { extendRule(json, "TASK_ENDDT", 6, querySearch[item]); } if (item == "endTime2") { extendRule(json, "TASK_ENDDT", 4, querySearch[item]); } if (item == "searchStatus") { extendRule(json, "NOTICE_STATUS", 1, querySearch[item]); } } //extendRule(json, "NOTICE_STATUS", 1, 0); json.Limit = limit; //json.Limit = 10; json.Parameter1 = key; //1待办事项2已办事项3今日新增4待办超时 this.props.dispatch({ type: "app/getDataByPost", url: "FM/FMNotificationTask/HomeOrderPaged", payload: json, onlyData: false, onComplete: (ret) => { if (ret && ret.IsSuccessful && ret.Data.newData) { this.setState({ workData: ret.Data.newData, workTotal: ret.Data, }); } }, }); }; timeJudg = () => { let time = new Date(); let hour = time.getHours(); if (hour >= 6 && hour <= 11) { this.setState({ timeNow: "上午好", }); } else if (hour > 11 && hour <= 13) { this.setState({ timeNow: "中午好", }); } else if (hour > 13 && hour <= 18) { this.setState({ timeNow: "下午好", }); } else { this.setState({ timeNow: "晚上好", }); } }; getUser = () => { var userId = storage("lacal").getItem("userid")?.val; //登录后有存储登录信息 var orgId = storage("lacal").getItem("webOrgId")?.val; //登录后有存储登录信息 let json = initFilter(orgId); extendRule(json, "ID", 1, userId); extendInclude(json, "Nav_Department"); this.props.dispatch({ type: "app/getDataByPost", payload: json, url: "FM/User/Get", onComplete: (ret) => { if (ret) { this.setState({ userInfo: ret, }); } }, }); }; safeCheck = () => { let series = []; let seriesName = ["巡回检查", "例行检查", "专业检查", "综合检查"]; let data3 = [ [17, 20, 16, 20, 16, 16, 20, 16, 16, 20, 16, 4], [43, 41, 43, 32, 47, 33, 57, 38, 46, 42, 49, 39], [23, 21, 43, 12, 15, 13, 15, 16, 17, 14, 19, 24], [17, 20, 23, 42, 12, 17, 13, 15, 12, 17, 19, 34], ]; let xData = []; for (let i = 0; i < 12; i++) { xData.unshift(this.getSixMonth(-i, "年", "月")); } for (let i = 0; i < data3.length; i++) { series.push({ name: seriesName[i], type: "bar", stack: "总量", data: data3[i], barWidth: "20%", // itemStyle:{ // borderWidth:2, // borderColor:'#fff', // barBorderRadius:5, // } }); } let safeChecks = document.getElementById("safeCheck"); if (safeChecks) { let myChart = echarts.init(safeChecks); myChart.setOption({ color: ["#4285F4", "#72b85b", "#c92a2a", "#ffa94d"], tooltip: { trigger: "axis", axisPointer: { // 坐标轴指示器,坐标轴触发有效 type: "shadow", // 默认为直线,可选为:'line' | 'shadow' }, transitionDuration: 0, }, grid: { left: "5%", right: "5%", bottom: "15%", top: "10%", containLabel: true, z: 22, }, xAxis: { type: "category", data: xData, axisLine: { lineStyle: { color: "#0c3b71", }, }, axisLabel: { show: true, color: "rgb(170,170,170)", interval: 0, textStyle: { lineHeight: 14, }, formatter: function (param) { return param.split("年")[1]; }, }, }, legend: { data: ["巡回检查", "例行检查", "专业检查", "综合检查"], left: "center", align: "left", bottom: "2%", textStyle: { color: "#000", }, itemWidth: 10, itemHeight: 10, // itemGap: 15, }, yAxis: { type: "value", splitLine: { show: true, lineStyle: { color: ["#f2f2f2"], }, }, axisLine: { lineStyle: { color: "#0c3b71", }, }, axisLabel: { color: "rgb(170,170,170)", formatter: "{value} ", }, }, series: series, }); } }; dangerChange = () => { let sourceName = [ "按时整改隐患", "超期整改隐患", "未整改隐患", "隐患整改率", ]; let ydata = [ ["2", "5", "6", "8", "10", "9"], ["1", "7", "1", "2", "5", "4"], ["0", "1", "0", "3", "0", "1"], ["100.00", "92.31", "100.00", "76.92", "100.00", "92.86"], ]; let date = new Date(); let year = date.getFullYear(); let month = date.getMonth() + 1; let xData = []; for (let i = 0; i < 6; i++) { xData.unshift(this.getSixMonth(-i, "-", "")); } let dangerChanges = document.getElementById("dangerChange"); if (dangerChanges) { let myChart = echarts.init(dangerChanges); myChart.setOption({ color: ["#72b85b", "#f6841a", "#cc0404", "#4285F4"], tooltip: { trigger: "axis", axisPointer: { // 坐标轴指示器,坐标轴触发有效 type: "shadow", // 默认为直线,可选为:'line' | 'shadow' }, transitionDuration: 0, formatter: function (params) { return ( params[0].name + "
" + params[0].marker + params[0].seriesName + " : " + params[0].value + "
" + params[1].marker + params[1].seriesName + " : " + params[1].value + "
" + params[2].marker + params[2].seriesName + " : " + params[2].value + "
" + params[3].marker + params[3].seriesName + " : " + params[3].value + "%" ); }, }, grid: { left: "5%", right: "5%", bottom: "15%", top: "10%", containLabel: true, z: 22, }, xAxis: { type: "category", data: xData, axisLine: { lineStyle: { color: "#0c3b71", }, }, axisLabel: { show: true, color: "rgb(170,170,170)", interval: 0, textStyle: { lineHeight: 14, }, }, }, legend: { data: sourceName, left: "center", align: "left", bottom: "2%", textStyle: { color: "#000", }, itemWidth: 10, itemHeight: 10, // itemGap: 35, }, yAxis: [ { type: "value", position: "left", splitLine: { show: true, lineStyle: { color: ["#f2f2f2"], // opacity:0.2 // zlevel: -1, }, }, axisLine: { lineStyle: { color: "#0c3b71", }, }, axisLabel: { color: "rgb(170,170,170)", formatter: "{value} ", }, }, { type: "value", position: "right", splitLine: { show: false, lineStyle: { color: ["#f2f2f2"], }, }, axisLine: { lineStyle: { color: "#f2f2f2", }, }, axisLabel: { color: "rgb(170,170,170)", formatter: "{value} %", }, }, ], series: [ { name: sourceName[0], type: "bar", data: ydata[0], barWidth: "10%", barGap: "10%", stack: null, }, { name: sourceName[1], type: "bar", data: ydata[1], barWidth: "10%", barGap: "10%", stack: null, }, { name: sourceName[2], type: "bar", data: ydata[2], barWidth: "10%", barGap: "10%", stack: null, // zlevel: 99, }, { name: sourceName[3], type: "line", smooth: false, data: ydata[3], yAxisIndex: 1, itemStyle: { normal: { lineStyle: { type: "dotted", }, }, }, // zlevel:100, }, ], }); } }; timelyRate = () => { let timelyRates = document.getElementById("timelyRate"); if (timelyRates) { let myChart = echarts.init(timelyRates); myChart.setOption( { title: [ { text: "83%", x: "center", top: "40%", textStyle: { fontWeight: "normal", color: "#ffa94d", fontSize: "26", }, }, { text: "及时完成率", x: "center", top: "55%", textStyle: { fontWeight: "normal", fontSize: "14", }, }, ], color: "#ffd6b5", legend: { show: false, itemGap: 12, data: ["01", "02"], }, series: [ { name: "Line 1", type: "pie", clockWise: true, radius: ["60%", "76%"], itemStyle: { normal: { label: { show: false, }, labelLine: { show: false, }, }, }, hoverAnimation: false, data: [ { value: 83, name: "01", itemStyle: { normal: { color: { // 完成的圆环的颜色 colorStops: [ { offset: 0, color: "#ffa94d", // 0% 处的颜色 }, { offset: 1, color: "#f76707", // 100% 处的颜色 }, ], }, label: { show: false, }, labelLine: { show: false, }, }, }, }, { name: "02", value: 17, }, ], }, ], }, true ); } }; completeRate = () => { let completeRates = document.getElementById("completeRate"); if (completeRates) { let myChart = echarts.init(completeRates); myChart.setOption({ title: [ { text: "99%", x: "center", top: "40%", textStyle: { fontWeight: "normal", color: "#0580f2", fontSize: "26", }, }, { text: "个人完成率", x: "center", top: "55%", textStyle: { fontWeight: "normal", fontSize: "14", }, }, ], color: ["rgba(176, 212, 251, 1)"], legend: { show: false, itemGap: 12, data: ["01", "02"], }, series: [ { name: "Line 1", type: "pie", clockWise: true, radius: ["60%", "76%"], itemStyle: { normal: { label: { show: false, }, labelLine: { show: false, }, }, }, hoverAnimation: false, data: [ { value: 99, name: "01", itemStyle: { normal: { color: { // 完成的圆环的颜色 colorStops: [ { offset: 0, color: "#00cefc", // 0% 处的颜色 }, { offset: 1, color: "#367bec", // 100% 处的颜色 }, ], }, label: { show: false, }, labelLine: { show: false, }, }, }, }, { name: "02", value: 1, }, ], }, ], }); } }; riskLevel = () => { let riskLevel = []; let showData = [ { value: 2, name: "一级" }, { value: 5, name: "二级" }, { value: 15, name: "三级" }, { value: 30, name: "四级" }, ]; let riskLevels = document.getElementById("riskLevel"); if (riskLevels) { let myChart = echarts.init(riskLevels); myChart.setOption({ color: ["#c92a2a", "#ffa94d", "#ffe066", "#4285F4", "#fa8a89"], title: [ { text: "52", x: "26%", y: "40%", textStyle: { fontSize: 26, fontWeight: "normal", color: ["#333"], }, }, { text: "风险总数", x: "24%", y: "55%", textStyle: { color: "#666", fontSize: 12, }, }, ], tooltip: { trigger: "item", formatter: "{b}:({d}%)", }, legend: { icon: "pin", orient: "vartical", // x: "right", top: "18%", right: "15%", bottom: "20%", data: showData, // itemWidth: 20, // itemHeight: 14, itemGap: 25, formatter: function (name) { //通过name获取到数组对象中的单个对象 let singleData = showData.filter(function (item) { return item.name == name; }); let countAll = 0; showData.map((item) => { countAll = countAll + item.value; }); return ( name + " | " + // singleData[0].value + // " | " + Number((singleData[0].value / countAll) * 100).toFixed(2) + "%" ); }, }, grid: { left: 30, containLabel: true, bottom: 10, top: 10, right: 30, }, series: [ { name: "访问来源", type: "pie", clockwise: false, // minAngle: 20, avoidLabelOverlap: false, radius: ["50%", "65%"], center: ["30%", "50%"], itemStyle: { //图形样式 normal: { borderColor: "#ffffff", borderWidth: 4, padding: "0 20px", borderRadius: 50, }, }, label: { show: false, }, // color: color, data: showData, }, ], }); } }; navToMenu = (ID) => { this.props.history.push({ pathname: `/main/${ID}` }); }; /** * 注销登录 */ handleLogout = () => { const { OrgId, userId } = this.props.login; const logJson = initFilter(OrgId, userId, "", 0, 1, 0); this.props.dispatch({ type: "app/addLoginOut", payload: logJson, }); localStorage.removeItem("accessToken"); this.props.history.push({ pathname: "/login" }); }; handleUserMenuClick = (evt) => { switch (evt.key) { case "user-menu-logout": this.handleLogout(); break; case "user-menu-cacheclean": window.localStorage.clear(); message.success("清除成功,即将重新加载页面", 2, () => { setTimeout(() => window.location.reload(true), 500); }); break; default: break; } this.setState({ visible: false, }); }; ExpandCancel = () => {}; showDetailModal = (formCode) => { console.log(this.state.mineType,'this.state.mineType') var titleTemp = this.state.mineType == 20 ? "尾矿库" : this.state.mineType == 10 ? "选矿厂" : "露天矿"; if (formCode == "BI054_HOMEDETAIL") { titleTemp += "安全检查次数统计(近12月)"; } else if (formCode == "BI055_HOMEDETAIL") { titleTemp += "月度隐患整改情况(近12月)"; } else if (formCode == "BI001_HOMEDETAIL") { titleTemp += "班组活动任务完成详情(近12月)"; } else if (formCode == "BI002_HOMEDETAIL") { titleTemp += "工作票完成详情(近12月)"; } else if (formCode == "BI013_RISKANALYSISMODEL") { titleTemp += "风险管理统计分析"; } const newtmpData = { data: { id: guid(), mineType: this.state.mineType, onCancel: this.ExpandCancel, homeReload: true, }, formCode: formCode, }; this.setState({ tmpData: newtmpData }, () => { var detailForm = { isShow: true, formCode: formCode, title: titleTemp, }; this.setState({ detailForm: detailForm, }); }); }; doubleClear = () => { if (this.state.searchVisible === true) { this.setState({ searchVisible: false }); } else if (this.state.searchTodayVisible === true) { this.setState({ searchTodayVisible: false }); } this.getBaseData(1, this.state.tableKey, 5); }; vauleChange = (e) => { const { querySearch } = this.state; if (e.target.value) { switch (e.target.name) { case "searchName": querySearch[e.target.name] = e.target.value; this.setState({ querySearch }); break; case "searchCode": querySearch[e.target.name] = e.target.value; this.setState({ querySearch }); break; case "searchType": querySearch[e.target.name] = e.target.value; this.setState({ querySearch }); break; case "searchContent": querySearch[e.target.name] = e.target.value; this.setState({ querySearch }); break; } } else { this.setState({ querySearch: {} }); } }; handleSearch = (item) => { this.getBaseData(1, item, null); }; selectChange = (value) => { const { querySearch } = this.state; querySearch.searchStatus = value; this.setState( { querySearch, }, () => {} ); }; // 开始时间 startChange = (dates, dateStr) => { const { querySearch } = this.state; if (dates.length != 2) { this.setState({ visibleStartTime: [], querySearch: {}, }); return; } this.state.visibleStartTime = dates; querySearch.startTime1 = this.state.visibleStartTime[0].format( "YYYY-MM-DD HH:mm:ss" ); querySearch.startTime2 = this.state.visibleStartTime[1].format( "YYYY-MM-DD HH:mm:ss" ); this.setState( { querySearch, }, () => {} ); }; // 结束时间 endChange = (dates, dateStr) => { const { querySearch } = this.state; if (dates.length != 2) { this.setState({ visibleEndTime: [], querySearch: {}, }); return; } this.state.visibleEndTime = dates; querySearch.endTime1 = this.state.visibleEndTime[0].format( "YYYY-MM-DD HH:mm:ss" ); querySearch.endTime2 = this.state.visibleEndTime[1].format( "YYYY-MM-DD HH:mm:ss" ); this.setState({ querySearch }); }; detailFormClose = () => { var detailForm = { isShow: false, formCode: "", title: "", }; this.setState({ detailForm: detailForm, }); }; render() { const rowSelection = { onChange: (selectedRowKeys, selectedRows) => { this.state.taskSelects = selectedRows; }, }; return (
this.getBaseInfoData(num, this.state.currentpageIndex, null) } loading={this.state.showLoading} size="small" style={{ padding: "0px 20px" }} />
this.getBaseInfoData(num, this.state.currentpageIndex, null) } loading={this.state.showLoading} size="small" style={{ padding: "0px 20px" }} />
{this.state.userInfo.SEX == 1 ? ( homeuser ) : ( homeuser )}
{this.state.userInfo.NAME},{this.state.timeNow}
{ this.setState({ visible: !this.state.visible }); }} overlay={ 我的资料 修改密码 清除缓存 {/* 版本号:{config.version} */} 退出登录 } placement="topLeft" trigger={["click"]} >
工号:{this.state.userInfo.CODE}
手机号:{this.state.userInfo.PHONE}
{this.state.userInfo.Nav_Department ? (
部门:{this.state.userInfo.Nav_Department.NAME}
) : ( "" )}
{ this.showAll("1"); }} /> { this.showAll("4"); }} /> { this.showAll("2"); }} /> { this.showAll("3"); }} />
{/*
*/}
{/*
完成率
*/}
{/*
*/}
{/*
及时完成率
*/}
我的常用功能
{/* */}
{ this.navToMenu("6dc35aee-dd5e-4b31-b7ca-5f62d337d0c1"); }} /> { this.navToMenu("b3767117-f0aa-4122-97c1-2fc58fbaf934"); }} /> { this.navToMenu("7a9b51b1-3d56-4199-b450-f9f5f9cc3235"); }} /> { this.navToMenu("2beef9b3-e4b9-4b0b-9e82-238c4bf3be5d"); }} /> { this.navToMenu("21b685c9-d298-4a14-9700-c9ab1bb8a918"); }} /> { this.navToMenu("2e7835ef-0e5a-41b5-8bb7-ad9c64a6b2f4"); }} /> { this.navToMenu("818ab476-b29f-4db5-9393-fd13e1d2a565"); }} /> { this.navToMenu("800abe55-a2cf-4e23-a2b6-1caf2dca816c"); }} />
我的工作
{/* */}
待办事项{" "} } key="1" >
{this.state.workData.length > 0 ? ( ) : ( )}
待办超时 } key="2" >
{this.state.workData.length > 0 ? ( ) : ( )}
已办事项 } key="3" >
{this.state.workData.length > 0 ? ( ) : ( )}
今日提醒 } key="4" >
{this.state.workData.length > 0 ? ( ) : ( )}
完成率排名
{/* */}
this.showDetailModal("BI001_HOMEDETAIL")}>
{this.state.completeName.map((item, index) => { return (
{index == 0 ? ( 4-1 ) : index == 1 ? ( 4-2 ) : index == 2 ? ( 4-3 ) : (
{index + 1}
)}
{item.name}
); })}
安全检查次数统计
this.showDetailModal("BI054_HOMEDETAIL")}>
月度隐患整改情况
this.showDetailModal("BI055_HOMEDETAIL")}>
风险等级占比
this.showDetailModal("BI013_RISKANALYSISMODEL") } >
); } } export default connect(({ login, app }) => ({ login, app }))(Home);