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,
  getSixMonth,
} 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.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: [],
      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;
  // };
  showTodayModal = (
    dataId,
    formCode,
    TaskID,
    title,
    taskCode,
    taskStartdt,
    taskStatus
  ) => {
    const newtmpData = {
      data: {
        id: dataId,
        TaskID: TaskID,
        onCancel: this.handleCancel,
        taskCode: taskCode,
        tableKey: this.state.tableKey,
        noticeTitle: title,
        taskStartdt: taskStartdt,
        taskStatus: taskStatus,
        homeReload: true,
      },
      formCode: "PF135",
    };
    this.setState(
      {
        noticeTitle: "今日提醒",
        taskCode: taskCode,
        tmpData: newtmpData,
        currActivatedMenu: "",
      },
      () =>
        this.setState({
          formVisible: true,
        })
    );
  };
  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(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(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) => {
    var titleTemp = "";
    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(),
        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 ? (
                    
})
                  ) : (
                    
})
                  )}
                
 
                
                  
                    
                      {this.state.userInfo.NAME},{this.state.timeNow}
                    
                    
                       {
                          this.setState({ visible: !this.state.visible });
                        }}
                        overlay={
                          
                        }
                        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 ? (
                          
})
                        ) : index == 1 ? (
                          
})
                        ) : index == 2 ? (
                          
})
                        ) : (
                          
{index + 1}
                        )}
                        
{item.name}
                       
                      
                     
                  );
                })}
              
 
            
          
          
            
              
                
                  
                   this.showDetailModal("BI054_HOMEDETAIL")}>
                    
                  
                 
                
               
              
              
                
                  
                   this.showDetailModal("BI055_HOMEDETAIL")}>
                    
                  
                 
                
               
            
            
            
              
                
                
                    this.showDetailModal("BI013_RISKANALYSISMODEL")
                  }
                >
                  
                
               
              
            
          
        
      
    );
  }
}
export default connect(({ login, app }) => ({ login, app }))(Home);