dongjh hai 1 ano
pai
achega
56027c5d72

+ 636 - 27
src/views/dashboard/Analysis.vue

@@ -1,41 +1,650 @@
 <template>
-  <div>
-    <index-chart v-if="indexStyle==1"></index-chart>
-    <index-bdc v-if="indexStyle==2"></index-bdc>
-    <index-task v-if="indexStyle==3"></index-task>
-    <div style="width: 100%;text-align: right;margin-top: 20px">
-      请选择首页样式:
-      <a-radio-group v-model="indexStyle">
-        <a-radio :value="1">统计图表</a-radio>
-        <a-radio :value="2">统计图表2</a-radio>
-        <a-radio :value="3">任务表格</a-radio>
-      </a-radio-group>
+  <div class="index-container">
+    <!-- 首行--运维 -->
+    <div class="opera-container u-flex-jab">
+      <router-link class="item f1 repair" v-for="(item, index) in operaContent" :key="index" :to="item.to">
+        <div class="common-title u-flex">
+          <span class="text">{{ item.title }}</span>
+        </div>
+        <div class="content u-flex-jab">
+          
+          <div class="tongji u-flex-cjac">
+            <div class="number">{{ operaStatistics[item.incomplete] }} / <span class="number1">{{operaStatistics[item.completed]}}</span></div>
+            <!-- <div class="number">{{ operaStatistics[item.incomplete] }}</div> -->
+            <div class="text">{{ operaTitle[item.incompleteTitle] }} / {{operaTitle[item.completedTitle]}}</div>
+          </div>
+          <div class="legend f1 u-flex-jac">
+            <i :class="item.legend"></i>
+          </div>
+        </div>
+      </router-link>
     </div>
+    <!-- 消息通知+报警通知 -->
+    <a-row :gutter="20" class="mt20 alarmandnotice">
+      <a-col :span="14">
+        <a-card class="box-card">
+          <div slot="header" class="u-flex-jab">
+            <div class="common-title u-flex">
+              <span class="text">报警通知</span>
+            </div>
+            <router-link to="/alarmManage/handleAlarm">
+              <a-button style="float: right; padding: 3px 0" type="text">处理/查看</a-button>
+            </router-link>
+          </div>
+          <a-table
+            rowKey="id"
+            size="middle"
+            bordered
+            :columns="alarmcolumns"
+            :dataSource="alarmList"
+            :pagination="false"
+          >
+            <template slot="htmlSlot" slot-scope="text">
+              <div v-html="text"></div>
+            </template>
+
+            <template slot="imgSlot" slot-scope="text, record">
+              <div style="font-size: 12px; font-style: italic">
+                <span v-if="!text">无图片</span>
+                <img v-else :src="getImgView(text)" :preview="record.id" alt="" style="max-width: 80px; height: 25px" />
+              </div>
+            </template>
+
+            <template slot="fileSlot" slot-scope="text">
+              <span v-if="!text" style="font-size: 12px; font-style: italic">无文件</span>
+              <a-button v-else ghost type="primary" icon="download" size="small" @click="downloadFile(text)">
+                <span>下载</span>
+              </a-button>
+            </template>
+          </a-table>
+        </a-card>
+      </a-col>
+      <a-col :span="10">
+        <a-card class="box-card">
+          <div slot="header" class="u-flex-jab">
+            <div class="common-title u-flex">
+              <span class="text">消息通知</span>
+            </div>
+            <router-link to="/alarmManage/notice">
+              <a-button style="float: right; padding: 3px 0" type="text">处理/查看</a-button>
+            </router-link>
+          </div>
+          <a-table
+            rowKey="id"
+            size="middle"
+            bordered
+            :columns="noticecolumns"
+            :dataSource="noticeList"
+            :pagination="false"
+          >
+            <template slot="htmlSlot" slot-scope="text">
+              <div v-html="text"></div>
+            </template>
+
+            <template slot="imgSlot" slot-scope="text, record">
+              <div style="font-size: 12px; font-style: italic">
+                <span v-if="!text">无图片</span>
+                <img v-else :src="getImgView(text)" :preview="record.id" alt="" style="max-width: 80px; height: 25px" />
+              </div>
+            </template>
+
+            <template slot="fileSlot" slot-scope="text">
+              <span v-if="!text" style="font-size: 12px; font-style: italic">无文件</span>
+              <a-button v-else ghost type="primary" icon="download" size="small" @click="downloadFile(text)">
+                <span>下载</span>
+              </a-button>
+            </template>
+          </a-table>
+        </a-card>
+      </a-col>
+    </a-row>
+    <a-row :gutter="20" class="mt20">
+      <a-col :span="14">
+        <div class="trend-charts" ref="trendCharts"></div>
+      </a-col>
+      <a-col :span="10">
+        <div class="trend-charts" ref="tempAndHumiCharts"></div>
+      </a-col>      
+    </a-row>
   </div>
 </template>
 
 <script>
