Browse Source

Merge branch 'yx' of http://61.161.152.110:10101/r/electronic-map into sl3

shilin 3 years atrás
parent
commit
88f41961f0
48 changed files with 383 additions and 155 deletions
  1. 1 1
      src/App.vue
  2. BIN
      src/assets/icon/svg/weather/01.png
  3. BIN
      src/assets/icon/svg/weather/02.png
  4. BIN
      src/assets/icon/svg/weather/03.png
  5. BIN
      src/assets/icon/svg/weather/04.png
  6. BIN
      src/assets/icon/svg/weather/05.png
  7. BIN
      src/assets/icon/svg/weather/06.png
  8. BIN
      src/assets/icon/svg/weather/07.png
  9. BIN
      src/assets/icon/svg/weather/08.png
  10. BIN
      src/assets/icon/svg/weather/11.png
  11. BIN
      src/assets/icon/svg/weather/12.png
  12. BIN
      src/assets/icon/svg/weather/13.png
  13. BIN
      src/assets/icon/svg/weather/14.png
  14. BIN
      src/assets/icon/svg/weather/15.png
  15. BIN
      src/assets/icon/svg/weather/16.png
  16. BIN
      src/assets/icon/svg/weather/17.png
  17. BIN
      src/assets/icon/svg/weather/18.png
  18. BIN
      src/assets/icon/svg/weather/19.png
  19. BIN
      src/assets/icon/svg/weather/20.png
  20. BIN
      src/assets/icon/svg/weather/21.png
  21. BIN
      src/assets/icon/svg/weather/22.png
  22. BIN
      src/assets/icon/svg/weather/23.png
  23. BIN
      src/assets/icon/svg/weather/24.png
  24. BIN
      src/assets/icon/svg/weather/25.png
  25. BIN
      src/assets/icon/svg/weather/26.png
  26. BIN
      src/assets/icon/svg/weather/29.png
  27. BIN
      src/assets/icon/svg/weather/30.png
  28. BIN
      src/assets/icon/svg/weather/31.png
  29. BIN
      src/assets/icon/svg/weather/32.png
  30. BIN
      src/assets/icon/svg/weather/33.png
  31. BIN
      src/assets/icon/svg/weather/34.png
  32. BIN
      src/assets/icon/svg/weather/35.png
  33. BIN
      src/assets/icon/svg/weather/36.png
  34. BIN
      src/assets/icon/svg/weather/37.png
  35. BIN
      src/assets/icon/svg/weather/38.png
  36. BIN
      src/assets/icon/svg/weather/39.png
  37. BIN
      src/assets/icon/svg/weather/40.png
  38. BIN
      src/assets/icon/svg/weather/41.png
  39. BIN
      src/assets/icon/svg/weather/42.png
  40. BIN
      src/assets/icon/svg/weather/43.png
  41. BIN
      src/assets/icon/svg/weather/44.png
  42. 140 0
      src/components/chart/line/weather-line-chart.vue
  43. 9 3
      src/router/index.js
  44. 5 2
      src/views/HealthControl/Health10.vue
  45. 127 41
      src/views/NewPages/iframe4.vue
  46. 99 106
      src/views/Others/index.vue
  47. 1 1
      src/views/SandTable/SandTable.vue
  48. 1 1
      src/views/layout/Header.vue

+ 1 - 1
src/App.vue

@@ -1,7 +1,7 @@
 <template>
   <div v-if="isLogined" class="main">
     <div class="header-body">
-      <div class="header-title" @mouseenter="showMenu">
+      <div class="header-title">
         <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="16.667vh" height="3.704vh" viewBox="0 0 377.437 91.615" enable-background="new 0 0 377.437 91.615" xml:space="preserve">
           <g id="图层_1">
             <g>

BIN
src/assets/icon/svg/weather/01.png


BIN
src/assets/icon/svg/weather/02.png


BIN
src/assets/icon/svg/weather/03.png


BIN
src/assets/icon/svg/weather/04.png


BIN
src/assets/icon/svg/weather/05.png


BIN
src/assets/icon/svg/weather/06.png


BIN
src/assets/icon/svg/weather/07.png


