加页面
This commit is contained in:
		
							parent
							
								
									ada4b55b38
								
							
						
					
					
						commit
						20840bcaaf
					
				
							
								
								
									
										345
									
								
								src/components/CustomPages/BI/BI030FormRunAnalysis.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										345
									
								
								src/components/CustomPages/BI/BI030FormRunAnalysis.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,345 @@
 | 
				
			|||||||
 | 
					import React, { useState, useEffect, useRef, Component } from 'react'
 | 
				
			||||||
 | 
					import { connect } from 'dva'
 | 
				
			||||||
 | 
					import { initFilter, addRuleAndGroups, guid, extendInclude, extendRule, extendOrder, extend } from "../../../utils/common"
 | 
				
			||||||
 | 
					import { Table, Row, Col, Button, Select,DatePicker ,Form,Spin,message,Modal} from 'antd';
 | 
				
			||||||
 | 
					import echarts from 'echarts';
 | 
				
			||||||
 | 
					import moment from 'moment'
 | 
				
			||||||
 | 
					import FormPage from '../../../components/FormPage'
 | 
				
			||||||
 | 
					import { IFComponent } from '@woowalker/feui';
 | 
				
			||||||
 | 
					import DropDownPagination from '../../common/DropDownPaginationEx'
 | 
				
			||||||
 | 
					import XLSX from 'xlsx';
 | 
				
			||||||
 | 
					const { Option } = Select;
 | 
				
			||||||
 | 
					class BI030FormRunAnalysis extends React.Component {
 | 
				
			||||||
 | 
					  constructor(props) {
 | 
				
			||||||
 | 
					    super(props);
 | 
				
			||||||
 | 
					    this.state = {
 | 
				
			||||||
 | 
					      startTime:moment(this.getDate(), 'YYYY-MM-DD 00:00:00'),//moment(new Date()).add(-1, "month").format('YYYY-MM-DD 00:00:00'),
 | 
				
			||||||
 | 
					      endTime:moment(this.getEndDate(), 'YYYY-MM-DD 23:59:59'),
 | 
				
			||||||
 | 
					      mouldSelect:'',
 | 
				
			||||||
 | 
					      visible:false,
 | 
				
			||||||
 | 
					      pagination: {},
 | 
				
			||||||
 | 
					      tmpData:[],
 | 
				
			||||||
 | 
					      departData:[],
 | 
				
			||||||
 | 
					      retData:[],
 | 
				
			||||||
 | 
					      columns:[
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            width: "100px",
 | 
				
			||||||
 | 
					            title: '组织',
 | 
				
			||||||
 | 
					            dataIndex: 'MOUDLE_NAME',
 | 
				
			||||||
 | 
					            key: 'MOUDLE_NAME',
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            width: "80px",
 | 
				
			||||||
 | 
					            title: '总任务数',
 | 
				
			||||||
 | 
					            dataIndex: 'TOTAL_QTY',
 | 
				
			||||||
 | 
					            key: 'TOTAL_QTY',
 | 
				
			||||||
 | 
					            render: (text, record) => (
 | 
				
			||||||
 | 
					              <span>
 | 
				
			||||||
 | 
					                <a onClick={() => this.showEditModal(record,'')}>{record.TOTAL_QTY}</a>
 | 
				
			||||||
 | 
					              </span>
 | 
				
			||||||
 | 
					            ),
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            width: "80px",
 | 
				
			||||||
 | 
					            title: '正常已办',
 | 
				
			||||||
 | 
					            dataIndex: 'FINISH_QTY',
 | 
				
			||||||
 | 
					            key: 'FINISH_QTY',
 | 
				
			||||||
 | 
					            render: (text, record) => (
 | 
				
			||||||
 | 
					              <span>
 | 
				
			||||||
 | 
					                <a onClick={() => this.showEditModal(record,1)}>{record.FINISH_QTY}</a>
 | 
				
			||||||
 | 
					              </span>
 | 
				
			||||||
 | 
					            ),
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            width: "80px",
 | 
				
			||||||
 | 
					            title: '超时已办',
 | 
				
			||||||
 | 
					            dataIndex: 'OVER_FINISH_QTY',
 | 
				
			||||||
 | 
					            key: 'OVER_FINISH_QTY',
 | 
				
			||||||
 | 
					            render: (text, record) => (
 | 
				
			||||||
 | 
					              <span>
 | 
				
			||||||
 | 
					                <a onClick={() => this.showEditModal(record,2)}>{record.OVER_FINISH_QTY}</a>
 | 
				
			||||||
 | 
					              </span>
 | 
				
			||||||
 | 
					            ),
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            width: "80px",
 | 
				
			||||||
 | 
					            title: '未完成',
 | 
				
			||||||
 | 
					            dataIndex: 'UNFINISH_QTY',
 | 
				
			||||||
 | 
					            key: 'UNFINISH_QTY',
 | 
				
			||||||
 | 
					            render: (text, record) => (
 | 
				
			||||||
 | 
					              <span>
 | 
				
			||||||
 | 
					                <a onClick={() => this.showEditModal(record,0)}>{record.UNFINISH_QTY}</a>
 | 
				
			||||||
 | 
					              </span>
 | 
				
			||||||
 | 
					            ),
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            width: "80px",
 | 
				
			||||||
 | 
					              title: '完成率',
 | 
				
			||||||
 | 
					              dataIndex: 'FINISH_RATE',
 | 
				
			||||||
 | 
					              key: 'FINISH_RATE',
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              width: "80px",
 | 
				
			||||||
 | 
					            title: '及时完成率',
 | 
				
			||||||
 | 
					            dataIndex: 'NORMAL_FINISH_RATE',
 | 
				
			||||||
 | 
					            key: 'NORMAL_FINISH_RATE',
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                width: "100px",
 | 
				
			||||||
 | 
					              title: '质量分析(班前会)',
 | 
				
			||||||
 | 
					              dataIndex: 'REMARK',
 | 
				
			||||||
 | 
					              key: 'REMARK',
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					  handleCancel = () => { // 退出弹窗
 | 
				
			||||||
 | 
					    let newtmpData = { ...this.state.tmpData }
 | 
				
			||||||
 | 
					    newtmpData["data"]= '';
 | 
				
			||||||
 | 
					    newtmpData.formCode = '';
 | 
				
			||||||
 | 
					    this.setState({
 | 
				
			||||||
 | 
					      visible:false,
 | 
				
			||||||
 | 
					      tmpData: [],//newtmpData
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  showEditModal = (record,temp) => {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    const newtmpData = {
 | 
				
			||||||
 | 
					      data: {
 | 
				
			||||||
 | 
					        MOUDLE_NAME: record.MOUDLE_NAME,
 | 
				
			||||||
 | 
					        FORM_NAME: temp,
 | 
				
			||||||
 | 
					        startTime:moment(this.state.startTime).format('YYYY-MM-DD HH:mm:ss'),
 | 
				
			||||||
 | 
					        endTime:moment(this.state.endTime).format('YYYY-MM-DD HH:mm:ss'), onCancel: this.handleCancel,  noticeTitle: "任务明细", 
 | 
				
			||||||
 | 
					        homeReload: true
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      formCode: 'PF139',
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    this.setState({
 | 
				
			||||||
 | 
					      noticeTitle: "任务明细",
 | 
				
			||||||
 | 
					      tmpData: newtmpData,
 | 
				
			||||||
 | 
					      currActivatedMenu: ''
 | 
				
			||||||
 | 
					    }, () => this.setState({
 | 
				
			||||||
 | 
					      visible: true
 | 
				
			||||||
 | 
					    }));
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  componentDidMount() {
 | 
				
			||||||
 | 
					    this.getBaseInfoData();
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					  //获取数据
 | 
				
			||||||
 | 
					  getBaseInfoData = () => {
 | 
				
			||||||
 | 
					    let retDataTemp=[]
 | 
				
			||||||
 | 
					    const{retData,startTime,endTime}=this.state
 | 
				
			||||||
 | 
					    let time=startTime
 | 
				
			||||||
 | 
					    if(startTime === null)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      message.error('请选择开始时间');
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    let time2=endTime
 | 
				
			||||||
 | 
					    if(endTime === null)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      message.error('请选择结束时间');
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      time=moment(startTime).format('YYYY-MM-DD HH:mm:ss')
 | 
				
			||||||
 | 
					      time2=moment(endTime).format('YYYY-MM-DD HH:mm:ss')
 | 
				
			||||||
 | 
					      const json = initFilter(this.props.login.OrgId,this.state.mouldSelect,'','','',time,time2,this.state.mouldSelect)
 | 
				
			||||||
 | 
					      //extendOrder(json, "NUM", 0);
 | 
				
			||||||
 | 
					      this.props.dispatch({
 | 
				
			||||||
 | 
					        type: 'app/getDataByPost',
 | 
				
			||||||
 | 
					        url: 'BI/BIStatiscialAnalysisController/GetFormRunDay',//BI/FormRunAnalysis/OrderEntities
 | 
				
			||||||
 | 
					        payload: json,
 | 
				
			||||||
 | 
					        onlyData: false,
 | 
				
			||||||
 | 
					        onComplete: (ret) => {
 | 
				
			||||||
 | 
					          if(ret && ret.Data)
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					           
 | 
				
			||||||
 | 
					            this.setState({retData :ret.Data})
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      })
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					   
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					  startChange=(value)=>{
 | 
				
			||||||
 | 
					    this.setState({
 | 
				
			||||||
 | 
					      startTime:value
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					  endChange=(value)=>{
 | 
				
			||||||
 | 
					    this.setState({
 | 
				
			||||||
 | 
					      endTime:value
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					  handleChange=(value)=>{
 | 
				
			||||||
 | 
					    this.setState({
 | 
				
			||||||
 | 
					      mouldSelect: value
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  onSelectDepartment=(departData,record)=>{
 | 
				
			||||||
 | 
					    if (departData && departData.data && departData.data.length > 0) {
 | 
				
			||||||
 | 
					      this.setState({
 | 
				
			||||||
 | 
					        departData: {
 | 
				
			||||||
 | 
					          ...this.state.departData,
 | 
				
			||||||
 | 
					          // DEPARTMENT_ID: departData.data[0],
 | 
				
			||||||
 | 
					          Nav_Department: { NAME: departData.record.NAME }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        DEPARTMENT_ID: departData.data[0],
 | 
				
			||||||
 | 
					      })
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    else {
 | 
				
			||||||
 | 
					      this.setState({
 | 
				
			||||||
 | 
					        departData: {
 | 
				
			||||||
 | 
					          ...this.state.departData,
 | 
				
			||||||
 | 
					          Nav_Department: { NAME: null },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        DEPARTMENT_ID: null,
 | 
				
			||||||
 | 
					      })
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  getDate=()=>{
 | 
				
			||||||
 | 
					    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, "day").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).add(-1, "day").add(23,'hour').add(59,'m').add(59,'s')//format('YYYY-MM-DD 23:59:59')
 | 
				
			||||||
 | 
					      return pastDate;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					onTableBtnExport() {
 | 
				
			||||||
 | 
					  console.log(this.state.retData)
 | 
				
			||||||
 | 
					  if (this.state.retData.length == 0) {
 | 
				
			||||||
 | 
					    message.warning("没有数据无需导出!");
 | 
				
			||||||
 | 
					    return;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					      //excel的表头
 | 
				
			||||||
 | 
					      const tHeader = ["模块","总任务数","正常已办","超时已办","未完成","完成率","及时完成率","质量分析(班前会)"];
 | 
				
			||||||
 | 
					      // 字段和table表格中对应
 | 
				
			||||||
 | 
					      const fitlerVal = ["MOUDLE_NAME","TOTAL_QTY","FINISH_QTY","OVER_FINISH_QTY","UNFINISH_QTY","FINISH_RATE","NORMAL_FINISH_RATE","REMARK"];
 | 
				
			||||||
 | 
					      const res = this.state.retData.map((v) => fitlerVal.map((j) => v[j]));
 | 
				
			||||||
 | 
					      // const jsonWorkSheet = XLSX.utils.json_to_sheet(tHeader,res,"矿山安全生产标准化系统运行情况报表.xlsx");
 | 
				
			||||||
 | 
					      const jsonWorkSheet = XLSX.utils.json_to_sheet(res,tHeader);
 | 
				
			||||||
 | 
					      jsonWorkSheet.A1.v='组织';
 | 
				
			||||||
 | 
					      jsonWorkSheet.B1.v='总任务数';
 | 
				
			||||||
 | 
					      jsonWorkSheet.C1.v='正常已办';
 | 
				
			||||||
 | 
					      jsonWorkSheet.D1.v='超时已办';
 | 
				
			||||||
 | 
					      jsonWorkSheet.E1.v='未完成';
 | 
				
			||||||
 | 
					      jsonWorkSheet.F1.v='完成率';
 | 
				
			||||||
 | 
					      jsonWorkSheet.G1.v='及时完成率';
 | 
				
			||||||
 | 
					      jsonWorkSheet.H1.v='质量分析(班前会)';
 | 
				
			||||||
 | 
					      const sheetName = "矿山安全生产标准化系统运行情况报表";
 | 
				
			||||||
 | 
					      const workBook = {
 | 
				
			||||||
 | 
					        SheetNames: [sheetName],
 | 
				
			||||||
 | 
					        Sheets: {
 | 
				
			||||||
 | 
					          [sheetName]: jsonWorkSheet,
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					      //  const workBook = XLSX.utils.table_to_book("矿山安全生产标准化系统运行情况报表",jsonWorkSheet);
 | 
				
			||||||
 | 
					      return XLSX.writeFile(workBook, "矿山安全生产标准化系统运行情况报表.xlsx");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  render() {
 | 
				
			||||||
 | 
					    const formItemLayout = {
 | 
				
			||||||
 | 
					      labelCol: { span: 6 },
 | 
				
			||||||
 | 
					      wrapperCol: { span: 18 },
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    const {loading} = this.props;
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    return (
 | 
				
			||||||
 | 
					      <div>
 | 
				
			||||||
 | 
					        <Modal
 | 
				
			||||||
 | 
					            visible={this.state.visible}
 | 
				
			||||||
 | 
					            title={this.state.noticeTitle}
 | 
				
			||||||
 | 
					            maskClosable={false}
 | 
				
			||||||
 | 
					            onCancel={this.handleCancel}
 | 
				
			||||||
 | 
					            footer={null}
 | 
				
			||||||
 | 
					            className='antd-modal-fullscreen'
 | 
				
			||||||
 | 
					            closeModal={this.closeModal}
 | 
				
			||||||
 | 
					          // forceRender={true}
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
 | 
					            <FormPage {...this.state.tmpData} />
 | 
				
			||||||
 | 
					          </Modal>
 | 
				
			||||||
 | 
					        <Spin spinning={loading.global}>
 | 
				
			||||||
 | 
					        <h1 style={{ textAlign: "center" }}>矿山安全生产标准化系统运行情况报表</h1>
 | 
				
			||||||
 | 
					        <Row style={{width:"1250px",margin:"auto"}}>
 | 
				
			||||||
 | 
					        <Col span={5}>
 | 
				
			||||||
 | 
					          <Form.Item
 | 
				
			||||||
 | 
					                  label={'组织层级:'}
 | 
				
			||||||
 | 
					                  {...formItemLayout}
 | 
				
			||||||
 | 
					                >
 | 
				
			||||||
 | 
					                   <Select 
 | 
				
			||||||
 | 
					                    // defaultValue="风险管理"
 | 
				
			||||||
 | 
					                    style={{width:'180px'}}
 | 
				
			||||||
 | 
					                    onChange={this.handleChange}
 | 
				
			||||||
 | 
					                    >
 | 
				
			||||||
 | 
					                        <Option value="2">班组级</Option>
 | 
				
			||||||
 | 
					      <Option value="1">车间级</Option>
 | 
				
			||||||
 | 
					      <Option value="0">部门级</Option>
 | 
				
			||||||
 | 
					      <Option value="3">公司级</Option>
 | 
				
			||||||
 | 
					                    </Select>
 | 
				
			||||||
 | 
					                </Form.Item>
 | 
				
			||||||
 | 
					           </Col>
 | 
				
			||||||
 | 
					          <Col span={5} style={{ marginLeft: "10px" }}> 
 | 
				
			||||||
 | 
					          <Form.Item
 | 
				
			||||||
 | 
					                  label={'开始时间:'}
 | 
				
			||||||
 | 
					                  {...formItemLayout}
 | 
				
			||||||
 | 
					                >
 | 
				
			||||||
 | 
					                   <DatePicker showTime 
 | 
				
			||||||
 | 
					                  //  defaultValue={moment(this.state.startTime, 'YYYY-MM-DD 00:00:00')}
 | 
				
			||||||
 | 
					                   value={this.state.startTime} 
 | 
				
			||||||
 | 
					                   format="YYYY-MM-DD HH:mm:ss"  onChange={this.startChange}/>
 | 
				
			||||||
 | 
					                </Form.Item>
 | 
				
			||||||
 | 
					               
 | 
				
			||||||
 | 
					          </Col>
 | 
				
			||||||
 | 
					         
 | 
				
			||||||
 | 
					          <Col span={5} style={{ marginLeft: "10px" }}>
 | 
				
			||||||
 | 
					          <Form.Item
 | 
				
			||||||
 | 
					                  label={'结束时间:'}
 | 
				
			||||||
 | 
					                  {...formItemLayout}
 | 
				
			||||||
 | 
					                >
 | 
				
			||||||
 | 
					                   <DatePicker showTime 
 | 
				
			||||||
 | 
					                    // defaultValue={moment(this.state.endTime, 'YYYY-MM-DD 23:59:59')}
 | 
				
			||||||
 | 
					                   value={this.state.endTime}
 | 
				
			||||||
 | 
					                   format="YYYY-MM-DD HH:mm:ss"  onChange={this.endChange}/>
 | 
				
			||||||
 | 
					                </Form.Item>
 | 
				
			||||||
 | 
					           </Col>
 | 
				
			||||||
 | 
					          <Col span={1} style={{ marginLeft: "20px" }}><Button type='primary' onClick={() => this.getBaseInfoData()}>查询</Button></Col>
 | 
				
			||||||
 | 
					          <Col span={1} style={{ marginLeft: "20px" }}><Button icon="export" onClick={() => this.onTableBtnExport()}>导出</Button></Col>
 | 
				
			||||||
 | 
					        </Row>
 | 
				
			||||||
 | 
					        <Row style={{ marginTop: "14px" }}>
 | 
				
			||||||
 | 
					          <div id="exportToExcel">
 | 
				
			||||||
 | 
					          <Table style={{ width:"1250px",margin:"auto",alignContent:"center",backgroundColor:"white"}}
 | 
				
			||||||
 | 
					                dataSource={this.state.retData}
 | 
				
			||||||
 | 
					                columns={this.state.columns}
 | 
				
			||||||
 | 
					                pagination={false}
 | 
				
			||||||
 | 
					                bordered
 | 
				
			||||||
 | 
					                loading={this.state.showLoading}
 | 
				
			||||||
 | 
					                size="small"
 | 
				
			||||||
 | 
					                rowKey="2"
 | 
				
			||||||
 | 
					              />
 | 
				
			||||||
 | 
					          </div>
 | 
				
			||||||
 | 
					              
 | 
				
			||||||
 | 
					        </Row>
 | 
				
			||||||
 | 
					        {/* <Row>
 | 
				
			||||||
 | 
					        <h5 style={{ textAlign: "center" }}>数据统计截止到{this.state.modifyTime}</h5>
 | 
				
			||||||
 | 
					        </Row> */}
 | 
				
			||||||
 | 
					        </Spin>
 | 
				
			||||||
 | 
					      </div>
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					export default connect(({ login, app,loading }) => ({ login, app,loading }))(BI030FormRunAnalysis)
 | 
				
			||||||
							
								
								
									
										144
									
								
								src/components/CustomPages/PF/PF139FormRunAnalysis.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										144
									
								
								src/components/CustomPages/PF/PF139FormRunAnalysis.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,144 @@
 | 
				
			|||||||
 | 
					import { message } from "antd/lib/index";
 | 
				
			||||||
 | 
					import { Layout,Descriptions, Tabs, Steps, Button, Popconfirm, Row, Col, Form, Input, Select, Table, Drawer ,Icon} from 'antd';
 | 
				
			||||||
 | 
					import React from 'react';
 | 
				
			||||||
 | 
					import { PlusOutlined } from '@ant-design/icons';
 | 
				
			||||||
 | 
					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 moment from 'moment';
 | 
				
			||||||
 | 
					const { Header, Footer, Sider, Content } = Layout;
 | 
				
			||||||
 | 
					const TabPane = Tabs.TabPane;
 | 
				
			||||||
 | 
					const { TextArea } = Input;
 | 
				
			||||||
 | 
					const { Step } = Steps;
 | 
				
			||||||
 | 
					import {
 | 
				
			||||||
 | 
					    extend,
 | 
				
			||||||
 | 
					    extendRule,
 | 
				
			||||||
 | 
					    initFilter,
 | 
				
			||||||
 | 
					    initQueryFilter,
 | 
				
			||||||
 | 
					    getOnlyPropertyData,
 | 
				
			||||||
 | 
					    extendInclude,
 | 
				
			||||||
 | 
					    empty,
 | 
				
			||||||
 | 
					    getDataFieldValue, guid, initFilterGroup, extendGroupRule
 | 
				
			||||||
 | 
					} from "../../../utils/common";
 | 
				
			||||||
 | 
					import FormPage from '../../FormPage'
 | 
				
			||||||
 | 
					class PF139FormRunAnalysis extends React.Component {
 | 
				
			||||||
 | 
					    constructor(props) {
 | 
				
			||||||
 | 
					        super(props)
 | 
				
			||||||
 | 
					        this.state = {
 | 
				
			||||||
 | 
					            title: '任务明细',
 | 
				
			||||||
 | 
					            data: {},
 | 
				
			||||||
 | 
					            columns:[
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    width: "150px",
 | 
				
			||||||
 | 
					                    title: '任务名称',
 | 
				
			||||||
 | 
					                    dataIndex: 'NAME',
 | 
				
			||||||
 | 
					                    key: 'NAME',
 | 
				
			||||||
 | 
					                    // render:(value,record,index)=>{
 | 
				
			||||||
 | 
					                     
 | 
				
			||||||
 | 
					                    // },
 | 
				
			||||||
 | 
					                  },
 | 
				
			||||||
 | 
					                  {
 | 
				
			||||||
 | 
					                    width: "80px",
 | 
				
			||||||
 | 
					                    title: '处理人',
 | 
				
			||||||
 | 
					                    dataIndex: 'CREATE_NAME',
 | 
				
			||||||
 | 
					                    key: 'CREATE_NAME'
 | 
				
			||||||
 | 
					                  },
 | 
				
			||||||
 | 
					                  {
 | 
				
			||||||
 | 
					                    width: "80px",
 | 
				
			||||||
 | 
					                    title: '部门',
 | 
				
			||||||
 | 
					                    dataIndex: 'DEPARTMENT_NAME',
 | 
				
			||||||
 | 
					                    key: 'DEPARTMENT_NAME'
 | 
				
			||||||
 | 
					                  },
 | 
				
			||||||
 | 
					                  {
 | 
				
			||||||
 | 
					                    width: "80px",
 | 
				
			||||||
 | 
					                    title: '开始时间',
 | 
				
			||||||
 | 
					                    dataIndex: 'TASK_STARTDT',
 | 
				
			||||||
 | 
					                    key: 'TASK_STARTDT'
 | 
				
			||||||
 | 
					                  },
 | 
				
			||||||
 | 
					                  {
 | 
				
			||||||
 | 
					                    width: "80px",
 | 
				
			||||||
 | 
					                    title: '结束时间',
 | 
				
			||||||
 | 
					                    dataIndex: 'TASK_ENDDT',
 | 
				
			||||||
 | 
					                    key: 'TASK_ENDDT'
 | 
				
			||||||
 | 
					                  },
 | 
				
			||||||
 | 
					                  {
 | 
				
			||||||
 | 
					                    width: "80px",
 | 
				
			||||||
 | 
					                    title: '实际处理时间',
 | 
				
			||||||
 | 
					                    dataIndex: 'TASK_DT',
 | 
				
			||||||
 | 
					                    key: 'TASK_DT'
 | 
				
			||||||
 | 
					                  },
 | 
				
			||||||
 | 
					                  {
 | 
				
			||||||
 | 
					                    width: "80px",
 | 
				
			||||||
 | 
					                    title: '状态',
 | 
				
			||||||
 | 
					                    dataIndex: 'STATUS_NAME',
 | 
				
			||||||
 | 
					                    key: 'STATUS_NAME'
 | 
				
			||||||
 | 
					                  },
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    componentDidMount() {
 | 
				
			||||||
 | 
					        if (this.props.data?.MOUDLE_NAME)//this.props.data?.MOUDLE_NAME &&
 | 
				
			||||||
 | 
					            this.loadData(this.props.data?.MOUDLE_NAME,this.props.data?.FORM_NAME,this.props.data?.startTime,this.props.data?.endTime);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    componentWillReceiveProps(NextProps) {
 | 
				
			||||||
 | 
					        if (NextProps.data?.MOUDLE_NAME &&this.props.data?.MOUDLE_NAME != NextProps.data?.MOUDLE_NAME) {//NextProps.data?.MOUDLE_NAME && this.props.data?.MOUDLE_NAME != NextProps.data?.MOUDLE_NAME&&
 | 
				
			||||||
 | 
					            this.loadData(NextProps.data?.MOUDLE_NAME,this.props.data?.FORM_NAME,this.props.data?.startTime,this.props.data?.endTime);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    BtnClose = () => {
 | 
				
			||||||
 | 
					        if (typeof this.props.data.onCancel != "undefined" && typeof this.props.data.onCancel == 'function')
 | 
				
			||||||
 | 
					            this.props.data.onCancel();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    onClick = () => {
 | 
				
			||||||
 | 
					        const json = initFilter(null,this.props.data.TaskID);
 | 
				
			||||||
 | 
					            this.props.dispatch({
 | 
				
			||||||
 | 
					                type: 'app/getDataByPost',
 | 
				
			||||||
 | 
					                url: 'FM/FMNotificationTask/ChangeStatus',
 | 
				
			||||||
 | 
					                payload: json,
 | 
				
			||||||
 | 
					                onComplete: (re) => {
 | 
				
			||||||
 | 
					                    if (re) {
 | 
				
			||||||
 | 
					                            message.success("成功");
 | 
				
			||||||
 | 
					                            this.BtnClose();
 | 
				
			||||||
 | 
					                    } else {
 | 
				
			||||||
 | 
					                        message.error("失败");
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            })
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    loadData(MOUDLE_NAME,FORM_NAME,startTime,endTime) {
 | 
				
			||||||
 | 
					        const json = initFilter(null,MOUDLE_NAME,'','','',startTime,endTime,FORM_NAME);
 | 
				
			||||||
 | 
					            this.props.dispatch({
 | 
				
			||||||
 | 
					                type: 'app/getDataByPost',
 | 
				
			||||||
 | 
					                url: 'BI/BIStatiscialAnalysisController/GetFormRunAnalyzeDay',
 | 
				
			||||||
 | 
					                payload: json,
 | 
				
			||||||
 | 
					                onComplete: (re) => {
 | 
				
			||||||
 | 
					                    if (re) {
 | 
				
			||||||
 | 
					                        this.setState({retData :re})
 | 
				
			||||||
 | 
					                    } 
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            })
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    render() {
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        return (
 | 
				
			||||||
 | 
					          <div>
 | 
				
			||||||
 | 
					            <Table style={{ width:"1550px",margin:"auto",alignContent:"center",backgroundColor:"white",marginTop:"20px"}}
 | 
				
			||||||
 | 
					                dataSource={this.state.retData}
 | 
				
			||||||
 | 
					                columns={this.state.columns}
 | 
				
			||||||
 | 
					                // pagination={false}
 | 
				
			||||||
 | 
					                bordered
 | 
				
			||||||
 | 
					                loading={this.state.showLoading}
 | 
				
			||||||
 | 
					                size="small"
 | 
				
			||||||
 | 
					                rowKey="2"
 | 
				
			||||||
 | 
					              />
 | 
				
			||||||
 | 
					          </div>
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					export default connect(({ login, app }) => ({ login, app }))(Form.create()(PF139FormRunAnalysis))
 | 
				
			||||||
@ -776,6 +776,14 @@ const BI020ApproveAnalysis = Loadable({
 | 
				
			|||||||
  loader: () => import('../components/CustomPages/BI/BI020ApproveAnalysis'),
 | 
					  loader: () => import('../components/CustomPages/BI/BI020ApproveAnalysis'),
 | 
				
			||||||
  loading: () => <div />
 | 
					  loading: () => <div />
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
					const BI030FormRunAnalysis = Loadable({
 | 
				
			||||||
 | 
					  loader: () => import('../components/CustomPages/BI/BI030FormRunAnalysis'),
 | 
				
			||||||
 | 
					  loading: () => <div />
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					const PF139FormRunAnalysis = Loadable({
 | 
				
			||||||
 | 
					  loader: () => import('../components/CustomPages/PF/PF139FormRunAnalysis'),
 | 
				
			||||||
 | 
					  loading: () => <div />
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
const BI014RiskPerformanceModel = Loadable({
 | 
					const BI014RiskPerformanceModel = Loadable({
 | 
				
			||||||
  loader: () => import('../components/CustomPages/BI/BI014RiskPerformanceModel'),
 | 
					  loader: () => import('../components/CustomPages/BI/BI014RiskPerformanceModel'),
 | 
				
			||||||
  loading: () => <div />
 | 
					  loading: () => <div />
 | 
				
			||||||
@ -973,7 +981,8 @@ export default function (componentName, formId, formParam, data, formCode, formD
 | 
				
			|||||||
    PF136FormRunAnalysis: <PF136FormRunAnalysis formId={formId} formParam={formParam} data={data} formCode={formCode} />,
 | 
					    PF136FormRunAnalysis: <PF136FormRunAnalysis formId={formId} formParam={formParam} data={data} formCode={formCode} />,
 | 
				
			||||||
    BI009FormRunAnalysis: <BI009FormRunAnalysis formId={formId} formParam={formParam} data={data} formCode={formCode} />,
 | 
					    BI009FormRunAnalysis: <BI009FormRunAnalysis formId={formId} formParam={formParam} data={data} formCode={formCode} />,
 | 
				
			||||||
    FO025ShowPrint: <FO025ShowPrint formId={formId} formParam={formParam} data={data} formCode={formCode} />,
 | 
					    FO025ShowPrint: <FO025ShowPrint formId={formId} formParam={formParam} data={data} formCode={formCode} />,
 | 
				
			||||||
 | 
					    BI030FormRunAnalysis: <BI030FormRunAnalysis formId={formId} formParam={formParam} data={data} formCode={formCode} />,
 | 
				
			||||||
 | 
					    PF139FormRunAnalysis: <PF139FormRunAnalysis formId={formId} formParam={formParam} data={data} formCode={formCode} />,
 | 
				
			||||||
    BI020ApproveAnalysis: <BI020ApproveAnalysis formId={formId} formParam={formParam} data={data} formCode={formCode} />,
 | 
					    BI020ApproveAnalysis: <BI020ApproveAnalysis formId={formId} formParam={formParam} data={data} formCode={formCode} />,
 | 
				
			||||||
    BI014RiskPerformanceModel: <BI014RiskPerformanceModel formId={formId} formParam={formParam} data={data} formCode={formCode} />,
 | 
					    BI014RiskPerformanceModel: <BI014RiskPerformanceModel formId={formId} formParam={formParam} data={data} formCode={formCode} />,
 | 
				
			||||||
  }[componentName]
 | 
					  }[componentName]
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user