-  import IndexChart from './IndexChart'
-  import IndexTask from "./IndexTask"
-  import IndexBdc from './IndexBdc'
-
-  export default {
-    name: "Analysis",
-    components: {
-      IndexChart,
-      IndexTask,
-      IndexBdc
+import * as echarts from 'echarts';
+// import { listAlarmdata } from "@/api/alarm/alarmdata.js";
+// import { listNotice } from "@/api/system/notice";
+// import { firstload } from "@/api/homepage.js";
+// import { envirinfo } from "@/api/environSafe/hsmsstatistics.js";
+  import { httpAction, getAction } from '@/api/manage'
+import { testdata } from '../module_ems/energyAnalyse/testdata';
+
+export default {
+  name: 'Index',
+  dicts: ['sys_alarm_type', 'sys_alarm_level', 'sys_notice_type'],
+  data() {
+    return {
+      noticecolumns: [
+        {
+          title: '消息标题',
+          align: 'center',
+          dataIndex: 'noticeTitle',
+          customRender: function (text) {
+            return !text ? '' : text.length > 20 ? text.substr(0, 20) + "..." : text
+          },
+        },
+        {
+          title: '消息类型',
+          align: 'center',
+          dataIndex: 'noticeType',
+        },
+        {
+          title: '生成时间',
+          align: 'center',
+          dataIndex: 'createTime',
+        },
+      ],
+      alarmcolumns: [
+        {
+          title: '设备名称',
+          align: 'center',
+          dataIndex: 'equipmentname',
+        },
+        {
+          title: '报警描述',
+          align: 'center',
+          dataIndex: 'remark',
+        },
+        {
+          title: '报警类型',
+          align: 'center',
+          dataIndex: 'alarmtype',
+        },
+        {
+          title: '报警时间',
+          align: 'center',
+          dataIndex: 'alarmtime',
+        },
+      ],
+      // 运维统计前端绘制
+      operaContent: [
+        { type: 'repair', title: '设备当前运行数', completed: 'machineCompleted', completedTitle: 'machineCompleted', incomplete: 'machineIncomplete', 
+          incompleteTitle: 'machineIncomplete', legend: 'a-icon-thumb spotcheck', to: '/equipment/equipmentstatus' },
+        // { type: 'repair', title: '未处理报警', completed: 'alarmCompleted', completedTitle: 'alarmCompleted', incomplete: 'alarmIncomplete', 
+        //   incompleteTitle: 'alarmIncomplete', legend: 'a-icon-warning warning', to: '/alarmManage/handleAlarm' },
+        { type: 'repair', title: '待维修任务', completed: 'repairCompleted', completedTitle: 'repairCompleted', incomplete: 'repairIncomplete', 
+          incompleteTitle: 'repairIncomplete', legend: 'a-icon-setting repair', to: '/operaManage/repairManage/myRepairOrder' },
+        { type: 'repair', title: '待保养任务', completed: 'upkeepCompleted', completedTitle: 'upkeepCompleted', incomplete: 'upkeepIncomplete', 
+          incompleteTitle: 'upkeepIncomplete', legend: 'a-icon-s-management upkeep', to: '/operaManage/upkeepManage/upkeepOrder' },
+        { type: 'repair', title: '待巡检任务', completed: 'inspectCompleted', completedTitle: 'inspectCompleted', incomplete: 'inspectIncomplete', 
+          incompleteTitle: 'inspectIncomplete', legend: 'a-icon-place inspect', to: '/operaManage/inspectManage/inspectOrder' },
+      ],
+      // 运维统计后端数据
+      operaStatistics: {
+        repairCompleted: '-',
+        repairIncomplete: '-',
+        upkeepCompleted: '-',
+        upkeepIncomplete: '-',
+        alarmCompleted: '-',
+        alarmIncomplete: '-',
+        inspectCompleted: '-',
+        inspectIncomplete: '-',
+        machineCompleted: '-',
+        machineIncomplete: '-',
+      },
+      // 运维统计后端数据
+      operaTitle: {
+        repairCompleted: '总数',
+        repairIncomplete: '今日数',
+        upkeepCompleted: '总数',
+        upkeepIncomplete: '今日数',
+        alarmCompleted: '总数',
+        alarmIncomplete: '今日数',
+        inspectCompleted: '总数',
+        inspectIncomplete: '今日数',
+        machineCompleted: '总数',
+        machineIncomplete: '运行数',
+      },
+      // 报警数据表格数据
+      alarmList: [],
+      // 消息数据表格数据
+      noticeList: [],
+      // 今日用电量
+      TodayElectricity: [],
+      // 环境温度
+      EnvironmentTemp: [],
+      temperatureData: [],
+      //设备名称
+      equipmentnames:[],
+      //温度
+      temps:[],
+      //湿度
+      humis:[],
+        url: {
+            list: "/homepate/statistics/firstload",
+        },
+    }
+  },
+  created() {
+    this.getList();
+    // this.getAlarmList()
+    // this.getNoticeList()
+    var _this = this;
+    setInterval(function () {
+    //   _this.getInfo();
+        _this.getTest();
+    }, 60000);
+  },
+  methods: {
+    /** 首次打开加载整个页面 */
+    getList() {
+    //   this.getInfo();
+        this.getTest();
+    },
+    // 正式需要删除
+    getTest() {
+        if (testdata.homedata.RepairSum != null) {
+          this.operaStatistics.repairCompleted = testdata.homedata.RepairSum[0].howManyTimes;
+          this.operaStatistics.repairIncomplete = testdata.homedata.RepairSum[1].howManyTimes;
+        }
+        
+        if (testdata.homedata.UpkeepSum != null) {
+          this.operaStatistics.upkeepCompleted = testdata.homedata.UpkeepSum[0].howManyTimes;
+          this.operaStatistics.upkeepIncomplete = testdata.homedata.UpkeepSum[1].howManyTimes;
+        }
+        
+        if (testdata.homedata.AlarmSum != null) {
+          this.operaStatistics.alarmCompleted = testdata.homedata.AlarmSum[0].howManyTimes;
+          this.operaStatistics.alarmIncomplete = testdata.homedata.AlarmSum[1].howManyTimes;
+        }
+        
+        if (testdata.homedata.InspeceSum != null) {
+          this.operaStatistics.inspectCompleted = testdata.homedata.InspeceSum[0].howManyTimes;
+          this.operaStatistics.inspectIncomplete = testdata.homedata.InspeceSum[1].howManyTimes;
+        }
+
+        if (testdata.homedata.MachineSum != null) {
+          this.operaStatistics.machineIncomplete = testdata.homedata.MachineSum[1].howManyTimes;
+          this.operaStatistics.machineCompleted = testdata.homedata.MachineSum[4].howManyTimes;
+        }
+
+        this.TodayElectricity = testdata.homedata.TodayElectricity;
+        this.EnvironmentTemp = testdata.homedata.EnvironmentTemp;
+
+        this.alarmList = testdata.homedata.alarmData;
+        this.noticeList = testdata.homedata.noticeData;
+
+        // this.initEcharts();
+        this.initTempAndHumiEcharts();
     },
-    data() {
-      return {
-        indexStyle:1
+    getInfo() {
+      getAction(this.url.list, null).then((response) => {
+        console.log(response.data)
+        if (response.data.RepairSum != null) {
+          this.operaStatistics.repairCompleted = response.data.RepairSum[0].howManyTimes;
+          this.operaStatistics.repairIncomplete = response.data.RepairSum[1].howManyTimes;
+        }
+        
+        if (response.data.UpkeepSum != null) {
+          this.operaStatistics.upkeepCompleted = response.data.UpkeepSum[0].howManyTimes;
+          this.operaStatistics.upkeepIncomplete = response.data.UpkeepSum[1].howManyTimes;
+        }
+        
+        if (response.data.AlarmSum != null) {
+          this.operaStatistics.alarmCompleted = response.data.AlarmSum[0].howManyTimes;
+          this.operaStatistics.alarmIncomplete = response.data.AlarmSum[1].howManyTimes;
+        }
+        
+        if (response.data.InspeceSum != null) {
+          this.operaStatistics.inspectCompleted = response.data.InspeceSum[0].howManyTimes;
+          this.operaStatistics.inspectIncomplete = response.data.InspeceSum[1].howManyTimes;
+        }
+
+        if (response.data.MachineSum != null) {
+          this.operaStatistics.machineIncomplete = response.data.MachineSum[1].howManyTimes;
+          this.operaStatistics.machineCompleted = response.data.MachineSum[4].howManyTimes;
+        }
+
+        this.TodayElectricity = response.data.TodayElectricity;
+        this.EnvironmentTemp = response.data.EnvironmentTemp;
+
+        this.initEcharts();
+      });
+
+      
+      envirinfo().then((response) => {
+        this.temperatureData = response.data;
+        // console.log("--------start--------");
+        // for(var i in this.temperatureData){
+        //   console.log("-->"+this.temperatureData[i].equipmentname+"--"+this.temperatureData[i].howManyTimes+"--"+this.temperatureData[i].howManyTimes2);
+        // }
+        // console.log("--------end----------");
+        this.initTempAndHumiEcharts();
+        
+      });
+    },
+    /** 查询报警数据列表 */
+    getAlarmList() {
+      var queryParams = {
+        pageNum: 1,
+        pageSize: 5,
+        status: '0',
       }
+      listAlarmdata(queryParams).then((response) => {
+        this.alarmList = response.rows;
+      });
     },
-    created() {
+    /** 查询消息列表 */
+    getNoticeList() {
+      var queryParams = {
+        pageNum: 1,
+        pageSize: 5,
+      }
+      listNotice(queryParams).then(response => {
+        this.noticeList = response.rows;
+      });
+    },
+    initEcharts(){
+      var _this = this
+      var chartDom = this.$refs.trendCharts
+      var myChart = echarts.init(chartDom);
+      var option;
+
+      option = {
+        tooltip: {
+          trigger: 'axis',
+          position: function (pt) {
+            return [pt[0], '10%'];
+          }
+        },
+        title: {
+          left: 'center',
+          text: '今日用电量'
+        },
+        // toolbox: {
+        //   feature: {
+        //     dataZoom: {
+        //       yAxisIndex: 'none'
+        //     },
+        //     restore: {},
+        //     saveAsImage: {}
+        //   }
+        // },
+        xAxis: {
+          type: 'category',
+          boundaryGap: false,
+          data: this.TodayElectricity.hours
+        },
+        yAxis: {
+          type: 'value',
+          boundaryGap: [0, '100%']
+        },
+        dataZoom: [
+          {
+            type: 'inside',
+            start: 0,
+            end: 100
+          },
+          {
+            start: 0,
+            end: 10
+          }
+        ],
+        series: [
+          {
+            name: '分时用电量',
+            type: 'line',
+            symbol: 'none',
+            sampling: 'lttb',
+            itemStyle: {
+              color: 'rgb(255, 70, 131)'
+            },
+            areaStyle: {
+              color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+                {
+                  offset: 0,
+                  color: 'rgb(255, 158, 68)'
+                },
+                {
+                  offset: 1,
+                  color: 'rgb(255, 70, 131)'
+                }
+              ])
+            },
+            data: this.TodayElectricity.elec
+          }
+        ]
+      };
+      
+
+      option && myChart.setOption(option);
+      
+      window.addEventListener("resize",function (){
+        myChart.resize();
+      });
 
     },
-    methods: {
 
+
+    initTempAndHumiEcharts(){
+      
+      for(var i in this.temperatureData){
+        console.log("-->"+this.temperatureData[i].equipmentname+"--"+this.temperatureData[i].howManyTimes+"--"+this.temperatureData[i].howManyTimes2);
+        this.equipmentnames[i] = this.temperatureData[i].equipmentname;
+        this.temps[i] = this.temperatureData[i].howManyTimes;
+        this.humis[i] = this.temperatureData[i].howManyTimes2;
+      }
+
+      var _this = this
+      var chartDom = _this.$refs.tempAndHumiCharts
+      console.log("温湿度", chartDom)
+      var myChart = echarts.init(chartDom);
+      var option;
+
+      option = {
+        tooltip: {
+          trigger: 'axis',
+          axisPointer: {
+            type: 'cross',
+            crossStyle: {
+              color: '#999'
+            }
+          }
+        },
+        
+        legend: {
+          data: ['湿度', '温度']
+        },
+        xAxis: [
+          {
+            type: 'category',
+            data: this.equipmentnames,
+            axisPointer: {
+              type: 'shadow'
+            },
+            axisLabel: {
+              rotate: 45, // 设置刻度标签旋转角度为45度
+              formatter: function(value) {
+                if (value.length > 8) { // 当文本长度大于5时,截断并显示省略号
+                  return value.substring(0, 8) + '...';
+                } else {
+                  return value;
+                }
+              },
+            },
+          }
+        ],
+        yAxis: [
+          {
+            type: 'value',
+            name: '湿度',
+            interval: 50,
+            axisLabel: {
+              formatter: '{value} %'
+            }
+          },
+          {
+            type: 'value',
+            name: '温度',
+            interval: 5,
+            axisLabel: {
+              formatter: '{value} °C'
+            }
+          }
+        ],
+        series: [
+          {
+            name: '湿度',
+            type: 'bar',
+            tooltip: {
+              valueFormatter: function (value) {
+                return value + ' %';
+              }
+            },
+            data: this.humis
+          },
+          {
+            name: '温度',
+            type: 'line',
+            yAxisIndex: 1,
+            tooltip: {
+              valueFormatter: function (value) {
+                return value + ' °C';
+              }
+            },
+            data: this.temps
+          }
+        ]
+      };
+
+      option && myChart.setOption(option);
+      
+      window.addEventListener("resize",function (){
+        myChart.resize();
+      });
+    },
+  }
+}
+</script>
+
+<style lang="less" scoped>
+  @import '~@/assets/less/uStyle.less';
+</style>
+<style lang="less" scoped>
+.index-container {
+  width: 100%;
+  min-height: calc(100vh - 124px);
+  .common-title{
+    &::before{
+      content: '';
+      display: inline-block;
+      width: 4px;
+      height: 20px;
+      background-image: linear-gradient(150deg, #5EB3F7, #6680F4);
+      border-radius: 2px;
+    }
+    .text{
+      padding-left: 8px;
+      line-height: 20px;
+      font-size: 14px;
+    }
+  }
+  .opera-container{
+    .item{
+      padding: 16px 0 16px 20px;
+      background: #fff;
+      box-shadow: 0 2px 12px 0 rgba(48, 65, 86, 0.12);
+      border-radius: 6px;
+      margin-right: 12px;
+      .content{
+        padding: 20px 0 12px 10px;
+        .tongji{
+          .number{
+            font-weight: bolder;
+            font-size: 28px;
+            color: #3ea9ff;
+            font-family: '微软雅黑', serif;
+            .number1{
+              color: #ffb048;
+              font-size: 30px;
+            }
+          }
+          .text{
+            font-size: 12px;
+            margin-top: 4px;
+            color: #737373;
+            letter-spacing: 0.1em;
+          }
+        }
+        .legend{
+          // width: 50%;
+          i{
+            font-size: 2vw;
+            // color: #fff;
+            padding: 12px;
+            border-radius: 100%;
+          }
+          .repair{
+            color: #6680f4;
+            background-image: linear-gradient(150deg, #5eb2f77c, #6680f47f);
+          }
+          .upkeep{
+            color: #f9ba27;
+            background-image: linear-gradient(150deg, #f7e55e76, #f9ba276b);
+          }
+          .spotcheck{
+            color: #27b150;
+            background-image: linear-gradient(150deg, #5ef78c72, #40cbe174);
+          }
+          .inspect{
+            color: #e16b40;
+            background-image: linear-gradient(150deg, #ffd3c372, #e16b406e);
+          }
+          .warning{
+            color: #ff4949;
+            background-image: linear-gradient(150deg, #eb7f7f77, #ff494979);
+          }
+        }
+      }
+    }
+    .item:last-of-type{
+      margin-right: 0;
+    }
+  }
+  .box-card{
+    .a-card__header{
+      border: none;
+    }
+    .a-table th.a-table__cell.is-leaf, .a-table td.a-table__cell{
+      border-right: none;
     }
+    .a-table th.a-table__cell > .cell{
+      color: #556485;
+      // color: #648ff5;
+    }
+    .a-table .a-table__header-wrapper th, .a-table .a-table__fixed-header-wrapper th{
+      background-color: #f2f7fd;
+      // background-color: #e6f2ff;
+    }
+  }
+  .trend-charts{
+    width: 100%;
+    min-height: calc(100vh - 18vh - 5.8vh - 84px - 58px - 57px - 50px);
+    padding: 10px;
+    margin-top: 10px;
+    box-shadow: 0 2px 10px rgba(0,0,0,.1);
+    background: #fff;
+    border-radius: 4px;
+  }
+  .trend-charts{
+    min-height: calc(100vh - 18vh - 5.8vh - 84px - 58px - 57px - 50px);
+    padding: 10px;
+    margin-top: 10px;
+    box-shadow: 0 2px 10px rgba(0,0,0,.1);
+    background: #fff;
+    border-radius: 4px;
+  }
+  .alarmandnotice{
+    margin-top: 10px;
   }
-</script>
+}
+</style>

+ 41 - 0
src/views/dashboard/Analysis1.vue

@@ -0,0 +1,41 @@
+<template>
+  <div>
+    <index-chart v-if="indexStyle==1"></index-chart>
+    <index-bdc v-if="indexStyle==2"></index-bdc>
+    <index-task v-if="indexStyle==3"></index-task>
+    <div style="width: 100%;text-align: right;margin-top: 20px">
+      请选择首页样式:
+      <a-radio-group v-model="indexStyle">
+        <a-radio :value="1">统计图表</a-radio>
+        <a-radio :value="2">统计图表2</a-radio>
+        <a-radio :value="3">任务表格</a-radio>
+      </a-radio-group>
+    </div>
+  </div>
+</template>
+
+<script>
+  import IndexChart from './IndexChart'
+  import IndexTask from "./IndexTask"
+  import IndexBdc from './IndexBdc'
+
+  export default {
+    name: "Analysis",
+    components: {
+      IndexChart,
+      IndexTask,
+      IndexBdc
+    },
+    data() {
+      return {
+        indexStyle:1
+      }
+    },
+    created() {
+
+    },
+    methods: {
+
+    }
+  }
+</script>

+ 0 - 7
src/views/module_ems/energyAnalyse/energyRank/index.vue

@@ -28,13 +28,6 @@
         </a-button>
       </template>
     </a-table>
-    <!-- <a-table :data="tableData" border style="width: 100%" height="280">
-      <a-table-column prop="equipmentname" label="设备" align="center"></a-table-column>
-      <a-table-column prop="howManyValue" label="总用电(KWH)" align="center"></a-table-column>
-      <a-table-column prop="otherValue" label="占比(%)" align="center"></a-table-column>
-      <a-table-column prop="howManyValue2" label="去年同期(KWH)" align="center"></a-table-column>
-      <a-table-column prop="otherValue2" label="同比增长率(%)" align="center"></a-table-column>
-    </a-table> -->
   </div>
 </template>
 // 能耗排名

+ 884 - 4
src/views/module_ems/energyAnalyse/testdata.json

@@ -132,7 +132,7 @@
                 "dayofweek": null,
                 "howManyTimes": null,
                 "howManyTimes2": null,
-                "howManyValue": 19583.7,
+                "howManyValue": 1983.7,
                 "howManyValue2": 0,
                 "ids": null,
                 "type": "需量峰值",
@@ -150,7 +150,7 @@
                 "dayofweek": null,
                 "howManyTimes": null,
                 "howManyTimes2": null,
-                "howManyValue": 19430.1,
+                "howManyValue": 1530.1,
                 "howManyValue2": 0,
                 "ids": null,
                 "type": "即时需量",
@@ -168,7 +168,7 @@
                 "dayofweek": null,
                 "howManyTimes": null,
                 "howManyTimes2": null,
-                "howManyValue": 0,
+                "howManyValue": 1200,
                 "howManyValue2": 0,
                 "ids": null,
                 "type": "目标需量",
@@ -2481,5 +2481,885 @@
             "otherValue": 0,
             "otherValue2": 0
         }
-    ]
+    ],
+
+
+    "homedata": {
+        "RepairSum": [
+            {
+                "equipmentid": null,
+                "equipmentname": null,
+                "year": null,
+                "month": null,
+                "week": null,
+                "day": null,
+                "dayofweek": null,
+                "howManyTimes": 3,
+                "howManyTimes2": null,
+                "ids": null,
+                "type": "repairCompleted"
+            },
+            {
+                "equipmentid": null,
+                "equipmentname": null,
+                "year": null,
+                "month": null,
+                "week": null,
+                "day": null,
+                "dayofweek": null,
+                "howManyTimes": 0,
+                "howManyTimes2": null,
+                "ids": null,
+                "type": "repairIncomplete"
+            }
+        ],
+        "InspeceSum": [
+            {
+                "equipmentid": null,
+                "equipmentname": null,
+                "year": null,
+                "month": null,
+                "week": null,
+                "day": null,
+                "dayofweek": null,
+                "howManyTimes": 5,
+                "howManyTimes2": null,
+                "ids": null,
+                "type": "inspectCompleted"
+            },
+            {
+                "equipmentid": null,
+                "equipmentname": null,
+                "year": null,
+                "month": null,
+                "week": null,
+                "day": null,
+                "dayofweek": null,
+                "howManyTimes": 2,
+                "howManyTimes2": null,
+                "ids": null,
+                "type": "inspectIncomplete"
+            }
+        ],
+        "TodayElectricity": {
+            "hours": [
+                "00:00",
+                "01:00",
+                "02:00",
+                "03:00",
+                "04:00",
+                "05:00",
+                "06:00",
+                "07:00",
+                "08:00",
+                "09:00",
+                "10:00",
+                "11:00",
+                "12:00",
+                "13:00",
+                "14:00",
+                "15:00",
+                "16:00",
+                "17:00",
+                "18:00",
+                "19:00",
+                "20:00",
+                "21:00",
+                "22:00",
+                "23:00"
+            ],
+            "elec": [
+                147,
+                150,
+                141,
+                102,
+                84,
+                81,
+                90,
+                171,
+                204,
+                216,
+                225,
+                192,
+                189,
+                213,
+                204,
+                219,
+                180,
+                186,
+                171,
+                165,
+                165,
+                156,
+                138,
+                150
+            ]
+        },
+        "AlarmSum": [
+            {
+                "equipmentid": null,
+                "equipmentname": null,
+                "year": null,
+                "month": null,
+                "week": null,
+                "day": null,
+                "dayofweek": null,
+                "howManyTimes": 10,
+                "howManyTimes2": null,
+                "ids": null,
+                "type": "alarmCompleted"
+            },
+            {
+                "equipmentid": null,
+                "equipmentname": null,
+                "year": null,
+                "month": null,
+                "week": null,
+                "day": null,
+                "dayofweek": null,
+                "howManyTimes": 0,
+                "howManyTimes2": null,
+                "ids": null,
+                "type": "alarmIncomplete"
+            }
+        ],
+        "EnvironmentTemp": [
+            {
+                "createBy": "admin",
+                "createTime": "2023-07-20 16:12:58",
+                "updateBy": "",
+                "updateTime": null,
+                "remark": null,
+                "params": {},
+                "tagid": 301025152008193,
+                "equipmentid": 300838809567233,
+                "tagname": "xinghui_G15_12号门对面温度",
+                "tagaddress": null,
+                "min": -20,
+                "max": 40,
+                "delay": 10,
+                "tagtype": "0",
+                "energytypeid": null,
+                "energyitemid": null,
+                "param1": null,
+                "param2": null,
+                "logtime": "2023-10-17 15:43:57",
+                "tagvalue": 25.8,
+                "lastalarmtime": "2023-07-21 10:04:30",
+                "equipmentname": "G15_12号门对面温湿度",
+                "equipmentcode": "M20230056",
+                "energytypename": null,
+                "energyitemname": null
+            },
+            {
+                "createBy": "admin",
+                "createTime": "2023-07-20 16:12:15",
+                "updateBy": "",
+                "updateTime": null,
+                "remark": null,
+                "params": {},
+                "tagid": 301025061830657,
+                "equipmentid": 287940909531137,
+                "tagname": "xinghui_E1_旁小屋顶温度",
+                "tagaddress": null,
+                "min": -20,
+                "max": 40,
+                "delay": 10,
+                "tagtype": "0",
+                "energytypeid": null,
+                "energyitemid": null,
+                "param1": null,
+                "param2": null,
+                "logtime": "2023-10-17 15:43:57",
+                "tagvalue": 24,
+                "lastalarmtime": "2023-07-21 10:05:30",
+                "equipmentname": "E1_旁小屋顶温湿度",
+                "equipmentcode": "M20230029",
+                "energytypename": null,
+                "energyitemname": null
+            },
+            {
+                "createBy": "admin",
+                "createTime": "2023-07-20 16:11:25",
+                "updateBy": "",
+                "updateTime": null,
+                "remark": null,
+                "params": {},
+                "tagid": 301024956973057,
+                "equipmentid": 300838776012801,
+                "tagname": "xinghui_G12_F12螺栓拧紧旁温度",
+                "tagaddress": null,
+                "min": -20,
+                "max": 40,
+                "delay": 10,
+                "tagtype": "0",
+                "energytypeid": null,
+                "energyitemid": null,
+                "param1": null,
+                "param2": null,
+                "logtime": "2023-10-07 14:02:20",
+                "tagvalue": 22.9,
+                "lastalarmtime": "2023-07-21 09:15:30",
+                "equipmentname": "G12_F12螺栓拧紧旁温湿度",
+                "equipmentcode": "M20230055",
+                "energytypename": null,
+                "energyitemname": null
+            },
+            {
+                "createBy": "admin",
+                "createTime": "2023-07-20 16:06:08",
+                "updateBy": "",
+                "updateTime": null,
+                "remark": null,
+                "params": {},
+                "tagid": 301024290078721,
+                "equipmentid": 300838740361217,
+                "tagname": "xinghui_E12_F12温度",
+                "tagaddress": null,
+                "min": -20,
+                "max": 40,
+                "delay": 10,
+                "tagtype": "0",
+                "energytypeid": null,
+                "energyitemid": null,
+                "param1": null,
+                "param2": null,
+                "logtime": "2023-10-17 15:43:57",
+                "tagvalue": 26.6,
+                "lastalarmtime": "2023-08-04 15:37:25",
+                "equipmentname": "E12_F12温湿度",
+                "equipmentcode": "M20230054",
+                "energytypename": null,
+                "energyitemname": null
+            },
+            {
+                "createBy": "admin",
+                "createTime": "2023-07-20 16:02:54",
+                "updateBy": "admin",
+                "updateTime": "2023-07-20 16:14:06",
+                "remark": null,
+                "params": {},
+                "tagid": 301023883231233,
+                "equipmentid": 287940882268161,
+                "tagname": "xinghui_E9_F9温度",
+                "tagaddress": null,
+                "min": -20,
+                "max": 40,
+                "delay": 10,
+                "tagtype": "0",
+                "energytypeid": null,
+                "energyitemid": null,
+                "param1": null,
+                "param2": null,
+                "logtime": "2023-10-17 15:43:57",
+                "tagvalue": 25.1,
+                "lastalarmtime": "2023-07-21 09:51:30",
+                "equipmentname": "E9_F9温湿度",
+                "equipmentcode": "M20230028",
+                "energytypename": null,
+                "energyitemname": null
+            },
+            {
+                "createBy": "admin",
+                "createTime": "2023-07-20 16:01:57",
+                "updateBy": "admin",
+                "updateTime": "2023-07-20 16:14:10",
+                "remark": null,
+                "params": {},
+                "tagid": 301023765790721,
+                "equipmentid": 300838631309313,
+                "tagname": "xinghui_D10_D9温度",
+                "tagaddress": null,
+                "min": -20,
+                "max": 40,
+                "delay": 10,
+                "tagtype": "0",
+                "energytypeid": null,
+                "energyitemid": null,
+                "param1": null,
+                "param2": null,
+                "logtime": "2023-10-17 15:43:57",
+                "tagvalue": 24.9,
+                "lastalarmtime": "2023-07-21 09:54:30",
+                "equipmentname": "D10_D9温湿度",
+                "equipmentcode": "M20230053",
+                "energytypename": null,
+                "energyitemname": null
+            },
+            {
+                "createBy": "admin",
+                "createTime": "2023-07-20 16:00:17",
+                "updateBy": "admin",
+                "updateTime": "2023-07-20 16:14:13",
+                "remark": null,
+                "params": {},
+                "tagid": 301023556075521,
+                "equipmentid": 300838572589057,
+                "tagname": "xinghui_D6温度",
+                "tagaddress": null,
+                "min": -20,
+                "max": 40,
+                "delay": 10,
+                "tagtype": "0",
+                "energytypeid": null,
+                "energyitemid": null,
+                "param1": null,
+                "param2": null,
+                "logtime": "2023-10-17 15:43:57",
+                "tagvalue": 25.7,
+                "lastalarmtime": "2023-07-21 09:58:30",
+                "equipmentname": "D6温湿度",
+                "equipmentcode": "M20230052",
+                "energytypename": null,
+                "energyitemname": null
+            },
+            {
+                "createBy": "admin",
+                "createTime": "2023-07-20 15:59:33",
+                "updateBy": "admin",
+                "updateTime": "2023-07-20 16:14:18",
+                "remark": null,
+                "params": {},
+                "tagid": 301023461703681,
+                "equipmentid": 287940863393793,
+                "tagname": "xinghui_加工中心温度",
+                "tagaddress": null,
+                "min": -20,
+                "max": 40,
+                "delay": 10,
+                "tagtype": "0",
+                "energytypeid": null,
+                "energyitemid": null,
+                "param1": null,
+                "param2": null,
+                "logtime": "2023-10-17 15:43:57",
+                "tagvalue": 24.9,
+                "lastalarmtime": "2023-07-21 10:08:31",
+                "equipmentname": "加工中心温湿度",
+                "equipmentcode": "M20230027",
+                "energytypename": null,
+                "energyitemname": null
+            },
+            {
+                "createBy": "admin",
+                "createTime": "2023-07-20 15:58:21",
+                "updateBy": "admin",
+                "updateTime": "2023-07-20 16:14:21",
+                "remark": null,
+                "params": {},
+                "tagid": 301023312805889,
+                "equipmentid": 300838520160257,
+                "tagname": "xinghui_G5温度",
+                "tagaddress": null,
+                "min": -20,
+                "max": 40,
+                "delay": 10,
+                "tagtype": "0",
+                "energytypeid": null,
+                "energyitemid": null,
+                "param1": null,
+                "param2": null,
+                "logtime": "2023-10-07 14:02:20",
+                "tagvalue": 24.7,
+                "lastalarmtime": "2023-07-21 10:08:31",
+                "equipmentname": "G5温湿度",
+                "equipmentcode": "M20230051",
+                "energytypename": null,
+                "energyitemname": null
+            },
+            {
+                "createBy": "admin",
+                "createTime": "2023-07-20 15:57:28",
+                "updateBy": "",
+                "updateTime": null,
+                "remark": null,
+                "params": {},
+                "tagid": 301023201656833,
+                "equipmentid": 287940836130817,
+                "tagname": "xinghui_S五温度",
+                "tagaddress": null,
+                "min": -20,
+                "max": 40,
+                "delay": 10,
+                "tagtype": "0",
+                "energytypeid": null,
+                "energyitemid": null,
+                "param1": null,
+                "param2": null,
+                "logtime": "2023-10-17 15:43:57",
+                "tagvalue": 25.1,
+                "lastalarmtime": null,
+                "equipmentname": "S5温湿度",
+                "equipmentcode": "M20230026",
+                "energytypename": null,
+                "energyitemname": null
+            }
+        ],
+        "MachineSum": [
+            {
+                "equipmentid": null,
+                "equipmentname": null,
+                "year": null,
+                "month": null,
+                "week": null,
+                "day": null,
+                "dayofweek": null,
+                "howManyTimes": 0,
+                "howManyTimes2": null,
+                "ids": null,
+                "type": "normal"
+            },
+            {
+                "equipmentid": null,
+                "equipmentname": null,
+                "year": null,
+                "month": null,
+                "week": null,
+                "day": null,
+                "dayofweek": null,
+                "howManyTimes": 42,
+                "howManyTimes2": null,
+                "ids": null,
+                "type": "run"
+            },
+            {
+                "equipmentid": null,
+                "equipmentname": null,
+                "year": null,
+                "month": null,
+                "week": null,
+                "day": null,
+                "dayofweek": null,
+                "howManyTimes": 0,
+                "howManyTimes2": null,
+                "ids": null,
+                "type": "standby"
+            },
+            {
+                "equipmentid": null,
+                "equipmentname": null,
+                "year": null,
+                "month": null,
+                "week": null,
+                "day": null,
+                "dayofweek": null,
+                "howManyTimes": 8,
+                "howManyTimes2": null,
+                "ids": null,
+                "type": "stop"
+            },
+            {
+                "equipmentid": null,
+                "equipmentname": null,
+                "year": null,
+                "month": null,
+                "week": null,
+                "day": null,
+                "dayofweek": null,
+                "howManyTimes": 50,
+                "howManyTimes2": null,
+                "ids": null,
+                "type": "all"
+            }
+        ],
+        "UpkeepSum": [
+            {
+                "equipmentid": null,
+                "equipmentname": null,
+                "year": null,
+                "month": null,
+                "week": null,
+                "day": null,
+                "dayofweek": null,
+                "howManyTimes": 11,
+                "howManyTimes2": null,
+                "ids": null,
+                "type": "upkeepCompleted"
+            },
+            {
+                "equipmentid": null,
+                "equipmentname": null,
+                "year": null,
+                "month": null,
+                "week": null,
+                "day": null,
+                "dayofweek": null,
+                "howManyTimes": 0,
+                "howManyTimes2": null,
+                "ids": null,
+                "type": "upkeepIncomplete"
+            }
+        ],
+        "alarmData": [
+            {
+                "createBy": "admin",
+                "createTime": "2023-11-30 15:14:40",
+                "updateBy": "",
+                "updateTime": null,
+                "remark": "情况紧急,抓紧处理!",
+                "params": {},
+                "alarmid": 12,
+                "equipmentid": 1,
+                "equipmentname": "刮削滚光机SRB250X1100",
+                "alarmtime": "2023-11-30 15:14:40",
+                "alarmtype": "现场报警",
+                "alarmlevel": null,
+                "msgcode": null,
+                "paramcode": null,
+                "paramname": "Edh机8报警信息1",
+                "nowvalue": null,
+                "vmin": null,
+                "vmax": null,
+                "status": 0,
+                "handletime": null,
+                "handleuser": null,
+                "handleremark": null,
+                "url": null,
+                "distance": null,
+                "position": null,
+                "year": 2023,
+                "month": 11,
+                "week": 48,
+                "day": "2023-11-30",
+                "dayofweek": 4
+            },
+            {
+                "createBy": "admin",
+                "createTime": "2023-11-30 15:14:38",
+                "updateBy": "",
+                "updateTime": null,
+                "remark": "情况紧急,抓紧处理!",
+                "params": {},
+                "alarmid": 11,
+                "equipmentid": 1,
+                "equipmentname": "双工位双头镗",
+                "alarmtime": "2023-11-30 15:14:38",
+                "alarmtype": "现场报警",
+                "alarmlevel": null,
+                "msgcode": null,
+                "paramcode": null,
+                "paramname": "Edh机8报警信息1",
+                "nowvalue": null,
+                "vmin": null,
+                "vmax": null,
+                "status": 0,
+                "handletime": null,
+                "handleuser": null,
+                "handleremark": null,
+                "url": null,
+                "distance": null,
+                "position": null,
+                "year": 2023,
+                "month": 11,
+                "week": 48,
+                "day": "2023-11-30",
+                "dayofweek": 4
+            },
+            {
+                "createBy": "admin",
+                "createTime": "2023-11-30 15:14:24",
+                "updateBy": "",
+                "updateTime": null,
+                "remark": "情况紧急,抓紧处理!",
+                "params": {},
+                "alarmid": 10,
+                "equipmentid": 1,
+                "equipmentname": "摩擦焊MCH-110T",
+                "alarmtime": "2023-11-30 15:14:24",
+                "alarmtype": "设备故障",
+                "alarmlevel": null,
+                "msgcode": null,
+                "paramcode": null,
+                "paramname": "Edh机8报警信息1",
+                "nowvalue": null,
+                "vmin": null,
+                "vmax": null,
+                "status": 0,
+                "handletime": null,
+                "handleuser": null,
+                "handleremark": null,
+                "url": null,
+                "distance": null,
+                "position": null,
+                "year": 2023,
+                "month": 11,
+                "week": 48,
+                "day": "2023-11-30",
+                "dayofweek": 4
+            },
+            {
+                "createBy": "admin",
+                "createTime": "2023-11-30 15:13:55",
+                "updateBy": "",
+                "updateTime": null,
+                "remark": "情况紧急,抓紧处理!",
+                "params": {},
+                "alarmid": 9,
+                "equipmentid": 1,
+                "equipmentname": "数控车床CW6163C/6000",
+                "alarmtime": "2023-11-30 15:13:55",
+                "alarmtype": "设备故障",
+                "alarmlevel": null,
+                "msgcode": null,
+                "paramcode": null,
+                "paramname": "Edh机8报警信息1",
+                "nowvalue": null,
+                "vmin": null,
+                "vmax": null,
+                "status": 0,
+                "handletime": null,
+                "handleuser": null,
+                "handleremark": null,
+                "url": null,
+                "distance": null,
+                "position": null,
+                "year": 2023,
+                "month": 11,
+                "week": 48,
+                "day": "2023-11-30",
+                "dayofweek": 4
+            },
+            {
+                "createBy": "admin",
+                "createTime": "2023-11-30 15:12:20",
+                "updateBy": "",
+                "updateTime": null,
+                "remark": "情况紧急,抓紧处理!",
+                "params": {},
+                "alarmid": 8,
+                "equipmentid": 1,
+                "equipmentname": "油嘴环缝焊机NZC-500",
+                "alarmtime": "2023-11-30 15:12:20",
+                "alarmtype": "设备故障",
+                "alarmlevel": null,
+                "msgcode": null,
+                "paramcode": null,
+                "paramname": "Edh机8报警信息1",
+                "nowvalue": null,
+                "vmin": null,
+                "vmax": null,
+                "status": 0,
+                "handletime": null,
+                "handleuser": null,
+                "handleremark": null,
+                "url": null,
+                "distance": null,
+                "position": null,
+                "year": 2023,
+                "month": 11,
+                "week": 48,
+                "day": "2023-11-30",
+                "dayofweek": 4
+            }
+        ],
+        "noticeData":[
+            {
+                "createBy": "admin",
+                "createTime": "2024-01-25 14:38:30",
+                "updateBy": "",
+                "updateTime": null,
+                "remark": null,
+                "params": {},
+                "noticeId": 238,
+                "noticeTitle": "巡检工单[INSP20240005 焊接机器人、试验台巡检-2024-01-25 14:38:28]已生成,请及时处理!",
+                "noticeType": "巡检",
+                "noticeContent": null,
+                "status": "0",
+                "relid": 335258914455553,
+                "touser": "段连会"
+            },
+            {
+                "createBy": "admin",
+                "createTime": "2024-01-25 09:42:58",
+                "updateBy": "",
+                "updateTime": null,
+                "remark": null,
+                "params": {},
+                "noticeId": 237,
+                "noticeTitle": "巡检工单[INSP20240004 11111-2024-01-25 09:42:56]已生成,请及时处理!",
+                "noticeType": "巡检",
+                "noticeContent": null,
+                "status": "0",
+                "relid": 335221727756289,
+                "touser": "admin"
+            },
+            {
+                "createBy": "admin",
+                "createTime": "2024-01-23 11:41:10",
+                "updateBy": "",
+                "updateTime": null,
+                "remark": null,
+                "params": {},
+                "noticeId": 236,
+                "noticeTitle": "巡检工单[INSP20240003 20240123巡检计划01-2024-01-23 11:33:28]已生成,请及时处理!",
+                "noticeType": "巡检",
+                "noticeContent": null,
+                "status": "0",
+                "relid": 334873583747073,
+                "touser": "段连会"
+            },
+            {
+                "createBy": "admin",
+                "createTime": "2024-01-23 11:30:16",
+                "updateBy": "",
+                "updateTime": null,
+                "remark": null,
+                "params": {},
+                "noticeId": 235,
+                "noticeTitle": "巡检工单[INSP20240002 20240123巡检计划-2024-01-23 11:30:13]已生成,请及时处理!",
+                "noticeType": "巡检",
+                "noticeContent": null,
+                "status": "0",
+                "relid": 334872839258113,
+                "touser": "王人超"
+            },
+            {
+                "createBy": "admin",
+                "createTime": "2024-01-12 13:35:23",
+                "updateBy": "",
+                "updateTime": null,
+                "remark": null,
+                "params": {},
+                "noticeId": 234,
+                "noticeTitle": "巡检工单[INSP20240001 焊接机器人、试验台巡检-2024-01-12 13:32:02]已生成,请及时处理!",
+                "noticeType": "巡检",
+                "noticeContent": null,
+                "status": "0",
+                "relid": 332895046664193,
+                "touser": "段连会"
+            }
+        ],
+        "envirData": [
+            {
+                "equipmentid": 287940836130817,
+                "equipmentname": "S5温湿度",
+                "year": null,
+                "month": null,
+                "week": null,
+                "day": null,
+                "dayofweek": null,
+                "howManyTimes": 25,
+                "howManyTimes2": 46,
+                "ids": null,
+                "type": null
+            },
+            {
+                "equipmentid": 287940863393793,
+                "equipmentname": "加工中心温湿度",
+                "year": null,
+                "month": null,
+                "week": null,
+                "day": null,
+                "dayofweek": null,
+                "howManyTimes": 24,
+                "howManyTimes2": 44,
+                "ids": null,
+                "type": null
+            },
+            {
+                "equipmentid": 287940882268161,
+                "equipmentname": "E9_F9温湿度",
+                "year": null,
+                "month": null,
+                "week": null,
+                "day": null,
+                "dayofweek": null,
+                "howManyTimes": 25,
+                "howManyTimes2": 44,
+                "ids": null,
+                "type": null
+            },
+            {
+                "equipmentid": 287940909531137,
+                "equipmentname": "E1_旁小屋顶温湿度",
+                "year": null,
+                "month": null,
+                "week": null,
+                "day": null,
+                "dayofweek": null,
+                "howManyTimes": 24,
+                "howManyTimes2": 46,
+                "ids": null,
+                "type": null
+            },
+            {
+                "equipmentid": 300838520160257,
+                "equipmentname": "G5温湿度",
+                "year": null,
+                "month": null,
+                "week": null,
+                "day": null,
+                "dayofweek": null,
+                "howManyTimes": 24,
+                "howManyTimes2": 53,
+                "ids": null,
+                "type": null
+            },
+            {
+                "equipmentid": 300838572589057,
+                "equipmentname": "D6温湿度",
+                "year": null,
+                "month": null,
+                "week": null,
+                "day": null,
+                "dayofweek": null,
+                "howManyTimes": 25,
+                "howManyTimes2": 42,
+                "ids": null,
+                "type": null
+            },
+            {
+                "equipmentid": 300838631309313,
+                "equipmentname": "D10_D9温湿度",
+                "year": null,
+                "month": null,
+                "week": null,
+                "day": null,
+                "dayofweek": null,
+                "howManyTimes": 24,
+                "howManyTimes2": 44,
+                "ids": null,
+                "type": null
+            },
+            {
+                "equipmentid": 300838740361217,
+                "equipmentname": "E12_F12温湿度",
+                "year": null,
+                "month": null,
+                "week": null,
+                "day": null,
+                "dayofweek": null,
+                "howManyTimes": 26,
+                "howManyTimes2": 41,
+                "ids": null,
+                "type": null
+            },
+            {
+                "equipmentid": 300838776012801,
+                "equipmentname": "G12_F12螺栓拧紧旁温湿度",
+                "year": null,
+                "month": null,
+                "week": null,
+                "day": null,
+                "dayofweek": null,
+                "howManyTimes": 22,
+                "howManyTimes2": 53,
+                "ids": null,
+                "type": null
+            },
+            {
+                "equipmentid": 300838809567233,
+                "equipmentname": "G15_12号门对面温湿度",
+                "year": null,
+                "month": null,
+                "week": null,
+                "day": null,
+                "dayofweek": null,
+                "howManyTimes": 25,
+                "howManyTimes2": 39,
+                "ids": null,
+                "type": null
+            }
+        ]
+    }
 }