BIN
src/assets/icon/svg/weather/08.png


BIN
src/assets/icon/svg/weather/11.png


BIN
src/assets/icon/svg/weather/12.png


BIN
src/assets/icon/svg/weather/13.png


BIN
src/assets/icon/svg/weather/14.png


BIN
src/assets/icon/svg/weather/15.png


BIN
src/assets/icon/svg/weather/16.png


BIN
src/assets/icon/svg/weather/17.png


BIN
src/assets/icon/svg/weather/18.png


BIN
src/assets/icon/svg/weather/19.png


BIN
src/assets/icon/svg/weather/20.png


BIN
src/assets/icon/svg/weather/21.png


BIN
src/assets/icon/svg/weather/22.png


BIN
src/assets/icon/svg/weather/23.png


BIN
src/assets/icon/svg/weather/24.png


BIN
src/assets/icon/svg/weather/25.png


BIN
src/assets/icon/svg/weather/26.png


BIN
src/assets/icon/svg/weather/29.png


BIN
src/assets/icon/svg/weather/30.png


BIN
src/assets/icon/svg/weather/31.png


BIN
src/assets/icon/svg/weather/32.png


BIN
src/assets/icon/svg/weather/33.png


BIN
src/assets/icon/svg/weather/34.png


BIN
src/assets/icon/svg/weather/35.png


BIN
src/assets/icon/svg/weather/36.png


BIN
src/assets/icon/svg/weather/37.png


BIN
src/assets/icon/svg/weather/38.png


BIN
src/assets/icon/svg/weather/39.png


BIN
src/assets/icon/svg/weather/40.png


BIN
src/assets/icon/svg/weather/41.png


BIN
src/assets/icon/svg/weather/42.png


BIN
src/assets/icon/svg/weather/43.png


BIN
src/assets/icon/svg/weather/44.png


+ 140 - 0
src/components/chart/line/weather-line-chart.vue

@@ -0,0 +1,140 @@
+<template>
+  <div class="chart" :id="id"></div>
+</template>
+
+<script>
+import util from "@/helper/util.js";
+import partten from "@/helper/partten.js";
+import * as echarts from "echarts";
+
+export default {
+  name: "weather-line-chart",
+  componentName: "weather-line-char",
+  props: {
+    width: {
+      type: String,
+      default: "100%",
+    },
+    height: {
+      type: String,
+      default: "270px",
+    },
+  },
+  data() {
+    return {
+      id: "",
+      chart: null,
+    };
+  },
+  methods: {
+    initChart() {
+      const chart = echarts.init(this.$el);
+      let option = {
+        grid: {
+          top: 10,
+          bottom: 50,
+        },
+        xAxis: {
+          type: "category",
+          data: ["周一", "周二", "周三", "周四", "周五", "周六", "周日"],
+        },
+        yAxis: [
+          {
+            axisLine: { show: false },
+            axisTick: { show: false },
+            axisLabel: { show: false },
+            splitLine: { show: false },
+          },
+        ],
+
+        series: [
+          {
+            type: "custom",
+            renderItem: function (param, api) {
+              return {
+                type: "group",
+                children: [
+                  {
+                    type: "image",
+                    style: {
+                      image:
+                        require("@assets/icon/svg/weather/02.png"),
+                      x: 0,
+                      y: 0,
+                      width: 20,
+                      height: 20,
+                    },
+                    position: [param.dataIndexInside * 80 +80, 0],
+                  },
+                ],
+              };
+            },
+            data: [0, 10, 20],
+            yAxisIndex: 0,
+            z: 11,
+          },{
+            type: 'custom',
+            renderItem: function(param, api){
+                        return {
+            type: 'path',
+            shape: {
+                pathData: 'M31 16l-15-15v9h-26v12h26v9z',
+                      x: 0,
+                      y: 0,
+                      width: 20,
+                      height: 20,
+            },
+            rotation: 0,
+            position: [param.dataIndexInside * 80 +80, 200],
+            style: api.style({
+                stroke: '#555',
+                lineWidth: 1
+            })
+        };
+            },
+
+            data: [10,20,30],
+            z: 10
+        }
+        ],
+      };
+
+      chart.clear();
+      chart.setOption(option);
+      this.resize = function () {
+        chart.resize();
+      };
+
+      window.addEventListener("resize", this.resize);
+    },
+  },
+  created() {
+    this.id = "pie-chart-" + util.newGUID();
+  },
+  mounted() {
+    this.$nextTick(() => {
+      setTimeout(() => {
+        this.$el.style.width = this.width;
+        this.$el.style.height = this.height;
+        this.initChart();
+      }, 1000);
+    });
+  },
+  updated() {
+    this.$nextTick(() => {
+      this.initChart();
+    });
+  },
+  unmounted() {
+    window.removeEventListener("resize", this.resize);
+  },
+};
+</script>
+
+<style lang="less">
+.chart {
+  width: 100%;
+  height: 100%;
+  display: inline-block;
+}
+</style>

