From 7c1747053d2541a280c29fe27a5c7b036937abfc Mon Sep 17 00:00:00 2001
From: yunkexin <760754045@qq.com>
Date: Tue, 2 Apr 2024 11:02:29 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=89=E5=85=A8=E7=94=9F=E4=BA=A7=E6=A0=87?=
=?UTF-8?q?=E5=87=86=E5=8C=96=E8=BF=90=E8=A1=8C=E6=83=85=E5=86=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../CustomPages/BI/BI006FormRunAnalysis.js | 2010 ++++++++++-------
1 file changed, 1152 insertions(+), 858 deletions(-)
diff --git a/src/components/CustomPages/BI/BI006FormRunAnalysis.js b/src/components/CustomPages/BI/BI006FormRunAnalysis.js
index f3901b6..d593cc6 100644
--- a/src/components/CustomPages/BI/BI006FormRunAnalysis.js
+++ b/src/components/CustomPages/BI/BI006FormRunAnalysis.js
@@ -1,215 +1,241 @@
-import React from 'react'
-import { connect } from 'dva'
-import { initFilter, extendRule, extendOrder } from "../../../utils/common"
-import { ChartPieShow, ChartBarShow } from "../../../utils/commonEcharsShow"
-import { Table, Button, Row, Col,Modal ,Icon} from 'antd';
-import echarts from 'echarts';
-import styles from '../HI/StepForm.css';
-import moment from 'moment'
-import { T } from 'antd/lib/upload/utils';
-import FormPage from '../../FormPage'
+import React from "react";
+import { connect } from "dva";
+import { initFilter, extendRule, extendOrder } from "../../../utils/common";
+import { ChartPieShow, ChartBarShow } from "../../../utils/commonEcharsShow";
+import {
+ Table,
+ Button,
+ Row,
+ Col,
+ Modal,
+ Form,
+ DatePicker,
+ Icon,
+ Divider,
+} from "antd";
+import echarts from "echarts";
+import styles from "../HI/StepForm1.css";
+import moment from "moment";
+import { T } from "antd/lib/upload/utils";
+import FormPage from "../../FormPage";
class BI006FormRunAnalysis extends React.Component {
-
constructor(props) {
super(props);
this.state = {
visible: false,
- noticeTitle: '',
+ noticeTitle: "",
tmpData: {},
tableKey: "1",
- // selectStartTime: moment(this.getStartDate(), 'YYYY-MM-DD 00:00:00'),
- selectEndTime:moment(this.getEndDate(), 'YYYY-MM-DD 23:59:59'),
+ selectStartTime: moment(this.getStartDate(), "YYYY-MM-DD 00:00:00"),
+ selectEndTime: moment(this.getEndDate(), "YYYY-MM-DD 23:59:59"),
startTime: this.getDate(),
- endTime:moment(new Date()).format("YYYYMMDD"),
- timeType: 5,
- totalCount:0,
- finishCount:0,
- overtimeCount:0,
- unfinishCount:0,
- dtotalCount:0,
- dfinishCount:0,
- dovertimeCount:0,
- dunfinishCount:0,
- drate:'0%',
- dnormalRate:'0%',
- weekColor:'black',
- monthColor:'orange',
- threeMonthColor:'black',
- sixMonthColor:'black',
- yearColor:'black',
- retData:[],
- groupData:[],
- detailData:[],
- newData:[],
- detailDataH:[],
- displayHr:'none',
- displaydetail:'none',
- columns: [
- {
- width: "100px",
- title: '部门',
- dataIndex: 'DEPARTMENT_NAME',
- key: 'DEPARTMENT_NAME',
- // render: (text, record) => (
- //
- // this.showEditModal(record.DEPARTMENT_ID,record.DEPARTMENT_NAME)}>{record.DEPARTMENT_NAME}
- //
- // ),
- },
- {
- width: "60px",
- title: '总任务数',
- dataIndex: 'TOTAL_QTY',
- key: 'TOTAL_QTY'
- },
- {
- width: "60px",
- title: '正常已办',
- dataIndex: 'FINISH_QTY',
- key: 'FINISH_QTY'
- },
- {
- width: "60px",
- title: '超时已办',
- dataIndex: 'OVER_FINISH_QTY',
- key: 'OVER_FINISH_QTY'
- },
- {
- width: "50px",
- title: '未完成',
- dataIndex: 'UNFINISH_QTY',
- key: 'UNFINISH_QTY',
- },
- {
- width: "50px",
- title: '完成率',
- dataIndex: 'FINISH_RATE',
- key: 'FINISH_RATE',
- },
- {
- width: "70px",
- title: '及时完成率',
- dataIndex: 'NORMAL_FINISH_RATE',
- key: 'NORMAL_FINISH_RATE',
- }
- ],
- detailColumns: [
- // {
- // width: "55px",
- // title: '序号',
- // dataIndex: 'NUM',
- // key: 'NUM',
- // },
- {
- width: "100px",
- title: '模块名称',
- dataIndex: 'MOUDLE_NAME',
- key: 'MOUDLE_NAME',
- // render: (text, record) => (
- //
- // this.showFormModal(record.MOUDLE_NAME)}>{record.MOUDLE_NAME}
- //
- // ),
- },
- {
- width: "60px",
- title: '总任务数',
- dataIndex: 'TOTAL_QTY',
- key: 'TOTAL_QTY'
- },
- {
- width: "60px",
- title: '正常已办',
- dataIndex: 'FINISH_QTY',
- key: 'FINISH_QTY'
- },
- {
- width: "60px",
- title: '超时已办',
- dataIndex: 'OVER_FINISH_QTY',
- key: 'OVER_FINISH_QTY'
- },
- {
- width: "50px",
- title: '未完成',
- dataIndex: 'UNFINISH_QTY',
- key: 'UNFINISH_QTY',
- },
- {
- width: "50px",
- title: '完成率',
- dataIndex: 'FINISH_RATE',
- key: 'FINISH_RATE',
- },
- {
- width: "70px",
- title: '及时完成率',
- dataIndex: 'NORMAL_FINISH_RATE',
- key: 'NORMAL_FINISH_RATE',
- }
+ endTime: moment(new Date()).format("YYYYMMDD"),
+ timeType: 5,
+ totalCount: 0,
+ finishCount: 0,
+ overtimeCount: 0,
+ unfinishCount: 0,
+ dtotalCount: 0,
+ dfinishCount: 0,
+ dovertimeCount: 0,
+ dunfinishCount: 0,
+ drate: "0%",
+ dnormalRate: "0%",
+ weekColor: "black",
+ monthColor: "orange",
+ threeMonthColor: "black",
+ sixMonthColor: "black",
+ yearColor: "black",
+ retData: [],
+ groupData: [],
+ detailData: [],
+ newData: [],
+ detailDataH: [],
+ displayHr: "none",
+ displaydetail: "none",
+ columns: [
+ {
+ width: "100px",
+ title: "部门",
+ dataIndex: "DEPARTMENT_NAME",
+ key: "DEPARTMENT_NAME",
+ // render: (text, record) => (
+ //
+ // this.showEditModal(record.DEPARTMENT_ID,record.DEPARTMENT_NAME)}>{record.DEPARTMENT_NAME}
+ //
+ // ),
+ },
+ {
+ width: "60px",
+ title: "总任务数",
+ dataIndex: "TOTAL_QTY",
+ key: "TOTAL_QTY",
+ },
+ {
+ width: "60px",
+ title: "正常已办",
+ dataIndex: "FINISH_QTY",
+ key: "FINISH_QTY",
+ },
+ {
+ width: "60px",
+ title: "超时已办",
+ dataIndex: "OVER_FINISH_QTY",
+ key: "OVER_FINISH_QTY",
+ },
+ {
+ width: "50px",
+ title: "未完成",
+ dataIndex: "UNFINISH_QTY",
+ key: "UNFINISH_QTY",
+ },
+ {
+ width: "50px",
+ title: "完成率",
+ dataIndex: "FINISH_RATE",
+ key: "FINISH_RATE",
+ },
+ {
+ width: "70px",
+ title: "及时完成率",
+ dataIndex: "NORMAL_FINISH_RATE",
+ key: "NORMAL_FINISH_RATE",
+ },
],
- };
+ detailColumns: [
+ // {
+ // width: "55px",
+ // title: '序号',
+ // dataIndex: 'NUM',
+ // key: 'NUM',
+ // },
+ {
+ width: "100px",
+ title: "模块名称",
+ dataIndex: "MOUDLE_NAME",
+ key: "MOUDLE_NAME",
+ // render: (text, record) => (
+ //
+ // this.showFormModal(record.MOUDLE_NAME)}>{record.MOUDLE_NAME}
+ //
+ // ),
+ },
+ {
+ width: "60px",
+ title: "总任务数",
+ dataIndex: "TOTAL_QTY",
+ key: "TOTAL_QTY",
+ },
+ {
+ width: "60px",
+ title: "正常已办",
+ dataIndex: "FINISH_QTY",
+ key: "FINISH_QTY",
+ },
+ {
+ width: "60px",
+ title: "超时已办",
+ dataIndex: "OVER_FINISH_QTY",
+ key: "OVER_FINISH_QTY",
+ },
+ {
+ width: "50px",
+ title: "未完成",
+ dataIndex: "UNFINISH_QTY",
+ key: "UNFINISH_QTY",
+ },
+ {
+ width: "50px",
+ title: "完成率",
+ dataIndex: "FINISH_RATE",
+ key: "FINISH_RATE",
+ },
+ {
+ width: "70px",
+ title: "及时完成率",
+ dataIndex: "NORMAL_FINISH_RATE",
+ key: "NORMAL_FINISH_RATE",
+ },
+ ],
+ };
+ }
+ getStartDate = () => {
+ let date = new Date();
+ let y = date.getFullYear();
+ let m = date.getMonth() + 1;
+ let d = date.getDate();
+ // 当前日期
+ let nowDate =
+ y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d);
+ let pastDate = moment(nowDate)
+ .add(-1, "month")
+ .format("YYYY-MM-DD 00:00:00");
+ return pastDate;
};
- getStartDate=()=>{
- let date = new Date()
- let y = date.getFullYear()
- let m = date.getMonth() + 1
- let d = date.getDate();
+
+ getEndDate = () => {
+ let date = new Date();
+ let y = date.getFullYear();
+ let m = date.getMonth() + 1;
+ let d = date.getDate();
// 当前日期
- let nowDate = y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d);
- let pastDate = moment(nowDate).add(-1, "month").format('YYYY-MM-DD 00:00:00')
- return pastDate;
- }
-
- getEndDate=()=>{
- let date = new Date()
- let y = date.getFullYear()
- let m = date.getMonth() + 1
- let d = date.getDate();
- // 当前日期
- let nowDate = y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d);
- let pastDate = moment(nowDate).format('YYYY-MM-DD 23:59:59')
- return pastDate;
- }
+ let nowDate =
+ y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d);
+ let pastDate = moment(nowDate).format("YYYY-MM-DD 23:59:59");
+ return pastDate;
+ };
componentDidMount() {
- this.loadData()
- };
+ this.loadData();
+ }
showEditModal = (departmentId, departmentName) => {
const newtmpData = {
data: {
- id: departmentId, name: departmentName, onCancel: this.handleCancel, tableKey: this.state.tableKey,
- homeReload: true
+ id: departmentId,
+ name: departmentName,
+ onCancel: this.handleCancel,
+ tableKey: this.state.tableKey,
+ homeReload: true,
},
formCode: "BI007_RUNANALYSIS",
- }
- this.setState({
- id: departmentId,
- name: departmentName,
- noticeTitle: departmentName+"安全生产标准化运行情况",
- tmpData: newtmpData,
- currActivatedMenu: ''
- }, () => this.setState({
- visible: true
- }));
- }
- showFormModal=(mouldName)=>{
+ };
+ this.setState(
+ {
+ id: departmentId,
+ name: departmentName,
+ noticeTitle: departmentName + "安全生产标准化运行情况",
+ tmpData: newtmpData,
+ currActivatedMenu: "",
+ },
+ () =>
+ this.setState({
+ visible: true,
+ })
+ );
+ };
+ showFormModal = (mouldName) => {
const newtmpData = {
data: {
- name: mouldName, onCancel: this.handleCancel, tableKey: this.state.tableKey,
- homeReload: true
+ name: mouldName,
+ onCancel: this.handleCancel,
+ tableKey: this.state.tableKey,
+ homeReload: true,
},
formCode: "BI008_RUNANALYSIS",
- }
- this.setState({
- name: mouldName,
- noticeTitle: mouldName+"安全生产标准化运行情况",
- tmpData: newtmpData,
- currActivatedMenu: ''
- }, () => this.setState({
- visible: true
- }));
- }
+ };
+ this.setState(
+ {
+ name: mouldName,
+ noticeTitle: mouldName + "安全生产标准化运行情况",
+ tmpData: newtmpData,
+ currActivatedMenu: "",
+ },
+ () =>
+ this.setState({
+ visible: true,
+ })
+ );
+ };
// showEditModal = (dataId, formCode, TaskID, title, taskCode) => {
// const newtmpData = {
@@ -228,705 +254,943 @@ class BI006FormRunAnalysis extends React.Component {
// visible: true
// }));
// }
-
- getDate=(type)=>{
- let date = new Date()
- let y = date .getFullYear()
- let m = date .getMonth() + 1
- let d = date .getDate();
- // 当前日期
- let nowDate = y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d);
- let pastDate = moment(nowDate).add(-1, "month").format('YYYYMMDD')
- let weekColor='black';
- let monthColor='orange';
- let threeMonthColor='black';
- let sixMonthColor='black';
- let yearColor='black';
- let timeType=5;
- if(type==="Week")
- {
- pastDate=moment(nowDate).add(-7, "d").format("YYYYMMDD")
- weekColor='orange';
- monthColor='black';
- threeMonthColor='black';
- sixMonthColor='black';
- yearColor='black';
- timeType=1;
- }
- if(type==="ThreeMonth")
- {
- pastDate=moment(nowDate).add(-3, "month").format("YYYYMMDD")
- weekColor='black';
- monthColor='black';
- threeMonthColor='orange';
- sixMonthColor='black';
- yearColor='black';
- timeType=10;
- }
- if(type==="SixMonth")
- {
- pastDate=moment(nowDate).add(-6, "month").format("YYYYMMDD")
- weekColor='black';
- monthColor='black';
- threeMonthColor='black';
- sixMonthColor='orange';
- yearColor='black';
- timeType=15;
- }
- if(type==="Year")
- {
- pastDate=moment(nowDate).add(-1, "year").format("YYYYMMDD")
- weekColor='black';
- monthColor='black';
- threeMonthColor='black';
- sixMonthColor='black';
- yearColor='orange';
- timeType=20;
- }
- this.setState({
- startTime: pastDate,
- timeType: timeType,
- weekColor:weekColor,
- monthColor:monthColor,
- threeMonthColor:threeMonthColor,
- sixMonthColor:sixMonthColor,
- yearColor:yearColor
- },()=>{
- if(type)
- {
- this.loadData();
- }
- })
- return pastDate;
+
+ getDate = (type) => {
+ let date = new Date();
+ let y = date.getFullYear();
+ let m = date.getMonth() + 1;
+ let d = date.getDate();
+ // 当前日期
+ let nowDate =
+ y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d);
+ let pastDate = moment(nowDate).add(-1, "month").format("YYYYMMDD");
+ let weekColor = "black";
+ let monthColor = "orange";
+ let threeMonthColor = "black";
+ let sixMonthColor = "black";
+ let yearColor = "black";
+ let timeType = 5;
+ if (type === "Week") {
+ pastDate = moment(nowDate).add(-7, "d").format("YYYYMMDD");
+ weekColor = "orange";
+ monthColor = "black";
+ threeMonthColor = "black";
+ sixMonthColor = "black";
+ yearColor = "black";
+ timeType = 1;
}
+ if (type === "ThreeMonth") {
+ pastDate = moment(nowDate).add(-3, "month").format("YYYYMMDD");
+ weekColor = "black";
+ monthColor = "black";
+ threeMonthColor = "orange";
+ sixMonthColor = "black";
+ yearColor = "black";
+ timeType = 10;
+ }
+ if (type === "SixMonth") {
+ pastDate = moment(nowDate).add(-6, "month").format("YYYYMMDD");
+ weekColor = "black";
+ monthColor = "black";
+ threeMonthColor = "black";
+ sixMonthColor = "orange";
+ yearColor = "black";
+ timeType = 15;
+ }
+ if (type === "Year") {
+ pastDate = moment(nowDate).add(-1, "year").format("YYYYMMDD");
+ weekColor = "black";
+ monthColor = "black";
+ threeMonthColor = "black";
+ sixMonthColor = "black";
+ yearColor = "orange";
+ timeType = 20;
+ }
+ this.setState(
+ {
+ startTime: pastDate,
+ timeType: timeType,
+ weekColor: weekColor,
+ monthColor: monthColor,
+ threeMonthColor: threeMonthColor,
+ sixMonthColor: sixMonthColor,
+ yearColor: yearColor,
+ },
+ () => {
+ if (type) {
+ this.loadData();
+ }
+ }
+ );
+ return pastDate;
+ };
//加载数据赋值
loadData = () => {
this.ksRun();
this.xkRun();
this.getMould();
- this.getDepartment();
- }
+ // this.getDepartment();
+ };
//矿山
ksRun = () => {
- let json = initFilter(this.props.login.OrgId);
- extendRule(json, 'DEPARTMENT_NAME', 1, "矿山部");
- // 1代表=,2代表不等于,3小于,4小于等于,5大于,6大于等于,7以开始的Like,8以结束的Like,9包含
- if(this.state.timeType ===1)//最近一周(显示最近一月的,最小单位为月)
- {
- let start=moment(new Date()).add(0, "month").format('YYYY-MM-01 00:00:00')
- let end=moment(new Date()).add(1, "month").format('YYYY-MM-01 00:00:00')
- extendRule(json, 'MONTH', 6, start);
- extendRule(json, 'MONTH', 3, end);
- }
- else if(this.state.timeType ===5)//最近一月
- {
- let start=moment(new Date()).add(0, "month").format('YYYY-MM-01 00:00:00')
- let end=moment(new Date()).add(1, "month").format('YYYY-MM-01 00:00:00')
- extendRule(json, 'MONTH', 6, start);
- extendRule(json, 'MONTH', 3, end);
- }
- else if(this.state.timeType ===10)//最近三月
- {
- let start=moment(new Date()).add(-2, "month").format('YYYY-MM-01 00:00:00')
- let end=moment(new Date()).add(1, "month").format('YYYY-MM-01 00:00:00')
- extendRule(json, 'MONTH', 6, start);
- extendRule(json, 'MONTH', 3, end);
- }
- else if(this.state.timeType ===15)//最近半年
- {
- let start=moment(new Date()).add(-5, "month").format('YYYY-MM-01 00:00:00')
- let end=moment(new Date()).add(1, "month").format('YYYY-MM-01 00:00:00')
- extendRule(json, 'MONTH', 6, start);
- extendRule(json, 'MONTH', 3, end);
- }
- else if(this.state.timeType ===20)//最近一年
- {
- let start=moment(new Date()).add(-11, "month").format('YYYY-MM-01 00:00:00')
- let end=moment(new Date()).add(1, "month").format('YYYY-MM-01 00:00:00')
- extendRule(json, 'MONTH', 6, start);
- extendRule(json, 'MONTH', 3, end);
- }
+ var orgId = this.props.login ? this.props.login.OrgId : "";
+ // let startTime=this.state.selectStartTime.format('YYYY-MM-01 00:00:00');
+ // let endTime=this.state.selectEndTime.format('YYYY-MM-01 00:00:00');
+ //默认最近一年
+ let startTime = moment(new Date())
+ .add(-11, "month")
+ .format("YYYY-MM-01 00:00:00");
+ let endTime = moment(new Date())
+ .add(1, "month")
+ .format("YYYY-MM-01 00:00:00");
+ let json = initFilter(orgId, "矿山部", "", "", "", startTime, endTime);
extendOrder(json, "MONTH", 0);
this.props.dispatch({
- type: 'app/getDataByPost',
+ type: "app/getDataByPost",
url: "BI/BIStatiscialAnalysisController/GetEntities",
payload: json,
onlyData: false,
onComplete: (data) => {
- // let data = {
- // "IsSuccessful": true, "Data": [{ "DEPARTMENT_ID": "e3061909-1a7e-b60c-bc71-1845b79c4a11", "MONTH": "2021-08-01 00:00:00", "MONTHStr": "2023年1月", "C_COUNT": 90, "D_COUNT":80},
- // {"DEPARTMENT_ID": "e3061909-1a7e-b60c-bc71-1845b79c4a11", "MONTH": "2021-09-01 00:00:00", "MONTHStr": "2023年2月", "C_COUNT": 70, "D_COUNT": 60},
- // { "DEPARTMENT_ID": "e3061909-1a7e-b60c-bc71-1845b79c4a11", "MONTH": "2021-10-01 00:00:00", "MONTHStr": "2023年3月", "C_COUNT": 70, "D_COUNT": 60},
- // { "DEPARTMENT_ID": "e3061909-1a7e-b60c-bc71-1845b79c4a11", "MONTH": "2021-11-01 00:00:00", "MONTHStr": "2023年4月", "C_COUNT": 70, "D_COUNT": 60},
- // { "DEPARTMENT_ID": "e3061909-1a7e-b60c-bc71-1845b79c4a11", "MONTH": "2021-12-01 00:00:00", "MONTHStr": "2023年5月", "C_COUNT": 70, "D_COUNT": 60},
- // {"DEPARTMENT_ID": "e3061909-1a7e-b60c-bc71-1845b79c4a11", "MONTH": "2021-09-01 00:00:00", "MONTHStr": "2023年6月", "C_COUNT": 70, "D_COUNT": 60},
- // { "DEPARTMENT_ID": "e3061909-1a7e-b60c-bc71-1845b79c4a11", "MONTH": "2021-10-01 00:00:00", "MONTHStr": "2023年7月", "C_COUNT": 70, "D_COUNT": 60},
- // { "DEPARTMENT_ID": "e3061909-1a7e-b60c-bc71-1845b79c4a11", "MONTH": "2021-11-01 00:00:00", "MONTHStr": "2023年8月", "C_COUNT": 70, "D_COUNT": 60},
- // { "DEPARTMENT_ID": "e3061909-1a7e-b60c-bc71-1845b79c4a11", "MONTH": "2021-12-01 00:00:00", "MONTHStr": "2023年9月","C_COUNT": 70, "D_COUNT": 60},
- // { "DEPARTMENT_ID": "e3061909-1a7e-b60c-bc71-1845b79c4a11", "MONTH": "2021-11-01 00:00:00", "MONTHStr": "2023年10月", "C_COUNT": 70, "D_COUNT": 60},
- // { "DEPARTMENT_ID": "e3061909-1a7e-b60c-bc71-1845b79c4a11", "MONTH": "2021-12-01 00:00:00", "MONTHStr": "2023年11月", "C_COUNT": 70, "D_COUNT": 60 },
- // { "DEPARTMENT_ID": "e3061909-1a7e-b60c-bc71-1845b79c4a11", "MONTH": "2022-01-01 00:00:00", "MONTHStr": "2023年12月", "C_COUNT": 70, "D_COUNT": 60 }], "TotalCount": 0, "ErrorMessage": null
- // }
- if (data && data.IsSuccessful) {
- let month = [];
- let company = [];
- let department = [];
- data.Data.forEach(item => {
- month.push(item.MONTHStr);
- company.push(item.FINISH_RATE);
- department.push(item.NORMAL_FINISH_RATE);
- })
- let myChart = echarts.init(document.getElementById('ksRun'));
- myChart.setOption({
- // title: {
- // text: "矿山部-安全生产标准化运行走势图",
- // left: 'center'
- // },
- tooltip: {
- trigger: 'axis',
- // formatter: function (params) {
- // let temp=''
- // params.forEach(t=>{
- // temp=temp+t.seriesName +":"+t.value+"%"+'
';
-
- // })
- // return temp;
- // }
- },
- legend: {
- // data: ['部门'],
- data: ['完成率', '及时完成率'],
- bottom: '10px'
- },
- grid: {
- left: '3%',
- right: '4%',
- top: '3%',
- containLabel: true
- },
- toolbox: {
- feature: {
- // saveAsImage: {}
- }
- },
- xAxis: {
- type: 'category',
- boundaryGap: false,
- data: month,
- axisLine: {
- show: false,
- // lineStyle: {
- // color: 'rgba(192, 192, 102)'
- // }
- },
- axisTick: {
- show: false
- },
- axisLabel: {
- color: '#000',
- rotate: 40,
- formatter: function (value) { // 自定义文字超出部分 ...
- if (value.length > 10) {
- return `${value.slice(0, 10)}...`;
- }
- return value;
- }
- }
- },
- yAxis: {
- axisLabel: {
- formatter: function (val) {
- return (val)+ '%';
- }
- },
- },
- series: [
- {
- name: '完成率',
- type: 'line',
- color: '#4b9bf3',
- data: company
- },
- {
- name: '及时完成率',
- type: 'line',
- color: '#FCD149',
- data: department
- },
-
- ]
- })
- }
- }
+ if (data && data.IsSuccessful) {
+ let month = [];
+ let company = [];
+ let department = [];
+ data.Data.forEach((item) => {
+ month.push(item.MONTHStr);
+ company.push(item.FINISH_RATE);
+ department.push(item.NORMAL_FINISH_RATE);
+ });
+ let myChart = echarts.init(document.getElementById("ksRun"));
+ myChart.setOption({
+ // title: {
+ // text: "矿山部-安全生产标准化运行走势图",
+ // left: 'center'
+ // },
+ tooltip: {
+ trigger: "axis",
+ },
+ legend: {
+ // data: ['部门'],
+ data: ["完成率", "及时完成率"],
+ bottom: "10px",
+ },
+ grid: {
+ left: "3%",
+ right: "4%",
+ top: "3%",
+ containLabel: true,
+ },
+ toolbox: {
+ feature: {
+ // saveAsImage: {}
+ },
+ },
+ xAxis: {
+ type: "category",
+ boundaryGap: false,
+ data: month,
+ axisLine: {
+ show: false,
+ // lineStyle: {
+ // color: 'rgba(192, 192, 102)'
+ // }
+ },
+ axisTick: {
+ show: false,
+ },
+ axisLabel: {
+ color: "#000",
+ rotate: 40,
+ formatter: function (value) {
+ // 自定义文字超出部分 ...
+ if (value.length > 10) {
+ return `${value.slice(0, 10)}...`;
+ }
+ return value;
+ },
+ },
+ },
+ yAxis: {
+ axisLabel: {
+ formatter: function (val) {
+ return val + "%";
+ },
+ },
+ },
+ series: [
+ {
+ name: "完成率",
+ type: "line",
+ color: "#4b9bf3",
+ data: company,
+ },
+ {
+ name: "及时完成率",
+ type: "line",
+ color: "#FCD149",
+ data: department,
+ },
+ ],
+ });
+ }
+ },
});
- }
+ };
//选矿
- xkRun = () => {
- let json = initFilter(this.props.login.OrgId);
- extendRule(json, 'DEPARTMENT_NAME', 1, "选矿部");
- // 1代表=,2代表不等于,3小于,4小于等于,5大于,6大于等于,7以开始的Like,8以结束的Like,9包含
- if(this.state.timeType ===1)//最近一周(显示最近一月的,最小单位为月)
- {
- let start=moment(new Date()).add(0, "month").format('YYYY-MM-01 00:00:00')
- let end=moment(new Date()).add(1, "month").format('YYYY-MM-01 00:00:00')
- extendRule(json, 'MONTH', 6, start);
- extendRule(json, 'MONTH', 3, end);
- }
- else if(this.state.timeType ===5)//最近一月
- {
- let start=moment(new Date()).add(0, "month").format('YYYY-MM-01 00:00:00')
- let end=moment(new Date()).add(1, "month").format('YYYY-MM-01 00:00:00')
- extendRule(json, 'MONTH', 6, start);
- extendRule(json, 'MONTH', 3, end);
- }
- else if(this.state.timeType ===10)//最近三月
- {
- let start=moment(new Date()).add(-2, "month").format('YYYY-MM-01 00:00:00')
- let end=moment(new Date()).add(1, "month").format('YYYY-MM-01 00:00:00')
- extendRule(json, 'MONTH', 6, start);
- extendRule(json, 'MONTH', 3, end);
- }
- else if(this.state.timeType ===15)//最近半年
- {
- let start=moment(new Date()).add(-5, "month").format('YYYY-MM-01 00:00:00')
- let end=moment(new Date()).add(1, "month").format('YYYY-MM-01 00:00:00')
- extendRule(json, 'MONTH', 6, start);
- extendRule(json, 'MONTH', 3, end);
- }
- else if(this.state.timeType ===20)//最近一年
- {
- let start=moment(new Date()).add(-11, "month").format('YYYY-MM-01 00:00:00')
- let end=moment(new Date()).add(1, "month").format('YYYY-MM-01 00:00:00')
- extendRule(json, 'MONTH', 6, start);
- extendRule(json, 'MONTH', 3, end);
- }
+ xkRun = () => {
+ var orgId = this.props.login ? this.props.login.OrgId : "";
+ // let startTime=this.state.selectStartTime.format('YYYY-MM-01 00:00:00');
+ // let endTime=this.state.selectEndTime.format('YYYY-MM-01 00:00:00');
+ //默认最近一年
+ let startTime = moment(new Date())
+ .add(-11, "month")
+ .format("YYYY-MM-01 00:00:00");
+ let endTime = moment(new Date())
+ .add(1, "month")
+ .format("YYYY-MM-01 00:00:00");
+ let json = initFilter(orgId, "选矿部", "", "", "", startTime, endTime);
extendOrder(json, "MONTH", 0);
this.props.dispatch({
- type: 'app/getDataByPost',
+ type: "app/getDataByPost",
url: "BI/BIStatiscialAnalysisController/GetEntities",
payload: json,
onlyData: false,
onComplete: (data) => {
- // let data = {
- // "IsSuccessful": true, "Data": [{ "DEPARTMENT_ID": "e3061909-1a7e-b60c-bc71-1845b79c4a11", "MONTH": "2021-08-01 00:00:00", "MONTHStr": "2023年1月", "C_COUNT": 90, "D_COUNT":80},
- // {"DEPARTMENT_ID": "e3061909-1a7e-b60c-bc71-1845b79c4a11", "MONTH": "2021-09-01 00:00:00", "MONTHStr": "2023年2月", "C_COUNT": 70, "D_COUNT": 60},
- // { "DEPARTMENT_ID": "e3061909-1a7e-b60c-bc71-1845b79c4a11", "MONTH": "2021-10-01 00:00:00", "MONTHStr": "2023年3月", "C_COUNT": 70, "D_COUNT": 60},
- // { "DEPARTMENT_ID": "e3061909-1a7e-b60c-bc71-1845b79c4a11", "MONTH": "2021-11-01 00:00:00", "MONTHStr": "2023年4月", "C_COUNT": 70, "D_COUNT": 60},
- // { "DEPARTMENT_ID": "e3061909-1a7e-b60c-bc71-1845b79c4a11", "MONTH": "2021-12-01 00:00:00", "MONTHStr": "2023年5月", "C_COUNT": 70, "D_COUNT": 60},
- // {"DEPARTMENT_ID": "e3061909-1a7e-b60c-bc71-1845b79c4a11", "MONTH": "2021-09-01 00:00:00", "MONTHStr": "2023年6月", "C_COUNT": 70, "D_COUNT": 60},
- // { "DEPARTMENT_ID": "e3061909-1a7e-b60c-bc71-1845b79c4a11", "MONTH": "2021-10-01 00:00:00", "MONTHStr": "2023年7月", "C_COUNT": 70, "D_COUNT": 60},
- // { "DEPARTMENT_ID": "e3061909-1a7e-b60c-bc71-1845b79c4a11", "MONTH": "2021-11-01 00:00:00", "MONTHStr": "2023年8月", "C_COUNT": 70, "D_COUNT": 60},
- // { "DEPARTMENT_ID": "e3061909-1a7e-b60c-bc71-1845b79c4a11", "MONTH": "2021-12-01 00:00:00", "MONTHStr": "2023年9月","C_COUNT": 70, "D_COUNT": 60},
- // { "DEPARTMENT_ID": "e3061909-1a7e-b60c-bc71-1845b79c4a11", "MONTH": "2021-11-01 00:00:00", "MONTHStr": "2023年10月", "C_COUNT": 70, "D_COUNT": 60},
- // { "DEPARTMENT_ID": "e3061909-1a7e-b60c-bc71-1845b79c4a11", "MONTH": "2021-12-01 00:00:00", "MONTHStr": "2023年11月", "C_COUNT": 70, "D_COUNT": 60 },
- // { "DEPARTMENT_ID": "e3061909-1a7e-b60c-bc71-1845b79c4a11", "MONTH": "2022-01-01 00:00:00", "MONTHStr": "2023年12月", "C_COUNT": 70, "D_COUNT": 60 }], "TotalCount": 0, "ErrorMessage": null
- // }
- if (data && data.IsSuccessful) {
- let month = [];
- let company = [];
- let department = [];
- data.Data.forEach(item => {
- month.push(item.MONTHStr);
- company.push(item.FINISH_RATE);
- department.push(item.NORMAL_FINISH_RATE);
- })
- let myChart = echarts.init(document.getElementById('xkRun'));
- myChart.setOption({
- // title: {
- // text: "选矿部-安全生产标准化运行走势图",
- // padding: [0,100,100,100],
- // left: 'center'
- // },
- tooltip: {
- trigger: 'axis',
- // formatter: function (params) {
- // let temp=''
- // params.forEach(t=>{
- // temp=temp+t.seriesName +":"+t.value+"%"+'
';
-
- // })
- // return temp;
- // }
- },
- legend: {
- // data: ['部门'],
- data: ['完成率', '及时完成率'],
- bottom: '10px'
- },
- grid: {
- left: '3%',
- right: '4%',
- top: '3%',
- containLabel: true
- },
- toolbox: {
- feature: {
- // saveAsImage: {}
- }
- },
- xAxis: {
- type: 'category',
- boundaryGap: false,
- data: month,
- axisLine: {
- show: false,
- // lineStyle: {
- // color: 'rgba(192, 192, 102)'
- // }
- },
- axisTick: {
- show: false
- },
- axisLabel: {
- color: '#000',
- rotate: 40,
- formatter: function (value) { // 自定义文字超出部分 ...
- if (value.length > 10) {
- return `${value.slice(0, 10)}...`;
- }
- return value;
- }
- }
- },
- yAxis: {
- axisLabel: {
- formatter: function (val) {
- return (val)+ '%';
- }
- },
- },
- series: [
- {
- name: '完成率',
- type: 'line',
- color: '#4b9bf3',
- data: company
- },
- {
- name: '及时完成率',
- type: 'line',
- color: '#FCD149',
- data: department
- },
-
- ]
- })
- }
- }
+ if (data && data.IsSuccessful) {
+ let month = [];
+ let company = [];
+ let department = [];
+ data.Data.forEach((item) => {
+ month.push(item.MONTHStr);
+ company.push(item.FINISH_RATE);
+ department.push(item.NORMAL_FINISH_RATE);
+ });
+ let myChart = echarts.init(document.getElementById("xkRun"));
+ myChart.setOption({
+ // title: {
+ // text: "选矿部-安全生产标准化运行走势图",
+ // padding: [0,100,100,100],
+ // left: 'center'
+ // },
+ tooltip: {
+ trigger: "axis",
+ // formatter: function (params) {
+ // let temp=''
+ // params.forEach(t=>{
+ // temp=temp+t.seriesName +":"+t.value+"%"+'
';
+
+ // })
+ // return temp;
+ // }
+ },
+ legend: {
+ // data: ['部门'],
+ data: ["完成率", "及时完成率"],
+ bottom: "10px",
+ },
+ grid: {
+ left: "3%",
+ right: "4%",
+ top: "3%",
+ containLabel: true,
+ },
+ toolbox: {
+ feature: {
+ // saveAsImage: {}
+ },
+ },
+ xAxis: {
+ type: "category",
+ boundaryGap: false,
+ data: month,
+ axisLine: {
+ show: false,
+ // lineStyle: {
+ // color: 'rgba(192, 192, 102)'
+ // }
+ },
+ axisTick: {
+ show: false,
+ },
+ axisLabel: {
+ color: "#000",
+ rotate: 40,
+ formatter: function (value) {
+ // 自定义文字超出部分 ...
+ if (value.length > 10) {
+ return `${value.slice(0, 10)}...`;
+ }
+ return value;
+ },
+ },
+ },
+ yAxis: {
+ axisLabel: {
+ formatter: function (val) {
+ return val + "%";
+ },
+ },
+ },
+ series: [
+ {
+ name: "完成率",
+ type: "line",
+ color: "#4b9bf3",
+ data: company,
+ },
+ {
+ name: "及时完成率",
+ type: "line",
+ color: "#FCD149",
+ data: department,
+ },
+ ],
+ });
+ }
+ },
});
- }
- getMould=()=>{
- let allData= [{
- MOUDLE_NAME : "风险管理",
- TOTAL_QTY :0,
- FINISH_QTY : 0,
- OVER_FINISH_QTY : 0,
- UNFINISH_QTY : 0,
- FINISH_RATE : 0+"%",
- NORMAL_FINISH_RATE : 0+"%",
- },{
- MOUDLE_NAME : "安全检查",
- TOTAL_QTY :0,
- FINISH_QTY : 0,
- OVER_FINISH_QTY : 0,
- UNFINISH_QTY : 0,
- FINISH_RATE : 0+"%",
- NORMAL_FINISH_RATE : 0+"%",
- },{
- MOUDLE_NAME : "作业现场管理",
- TOTAL_QTY :0,
- FINISH_QTY : 0,
- OVER_FINISH_QTY : 0,
- UNFINISH_QTY : 0,
- FINISH_RATE : 0+"%",
- NORMAL_FINISH_RATE : 0+"%",
- },{
- MOUDLE_NAME : "法律法规与其他要求",
- TOTAL_QTY :0,
- FINISH_QTY : 0,
- OVER_FINISH_QTY : 0,
- UNFINISH_QTY : 0,
- FINISH_RATE : 0+"%",
- NORMAL_FINISH_RATE : 0+"%",
- },{
- MOUDLE_NAME : "安全教育培训",
- TOTAL_QTY :0,
- FINISH_QTY : 0,
- OVER_FINISH_QTY : 0,
- UNFINISH_QTY : 0,
- FINISH_RATE : 0+"%",
- NORMAL_FINISH_RATE : 0+"%",
- },{
- MOUDLE_NAME : "方针与目标管理",
- TOTAL_QTY :0,
- FINISH_QTY : 0,
- OVER_FINISH_QTY : 0,
- UNFINISH_QTY : 0,
- FINISH_RATE : 0+"%",
- NORMAL_FINISH_RATE : 0+"%",
- },{
- MOUDLE_NAME : "绩效测量与评价",
- TOTAL_QTY :0,
- FINISH_QTY : 0,
- OVER_FINISH_QTY : 0,
- UNFINISH_QTY : 0,
- FINISH_RATE : 0+"%",
- NORMAL_FINISH_RATE : 0+"%",
- },{
- MOUDLE_NAME : "生产工艺管理",
- TOTAL_QTY :0,
- FINISH_QTY : 0,
- OVER_FINISH_QTY : 0,
- UNFINISH_QTY : 0,
- FINISH_RATE : 0+"%",
- NORMAL_FINISH_RATE : 0+"%",
- },{
- MOUDLE_NAME : "事故事件",
- TOTAL_QTY :0,
- FINISH_QTY : 0,
- OVER_FINISH_QTY : 0,
- UNFINISH_QTY : 0,
- FINISH_RATE : 0+"%",
- NORMAL_FINISH_RATE : 0+"%",
- },{
- MOUDLE_NAME : "安全生产组织保障",
- TOTAL_QTY :0,
- FINISH_QTY : 0,
- OVER_FINISH_QTY : 0,
- UNFINISH_QTY : 0,
- FINISH_RATE : 0+"%",
- NORMAL_FINISH_RATE : 0+"%",
- },{
- MOUDLE_NAME : "安全投入、科技与工伤",
- TOTAL_QTY :0,
- FINISH_QTY : 0,
- OVER_FINISH_QTY : 0,
- UNFINISH_QTY : 0,
- FINISH_RATE : 0+"%",
- NORMAL_FINISH_RATE : 0+"%",
- },
- {
- MOUDLE_NAME : "职业卫生",
- TOTAL_QTY :0,
- FINISH_QTY : 0,
- OVER_FINISH_QTY : 0,
- UNFINISH_QTY : 0,
- FINISH_RATE : 0+"%",
- NORMAL_FINISH_RATE : 0+"%",
- },
- {
- MOUDLE_NAME : "应急管理",
- TOTAL_QTY :0,
- FINISH_QTY : 0,
- OVER_FINISH_QTY : 0,
- UNFINISH_QTY : 0,
- FINISH_RATE : 0+"%",
- NORMAL_FINISH_RATE : 0+"%",
- },
- {
- MOUDLE_NAME : "机电安全管理",
- TOTAL_QTY :0,
- FINISH_QTY : 0,
- OVER_FINISH_QTY : 0,
- UNFINISH_QTY : 0,
- FINISH_RATE : 0+"%",
- NORMAL_FINISH_RATE : 0+"%",
- },
- {
- MOUDLE_NAME : "会议管理",
- TOTAL_QTY :0,
- FINISH_QTY : 0,
- OVER_FINISH_QTY : 0,
- UNFINISH_QTY : 0,
- FINISH_RATE : 0+"%",
- NORMAL_FINISH_RATE : 0+"%",
- },
- {
- MOUDLE_NAME : "标准化创建",
- TOTAL_QTY :0,
- FINISH_QTY : 0,
- OVER_FINISH_QTY : 0,
- UNFINISH_QTY : 0,
- FINISH_RATE : 0+"%",
- NORMAL_FINISH_RATE : 0+"%",
- },
- ]
- var orgId = this.props.login ? this.props.login.OrgId : '';
- let json = initFilter(orgId);
- extendRule(json, 'TYPE', 1, this.state.timeType);
+ };
+ getMould = () => {
+ let allData = [
+ {
+ MOUDLE_NAME: "风险管理",
+ TOTAL_QTY: 0,
+ FINISH_QTY: 0,
+ OVER_FINISH_QTY: 0,
+ UNFINISH_QTY: 0,
+ FINISH_RATE: 0 + "%",
+ NORMAL_FINISH_RATE: 0 + "%",
+ },
+ {
+ MOUDLE_NAME: "安全检查",
+ TOTAL_QTY: 0,
+ FINISH_QTY: 0,
+ OVER_FINISH_QTY: 0,
+ UNFINISH_QTY: 0,
+ FINISH_RATE: 0 + "%",
+ NORMAL_FINISH_RATE: 0 + "%",
+ },
+ {
+ MOUDLE_NAME: "作业现场管理",
+ TOTAL_QTY: 0,
+ FINISH_QTY: 0,
+ OVER_FINISH_QTY: 0,
+ UNFINISH_QTY: 0,
+ FINISH_RATE: 0 + "%",
+ NORMAL_FINISH_RATE: 0 + "%",
+ },
+ {
+ MOUDLE_NAME: "法律法规与其他要求",
+ TOTAL_QTY: 0,
+ FINISH_QTY: 0,
+ OVER_FINISH_QTY: 0,
+ UNFINISH_QTY: 0,
+ FINISH_RATE: 0 + "%",
+ NORMAL_FINISH_RATE: 0 + "%",
+ },
+ {
+ MOUDLE_NAME: "安全教育培训",
+ TOTAL_QTY: 0,
+ FINISH_QTY: 0,
+ OVER_FINISH_QTY: 0,
+ UNFINISH_QTY: 0,
+ FINISH_RATE: 0 + "%",
+ NORMAL_FINISH_RATE: 0 + "%",
+ },
+ {
+ MOUDLE_NAME: "方针与目标管理",
+ TOTAL_QTY: 0,
+ FINISH_QTY: 0,
+ OVER_FINISH_QTY: 0,
+ UNFINISH_QTY: 0,
+ FINISH_RATE: 0 + "%",
+ NORMAL_FINISH_RATE: 0 + "%",
+ },
+ {
+ MOUDLE_NAME: "绩效测量与评价",
+ TOTAL_QTY: 0,
+ FINISH_QTY: 0,
+ OVER_FINISH_QTY: 0,
+ UNFINISH_QTY: 0,
+ FINISH_RATE: 0 + "%",
+ NORMAL_FINISH_RATE: 0 + "%",
+ },
+ {
+ MOUDLE_NAME: "生产工艺管理",
+ TOTAL_QTY: 0,
+ FINISH_QTY: 0,
+ OVER_FINISH_QTY: 0,
+ UNFINISH_QTY: 0,
+ FINISH_RATE: 0 + "%",
+ NORMAL_FINISH_RATE: 0 + "%",
+ },
+ {
+ MOUDLE_NAME: "事故事件",
+ TOTAL_QTY: 0,
+ FINISH_QTY: 0,
+ OVER_FINISH_QTY: 0,
+ UNFINISH_QTY: 0,
+ FINISH_RATE: 0 + "%",
+ NORMAL_FINISH_RATE: 0 + "%",
+ },
+ {
+ MOUDLE_NAME: "安全生产组织保障",
+ TOTAL_QTY: 0,
+ FINISH_QTY: 0,
+ OVER_FINISH_QTY: 0,
+ UNFINISH_QTY: 0,
+ FINISH_RATE: 0 + "%",
+ NORMAL_FINISH_RATE: 0 + "%",
+ },
+ {
+ MOUDLE_NAME: "安全投入、科技与工伤",
+ TOTAL_QTY: 0,
+ FINISH_QTY: 0,
+ OVER_FINISH_QTY: 0,
+ UNFINISH_QTY: 0,
+ FINISH_RATE: 0 + "%",
+ NORMAL_FINISH_RATE: 0 + "%",
+ },
+ {
+ MOUDLE_NAME: "职业卫生",
+ TOTAL_QTY: 0,
+ FINISH_QTY: 0,
+ OVER_FINISH_QTY: 0,
+ UNFINISH_QTY: 0,
+ FINISH_RATE: 0 + "%",
+ NORMAL_FINISH_RATE: 0 + "%",
+ },
+ {
+ MOUDLE_NAME: "应急管理",
+ TOTAL_QTY: 0,
+ FINISH_QTY: 0,
+ OVER_FINISH_QTY: 0,
+ UNFINISH_QTY: 0,
+ FINISH_RATE: 0 + "%",
+ NORMAL_FINISH_RATE: 0 + "%",
+ },
+ {
+ MOUDLE_NAME: "机电安全管理",
+ TOTAL_QTY: 0,
+ FINISH_QTY: 0,
+ OVER_FINISH_QTY: 0,
+ UNFINISH_QTY: 0,
+ FINISH_RATE: 0 + "%",
+ NORMAL_FINISH_RATE: 0 + "%",
+ },
+ {
+ MOUDLE_NAME: "会议管理",
+ TOTAL_QTY: 0,
+ FINISH_QTY: 0,
+ OVER_FINISH_QTY: 0,
+ UNFINISH_QTY: 0,
+ FINISH_RATE: 0 + "%",
+ NORMAL_FINISH_RATE: 0 + "%",
+ },
+ {
+ MOUDLE_NAME: "标准化创建",
+ TOTAL_QTY: 0,
+ FINISH_QTY: 0,
+ OVER_FINISH_QTY: 0,
+ UNFINISH_QTY: 0,
+ FINISH_RATE: 0 + "%",
+ NORMAL_FINISH_RATE: 0 + "%",
+ },
+ ];
+ var orgId = this.props.login ? this.props.login.OrgId : "";
+ let startTime = this.state.selectStartTime.format("YYYY-MM-DD 00:00:00");
+ let endTime = this.state.selectEndTime.format("YYYY-MM-DD 23:59:59");
+ let json = initFilter(orgId, "", "", "", "", startTime, endTime);
extendOrder(json, "NUM", 0);
- this.props.dispatch({
- type: 'app/getDataByPost',
- payload: json,
- url: 'BI/MouldRunSummary/OrderEntities',
- onComplete: (ret) => {
- if (ret) {
- let temp=[];
- allData.forEach(t=>{
- let group=ret.filter(m=>m.MOUDLE_NAME === t.MOUDLE_NAME)
- if(group.length>0)
- {
- t.TOTAL_QTY = group[0].TOTAL_QTY;
- t.FINISH_QTY = group[0].FINISH_QTY;
- t.OVER_FINISH_QTY = group[0].OVER_FINISH_QTY;
- t.UNFINISH_QTY = group[0].UNFINISH_QTY;
- t.FINISH_RATE = group[0].FINISH_RATE+"%";
- t.NORMAL_FINISH_RATE =group[0].NORMAL_FINISH_RATE+"%";
- }
- temp.push(t);
- })
- this.setState({
- detailData:temp
- })
- }
+ this.props.dispatch({
+ type: "app/getDataByPost",
+ payload: json,
+ url: "BI/BIStatiscialAnalysisController/GetDepartMouldInfos",
+ onComplete: (ret) => {
+ if (ret) {
+ if (ret.mouldData) {
+ let temp = [];
+ allData.forEach((t) => {
+ let group = ret.mouldData.filter(
+ (m) => m.MOUDLE_NAME === t.MOUDLE_NAME
+ );
+ if (group.length > 0) {
+ t.TOTAL_QTY = group[0].TOTAL_QTY;
+ t.FINISH_QTY = group[0].FINISH_QTY;
+ t.OVER_FINISH_QTY = group[0].OVER_FINISH_QTY;
+ t.UNFINISH_QTY = group[0].UNFINISH_QTY;
+ t.FINISH_RATE = group[0].FINISH_RATE + "%";
+ t.NORMAL_FINISH_RATE = group[0].NORMAL_FINISH_RATE + "%";
}
- })
- }
- getDepartment=()=>{
- var orgId = this.props.login ? this.props.login.OrgId : '';
- const jsonTemp = initFilter(orgId)
+ temp.push(t);
+ });
+ this.setState({
+ detailData: temp,
+ });
+ }
+ if (ret.departData) {
+ this.getDepartment(ret.departData);
+ }
+ }
+ },
+ });
+ };
+ getDepartment = (departData) => {
+ var orgId = this.props.login ? this.props.login.OrgId : "";
+ const jsonTemp = initFilter(orgId);
extendRule(jsonTemp, "DEPARTMENT_TYPE", 1, 0);
this.props.dispatch({
- type: 'app/getDataByPost',
+ type: "app/getDataByPost",
payload: jsonTemp,
- url: 'FM/Department/OrderEntities',
+ url: "FM/Department/OrderEntities",
onComplete: (retDepart) => {
- if (retDepart) {
- let tempDepart=[];
- retDepart.forEach(t=>{
- let tempNow={
- DEPARTMENT_ID:t.ID,
- DEPARTMENT_NAME:t.NAME,
- TOTAL_QTY:0,
- FINISH_QTY:0,
- OVER_FINISH_QTY:0,
- UNFINISH_QTY:0,
- FINISH_RATE:"0%",
- NORMAL_FINISH_RATE:"0%"};
- tempDepart.push(tempNow);
- })
-
- let json = initFilter(orgId);
- extendRule(json, 'TYPE', 1, this.state.timeType);
- extendRule(json, 'DEPARTMENT_TYPE', 1, 0);
- this.props.dispatch({
- type: 'app/getDataByPost',
- payload: json,
- url: 'BI/SystemRunSummary/OrderEntities',
- onComplete: (ret) => {
- if (ret) {
- let temp=[];
- if(ret)
- {
- let t1 = 0;
- let t2 = 0;
- let t3 = 0;
- let t4 = 0;
- tempDepart.forEach(t=>{
- let group=ret.filter(m=>m.DEPARTMENT_ID === t.DEPARTMENT_ID)
- if(group.length>0)
- {
- t.TOTAL_QTY = group[0].TOTAL_QTY;
- t.FINISH_QTY = group[0].FINISH_QTY;
- t.OVER_FINISH_QTY = group[0].OVER_FINISH_QTY;
- t.UNFINISH_QTY = group[0].UNFINISH_QTY;
- t.FINISH_RATE = group[0].FINISH_RATE+"%";
- t.NORMAL_FINISH_RATE =group[0].NORMAL_FINISH_RATE+"%";
- t1 = t1 + group[0].TOTAL_QTY;
- t2 = t2 + group[0].FINISH_QTY;
- t3 = t3 + group[0].OVER_FINISH_QTY;
- t4 = t4 + group[0].UNFINISH_QTY;
- }
- temp.push(t);
- })
- let t5 = t1===0?"0%": ((t2+t3)/t1 *100).toFixed(0)+"%";
- let t6 = t1===0?"0%":(t2/t1 *100).toFixed(0)+"%";
- this.setState({
- retData:temp,
- totalCount:t1,
- finishCount:t2,
- overtimeCount:t3,
- unfinishCount:t4,
- rate:t5,
- normalRate:t6,
- })
- // ret.groupData.forEach(t=>{
- // t.unDoneCount = t.TotalCount-t.doneCount -t.timeOverCount;
- // t.allDoneRate = ((t.doneCount +t.timeOverCount)/t.TotalCount*100).toFixed(0)+"%";
- // t.doneRate = (t.doneCount/t.TotalCount*100).toFixed(0)+"%";
- // temp.push(t);
- // })
- }
-
- }
+ if (retDepart) {
+ let tempDepart = [];
+ retDepart.forEach((t) => {
+ let tempNow = {
+ DEPARTMENT_ID: t.ID,
+ DEPARTMENT_NAME: t.NAME,
+ TOTAL_QTY: 0,
+ FINISH_QTY: 0,
+ OVER_FINISH_QTY: 0,
+ UNFINISH_QTY: 0,
+ FINISH_RATE: "0%",
+ NORMAL_FINISH_RATE: "0%",
+ };
+ tempDepart.push(tempNow);
+ });
+ if (departData) {
+ let temp = [];
+ let t1 = 0;
+ let t2 = 0;
+ let t3 = 0;
+ let t4 = 0;
+ tempDepart.forEach((t) => {
+ let group = departData.filter(
+ (m) => m.DEPARTMENT_ID === t.DEPARTMENT_ID
+ );
+ if (group.length > 0) {
+ t.TOTAL_QTY = group[0].TOTAL_QTY;
+ t.FINISH_QTY = group[0].FINISH_QTY;
+ t.OVER_FINISH_QTY = group[0].OVER_FINISH_QTY;
+ t.UNFINISH_QTY = group[0].UNFINISH_QTY;
+ t.FINISH_RATE = group[0].FINISH_RATE + "%";
+ t.NORMAL_FINISH_RATE = group[0].NORMAL_FINISH_RATE + "%";
+ t1 = t1 + group[0].TOTAL_QTY;
+ t2 = t2 + group[0].FINISH_QTY;
+ t3 = t3 + group[0].OVER_FINISH_QTY;
+ t4 = t4 + group[0].UNFINISH_QTY;
}
- })
+ temp.push(t);
+ });
+ let t5 =
+ t1 === 0 ? "0%" : (((t2 + t3) / t1) * 100).toFixed(0) + "%";
+ let t6 = t1 === 0 ? "0%" : ((t2 / t1) * 100).toFixed(0) + "%";
+ this.setState({
+ retData: temp,
+ totalCount: t1,
+ finishCount: t2,
+ overtimeCount: t3,
+ unfinishCount: t4,
+ rate: t5,
+ normalRate: t6,
+ });
}
- }
- })
- }
- closeModal = () => { // 退出弹窗
+ }
+ },
+ });
+ };
+ startChange = (value) => {
+ this.setState({
+ selectStartTime: value,
+ startTime: value.format("YYYYMMDD"),
+ });
+ };
+ endChange = (value) => {
+ this.setState({
+ selectEndTime: value,
+ endTime: value.format("YYYYMMDD"),
+ });
+ };
+ closeModal = () => {
+ // 退出弹窗
this.clearData();
- }
+ };
clearData = () => {
- let newtmpData = { ...this.state.tmpData }
- newtmpData["data"].id = '';
+ let newtmpData = { ...this.state.tmpData };
+ newtmpData["data"].id = "";
newtmpData["data"].homeReload = false;
- newtmpData.formCode = '';
+ newtmpData.formCode = "";
this.setState({
visible: false,
tmpData: newtmpData,
- })
- }
- handleCancel = () => { // 退出弹窗
+ });
+ };
+ handleCancel = () => {
+ // 退出弹窗
this.clearData();
- }
+ };
render() {
- const { startTime, endTime,finishCount,overtimeCount,totalCount,unfinishCount,
- weekColor,monthColor,threeMonthColor,sixMonthColor,yearColor,
- } = this.state;
- let allFinishRate=totalCount ===0?0:((finishCount+overtimeCount)/totalCount * 100).toFixed(0);
- let finishRate=totalCount ===0?0:(finishCount/totalCount * 100).toFixed(0);
- return