+ 9 - 3
src/router/index.js

@@ -526,16 +526,22 @@ const routes = [{
 		path: '/health/fzyfx/windAnalysis/fx', // 风向
 		name: 'fxzstmain',
 		component: () => import('../views/windAnalysis/fxzstmain.vue'),
-	}
+	},
 	/***********************************************************智慧检修************************************************************* */
 	/***********************************************************安全管控************************************************************* */	
-	,
+	{
+		path: '/save',
+		name: 'save',
+		component: () =>
+			import( /* webpackChunkName: "personnel" */ '../views/NewPages/iframe4.vue'),
+	}, 
 	{
 		path: '/save/personnel',
 		name: 'personnel',
 		component: () =>
 			import( /* webpackChunkName: "personnel" */ '../views/NewPages/personnel.vue'),
-	}, {
+	}, 
+	{
 		path: "/globalMonitor", // 全局监视
 		name: "globalMonitor",
 		component: () =>

+ 5 - 2
src/views/HealthControl/Health10.vue

@@ -102,6 +102,7 @@
           <img-line-chart
             height="270px"
           />
+          <!-- <weather-line-chart/> -->
         </div>
       </el-col>
     </el-row>
@@ -133,7 +134,8 @@ import TableLineChart from "../../components/chart/line/table-line-chart.vue";
 import ImgLineChart from "../../components/chart/line/img-line-chart.vue";
 import ZoomLineChart from "../../components/chart/line/zoom-line-chart.vue";
 import HealthReport from "@com/other/healthReport/index.vue";
-import WtChooser from "@com/coms/wt-chooser/wt-chooser.vue"
+import WeatherLineChart from "@com/chart/line/weather-line-chart.vue";
+import WtChooser from "@com/coms/wt-chooser/wt-chooser.vue";
 
 export default {
   setup() {},
@@ -144,7 +146,8 @@ export default {
     ImgLineChart,
     ZoomLineChart,
     HealthReport,
-    WtChooser
+    WtChooser,
+    WeatherLineChart,
   },
   data() {
     const that = this;

+ 127 - 41
src/views/NewPages/iframe4.vue

@@ -1,66 +1,152 @@
 <template>
-    <div class="iframe4">
-      <div class="back"></div>
-      <iframe src="https://www.baidu.com/" frameborder="0" class="iframe-1"></iframe>
-      <iframe src="https://www.baidu.com/" frameborder="0" class="iframe-2"></iframe>
-      <iframe src="https://www.baidu.com/" frameborder="0" class="iframe-3"></iframe>
-      <iframe src="https://www.baidu.com/" frameborder="0" class="iframe-4"></iframe>
+  <div class="iframe4">
+    <!-- <iframe src="http://10.75.17.10/doc/page/preview.asp" frameborder="0" class="iframe-2"></iframe> -->
+    <div class="iframe-1">
+      <personnel></personnel>
     </div>
+    <div class="iframe-2">
+      <div v-for="(pItem, pIndex) in videoArray" :key="pIndex" width="95%" height="48vh" @click="openVideoDialog(pItem)">
+        <div class="mask"></div>
+        <iframe :src="pItem.url + pItem.token" />
+      </div>
+    </div>
+    <div class="iframe-3">
+      <iframe src="http://192.168.1.52/webiui/#/online" frameborder="0"></iframe>
+    </div>
+    <div class="iframe-4">
+      <!-- <personnel></personnel> -->
+    </div>
+    <el-dialog top="50px" v-model="showVideoDialog" width="80vw" :destroy-on-close="true" :custom-class="videoDialogClass">
+      <iframe class="videoBoxiframe" width="100%" height="600px" :src="dialogVideoUrl" />
+    </el-dialog>
+  </div>
 </template>
 
 <script>
-
+import personnel from "./personnel.vue";
+import PanelSand from "@com/coms/panel/panel-sand.vue";
 export default {
-    setup() {},
-    components: {},
-    data() {
-        return {};
+  setup() {},
+  components: { personnel, PanelSand },
+  data() {
+    return {
+      showVideoDialog: false,
+      dialogVideoUrl: "",
+      videoArray: [
+        {
+          url: "http://10.155.32.4:9984/ws.html",
+          token: "?token=SBQ_FDC_SC&autoplay=true",
+          switch: true,
+        },
+        {
+          url: "http://10.155.32.4:9984/ws.html",
+          token: "?token=NSS_FDC_SC&autoplay=true",
+          switch: true,
+        },
+        {
+          url: "http://10.155.32.4:9984/ws.html",
+          token: "?token=QS_FDC_SC&autoplay=true",
+          switch: true,
+        },
+        {
+          url: "http://10.155.32.4:9984/ws.html",
+          token: "?token=MHS_FDC_SC&autoplay=true",
+          switch: true,
+        },
+        {
+          url: "http://10.155.32.4:9984/ws.html",
+          token: "?token=XS_FDC_SC&autoplay=true",
+          switch: true,
+        },
+        {
+          url: "http://10.155.32.4:9984/ws.html",
+          token: "?token=PL_GDC_SC&autoplay=true",
+          switch: true,
+        },
+      ],
+    };
+  },
+  methods: {
+    openVideoDialog(item) {
+      if (item.url && item.token) {
+        this.dialogVideoUrl = item.url + item.token;
+        this.showVideoDialog = true;
+      }
     },
-    created() {},
+  },
+  created() {},
 };
 </script>
 
 <style lang="less">
 .iframe4 {
-  .back {
-    position: fixed;
-    z-index: -1;
-    width: 100vw;
-    height: 100vh;
-    top: 0;
-    left: 0;
-    background: url(../../assets/background-iframe4.png) no-repeat;
-    background-size: 100% 100%;
-  }
-
+  // width: 98.5vw;
+  // height: 98.5vh;
+  background: url(../../assets/background-iframe4.png) no-repeat;
+  background-size: 100% 100%;
+  background-position-y: -5.1vh;
+  display: flex;
+  flex-wrap: wrap;
+  height: 98vh;
   .iframe-1,
   .iframe-2,
   .iframe-3,
   .iframe-4 {
-    position: fixed;
-    z-index: 1;
-    width: 37.4vw;
+    // position: fixed;
+    // z-index: 1;
+    width: 36.8vw;
     height: 37.31vh;
   }
 
-  .iframe-1,
-  .iframe-3 {
-    left: 6.61vw;
+  .iframe-1 {
+    margin-left: 6.5vw;
+    margin-top: 5.3vh;
+    .personnel {
+      height: calc(36.6vh);
+      .personnel-box-item {
+        width: 11.5vw;
+      }
+    }
   }
-
-  .iframe-1,
   .iframe-2 {
-    top: 10.74vh;
-  }
-
-  .iframe-2,
-  .iframe-4 {
-    left: 56.09vw;
+    flex: 0 0 36.69vw;
+    margin-left: 11.9vw;
+    margin-top: 5.5vh;
+    position: relative;
+    div {
+      display: flex;
+      height: 18.2vh;
+      width: 12.2vw;
+      float: left;
+      position: relative;
+      iframe {
+        height: 18.2vh;
+        width: 12.2vw;
+        // float: left;
+      }
+      .mask {
+        flex: 0 0 100%;
+        position: absolute;
+        left: 0;
+        top: 0;
+        width: 100%;
+        height: 100%;
+        z-index: 5;
+      }
+    }
   }
-
-  .iframe-3,
-  .iframe-4 {
-    top: 57.31vh;
+  .iframe-3 {
+    height: calc(36.6vh);
+    margin-left: 6.5vw;
+    margin-top: -0.7vh;
+    background-color:seashell;
+    iframe {
+      height: 100%;
+      width: 100%;
+    }
   }
+  .modal.el-dialog {
+    background: rgba(18, 29, 28, 0.95);
+    }
 }
 </style>

+ 99 - 106
src/views/Others/index.vue

@@ -1,44 +1,18 @@
 <template>
   <div class="swiperBox">
-    <el-carousel
-      style="width: 100%; margin: 5vh 0"
-      trigger="click"
-      type="card"
-      height="80vh"
-      :autoplay="false"
-      indicator-position="none"
-      :initial-index="1"
-      arrow="none"
-      @change="changeSwiper"
-    >
+    <el-carousel style="width: 100%; margin: 5vh 0" trigger="click" type="card" height="80vh" :autoplay="false" indicator-position="none" :initial-index="1" arrow="none" @change="changeSwiper">
       <!-- card-1 -->
       <el-carousel-item style="padding: 20px; background: rgb(4, 12, 11)">
         <div class="itemBox">
           <p class="itemTitle">
-            原始数据查询
-            <i
-              class="itemMoreBtn el-icon-more"
-              @click="jumpUrl('/realSearch')"
-            ></i>
+            数据查询
           </p>
-          <div class="df-table">
-            <ComTable height="30vh" :data="tableData1" :pageSize="20">
-            </ComTable>
-          </div>
-          <!-- <div class="imageBox">
-            <div class="imgItem" @click="jumpUrl('/realSearch')">
-              <el-image class="img" src="./static/img/oa日报.png" fit="fill" />
-              <p class="imgTitle">测点数据查询</p>
+          <div class="df-table" @click="jumpUrl('/others/realSearch')">
+            <div class="sjcx-item" v-for="(value, key) in wppointColumn" :key="key">
+              <div class="sjcx-name">{{value}}</div>
+              <div class="sjcx-value">{{wppointnum[key]}}</div>
             </div>
-            <div class="imgItem" @click="jumpUrl('/historySearch')">
-              <el-image
-                class="img"
-                src="./static/img/新能源日报.png"
-                fit="fill"
-              />
-              <p class="imgTitle">测点历史数据查询</p>
-            </div>
-          </div> -->
+          </div>
         </div>
       </el-carousel-item>
 
@@ -47,50 +21,13 @@
         <div class="itemBox">
           <p class="itemTitle">
             预警记录
-            <!-- <i class="itemMoreBtn el-icon-more" @click="jumpUrl('/realSearch')"></i> -->
           </p>
           <div class="df-table">
-            <ComTable height="30vh" :data="tableData2" :pageSize="20">
-            </ComTable>
-          </div>
-          <!-- <div class="imageBox1">
-            <div class="imgItem1" @click="jumpUrl('/new/alarmcenter')">
-              <el-image class="img1" src="./static/img/oa日报.png" fit="fill" />
-              <p class="imgTitle">预警管理</p>
+            <div class="sjcx-item" v-for="item in earlyAlarmColumn" :key="item" @click="jumpUrl(item.url)">
+              <div class="sjcx-name">{{item.name}}</div>
+              <div class="sjcx-value">{{earlyAlarmData[item.key] || '0'}}</div>
             </div>
-            <div class="imgItem1" @click="jumpUrl('/new/tjsj')">
-              <el-image
-                class="img1"
-                src="./static/img/新能源日报.png"
-                fit="fill"
-              />
-              <p class="imgTitle">停机事件管理</p>
-            </div>
-            <div class="imgItem1" @click="jumpUrl('/new/xdgl')">
-              <el-image class="img1" src="./static/img/oa日报.png" fit="fill" />
-              <p class="imgTitle">限电管理</p>
-            </div>
-            <div class="imgItem1" @click="jumpUrl('/alarmCenter/boosterAlarm')">
-              <el-image
-                class="img1"
-                src="./static/img/新能源日报.png"
-                fit="fill"
-              />
-              <p class="imgTitle">升压站报警</p>
-            </div>
-            <div class="imgItem1" @click="jumpUrl('/alarmCenter/scadaAlarm')">
-              <el-image class="img1" src="./static/img/oa日报.png" fit="fill" />
-              <p class="imgTitle">SCADA报警</p>
-            </div>
-            <div class="imgItem1" @click="jumpUrl('/alarmCenter/customAlarm')">
-              <el-image
-                class="img1"
-                src="./static/img/新能源日报.png"
-                fit="fill"
-              />
-              <p class="imgTitle">自定义报警</p>
-            </div>
-          </div> -->
+          </div>
         </div>
       </el-carousel-item>
 
@@ -129,41 +66,29 @@
             <!-- <i class="itemMoreBtn el-icon-more" @click="jumpUrl('/realSearch')"></i> -->
           </p>
           <div class="imageBox1">
-            <div class="imgItem1" @click="jumpUrl('/tjfx')">
+            <div class="imgItem1" @click="jumpUrl('/others/tjfx')">
               <el-image class="img1" src="./static/img/oa日报.png" fit="fill" />
               <p class="imgTitle">统计分析</p>
             </div>
-            <div class="imgItem1" @click="jumpUrl('/bdzcx')">
-              <el-image
-                class="img1"
-                src="./static/img/新能源日报.png"
-                fit="fill"
-              />
+            <div class="imgItem1" @click="jumpUrl('/others/bdzcx')">
+              <el-image class="img1" src="./static/img/新能源日报.png" fit="fill" />
               <p class="imgTitle">表底值查询</p>
             </div>
-            <div class="imgItem1" @click="jumpUrl('/xnyrb')">
+            <div class="imgItem1" @click="jumpUrl('/others/xnyrb')">
               <el-image class="img1" src="./static/img/oa日报.png" fit="fill" />
               <p class="imgTitle">新能源日报</p>
             </div>
-            <div class="imgItem1" @click="jumpUrl('/xnyfdscyb')">
-              <el-image
-                class="img1"
-                src="./static/img/新能源日报.png"
-                fit="fill"
-              />
+            <div class="imgItem1" @click="jumpUrl('/others/xnyfdscyb')">
+              <el-image class="img1" src="./static/img/新能源日报.png" fit="fill" />
               <p class="imgTitle">新能源风电生产月报</p>
             </div>
-            <div class="imgItem1" @click="jumpUrl('/missfdrb')">
-              <el-image
-                class="img1"
-                src="./static/img/新能源日报.png"
-                fit="fill"
-              />
-              <p class="imgTitle">动态报表</p>
+            <div class="imgItem1" @click="jumpUrl('/others/fdczzdy')">
+              <el-image class="img1" src="./static/img/新能源日报.png" fit="fill" />
+              <p class="imgTitle">风电场站自定义</p>
             </div>
-            <div class="imgItem1" @click="jumpUrl('/missgfrb')">
+            <div class="imgItem1" @click="jumpUrl('/others/fdxmzdy')">
               <el-image class="img1" src="./static/img/oa日报.png" fit="fill" />
-              <p class="imgTitle">项目动态报表</p>
+              <p class="imgTitle">风电项目自定义</p>
             </div>
           </div>
         </div>
@@ -199,6 +124,30 @@ export default {
   data() {
     const that = this;
     return {
+      wppointnum: {},
+      wppointColumn: {
+        MHS_FDC: "麻黄山风电场",
+        NSS_FDC: "牛首山风电场",
+        QS_FDC: "青山风电场",
+        SBQ_FDC: "石板泉风电场",
+        XS_FDC: "香山风电场",
+        DWK_GDC: "大武口电站",
+        PL_GDC: "平罗光伏电站",
+        XH_GDC: "宣和光伏发电站",
+        MCH_GDC: "马场湖光发伏电站",
+        JSFW: "计算服务测点",
+      },
+      earlyAlarmData: {},
+      earlyAlarmColumn: [
+        { name: "停机事件管理", key: "tj", url: "/others/alarmCenter/tjsj" },
+        { name: "限电管理", key: "xd", url: "/others/alarmCenter/xdgl" },
+        { name: "状态转换记录", key: "", url: "" },
+        { name: "操作记录", key: "", url: "" },
+        { name: "升压站动作", key: "", url: "" },
+        { name: "升压站告警", key: "syzgj", url: "/others/alarmCenter/boosterAlarm" },
+        { name: "风机告警", key: "fjgj", url: "/others/alarmCenter/scadaAlarm" },
+        { name: "风机预警", key: "fjyj", url: "/others/alarmCenter/alarmcenter" },
+      ],
       tableData1: {
         column: [
           {
@@ -317,12 +266,9 @@ export default {
           .css({ background: "rgb(4, 12, 11)", border: "1px solid #05bb4c" });
         for (let i = 0; i < swiperDom.length; i++) {
           if (i !== index) {
-            swiperDom
-              .eq(i)
-              .find(".el-carousel__mask")
-              .css({
-                background: "rgb(4, 12, 11)",
-              });
+            swiperDom.eq(i).find(".el-carousel__mask").css({
+              background: "rgb(4, 12, 11)",
+            });
             swiperDom.eq(i).css({
               background: "rgb(4, 12, 11)",
               border: "1px solid rgba(5, 187, 76, 0.5)",
@@ -408,7 +354,6 @@ export default {
           timeDate: "风机预警",
           value: "1",
         },
-        
       ];
       that.tableData2.data = tableArr2;
       console.log("tableData2:", that.tableData2);
@@ -451,7 +396,7 @@ export default {
         },
       ];
       that.tableData3.data = tableArr3;
-         console.log("tableData3:", that.tableData3);
+      console.log("tableData3:", that.tableData3);
 
       let tableArr4 = [
         {
@@ -476,7 +421,28 @@ export default {
         },
       ];
       that.tableData4.data = tableArr4;
-         console.log("tableData4:", that.tableData4);
+      console.log("tableData4:", that.tableData4);
+    },
+    getWppointnum() {
+      const that = this;
+      that.API.requestData({
+        method: "POST",
+        subUrl: "yaw/getWppointnum",
+        success(res) {
+          that.wppointnum = res.data;
+        },
+      });
+    },
+    async getEarlyAlarmData() {
+      const that = this;
+      const {data} = await that.API.requestData({
+        method: "GET",
+        baseURL: "http://192.168.1.18:8075/",
+        subUrl: "alarm/count/todaycount",
+        success(res) {
+          },
+      });
+      this.earlyAlarmData = data.data;
     },
   },
 
@@ -488,6 +454,8 @@ export default {
       this.changeSwiper(1);
     });
     that.getTableData();
+    this.getWppointnum();
+    this.getEarlyAlarmData();
   },
 
   unmounted() {},
@@ -521,6 +489,31 @@ export default {
       overflow: hidden;
       text-overflow: ellipsis;
     }
+    .sjcx-item:nth-child(2n) {
+      background-color: rgba(96, 103, 105, 0.2);
+    }
+    .sjcx-item:hover {
+      color: #05bb4c;
+    }
+    .sjcx-item {
+      cursor: pointer;
+      // background-color: #edbf03;
+      display: flex;
+      height: 6.68vh;
+      line-height: 6.68vh;
+      font-size: 18pt;
+      text-align: center;
+      color: #9ca5a8;
+      .sjcx-name {
+        // background-color:aqua;
+        flex: 0 0 50%;
+      }
+      .sjcx-value {
+        // text-align: left;
+        // background-color:rosybrown;
+        flex: 0 0 50%;
+      }
+    }
   }
   .itemTitle {
     width: 100%;

+ 1 - 1
src/views/SandTable/SandTable.vue

@@ -1024,7 +1024,7 @@ export default {
 
   .sand-table-bottom {
     position: absolute;
-    left: calc(50vw - 550px);
+    right: calc(50vw - 545px);
     bottom: 0;
     z-index: 2;
     display: flex;

+ 1 - 1
src/views/layout/Header.vue

@@ -55,7 +55,7 @@ export default {
         {
           id: 'save',
           text: '安全管控',
-          path: '/save/personnel',
+          path: '/save',
           isActive: false
         },
         // {