wangtao hace 2 años
padre
commit
1eb7a13158
Se han modificado 41 ficheros con 2845 adiciones y 2481 borrados
  1. 16 18
      src/assets/font/font.css
  2. 148 148
      src/components2/SpringFrame/canyin.vue
  3. 84 84
      src/components2/cnergyConsumptionStatistics/index.vue
  4. 117 117
      src/components2/conferenceRoomStatistics/index.vue
  5. 120 120
      src/components2/parkingSpace/index.vue
  6. 96 96
      src/components2/populationStatistics/index.vue
  7. 226 226
      src/components2/restaurant/index copy.vue
  8. 249 249
      src/components2/restaurant/index.vue
  9. 199 199
      src/components2/weather/index.vue
  10. 165 165
      src/components2/wenyin/index.vue
  11. 148 148
      src/components3/SpringFrame/canyin.vue
  12. 9 5
      src/components3/anquanjiance/index.vue
  13. 1 1
      src/components3/anquanjiance/pie.vue
  14. 1 1
      src/components3/anquanjiance/pie2.vue
  15. 13 3
      src/components3/nengyuan/index.vue
  16. 1 1
      src/components3/nengyuan/lineE.vue
  17. 1 1
      src/components3/nengyuan/pie.vue
  18. 2 2
      src/components3/seHeader/index.vue
  19. 40 5
      src/components3/tongxingguanli/index.vue
  20. 1 0
      src/components3/tongxingguanli/lineE.vue
  21. 3 3
      src/components3/xiaofangjiangkong/index.vue
  22. 1 1
      src/components3/xiaofangjiangkong/pie.vue
  23. 1 1
      src/components3/xiaofangjiangkong/pie2.vue
  24. 24 13
      src/components3/yuanqushenghuo/index.vue
  25. 108 0
      src/components3/yuanqushenghuo/lineE.vue
  26. 33 2
      src/components3/yuanqushenghuo/lineE3.vue
  27. 1 1
      src/components3/yuanqushenghuo/pie.vue
  28. 14 24
      src/components3/yuanqushenghuo/pie2.vue
  29. 11 9
      src/components3/zhihuibangong/index.vue
  30. 14 8
      src/components3/zhihuibangong/pie1.vue
  31. 18 23
      src/components3/zhihuibangong/pie2.vue
  32. 25 36
      src/components3/zhihuibangong/pie3.vue
  33. 2 2
      src/components3/zhihuixuexi/index.vue
  34. 12 17
      src/components3/zuhuguanli/pie1.vue
  35. 11 16
      src/components3/zuhuguanli/pie2.vue
  36. 119 119
      src/main.js
  37. 601 615
      src/views/index.vue
  38. 1 1
      vue.config.js
  39. 1 1
      相关文档/20221020智慧楼宇-开发文件/20221019智慧楼宇/index.html
  40. 0 0
      相关文档/中屏数据结构/V3-中屏json数据.txt
  41. 208 0
      相关文档/中屏数据结构/zp.js

+ 16 - 18
src/assets/font/font.css

@@ -1,18 +1,16 @@
- /* 这是 font.css 可设置多种字体;
- 注意:font-family: 'XXX'; 将字体名字自定义为 XXX,使用时要用这个名字 */
-
-@font-face {
-  font-family: 'MicrosoftYaHei';
-  src: url('./微软vista雅黑.ttf');
-}
-
-@font-face {
-    font-family: 'MicrosoftYaHei-Bold';
-    src: url('./微软vista雅黑Bold.ttf');
-}
-
-@font-face {
-  font-family: 'DINAlternate-Bold';
-  src: url('./DINAlternate-bold.otf');
-}
-
+ /* 这是 font.css 可设置多种字体;
+ 注意:font-family: 'XXX'; 将字体名字自定义为 XXX,使用时要用这个名字 */
+ /* @font-face {
+     font-family: 'MicrosoftYaHei';
+     src: url('./微软vista雅黑.ttf');
+ }
+
+ @font-face {
+     font-family: 'MicrosoftYaHei-Bold';
+     src: url('./微软vista雅黑Bold.ttf');
+ }
+
+ @font-face {
+     font-family: '微软雅黑';
+     src: url('./微软雅黑.otf');
+ } */

+ 148 - 148
src/components2/SpringFrame/canyin.vue

@@ -1,148 +1,148 @@
-<template>
-  <el-row class="video commonWidth" v-if="state">
-    <el-col class="top">
-      <el-col class="title">
-        <span>菜品名称</span>
-      </el-col>
-      <el-image
-        @click="close2"
-        class="close"
-        :src="close"
-      ></el-image>
-    </el-col>
-    <el-col class="contain">
-       <el-col class="title">{{data2.name}}</el-col>
-       <el-col :span="12" class="nh">
-            <el-image :src="cy"  />
-            <el-col class="name"
-            >供应数量<el-col class="num"
-                >{{data2.num[0]}}<span class="unit">份</span></el-col
-            ></el-col
-            >
-      </el-col>
-      <el-col :span="12" class="nh">
-            <el-image :src="cy" />
-            <el-col class="name"
-            >剩余数量<el-col class="num"
-                >{{data2.num[1]}}<span class="unit">份</span></el-col
-            ></el-col
-            >
-      </el-col>
-      <el-col :span="12" class="nh">
-            <el-image :src="cy"  />
-            <el-col class="name"
-            >单价<el-col class="num"
-                >{{data2.num[2]}}<span class="unit">元</span></el-col
-            ></el-col
-            >
-      </el-col>
-      <el-col :span="12" class="nh">
-            <el-image :src="cy"  />
-            <el-col class="name"
-            >评价统计<el-col class="num"
-                >{{data2.num[3]}}<span class="unit">分</span></el-col
-            ></el-col
-            >
-      </el-col>
-    </el-col>
-  </el-row>
-</template>
-<script>
-import close from "@/assets/images2/close.png";
-import cy from "@/assets/images2/能耗统计icon.png";
-export default {
-  name: "canyin",
-  props: ["resInfo"],
-  data() {
-    return {
-      state: true,
-      close: close,
-      cy: cy,
-      data:[
-          {name:"清炒时蔬",num:[412,5,10,9]},
-          {name:"柠檬鸭",num:[315,0,15,8.5]},
-          {name:"番茄炒蛋",num:[267,3,10,8.1]},
-      ],
-      data2:{}
-    };
-  },
-  mounted() {
-    this.getData();
-  },
-  methods: {
-    getData() {
-      this.data2 = this.data[this.resInfo.canyin - 1]
-    },
-
-    close2() {
-      //关闭
-      this.state = false;
-      this.$emit("close");
-    },
-  },
-};
-</script>
-
-<style lang="scss" scoped>
-@import "@/assets/styles/common.scss";
-.commonWidth {
-  width: 950px;
-  height: 500px;
-  background-color: rgba(40,40,40,0.5);
-  margin: 0 auto;
-  border-radius: 20px;
-  padding: 20px;
-  color: $white;
-  .top {
-    .title {
-      width: 100%;
-      margin-top: -2px;
-      margin-left: 16px;
-      display: inline-block;
-      font-size: 30px;
-    }
-    .close {
-      width: 40px;
-      height: 40px;
-      float: right;
-      margin-top: -40px;
-      image {
-        width: 100%;
-      }
-    }
-  }
-  .contain {
-      .title{
-          font-size: 30px;
-          text-align: center;
-          margin:40px auto -30px;
-      }
-    .nh {
-        margin-top: 100px;
-            .el-image {
-            width: 40px;
-            margin-top: -25px;
-            margin-left:120px;
-            float: left;
-        }
-        .name {
-            font-size: 26px;
-            margin: -25px 15px 0 !important;
-            width: 150px;
-            display: block;
-        .num {
-            font-size: 30px;
-            font-family: 'DINAlternate-Bold';
-            font-weight: 700;
-            margin-top: 15px;
-            display: inline-block;
-            .unit {
-            font-size: 20px;
-            margin-left:10px;
-            }
-        }
-        }
-    }
-  }
-}
-</style>
+<template>
+  <el-row class="video commonWidth" v-if="state">
+    <el-col class="top">
+      <el-col class="title">
+        <span>菜品名称</span>
+      </el-col>
+      <el-image
+        @click="close2"
+        class="close"
+        :src="close"
+      ></el-image>
+    </el-col>
+    <el-col class="contain">
+       <el-col class="title">{{data2.name}}</el-col>
+       <el-col :span="12" class="nh">
+            <el-image :src="cy"  />
+            <el-col class="name"
+            >供应数量<el-col class="num"
+                >{{data2.num[0]}}<span class="unit">份</span></el-col
+            ></el-col
+            >
+      </el-col>
+      <el-col :span="12" class="nh">
+            <el-image :src="cy" />
+            <el-col class="name"
+            >剩余数量<el-col class="num"
+                >{{data2.num[1]}}<span class="unit">份</span></el-col
+            ></el-col
+            >
+      </el-col>
+      <el-col :span="12" class="nh">
+            <el-image :src="cy"  />
+            <el-col class="name"
+            >单价<el-col class="num"
+                >{{data2.num[2]}}<span class="unit">元</span></el-col
+            ></el-col
+            >
+      </el-col>
+      <el-col :span="12" class="nh">
+            <el-image :src="cy"  />
+            <el-col class="name"
+            >评价统计<el-col class="num"
+                >{{data2.num[3]}}<span class="unit">分</span></el-col
+            ></el-col
+            >
+      </el-col>
+    </el-col>
+  </el-row>
+</template>
+<script>
+import close from "@/assets/images2/close.png";
+import cy from "@/assets/images2/能耗统计icon.png";
+export default {
+  name: "canyin",
+  props: ["resInfo"],
+  data() {
+    return {
+      state: true,
+      close: close,
+      cy: cy,
+      data:[
+          {name:"清炒时蔬",num:[412,5,10,9]},
+          {name:"柠檬鸭",num:[315,0,15,8.5]},
+          {name:"番茄炒蛋",num:[267,3,10,8.1]},
+      ],
+      data2:{}
+    };
+  },
+  mounted() {
+    this.getData();
+  },
+  methods: {
+    getData() {
+      this.data2 = this.data[this.resInfo.canyin - 1]
+    },
+
+    close2() {
+      //关闭
+      this.state = false;
+      this.$emit("close");
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+@import "@/assets/styles/common.scss";
+.commonWidth {
+  width: 950px;
+  height: 500px;
+  background-color: rgba(40,40,40,0.5);
+  margin: 0 auto;
+  border-radius: 20px;
+  padding: 20px;
+  color: $white;
+  .top {
+    .title {
+      width: 100%;
+      margin-top: -2px;
+      margin-left: 16px;
+      display: inline-block;
+      font-size: 30px;
+    }
+    .close {
+      width: 40px;
+      height: 40px;
+      float: right;
+      margin-top: -40px;
+      image {
+        width: 100%;
+      }
+    }
+  }
+  .contain {
+      .title{
+          font-size: 30px;
+          text-align: center;
+          margin:40px auto -30px;
+      }
+    .nh {
+        margin-top: 100px;
+            .el-image {
+            width: 40px;
+            margin-top: -25px;
+            margin-left:120px;
+            float: left;
+        }
+        .name {
+            font-size: 26px;
+            margin: -25px 15px 0 !important;
+            width: 150px;
+            display: block;
+        .num {
+            font-size: 30px;
+            font-family: '微软雅黑';
+            font-weight: 700;
+            margin-top: 15px;
+            display: inline-block;
+            .unit {
+            font-size: 20px;
+            margin-left:10px;
+            }
+        }
+        }
+    }
+  }
+}
+</style>

+ 84 - 84
src/components2/cnergyConsumptionStatistics/index.vue

@@ -1,84 +1,84 @@
-<template>
-  <el-col :span="24" class="cnergyConsumptionStatistics modular" style="padding:10px 20px 0;">
-    <el-col class="title" style="margin-left:0" >能耗统计</el-col>
-    <el-col :span="12" class="nh">
-      <el-image :src="cnergyConsumption" fit="scale-down" />
-      <el-col class="name"
-        >当日耗能<el-col class="num"
-          >{{ data.dangri }}<span class="unit">kw · h</span></el-col
-        ></el-col
-      >
-    </el-col>
-    <el-col :span="12" class="nh">
-      <el-image :src="cnergyConsumption" fit="scale-down" />
-      <el-col class="name"
-        >当月耗能<el-col class="num"
-          >{{ data.dangyue }}<span class="unit">kw · h</span></el-col
-        ></el-col
-      >
-    </el-col>
-    <el-col :span="12" class="nh">
-      <el-image :src="cnergyConsumption" fit="scale-down" />
-      <el-col class="name"
-        >昨日耗能<el-col class="num"
-          >{{ data.zuori }}<span class="unit">kw · h</span></el-col
-        ></el-col
-      >
-    </el-col>
-    <el-col :span="12" class="nh">
-      <el-image :src="cnergyConsumption" fit="scale-down" />
-      <el-col class="name"
-        >上月耗能<el-col class="num"
-          >{{ data.shangyu }}<span class="unit">kw · h</span></el-col
-        ></el-col
-      >
-    </el-col>
-  </el-col>
-</template>
-<script>
-import cnergyConsumption from "@/assets/images2/能耗统计icon.png";
-export default {
-  name: "cnergyConsumptionStatistics",
-  props:["resInfo"],
-  data() {
-    return {
-      cnergyConsumption: cnergyConsumption,
-      data:{},
-    };
-  },
-  watch:{
-    resInfo(val,old){
-      this.data = val
-    }
-  }
-};
-</script>
-<style lang="scss" scoped>
-@import '@/assets/styles/common.scss';
-.nh {
-  margin-top: 2.6vh;
-  .el-image {
-    width: 24px;
-    float: left;
-  }
-  .name {
-    font-size: 16px;
-    margin: 0 12px 0;
-    width: 150px;
-    float: left;
-    color:$white2;
-    .num {
-      font-size: 24px;
-      font-family: "DINAlternate-Bold";
-      font-weight: 700;
-      margin-top: 0.5vh;
-      color:$white;
-      .unit {
-        font-size: 16px;
-        width: auto;
-        margin-left:2px;
-      }
-    }
-  }
-}
-</style>
+<template>
+  <el-col :span="24" class="cnergyConsumptionStatistics modular" style="padding:10px 20px 0;">
+    <el-col class="title" style="margin-left:0" >能耗统计</el-col>
+    <el-col :span="12" class="nh">
+      <el-image :src="cnergyConsumption" fit="scale-down" />
+      <el-col class="name"
+        >当日耗能<el-col class="num"
+          >{{ data.dangri }}<span class="unit">kw · h</span></el-col
+        ></el-col
+      >
+    </el-col>
+    <el-col :span="12" class="nh">
+      <el-image :src="cnergyConsumption" fit="scale-down" />
+      <el-col class="name"
+        >当月耗能<el-col class="num"
+          >{{ data.dangyue }}<span class="unit">kw · h</span></el-col
+        ></el-col
+      >
+    </el-col>
+    <el-col :span="12" class="nh">
+      <el-image :src="cnergyConsumption" fit="scale-down" />
+      <el-col class="name"
+        >昨日耗能<el-col class="num"
+          >{{ data.zuori }}<span class="unit">kw · h</span></el-col
+        ></el-col
+      >
+    </el-col>
+    <el-col :span="12" class="nh">
+      <el-image :src="cnergyConsumption" fit="scale-down" />
+      <el-col class="name"
+        >上月耗能<el-col class="num"
+          >{{ data.shangyu }}<span class="unit">kw · h</span></el-col
+        ></el-col
+      >
+    </el-col>
+  </el-col>
+</template>
+<script>
+import cnergyConsumption from "@/assets/images2/能耗统计icon.png";
+export default {
+  name: "cnergyConsumptionStatistics",
+  props:["resInfo"],
+  data() {
+    return {
+      cnergyConsumption: cnergyConsumption,
+      data:{},
+    };
+  },
+  watch:{
+    resInfo(val,old){
+      this.data = val
+    }
+  }
+};
+</script>
+<style lang="scss" scoped>
+@import '@/assets/styles/common.scss';
+.nh {
+  margin-top: 2.6vh;
+  .el-image {
+    width: 24px;
+    float: left;
+  }
+  .name {
+    font-size: 16px;
+    margin: 0 12px 0;
+    width: 150px;
+    float: left;
+    color:$white2;
+    .num {
+      font-size: 24px;
+      font-family: "微软雅黑";
+      font-weight: 700;
+      margin-top: 0.5vh;
+      color:$white;
+      .unit {
+        font-size: 16px;
+        width: auto;
+        margin-left:2px;
+      }
+    }
+  }
+}
+</style>

+ 117 - 117
src/components2/conferenceRoomStatistics/index.vue

@@ -1,117 +1,117 @@
-<template>
-  <el-col :span="24" class="conferenceRoomStatistics modular" style="padding:10px 20px 0;pointer-event: auto;cursor: pointer;" @click.native="hyClick()">
-    <el-col :span="13" class="title" style="margin-left:0" >会议室统计</el-col>
-    <el-col :span="12" class="conferenceRoomStatisticsLeft">
-      <el-col class="rowN" style="margin-top: 45px;">
-        <el-image :src="conferenceRoom" fit="scale-down" />
-        <el-col class="name">会议室总数</el-col>
-        <!-- <el-col class="num">21<span> 间</span></el-col> -->
-        <el-col class="num">{{data.roomTotal}}<span> 间</span></el-col>
-      </el-col>
-      <el-col class="rowN" >
-        <el-image :src="conferenceRoom" fit="scale-down" />
-        <el-col class="name">在用会议室</el-col>
-        <!-- <el-col class="num">0<span> 间</span></el-col> -->
-        <el-col class="num">{{data.roomInUse}}<span> 间</span></el-col>
-      </el-col>
-    </el-col>
-    <div :span="12" style="position: relative;;z-index:10;top:0px;">
-      <p class="titleHy">会议室昨日使用情况</p>
-      <pie :resData="data2.pie" style="margin-top:-10%"/>
-    </div>
-  </el-col>
-</template>
-<script>
-import axios from 'axios'
-import conferenceRoom from "@/assets/images2/会议室统计icon.png";
-import pie from "@/components2/conferenceRoomStatistics/pie.vue";
-export default {
-  name: "conferenceRoomStatistics",
-  props:["resInfo"],
-  components: {
-  	pie,
-  },
-  data() {
-    return {
-      conferenceRoom: conferenceRoom,
-      data:{
-        roomInUse: undefined,
-        attendeeIsSign: undefined,
-        attendeeTotal: undefined,
-        roomTotal: undefined
-      },
-      data2:{}
-    };
-  },
-  watch:{
-    resInfo(val,old){
-      this.data2 = val
-    }
-  },
-  mounted() {
-    this.init()
-    this.timing()
-  },
-  methods: {
-    init(){
-      axios({
-        method: 'get',
-        url: 'https://smartpark.caih.com/hyxt/api/thirdparty/meetingRoom/summary',
-      }).then(res =>{
-        if(res.data){
-          this.data = res.data
-        }
-      }).catch(err =>{
-      })
-    },
-    timing(){
-      setInterval(() =>{
-        this.init()
-      },1000 * 60 * 5)
-    },
-    hyClick(){
-      this.$emit("postMsg","会议室")
-    }
-
-  },
-};
-</script>
-<style lang="scss" scopet>
-@import '@/assets/styles/common.scss';
-.conferenceRoomStatisticsLeft {
-  width: 50%;
-  display: inline-block;
-  .rowN {
-    margin-top: 28px;
-    vertical-align: middle;
-    .el-image {
-      width: 24px;
-      vertical-align: middle;
-      float: left;
-    }
-    .name {
-      font-size: 16px;
-      margin: 0 12px 0;
-      width: auto;
-      float: left;
-      color:$white2;
-    }
-    .num {
-      font-size: 24px;
-      font-family: "DINAlternate-Bold";
-      font-weight: 700;
-      width: auto;
-      float: left;
-      margin-top:-5px;
-      color:$white;
-      span{
-        font-size: 16px;
-      }
-    }
-  }
-}
-.titleHy{
-  font-size: 20px;
-  margin-top:0px;
-}
-</style>
+<template>
+  <el-col :span="24" class="conferenceRoomStatistics modular" style="padding:10px 20px 0;pointer-event: auto;cursor: pointer;" @click.native="hyClick()">
+    <el-col :span="13" class="title" style="margin-left:0" >会议室统计</el-col>
+    <el-col :span="12" class="conferenceRoomStatisticsLeft">
+      <el-col class="rowN" style="margin-top: 45px;">
+        <el-image :src="conferenceRoom" fit="scale-down" />
+        <el-col class="name">会议室总数</el-col>
+        <!-- <el-col class="num">21<span> 间</span></el-col> -->
+        <el-col class="num">{{data.roomTotal}}<span> 间</span></el-col>
+      </el-col>
+      <el-col class="rowN" >
+        <el-image :src="conferenceRoom" fit="scale-down" />
+        <el-col class="name">在用会议室</el-col>
+        <!-- <el-col class="num">0<span> 间</span></el-col> -->
+        <el-col class="num">{{data.roomInUse}}<span> 间</span></el-col>
+      </el-col>
+    </el-col>
+    <div :span="12" style="position: relative;;z-index:10;top:0px;">
+      <p class="titleHy">会议室昨日使用情况</p>
+      <pie :resData="data2.pie" style="margin-top:-10%"/>
+    </div>
+  </el-col>
+</template>
+<script>
+import axios from 'axios'
+import conferenceRoom from "@/assets/images2/会议室统计icon.png";
+import pie from "@/components2/conferenceRoomStatistics/pie.vue";
+export default {
+  name: "conferenceRoomStatistics",
+  props:["resInfo"],
+  components: {
+  	pie,
+  },
+  data() {
+    return {
+      conferenceRoom: conferenceRoom,
+      data:{
+        roomInUse: undefined,
+        attendeeIsSign: undefined,
+        attendeeTotal: undefined,
+        roomTotal: undefined
+      },
+      data2:{}
+    };
+  },
+  watch:{
+    resInfo(val,old){
+      this.data2 = val
+    }
+  },
+  mounted() {
+    this.init()
+    this.timing()
+  },
+  methods: {
+    init(){
+      axios({
+        method: 'get',
+        url: 'https://smartpark.caih.com/hyxt/api/thirdparty/meetingRoom/summary',
+      }).then(res =>{
+        if(res.data){
+          this.data = res.data
+        }
+      }).catch(err =>{
+      })
+    },
+    timing(){
+      setInterval(() =>{
+        this.init()
+      },1000 * 60 * 5)
+    },
+    hyClick(){
+      this.$emit("postMsg","会议室")
+    }
+
+  },
+};
+</script>
+<style lang="scss" scopet>
+@import '@/assets/styles/common.scss';
+.conferenceRoomStatisticsLeft {
+  width: 50%;
+  display: inline-block;
+  .rowN {
+    margin-top: 28px;
+    vertical-align: middle;
+    .el-image {
+      width: 24px;
+      vertical-align: middle;
+      float: left;
+    }
+    .name {
+      font-size: 16px;
+      margin: 0 12px 0;
+      width: auto;
+      float: left;
+      color:$white2;
+    }
+    .num {
+      font-size: 24px;
+      font-family: "微软雅黑";
+      font-weight: 700;
+      width: auto;
+      float: left;
+      margin-top:-5px;
+      color:$white;
+      span{
+        font-size: 16px;
+      }
+    }
+  }
+}
+.titleHy{
+  font-size: 20px;
+  margin-top:0px;
+}
+</style>

+ 120 - 120
src/components2/parkingSpace/index.vue

@@ -1,120 +1,120 @@
-<template>
-  <el-col :span="24" class="parkingSpace modular" style="padding:10px 20px 0;">
-    <el-col class="title" style="margin-left:0">停车位统计</el-col>
-    <el-col class="parkingSpaceLeft">
-      <el-col class="rowN">
-        <el-image :src="car" fit="scale-down" />
-        <el-col class="name">车位总数</el-col>
-        <el-col class="num">{{data.zongshu}}<span> 个</span></el-col>
-      </el-col>
-      <el-col class="rowN">
-        <el-image :src="car" fit="scale-down" />
-        <el-col class="name">已停车位</el-col>
-        <el-col class="num">{{data.zongshu - data.shengyu}}<span> 个</span></el-col>
-      </el-col>
-      <el-col class="rowN">
-        <el-image :src="car" fit="scale-down" />
-        <el-col class="name">剩余车位</el-col>
-        <el-col class="num">{{data.shengyu}}<span> 个</span></el-col>
-      </el-col>
-    </el-col>
-    <el-col class="parkingSpaceRight">
-      <el-col class="num">{{data.churu}}<span> 辆/次</span></el-col>
-      <el-col class="name">今日出入车辆</el-col>
-    </el-col>
-  </el-col>
-</template>
-<script>
-import axios from 'axios'
-import car from "@/assets/images2/汽车位统计icon.png";
-export default {
-  name: "parkingSpace",
-  props:["resInfo"],
-  data() {
-    return {
-      car: car,
-      data:{}
-    };
-  },
-  watch:{
-    resInfo(val,old){
-      this.data = val
-    }
-  },
-  mounted() {
-    //this.init()
-  },
-  methods: {
-
-    init(){
-      axios({
-        method: 'get',
-        url: 'https://smartpark.caih.com/ykt/api/thirdparty/v1/openInterface/parkingSpot',
-        timeout: 10000,
-      }).then(res =>{
-        console.log(res)
-
-      }).catch(err =>{
-      })
-    }
-  },
-};
-</script>
-<style lang="scss">
-@import "@/assets/styles/common.scss";
-.parkingSpaceLeft {
-  width: 50%;
-  display: inline-block;
-  .rowN {
-    margin-top: 28px;
-    display: flex;
-    flex-direction: row;
-    align-items: flex-start;
-    .el-image {
-      width: 24px;
-    }
-    .name {
-      font-size: 16px;
-      margin: 0 12px 0;
-      width: auto;
-      color:$white2;
-    }
-    .num {
-      font-size: 24px;
-      font-family: "DINAlternate-Bold";
-      font-weight: 700;
-      width: auto;
-      margin-top: -4px;
-      color:$white;
-      span{
-        font-size: 16px;
-      }
-    }
-  }
-}
-.parkingSpaceRight {
-  width: 50%;
-  text-align: center;
-  .num {
-    font-size: 45px;
-    font-family: "DINAlternate-Bold";
-    font-weight: 700;
-    width: 100%;
-    text-align: center;
-    margin-top: 50px;
-    margin-left: 14px;
-    background: linear-gradient(180deg, #f4f8ff 0%, #a3b3cc 100%);
-    -webkit-background-clip: text;
-    -webkit-text-fill-color: transparent;
-    span{
-      font-size: 20px;
-    }
-  }
-  .name {
-    font-size: 16px;
-    margin: 15px 12px 0;
-    width: 100%;
-    color:$white2;
-  }
-}
-</style>
+<template>
+  <el-col :span="24" class="parkingSpace modular" style="padding:10px 20px 0;">
+    <el-col class="title" style="margin-left:0">停车位统计</el-col>
+    <el-col class="parkingSpaceLeft">
+      <el-col class="rowN">
+        <el-image :src="car" fit="scale-down" />
+        <el-col class="name">车位总数</el-col>
+        <el-col class="num">{{data.zongshu}}<span> 个</span></el-col>
+      </el-col>
+      <el-col class="rowN">
+        <el-image :src="car" fit="scale-down" />
+        <el-col class="name">已停车位</el-col>
+        <el-col class="num">{{data.zongshu - data.shengyu}}<span> 个</span></el-col>
+      </el-col>
+      <el-col class="rowN">
+        <el-image :src="car" fit="scale-down" />
+        <el-col class="name">剩余车位</el-col>
+        <el-col class="num">{{data.shengyu}}<span> 个</span></el-col>
+      </el-col>
+    </el-col>
+    <el-col class="parkingSpaceRight">
+      <el-col class="num">{{data.churu}}<span> 辆/次</span></el-col>
+      <el-col class="name">今日出入车辆</el-col>
+    </el-col>
+  </el-col>
+</template>
+<script>
+import axios from 'axios'
+import car from "@/assets/images2/汽车位统计icon.png";
+export default {
+  name: "parkingSpace",
+  props:["resInfo"],
+  data() {
+    return {
+      car: car,
+      data:{}
+    };
+  },
+  watch:{
+    resInfo(val,old){
+      this.data = val
+    }
+  },
+  mounted() {
+    //this.init()
+  },
+  methods: {
+
+    init(){
+      axios({
+        method: 'get',
+        url: 'https://smartpark.caih.com/ykt/api/thirdparty/v1/openInterface/parkingSpot',
+        timeout: 10000,
+      }).then(res =>{
+        console.log(res)
+
+      }).catch(err =>{
+      })
+    }
+  },
+};
+</script>
+<style lang="scss">
+@import "@/assets/styles/common.scss";
+.parkingSpaceLeft {
+  width: 50%;
+  display: inline-block;
+  .rowN {
+    margin-top: 28px;
+    display: flex;
+    flex-direction: row;
+    align-items: flex-start;
+    .el-image {
+      width: 24px;
+    }
+    .name {
+      font-size: 16px;
+      margin: 0 12px 0;
+      width: auto;
+      color:$white2;
+    }
+    .num {
+      font-size: 24px;
+      font-family: "微软雅黑";
+      font-weight: 700;
+      width: auto;
+      margin-top: -4px;
+      color:$white;
+      span{
+        font-size: 16px;
+      }
+    }
+  }
+}
+.parkingSpaceRight {
+  width: 50%;
+  text-align: center;
+  .num {
+    font-size: 45px;
+    font-family: "微软雅黑";
+    font-weight: 700;
+    width: 100%;
+    text-align: center;
+    margin-top: 50px;
+    margin-left: 14px;
+    background: linear-gradient(180deg, #f4f8ff 0%, #a3b3cc 100%);
+    -webkit-background-clip: text;
+    -webkit-text-fill-color: transparent;
+    span{
+      font-size: 20px;
+    }
+  }
+  .name {
+    font-size: 16px;
+    margin: 15px 12px 0;
+    width: 100%;
+    color:$white2;
+  }
+}
+</style>

+ 96 - 96
src/components2/populationStatistics/index.vue

@@ -1,96 +1,96 @@
-<template>
-  <el-col :span="24" class="populationStatistics modular" style="padding:10px 20px 0;" v-loading="loading">
-    <el-col class="title" style="margin-left:0;">今日人流量统计</el-col>
-    <el-col class="subtitle"
-      >今日人流量统计:<strong>{{
-        populationStatisticsList.num
-      }}</strong><span> 人/次</span></el-col
-    >
-    <echartsZXT
-      v-if="status"
-      :resData="populationStatisticsList.data"
-      style="width: 100%; height: 100%;"
-      alt="折线图"
-    />
-  </el-col>
-</template>
-<script>
-import axios from 'axios'
-import echartsZXT from "@/components2/populationStatistics/echartsZXT.vue";
-export default {
-  name: "populationStatistics",
-  components: {
-    echartsZXT,
-  },
-  data() {
-    return {
-      populationStatisticsList: {
-        //今日流量
-          num: undefined,
-          data: [
-            [],[]
-          ],
-      },
-      status:false,
-      loading:true
-    };
-  },
-  watch: {},
-  created(){
-    this.init()
-    this.timing()
-  },
-  mounted() {
-
-  },
-  methods: {
-    async init(){
-      await axios({
-        method: 'get',
-        url: 'https://smartpark.caih.com/ykt/api/thirdparty/v1/openInterface/yunUserRequest',
-        timeout: 10000,
-      }).then(res =>{
-          let total = 0
-          if(res.data){
-            this.populationStatisticsList.data.num = 0
-            this.populationStatisticsList.data[0] = []
-            this.populationStatisticsList.data[1] = []
-            for(let i = 0; i<res.data.length; i++){
-              this.populationStatisticsList.data[0].push(res.data[i].access_time)
-              this.populationStatisticsList.data[1].push(res.data[i].card_number)
-              total += res.data[i].card_number
-            }
-            this.populationStatisticsList.num = total
-            setTimeout(()=>{
-              this.status = true
-              this.loading = false
-            },20)
-
-          }
-      }).catch(err =>{
-      })
-    },
-    timing(){
-      setInterval(() =>{
-        this.init()
-      },1000 * 60 * 5)
-    }
-  },
-};
-</script>
-
-<style lang="scss" scoped>
-.subtitle {
-  position: absolute;
-  top: 10px;
-  right: 20px;
-  font-size: 16px;
-  text-align: right;
-  strong {
-    font-size: 20px;
-    font-family: "DINAlternate-Bold";
-    font-weight: 700;
-
-  }
-}
-</style>
+<template>
+  <el-col :span="24" class="populationStatistics modular" style="padding:10px 20px 0;" v-loading="loading">
+    <el-col class="title" style="margin-left:0;">今日人流量统计</el-col>
+    <el-col class="subtitle"
+      >今日人流量统计:<strong>{{
+        populationStatisticsList.num
+      }}</strong><span> 人/次</span></el-col
+    >
+    <echartsZXT
+      v-if="status"
+      :resData="populationStatisticsList.data"
+      style="width: 100%; height: 100%;"
+      alt="折线图"
+    />
+  </el-col>
+</template>
+<script>
+import axios from 'axios'
+import echartsZXT from "@/components2/populationStatistics/echartsZXT.vue";
+export default {
+  name: "populationStatistics",
+  components: {
+    echartsZXT,
+  },
+  data() {
+    return {
+      populationStatisticsList: {
+        //今日流量
+          num: undefined,
+          data: [
+            [],[]
+          ],
+      },
+      status:false,
+      loading:true
+    };
+  },
+  watch: {},
+  created(){
+    this.init()
+    this.timing()
+  },
+  mounted() {
+
+  },
+  methods: {
+    async init(){
+      await axios({
+        method: 'get',
+        url: 'https://smartpark.caih.com/ykt/api/thirdparty/v1/openInterface/yunUserRequest',
+        timeout: 10000,
+      }).then(res =>{
+          let total = 0
+          if(res.data){
+            this.populationStatisticsList.data.num = 0
+            this.populationStatisticsList.data[0] = []
+            this.populationStatisticsList.data[1] = []
+            for(let i = 0; i<res.data.length; i++){
+              this.populationStatisticsList.data[0].push(res.data[i].access_time)
+              this.populationStatisticsList.data[1].push(res.data[i].card_number)
+              total += res.data[i].card_number
+            }
+            this.populationStatisticsList.num = total
+            setTimeout(()=>{
+              this.status = true
+              this.loading = false
+            },20)
+
+          }
+      }).catch(err =>{
+      })
+    },
+    timing(){
+      setInterval(() =>{
+        this.init()
+      },1000 * 60 * 5)
+    }
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.subtitle {
+  position: absolute;
+  top: 10px;
+  right: 20px;
+  font-size: 16px;
+  text-align: right;
+  strong {
+    font-size: 20px;
+    font-family: "微软雅黑";
+    font-weight: 700;
+
+  }
+}
+</style>

+ 226 - 226
src/components2/restaurant/index copy.vue

@@ -1,226 +1,226 @@
-<template>
-  <el-col :span="24" class="restaurant modular" style="padding:10px 20px 0;">
-    <el-col class="title" style="margin-left:0">智慧餐饮</el-col>
-    <el-col class="restaurantLeft">
-      <el-col :span="24" class="nh">
-        <el-image :src="restaurant1" fit="scale-down" />
-        <el-col class="name"
-          >今日营业额<el-col class="num"
-            >{{num[0]}}<span class="unit">元</span></el-col
-          ></el-col
-        >
-      </el-col>
-      <el-col :span="24" class="nh">
-        <el-image :src="restaurant1" fit="scale-down" />
-        <el-col class="name"
-          >今日销售人/次<el-col class="num"
-            >{{num[1]}}<span class="unit">份</span></el-col
-          ></el-col
-        >
-      </el-col>
-    </el-col>
-    <el-col class="restaurantRight">
-      <el-col class="top">
-        <el-image :src="restaurant2" fit="scale-down" class="leftImg" />
-        <el-col class="name">昨日最受欢迎菜品</el-col>
-        <el-image :src="restaurant3" fit="scale-down" class="rightImg" />
-      </el-col>
-      <el-col class="bottom">
-        <div class="dish" v-for="(item,index) in list2" :key="index" @click="canyin(index + 1)">
-          <el-col :span="8"><el-image :src="item.id" fit="scale-down" class="leftImg"/></el-col>
-          <el-col :span="8" class="dishName">{{item.name || "未营业"}}</el-col>
-          <el-col :span="8" class="fs">{{item.num || 0}}份</el-col>
-        </div>
-      </el-col>
-    </el-col>
-  </el-col>
-</template>
-<script>
-import axios from 'axios'
-import restaurant1 from "@/assets/images2/智慧餐饮icon.png";
-import restaurant2 from "@/assets/images2/排名-左边.png";
-import restaurant3 from "@/assets/images2/排名-右边.png";
-import num1 from "@/assets/images2/第一名icon.png";
-import num2 from "@/assets/images2/第二名icon.png";
-import num3 from "@/assets/images2/第三名icon.png";
-import { getWeekDate } from "@/assets/js/dataFormate.js";
-export default {
-  name: "restaurant",
-  data() {
-    return {
-      restaurant1: restaurant1,
-      restaurant2: restaurant2,
-      restaurant3: restaurant3,
-      num1: num1,
-      num2: num2,
-      num3: num3,
-      data:{
-        total:undefined,
-        list:{}
-      },
-      list2:[
-        {id:num1,name:"清炒时蔬",num:412},
-        {id:num2,name:"柠檬鸭",num:315},
-        {id:num3,name:"番茄炒蛋",num:267},
-      ],
-      num:[38155,15642],
-      tapNo:false,
-    };
-  },
-  created(){
-    console.log(getWeekDate())
-    if(getWeekDate() == "周一" || getWeekDate() == "周日"){
-      this.list2 = [
-        {id:num1,name:"未营业",num:0},
-        {id:num2,name:"未营业",num:0},
-        {id:num3,name:"未营业",num:0},
-      ]
-      // this.num = [0,0]
-      this.tapNo = true
-    }
-    if(getWeekDate() == "周六" || getWeekDate() == "周日"){
-      this.num = [0,0]
-    }
-  },
-  mounted() {
-    this.init()
-    this.timing()
-  },
-  methods: {
-    init(){
-      axios({
-        method: 'get',
-        url: 'https://smartpark.caih.com/zhcy/api/thirdparty/v1/open/countOrderAmt',
-        timeout: 3000,
-      }).then(res =>{
-        console.log(res)
-        this.data.total = res.data
-      }).catch(err =>{
-      })
-
-      axios({
-        method: 'get',
-        url: 'https://smartpark.caih.com/zhcy/api/thirdparty/v1/open/hyFood',
-        timeout: 3000,
-      }).then(res =>{
-        if(res.data){
-          this.data.list = res.data
-          this.data.list[0].id = this.num1
-          this.data.list[1].id = this.num2
-          this.data.list[2].id = this.num3
-        }
-      }).catch(err =>{
-      })
-    },
-    timing(){
-      setInterval(() =>{
-        this.init()
-      },1000 * 60 * 5)
-    },
-    canyin(id){
-      if(this.tapNo == true){
-        //禁止跳转(周六周日休业)
-      }else{
-        this.$emit("canyinClick",id)
-      }
-
-    }
-  },
-};
-</script>
-<style lang="scss" scoped>
-@import '@/assets/styles/common.scss';
-.restaurantLeft {
-  width: 50%;
-  display: inline-block;
-  margin-top:0vh !important;
-  .nh {
-    margin-top: 50px;
-    .el-image {
-      width: 24px;
-      margin-top: -25px;
-      float: left;
-    }
-    .name {
-      font-size: 16px;
-      margin: -25px 30px 0 !important;
-      width: 150px;
-      display: block;
-      color:$white2;
-      .num {
-        font-size: 24px;
-        font-family: "DINAlternate-Bold";
-        font-weight: 700;
-        margin-top: 0.5vh;
-        display: inline-block;
-        color:$white;
-        .unit {
-          font-size: 16px;
-          margin-left:2px;
-        }
-      }
-    }
-  }
-}
-.restaurantRight {
-  width: 50%;
-  text-align: center;
-  .top {
-    display: flex;
-    flex-direction: row;
-    justify-content: center;
-    align-items: center;
-    .name {
-      font-size: 16px;
-      color: $orange;
-      padding-bottom: 10px;
-      display: inline-block;
-      vertical-align: middle;
-      width: auto;
-      margin: 0 6px;
-    }
-    .name::after {
-      content: "";
-      width: 60%;
-      height: 1px;
-      display: block;
-      margin: 0 auto;
-      border-bottom: 1px solid $orange;
-      padding: 1px;
-    }
-
-    .leftImg,
-    .rightImg {
-      width: 25px;
-      margin-top:10px;
-    }
-  }
-  .bottom {
-    display: flex;
-    flex-direction: column;
-    .dish {
-      margin-top: 8px;
-      height: 33px;
-      line-height: 33px;
-      background-color: $modularHoverBackGround;
-      text-align: center;
-      vertical-align: middle;
-      cursor: pointer;
-      .el-image {
-        width: 24px;
-        margin: 4.5px 0;
-      }
-      .dishName,
-      .fs {
-        font-size: 16px;
-        margin-top:-2px;
-        font-family: 'DINAlternate-Bold';
-      }
-      .dishName{
-
-        display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
-      }
-    }
-  }
-}
-</style>
+<template>
+  <el-col :span="24" class="restaurant modular" style="padding:10px 20px 0;">
+    <el-col class="title" style="margin-left:0">智慧餐饮</el-col>
+    <el-col class="restaurantLeft">
+      <el-col :span="24" class="nh">
+        <el-image :src="restaurant1" fit="scale-down" />
+        <el-col class="name"
+          >今日营业额<el-col class="num"
+            >{{num[0]}}<span class="unit">元</span></el-col
+          ></el-col
+        >
+      </el-col>
+      <el-col :span="24" class="nh">
+        <el-image :src="restaurant1" fit="scale-down" />
+        <el-col class="name"
+          >今日销售人/次<el-col class="num"
+            >{{num[1]}}<span class="unit">份</span></el-col
+          ></el-col
+        >
+      </el-col>
+    </el-col>
+    <el-col class="restaurantRight">
+      <el-col class="top">
+        <el-image :src="restaurant2" fit="scale-down" class="leftImg" />
+        <el-col class="name">昨日最受欢迎菜品</el-col>
+        <el-image :src="restaurant3" fit="scale-down" class="rightImg" />
+      </el-col>
+      <el-col class="bottom">
+        <div class="dish" v-for="(item,index) in list2" :key="index" @click="canyin(index + 1)">
+          <el-col :span="8"><el-image :src="item.id" fit="scale-down" class="leftImg"/></el-col>
+          <el-col :span="8" class="dishName">{{item.name || "未营业"}}</el-col>
+          <el-col :span="8" class="fs">{{item.num || 0}}份</el-col>
+        </div>
+      </el-col>
+    </el-col>
+  </el-col>
+</template>
+<script>
+import axios from 'axios'
+import restaurant1 from "@/assets/images2/智慧餐饮icon.png";
+import restaurant2 from "@/assets/images2/排名-左边.png";
+import restaurant3 from "@/assets/images2/排名-右边.png";
+import num1 from "@/assets/images2/第一名icon.png";
+import num2 from "@/assets/images2/第二名icon.png";
+import num3 from "@/assets/images2/第三名icon.png";
+import { getWeekDate } from "@/assets/js/dataFormate.js";
+export default {
+  name: "restaurant",
+  data() {
+    return {
+      restaurant1: restaurant1,
+      restaurant2: restaurant2,
+      restaurant3: restaurant3,
+      num1: num1,
+      num2: num2,
+      num3: num3,
+      data:{
+        total:undefined,
+        list:{}
+      },
+      list2:[
+        {id:num1,name:"清炒时蔬",num:412},
+        {id:num2,name:"柠檬鸭",num:315},
+        {id:num3,name:"番茄炒蛋",num:267},
+      ],
+      num:[38155,15642],
+      tapNo:false,
+    };
+  },
+  created(){
+    console.log(getWeekDate())
+    if(getWeekDate() == "周一" || getWeekDate() == "周日"){
+      this.list2 = [
+        {id:num1,name:"未营业",num:0},
+        {id:num2,name:"未营业",num:0},
+        {id:num3,name:"未营业",num:0},
+      ]
+      // this.num = [0,0]
+      this.tapNo = true
+    }
+    if(getWeekDate() == "周六" || getWeekDate() == "周日"){
+      this.num = [0,0]
+    }
+  },
+  mounted() {
+    this.init()
+    this.timing()
+  },
+  methods: {
+    init(){
+      axios({
+        method: 'get',
+        url: 'https://smartpark.caih.com/zhcy/api/thirdparty/v1/open/countOrderAmt',
+        timeout: 3000,
+      }).then(res =>{
+        console.log(res)
+        this.data.total = res.data
+      }).catch(err =>{
+      })
+
+      axios({
+        method: 'get',
+        url: 'https://smartpark.caih.com/zhcy/api/thirdparty/v1/open/hyFood',
+        timeout: 3000,
+      }).then(res =>{
+        if(res.data){
+          this.data.list = res.data
+          this.data.list[0].id = this.num1
+          this.data.list[1].id = this.num2
+          this.data.list[2].id = this.num3
+        }
+      }).catch(err =>{
+      })
+    },
+    timing(){
+      setInterval(() =>{
+        this.init()
+      },1000 * 60 * 5)
+    },
+    canyin(id){
+      if(this.tapNo == true){
+        //禁止跳转(周六周日休业)
+      }else{
+        this.$emit("canyinClick",id)
+      }
+
+    }
+  },
+};
+</script>
+<style lang="scss" scoped>
+@import '@/assets/styles/common.scss';
+.restaurantLeft {
+  width: 50%;
+  display: inline-block;
+  margin-top:0vh !important;
+  .nh {
+    margin-top: 50px;
+    .el-image {
+      width: 24px;
+      margin-top: -25px;
+      float: left;
+    }
+    .name {
+      font-size: 16px;
+      margin: -25px 30px 0 !important;
+      width: 150px;
+      display: block;
+      color:$white2;
+      .num {
+        font-size: 24px;
+        font-family: "微软雅黑";
+        font-weight: 700;
+        margin-top: 0.5vh;
+        display: inline-block;
+        color:$white;
+        .unit {
+          font-size: 16px;
+          margin-left:2px;
+        }
+      }
+    }
+  }
+}
+.restaurantRight {
+  width: 50%;
+  text-align: center;
+  .top {
+    display: flex;
+    flex-direction: row;
+    justify-content: center;
+    align-items: center;
+    .name {
+      font-size: 16px;
+      color: $orange;
+      padding-bottom: 10px;
+      display: inline-block;
+      vertical-align: middle;
+      width: auto;
+      margin: 0 6px;
+    }
+    .name::after {
+      content: "";
+      width: 60%;
+      height: 1px;
+      display: block;
+      margin: 0 auto;
+      border-bottom: 1px solid $orange;
+      padding: 1px;
+    }
+
+    .leftImg,
+    .rightImg {
+      width: 25px;
+      margin-top:10px;
+    }
+  }
+  .bottom {
+    display: flex;
+    flex-direction: column;
+    .dish {
+      margin-top: 8px;
+      height: 33px;
+      line-height: 33px;
+      background-color: $modularHoverBackGround;
+      text-align: center;
+      vertical-align: middle;
+      cursor: pointer;
+      .el-image {
+        width: 24px;
+        margin: 4.5px 0;
+      }
+      .dishName,
+      .fs {
+        font-size: 16px;
+        margin-top:-2px;
+        font-family: '微软雅黑';
+      }
+      .dishName{
+
+        display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
+      }
+    }
+  }
+}
+</style>

+ 249 - 249
src/components2/restaurant/index.vue

@@ -1,249 +1,249 @@
-<template>
-  <el-col :span="24" class="restaurant modular" style="padding:10px 20px 0;" v-loading="loading">
-    <el-col class="title" style="margin-left:0">智慧餐饮</el-col>
-    <el-col class="restaurantLeft">
-      <el-col :span="24" class="nh">
-        <el-image :src="restaurant1" fit="scale-down" />
-        <el-col class="name">今日营业额
-          <el-col class="num">{{ data2.yingyee }}<span class="unit">元</span></el-col>
-        </el-col>
-        <!-- <el-col class="name"
-          >今日营业额<el-col class="num"
-            >{{ data.nowIncome || 0 }}<span class="unit">元</span></el-col
-          ></el-col
-        > -->
-      </el-col>
-      <el-col :span="24" class="nh">
-        <el-image :src="restaurant1" fit="scale-down" />
-        <el-col class="name"
-          >今日销售人/次<el-col class="num"
-            >{{ data2.renci }}<span class="unit"></span></el-col
-          ></el-col
-        >
-        <!-- <el-col class="name"
-          >今日销售人/次<el-col class="num"
-            >{{ data.consumerNowNumber || 0 }}<span class="unit"></span></el-col
-          ></el-col
-        > -->
-      </el-col>
-    </el-col>
-    <el-col class="restaurantRight">
-      <el-col class="top">
-        <el-image :src="restaurant2" fit="scale-down" class="leftImg" />
-        <el-col class="name">昨日最受欢迎菜品</el-col>
-        <el-image :src="restaurant3" fit="scale-down" class="rightImg" />
-      </el-col>
-      <el-col class="bottom">
-        <div class="dish" v-for="(item,index) in data2.zuori" :key="index">
-          <el-col :span="5"><el-image :src="item.img" fit="scale-down" class="leftImg iconCP"/></el-col>
-          <el-col :span="11" class="dishName">{{item.name}}</el-col>
-          <el-col :span="8" class="fs">{{item.countPid}}份</el-col>
-        </div>
-      </el-col>
-    </el-col>
-  </el-col>
-</template>
-<script>
-import axios from 'axios'
-import restaurant1 from "@/assets/images2/智慧餐饮icon.png";
-import restaurant2 from "@/assets/images2/排名-左边.png";
-import restaurant3 from "@/assets/images2/排名-右边.png";
-import num1 from "@/assets/images2/第一名icon.png";
-import num2 from "@/assets/images2/第二名icon.png";
-import num3 from "@/assets/images2/第三名icon.png";
-import { getWeekDate } from "@/assets/js/dataFormate.js";
-export default {
-  name: "restaurant",
-  props:["resInfo"],
-  data() {
-    return {
-      loading:false,
-      restaurant1: restaurant1,
-      restaurant2: restaurant2,
-      restaurant3: restaurant3,
-      num1: num1,
-      num2: num2,
-      num3: num3,
-      data:{
-        countTheTopThree:[
-          // {img:num1,name:"蒜茸小白菜",countPid:436},
-          // {img:num2,name:"雪菜老豆腐",countPid:403},
-          // {img:num3,name:"碎肉粉",countPid:395}
-
-          // {img:num1,name:"蒜茸小白菜",countPid:436},
-          // {img:num2,name:"雪菜老豆腐",countPid:403},
-          // {img:num3,name:"碎肉粉",countPid:395}
-
-          {img:num1,name:"米饭",countPid:305},
-          {img:num2,name:"西红柿炒蛋",countPid:236},
-          {img:num3,name:"鱼香肉丝",countPid:158},
-        ]
-      },
-      data2:{}
-    };
-  },
-  watch:{
-    resInfo(val,old){
-      val.zuori[0].img = this.num1
-      val.zuori[1].img = this.num2
-      val.zuori[2].img = this.num3
-      this.data2 = val
-    }
-  },
-  created(){
-    // if(getWeekDate() == "周一" || getWeekDate() == "周日"){
-    //   this.list2 = [
-    //     {id:num1,name:"未营业",num:0},
-    //     {id:num2,name:"未营业",num:0},
-    //     {id:num3,name:"未营业",num:0},
-    //   ]
-    //   // this.num = [0,0]
-    //   this.tapNo = true
-    // }
-    // if(getWeekDate() == "周六" || getWeekDate() == "周日"){
-    //   this.num = [0,0]
-    // }
-  },
-  mounted() {
-    // this.init()
-    // this.timing()
-  },
-  methods: {
-    init(){
-      this.loading = true
-      axios({
-        method: 'get',
-        url: 'https://smartpark.caih.com/zhcy/api/thirdparty/v1/open/getCanYinData',
-        timeout: 100000,
-      }).then(res =>{
-        this.data = res.data.data
-        if(this.data.countTheTopThree.length>0){
-          this.data.countTheTopThree[0].img= this.num1
-          this.data.countTheTopThree[1].img= this.num2
-          this.data.countTheTopThree[2].img= this.num3
-        }else{
-          this.data.countTheTopThree[0] = {img:this.num1,name:"暂未营业",countPid:0}
-          this.data.countTheTopThree[1] = {img:this.num2,name:"暂未营业",countPid:0}
-          this.data.countTheTopThree[2] = {img:this.num3,name:"暂未营业",countPid:0}
-        }
-        this.loading= false
-      })
-    },
-    timing(){
-      setInterval(() =>{
-        this.init()
-      },1000 * 60 * 5)
-    },
-    // canyin(id){
-    //   if(this.tapNo == true){
-    //     //禁止跳转(周六周日休业)
-    //   }else{
-    //     this.$emit("canyinClick",id)
-    //   }
-
-    // }
-  },
-};
-</script>
-<style lang="scss" scoped>
-@import '@/assets/styles/common.scss';
-.restaurantLeft {
-  width: 50%;
-  display: inline-block;
-  margin-top:0vh !important;
-  .nh {
-    margin-top: 50px;
-    .el-image {
-      width: 24px;
-      margin-top: -25px;
-      float: left;
-    }
-    .name {
-      font-size: 16px;
-      margin: -25px 30px 0 !important;
-      width: 150px;
-      display: block;
-      color:$white2;
-      .num {
-        font-size: 24px;
-        font-family: "DINAlternate-Bold";
-        font-weight: 700;
-        margin-top: 0.5vh;
-        display: inline-block;
-        color:$white;
-        .unit {
-          font-size: 16px;
-          margin-left:2px;
-        }
-      }
-    }
-  }
-}
-.restaurantRight {
-  width: 50%;
-  text-align: center;
-  .top {
-    display: flex;
-    flex-direction: row;
-    justify-content: center;
-    align-items: center;
-    .name {
-      font-size: 16px;
-      color: $orange;
-      padding-bottom: 10px;
-      display: inline-block;
-      vertical-align: middle;
-      width: auto;
-      margin: 0 6px;
-    }
-    .name::after {
-      content: "";
-      width: 60%;
-      height: 1px;
-      display: block;
-      margin: 0 auto;
-      border-bottom: 1px solid $orange;
-      padding: 1px;
-    }
-
-    .leftImg,
-    .rightImg {
-      width: 25px;
-      margin-top:10px;
-    }
-  }
-  .bottom {
-    display: flex;
-    flex-direction: column;
-    .dish {
-      margin-top: 8px;
-      height: 33px;
-      line-height: 33px;
-      background-color: $modularHoverBackGround;
-      text-align: center;
-      vertical-align: middle;
-      // cursor: pointer;
-      .el-image {
-        width: 24px;
-        margin: 4.5px 0;
-      }
-      .dishName{
-        text-align: left;
-      }
-      .dishName,
-      .fs {
-        font-size: 16px;
-        margin-top:-2px;
-        font-family: 'DINAlternate-Bold';
-      }
-      .dishName{
-
-        display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
-      }
-    }
-  }
-}
-.iconCP{
-    margin-left:0px !important;
-  }
-</style>
+<template>
+  <el-col :span="24" class="restaurant modular" style="padding:10px 20px 0;" v-loading="loading">
+    <el-col class="title" style="margin-left:0">智慧餐饮</el-col>
+    <el-col class="restaurantLeft">
+      <el-col :span="24" class="nh">
+        <el-image :src="restaurant1" fit="scale-down" />
+        <el-col class="name">今日营业额
+          <el-col class="num">{{ data2.yingyee }}<span class="unit">元</span></el-col>
+        </el-col>
+        <!-- <el-col class="name"
+          >今日营业额<el-col class="num"
+            >{{ data.nowIncome || 0 }}<span class="unit">元</span></el-col
+          ></el-col
+        > -->
+      </el-col>
+      <el-col :span="24" class="nh">
+        <el-image :src="restaurant1" fit="scale-down" />
+        <el-col class="name"
+          >今日销售人/次<el-col class="num"
+            >{{ data2.renci }}<span class="unit"></span></el-col
+          ></el-col
+        >
+        <!-- <el-col class="name"
+          >今日销售人/次<el-col class="num"
+            >{{ data.consumerNowNumber || 0 }}<span class="unit"></span></el-col
+          ></el-col
+        > -->
+      </el-col>
+    </el-col>
+    <el-col class="restaurantRight">
+      <el-col class="top">
+        <el-image :src="restaurant2" fit="scale-down" class="leftImg" />
+        <el-col class="name">昨日最受欢迎菜品</el-col>
+        <el-image :src="restaurant3" fit="scale-down" class="rightImg" />
+      </el-col>
+      <el-col class="bottom">
+        <div class="dish" v-for="(item,index) in data2.zuori" :key="index">
+          <el-col :span="5"><el-image :src="item.img" fit="scale-down" class="leftImg iconCP"/></el-col>
+          <el-col :span="11" class="dishName">{{item.name}}</el-col>
+          <el-col :span="8" class="fs">{{item.countPid}}份</el-col>
+        </div>
+      </el-col>
+    </el-col>
+  </el-col>
+</template>
+<script>
+import axios from 'axios'
+import restaurant1 from "@/assets/images2/智慧餐饮icon.png";
+import restaurant2 from "@/assets/images2/排名-左边.png";
+import restaurant3 from "@/assets/images2/排名-右边.png";
+import num1 from "@/assets/images2/第一名icon.png";
+import num2 from "@/assets/images2/第二名icon.png";
+import num3 from "@/assets/images2/第三名icon.png";
+import { getWeekDate } from "@/assets/js/dataFormate.js";
+export default {
+  name: "restaurant",
+  props:["resInfo"],
+  data() {
+    return {
+      loading:false,
+      restaurant1: restaurant1,
+      restaurant2: restaurant2,
+      restaurant3: restaurant3,
+      num1: num1,
+      num2: num2,
+      num3: num3,
+      data:{
+        countTheTopThree:[
+          // {img:num1,name:"蒜茸小白菜",countPid:436},
+          // {img:num2,name:"雪菜老豆腐",countPid:403},
+          // {img:num3,name:"碎肉粉",countPid:395}
+
+          // {img:num1,name:"蒜茸小白菜",countPid:436},
+          // {img:num2,name:"雪菜老豆腐",countPid:403},
+          // {img:num3,name:"碎肉粉",countPid:395}
+
+          {img:num1,name:"米饭",countPid:305},
+          {img:num2,name:"西红柿炒蛋",countPid:236},
+          {img:num3,name:"鱼香肉丝",countPid:158},
+        ]
+      },
+      data2:{}
+    };
+  },
+  watch:{
+    resInfo(val,old){
+      val.zuori[0].img = this.num1
+      val.zuori[1].img = this.num2
+      val.zuori[2].img = this.num3
+      this.data2 = val
+    }
+  },
+  created(){
+    // if(getWeekDate() == "周一" || getWeekDate() == "周日"){
+    //   this.list2 = [
+    //     {id:num1,name:"未营业",num:0},
+    //     {id:num2,name:"未营业",num:0},
+    //     {id:num3,name:"未营业",num:0},
+    //   ]
+    //   // this.num = [0,0]
+    //   this.tapNo = true
+    // }
+    // if(getWeekDate() == "周六" || getWeekDate() == "周日"){
+    //   this.num = [0,0]
+    // }
+  },
+  mounted() {
+    // this.init()
+    // this.timing()
+  },
+  methods: {
+    init(){
+      this.loading = true
+      axios({
+        method: 'get',
+        url: 'https://smartpark.caih.com/zhcy/api/thirdparty/v1/open/getCanYinData',
+        timeout: 100000,
+      }).then(res =>{
+        this.data = res.data.data
+        if(this.data.countTheTopThree.length>0){
+          this.data.countTheTopThree[0].img= this.num1
+          this.data.countTheTopThree[1].img= this.num2
+          this.data.countTheTopThree[2].img= this.num3
+        }else{
+          this.data.countTheTopThree[0] = {img:this.num1,name:"暂未营业",countPid:0}
+          this.data.countTheTopThree[1] = {img:this.num2,name:"暂未营业",countPid:0}
+          this.data.countTheTopThree[2] = {img:this.num3,name:"暂未营业",countPid:0}
+        }
+        this.loading= false
+      })
+    },
+    timing(){
+      setInterval(() =>{
+        this.init()
+      },1000 * 60 * 5)
+    },
+    // canyin(id){
+    //   if(this.tapNo == true){
+    //     //禁止跳转(周六周日休业)
+    //   }else{
+    //     this.$emit("canyinClick",id)
+    //   }
+
+    // }
+  },
+};
+</script>
+<style lang="scss" scoped>
+@import '@/assets/styles/common.scss';
+.restaurantLeft {
+  width: 50%;
+  display: inline-block;
+  margin-top:0vh !important;
+  .nh {
+    margin-top: 50px;
+    .el-image {
+      width: 24px;
+      margin-top: -25px;
+      float: left;
+    }
+    .name {
+      font-size: 16px;
+      margin: -25px 30px 0 !important;
+      width: 150px;
+      display: block;
+      color:$white2;
+      .num {
+        font-size: 24px;
+        font-family: "微软雅黑";
+        font-weight: 700;
+        margin-top: 0.5vh;
+        display: inline-block;
+        color:$white;
+        .unit {
+          font-size: 16px;
+          margin-left:2px;
+        }
+      }
+    }
+  }
+}
+.restaurantRight {
+  width: 50%;
+  text-align: center;
+  .top {
+    display: flex;
+    flex-direction: row;
+    justify-content: center;
+    align-items: center;
+    .name {
+      font-size: 16px;
+      color: $orange;
+      padding-bottom: 10px;
+      display: inline-block;
+      vertical-align: middle;
+      width: auto;
+      margin: 0 6px;
+    }
+    .name::after {
+      content: "";
+      width: 60%;
+      height: 1px;
+      display: block;
+      margin: 0 auto;
+      border-bottom: 1px solid $orange;
+      padding: 1px;
+    }
+
+    .leftImg,
+    .rightImg {
+      width: 25px;
+      margin-top:10px;
+    }
+  }
+  .bottom {
+    display: flex;
+    flex-direction: column;
+    .dish {
+      margin-top: 8px;
+      height: 33px;
+      line-height: 33px;
+      background-color: $modularHoverBackGround;
+      text-align: center;
+      vertical-align: middle;
+      // cursor: pointer;
+      .el-image {
+        width: 24px;
+        margin: 4.5px 0;
+      }
+      .dishName{
+        text-align: left;
+      }
+      .dishName,
+      .fs {
+        font-size: 16px;
+        margin-top:-2px;
+        font-family: '微软雅黑';
+      }
+      .dishName{
+
+        display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
+      }
+    }
+  }
+}
+.iconCP{
+    margin-left:0px !important;
+  }
+</style>

+ 199 - 199
src/components2/weather/index.vue

@@ -1,199 +1,199 @@
- wangtao / DX-LargeScreen
-
-
-index.vue 2.1 KB
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-<template>
-  <el-row class="weather modular" :gutter="40" >
-    <el-col :span="8" class="rowN">
-      <el-image :src="weather1" fit="scale-down" />
-      <div class="name">温度</div>
-      <div class="num">
-        {{data.temperature}}
-        <div class="unit">℃</div>
-      </div>
-    </el-col>
-    <el-col :span="8" class="rowN">
-      <el-image :src="weather2" fit="scale-down" />
-      <div class="name">湿度</div>
-      <div class="num">
-        {{data.sd}}
-        <div class="unit">%RH</div>
-      </div>
-    </el-col>
-    <el-col :span="8" class="rowN">
-      <el-image :src="weather3" fit="scale-down" />
-      <div class="name">PM2.5</div>
-      <div class="num">
-        {{data.aqiDetail.pm2_5}}
-        <div class="unit">ug/m3</div>
-      </div>
-    </el-col>
-  </el-row>
-</template>
-<script>
-import axios from 'axios'
-import weather1 from "@/assets/images2/温度.png";
-import weather2 from "@/assets/images2/湿度.png";
-import weather3 from "@/assets/images2/pm2.5.png";
-export default {
-  name: "weather",
-  data() {
-    return {
-      weather1: weather1,
-      weather2: weather2,
-      weather3: weather3,
-      data:{
-        aqiDetail:{}
-      }
-    };
-  },
-  created(){
-    this.initData()
-    setInterval(()=>{
-      this.initData()
-    },1000*60*30)
-  },
-  methods: {
-    //初始化数据
-    initData() {
-      axios({
-            method: 'get',
-            url: 'https://smartpark.caih.com/dxapi/aliWeather?area=南宁',
-            timeout: 10000,
-        }).then(res =>{
-            this.data = res.data.showapi_res_body.now
-        }).catch(err =>{
-        })
-    },
-  }
-};
-</script>
-<style lang="scss" scoped>
-.weather{
-  height:100px;
-}
-.rowN {
-  display: flex;
-  flex-direction: row;
-  align-items: flex-start;
-  .el-image {
-    width: 60px;
-    margin-top:-1px;
-  }
-  .name {
-    font-size: 20px;
-    margin: auto 24px auto 12px;
-  }
-  .num {
-    font-size: 36px;
-    font-family: "DINAlternate-Bold";
-    font-weight: 700;
-    display: inline-block;
-    margin: auto 24px auto 12px;
-    .unit {
-      font-size: 24px;
-      font-family: "MicrosoftYaHei-Bold";
-      font-weight: 700;
-      display: inline-block;
-    }
-  }
-}
-</style>
+ wangtao / DX-LargeScreen
+
+
+index.vue 2.1 KB
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+<template>
+  <el-row class="weather modular" :gutter="40" >
+    <el-col :span="8" class="rowN">
+      <el-image :src="weather1" fit="scale-down" />
+      <div class="name">温度</div>
+      <div class="num">
+        {{data.temperature}}
+        <div class="unit">℃</div>
+      </div>
+    </el-col>
+    <el-col :span="8" class="rowN">
+      <el-image :src="weather2" fit="scale-down" />
+      <div class="name">湿度</div>
+      <div class="num">
+        {{data.sd}}
+        <div class="unit">%RH</div>
+      </div>
+    </el-col>
+    <el-col :span="8" class="rowN">
+      <el-image :src="weather3" fit="scale-down" />
+      <div class="name">PM2.5</div>
+      <div class="num">
+        {{data.aqiDetail.pm2_5}}
+        <div class="unit">ug/m3</div>
+      </div>
+    </el-col>
+  </el-row>
+</template>
+<script>
+import axios from 'axios'
+import weather1 from "@/assets/images2/温度.png";
+import weather2 from "@/assets/images2/湿度.png";
+import weather3 from "@/assets/images2/pm2.5.png";
+export default {
+  name: "weather",
+  data() {
+    return {
+      weather1: weather1,
+      weather2: weather2,
+      weather3: weather3,
+      data:{
+        aqiDetail:{}
+      }
+    };
+  },
+  created(){
+    this.initData()
+    setInterval(()=>{
+      this.initData()
+    },1000*60*30)
+  },
+  methods: {
+    //初始化数据
+    initData() {
+      axios({
+            method: 'get',
+            url: 'https://smartpark.caih.com/dxapi/aliWeather?area=南宁',
+            timeout: 10000,
+        }).then(res =>{
+            this.data = res.data.showapi_res_body.now
+        }).catch(err =>{
+        })
+    },
+  }
+};
+</script>
+<style lang="scss" scoped>
+.weather{
+  height:100px;
+}
+.rowN {
+  display: flex;
+  flex-direction: row;
+  align-items: flex-start;
+  .el-image {
+    width: 60px;
+    margin-top:-1px;
+  }
+  .name {
+    font-size: 20px;
+    margin: auto 24px auto 12px;
+  }
+  .num {
+    font-size: 36px;
+    font-family: "微软雅黑";
+    font-weight: 700;
+    display: inline-block;
+    margin: auto 24px auto 12px;
+    .unit {
+      font-size: 24px;
+      font-family: "MicrosoftYaHei-Bold";
+      font-weight: 700;
+      display: inline-block;
+    }
+  }
+}
+</style>

+ 165 - 165
src/components2/wenyin/index.vue

@@ -1,165 +1,165 @@
-<template>
-  <el-col :span="24" class="wenyin modular" style="padding:10px 20px 0;"  @click.native="dyjClick">
-    <el-col class="title" style="margin-left:0">文印助手</el-col>
-    <el-col class="wenyinLeft">
-      <el-col class="rowN">
-        <el-image :src="wenyin" fit="scale-down" />
-        <el-col class="name">打印机总数</el-col>
-        <el-col class="num">{{data.countSum}}<el-col class="unit">台</el-col></el-col>
-        <!-- <el-col class="num">11<el-col class="unit">台</el-col></el-col> -->
-      </el-col>
-      <el-col class="rowN">
-        <el-image :src="wenyin" fit="scale-down" />
-        <el-col class="name">工作状态数</el-col>
-        <el-col class="num">{{data.countRequest}}<el-col class="unit">台</el-col></el-col>
-        <!-- <el-col class="num">13<el-col class="unit">台</el-col></el-col> -->
-
-      </el-col>
-      <el-col class="rowN">
-        <el-image :src="wenyin" fit="scale-down" />
-        <el-col class="name">任务列表数</el-col>
-        <el-col class="num">{{data.countYun}}<el-col class="unit">份</el-col></el-col>
-        <!-- <el-col class="num">67<el-col class="unit">份</el-col></el-col> -->
-
-      </el-col>
-    </el-col>
-    <el-col class="wenyinRight">
-      <el-col class="name" v-for="(item,index) in data.list" :key="index">{{item}}</el-col>
-      <el-col class="name" v-if="!data.list">暂无打印任务</el-col>
-    </el-col>
-  </el-col>
-</template>
-<script>
-import axios from 'axios'
-import wenyin from "@/assets/images2/文印助手icon.png";
-export default {
-  name: "wenyin",
-  props:["resInfo"],
-  data() {
-    return {
-      wenyin: wenyin,
-      data:{
-        countRequest: 0,
-        countSum: 0,
-        countYun: 0,
-      },
-      fileList:{}
-    };
-  },
-  watch:{
-    resInfo(val,old){
-      this.data = val
-    }
-  },
-  mounted() {
-    // this.init()
-    // this.timing()
-  },
-  methods: {
-    init(){
-      axios({
-        method: 'get',
-        url: 'https://smartpark.caih.com/wyxt/api/thirdparty/v1/open/firstDevice',
-        timeout: 3000,
-      }).then(res =>{
-        console.log(res)
-        if(res.data){
-          this.data = res.data
-        }
-
-      }).catch(err =>{
-      })
-
-      // axios({
-      //   method: 'get',
-      //   url: 'https://smartpark.caih.com/wyxt/api/thirdparty/v1/open/requestFile',
-      //   timeout: 3000,
-      // }).then(res =>{
-      //   console.log(res)
-      //   if(res.data){
-      //     this.fileList = res.data
-      //   }
-      // }).catch(err =>{
-      // })
-    },
-    dyjClick(){
-      // this.$emit("dyjClick")
-      this.$emit("postMsg","打印机")
-    },
-    timing(){
-      setInterval(() =>{
-        this.init()
-      },1000 * 60 * 5)
-    }
-  },
-};
-</script>
-<style lang="scss" scoped>
-@import "@/assets/styles/common.scss";
-.wenyinLeft {
-  width: 50%;
-  display: inline-block;
-  margin-top:2vh;
-  .rowN {
-    margin-top: 28px;
-    .el-image {
-      width: 24px;
-      float: left;
-    }
-    .name {
-      font-size: 16px;
-      margin: 0 12px 0;
-      width: auto;
-      float: left;
-      color:$white2;
-    }
-    .num {
-      font-size: 24px;
-      font-family: "DINAlternate-Bold";
-      font-weight: 700;
-      width: auto;
-      margin-top: -5px;
-      float:left;
-      .unit {
-        font-size: 14px;
-        font-family: "MicrosoftYaHei-Bold";
-        font-weight: 700;
-        width: auto;
-        float:right;
-        margin-top:6px;
-      }
-    }
-  }
-}
-.wenyinRight {
-  height: 50%;
-  margin-top: 10%;
-  width: 50%;
-  text-align: center;
-  overflow-x: hidden;
-  overflow-y: scroll;
-    .name {
-      display: block;
-      font-size: 16px;
-      margin: 1.11111vh 0 0 40px;
-      width: 100%;
-      overflow: hidden; /*内容超出后隐藏*/
-      text-overflow: ellipsis; /* 超出内容显示为省略号 */
-      white-space: nowrap; /* 文本不进行换行 */
-      color:$white2;
-      text-align: left;
-    }
-
-
-}
-.wenyinRight::after {
-  position: absolute;
-  content: "";
-  width: 100%;
-  height: 50%;
-  display: block;
-  margin: auto;
-  border-left: 1px solid $white;
-  padding: 1px;
-}
-</style>
+<template>
+  <el-col :span="24" class="wenyin modular" style="padding:10px 20px 0;"  @click.native="dyjClick">
+    <el-col class="title" style="margin-left:0">文印助手</el-col>
+    <el-col class="wenyinLeft">
+      <el-col class="rowN">
+        <el-image :src="wenyin" fit="scale-down" />
+        <el-col class="name">打印机总数</el-col>
+        <el-col class="num">{{data.countSum}}<el-col class="unit">台</el-col></el-col>
+        <!-- <el-col class="num">11<el-col class="unit">台</el-col></el-col> -->
+      </el-col>
+      <el-col class="rowN">
+        <el-image :src="wenyin" fit="scale-down" />
+        <el-col class="name">工作状态数</el-col>
+        <el-col class="num">{{data.countRequest}}<el-col class="unit">台</el-col></el-col>
+        <!-- <el-col class="num">13<el-col class="unit">台</el-col></el-col> -->
+
+      </el-col>
+      <el-col class="rowN">
+        <el-image :src="wenyin" fit="scale-down" />
+        <el-col class="name">任务列表数</el-col>
+        <el-col class="num">{{data.countYun}}<el-col class="unit">份</el-col></el-col>
+        <!-- <el-col class="num">67<el-col class="unit">份</el-col></el-col> -->
+
+      </el-col>
+    </el-col>
+    <el-col class="wenyinRight">
+      <el-col class="name" v-for="(item,index) in data.list" :key="index">{{item}}</el-col>
+      <el-col class="name" v-if="!data.list">暂无打印任务</el-col>
+    </el-col>
+  </el-col>
+</template>
+<script>
+import axios from 'axios'
+import wenyin from "@/assets/images2/文印助手icon.png";
+export default {
+  name: "wenyin",
+  props:["resInfo"],
+  data() {
+    return {
+      wenyin: wenyin,
+      data:{
+        countRequest: 0,
+        countSum: 0,
+        countYun: 0,
+      },
+      fileList:{}
+    };
+  },
+  watch:{
+    resInfo(val,old){
+      this.data = val
+    }
+  },
+  mounted() {
+    // this.init()
+    // this.timing()
+  },
+  methods: {
+    init(){
+      axios({
+        method: 'get',
+        url: 'https://smartpark.caih.com/wyxt/api/thirdparty/v1/open/firstDevice',
+        timeout: 3000,
+      }).then(res =>{
+        console.log(res)
+        if(res.data){
+          this.data = res.data
+        }
+
+      }).catch(err =>{
+      })
+
+      // axios({
+      //   method: 'get',
+      //   url: 'https://smartpark.caih.com/wyxt/api/thirdparty/v1/open/requestFile',
+      //   timeout: 3000,
+      // }).then(res =>{
+      //   console.log(res)
+      //   if(res.data){
+      //     this.fileList = res.data
+      //   }
+      // }).catch(err =>{
+      // })
+    },
+    dyjClick(){
+      // this.$emit("dyjClick")
+      this.$emit("postMsg","打印机")
+    },
+    timing(){
+      setInterval(() =>{
+        this.init()
+      },1000 * 60 * 5)
+    }
+  },
+};
+</script>
+<style lang="scss" scoped>
+@import "@/assets/styles/common.scss";
+.wenyinLeft {
+  width: 50%;
+  display: inline-block;
+  margin-top:2vh;
+  .rowN {
+    margin-top: 28px;
+    .el-image {
+      width: 24px;
+      float: left;
+    }
+    .name {
+      font-size: 16px;
+      margin: 0 12px 0;
+      width: auto;
+      float: left;
+      color:$white2;
+    }
+    .num {
+      font-size: 24px;
+      font-family: "微软雅黑";
+      font-weight: 700;
+      width: auto;
+      margin-top: -5px;
+      float:left;
+      .unit {
+        font-size: 14px;
+        font-family: "MicrosoftYaHei-Bold";
+        font-weight: 700;
+        width: auto;
+        float:right;
+        margin-top:6px;
+      }
+    }
+  }
+}
+.wenyinRight {
+  height: 50%;
+  margin-top: 10%;
+  width: 50%;
+  text-align: center;
+  overflow-x: hidden;
+  overflow-y: scroll;
+    .name {
+      display: block;
+      font-size: 16px;
+      margin: 1.11111vh 0 0 40px;
+      width: 100%;
+      overflow: hidden; /*内容超出后隐藏*/
+      text-overflow: ellipsis; /* 超出内容显示为省略号 */
+      white-space: nowrap; /* 文本不进行换行 */
+      color:$white2;
+      text-align: left;
+    }
+
+
+}
+.wenyinRight::after {
+  position: absolute;
+  content: "";
+  width: 100%;
+  height: 50%;
+  display: block;
+  margin: auto;
+  border-left: 1px solid $white;
+  padding: 1px;
+}
+</style>

+ 148 - 148
src/components3/SpringFrame/canyin.vue

@@ -1,148 +1,148 @@
-<template>
-  <el-row class="video commonWidth" v-if="state">
-    <el-col class="top">
-      <el-col class="title">
-        <span>菜品名称</span>
-      </el-col>
-      <el-image
-        @click="close2"
-        class="close"
-        :src="close"
-      ></el-image>
-    </el-col>
-    <el-col class="contain">
-       <el-col class="title">{{data2.name}}</el-col>
-       <el-col :span="12" class="nh">
-            <el-image :src="cy"  />
-            <el-col class="name"
-            >供应数量<el-col class="num"
-                >{{data2.num[0]}}<span class="unit">份</span></el-col
-            ></el-col
-            >
-      </el-col>
-      <el-col :span="12" class="nh">
-            <el-image :src="cy" />
-            <el-col class="name"
-            >剩余数量<el-col class="num"
-                >{{data2.num[1]}}<span class="unit">份</span></el-col
-            ></el-col
-            >
-      </el-col>
-      <el-col :span="12" class="nh">
-            <el-image :src="cy"  />
-            <el-col class="name"
-            >单价<el-col class="num"
-                >{{data2.num[2]}}<span class="unit">元</span></el-col
-            ></el-col
-            >
-      </el-col>
-      <el-col :span="12" class="nh">
-            <el-image :src="cy"  />
-            <el-col class="name"
-            >评价统计<el-col class="num"
-                >{{data2.num[3]}}<span class="unit">分</span></el-col
-            ></el-col
-            >
-      </el-col>
-    </el-col>
-  </el-row>
-</template>
-<script>
-import close from "@/assets/images2/close.png";
-import cy from "@/assets/images2/能耗统计icon.png";
-export default {
-  name: "canyin",
-  props: ["resInfo"],
-  data() {
-    return {
-      state: true,
-      close: close,
-      cy: cy,
-      data:[
-          {name:"清炒时蔬",num:[412,5,10,9]},
-          {name:"柠檬鸭",num:[315,0,15,8.5]},
-          {name:"番茄炒蛋",num:[267,3,10,8.1]},
-      ],
-      data2:{}
-    };
-  },
-  mounted() {
-    this.getData();
-  },
-  methods: {
-    getData() {
-      this.data2 = this.data[this.resInfo.canyin - 1]
-    },
-
-    close2() {
-      //关闭
-      this.state = false;
-      this.$emit("close");
-    },
-  },
-};
-</script>
-
-<style lang="scss" scoped>
-@import "@/assets/styles/common.scss";
-.commonWidth {
-  width: 950px;
-  height: 500px;
-  background-color: rgba(40,40,40,0.5);
-  margin: 0 auto;
-  border-radius: 20px;
-  padding: 20px;
-  color: $white;
-  .top {
-    .title {
-      width: 100%;
-      margin-top: -2px;
-      margin-left: 16px;
-      display: inline-block;
-      font-size: 30px;
-    }
-    .close {
-      width: 40px;
-      height: 40px;
-      float: right;
-      margin-top: -40px;
-      image {
-        width: 100%;
-      }
-    }
-  }
-  .contain {
-      .title{
-          font-size: 30px;
-          text-align: center;
-          margin:40px auto -30px;
-      }
-    .nh {
-        margin-top: 100px;
-            .el-image {
-            width: 40px;
-            margin-top: -25px;
-            margin-left:120px;
-            float: left;
-        }
-        .name {
-            font-size: 26px;
-            margin: -25px 15px 0 !important;
-            width: 150px;
-            display: block;
-        .num {
-            font-size: 30px;
-            font-family: 'DINAlternate-Bold';
-            font-weight: 700;
-            margin-top: 15px;
-            display: inline-block;
-            .unit {
-            font-size: 20px;
-            margin-left:10px;
-            }
-        }
-        }
-    }
-  }
-}
-</style>
+<template>
+  <el-row class="video commonWidth" v-if="state">
+    <el-col class="top">
+      <el-col class="title">
+        <span>菜品名称</span>
+      </el-col>
+      <el-image
+        @click="close2"
+        class="close"
+        :src="close"
+      ></el-image>
+    </el-col>
+    <el-col class="contain">
+       <el-col class="title">{{data2.name}}</el-col>
+       <el-col :span="12" class="nh">
+            <el-image :src="cy"  />
+            <el-col class="name"
+            >供应数量<el-col class="num"
+                >{{data2.num[0]}}<span class="unit">份</span></el-col
+            ></el-col
+            >
+      </el-col>
+      <el-col :span="12" class="nh">
+            <el-image :src="cy" />
+            <el-col class="name"
+            >剩余数量<el-col class="num"
+                >{{data2.num[1]}}<span class="unit">份</span></el-col
+            ></el-col
+            >
+      </el-col>
+      <el-col :span="12" class="nh">
+            <el-image :src="cy"  />
+            <el-col class="name"
+            >单价<el-col class="num"
+                >{{data2.num[2]}}<span class="unit">元</span></el-col
+            ></el-col
+            >
+      </el-col>
+      <el-col :span="12" class="nh">
+            <el-image :src="cy"  />
+            <el-col class="name"
+            >评价统计<el-col class="num"
+                >{{data2.num[3]}}<span class="unit">分</span></el-col
+            ></el-col
+            >
+      </el-col>
+    </el-col>
+  </el-row>
+</template>
+<script>
+import close from "@/assets/images2/close.png";
+import cy from "@/assets/images2/能耗统计icon.png";
+export default {
+  name: "canyin",
+  props: ["resInfo"],
+  data() {
+    return {
+      state: true,
+      close: close,
+      cy: cy,
+      data:[
+          {name:"清炒时蔬",num:[412,5,10,9]},
+          {name:"柠檬鸭",num:[315,0,15,8.5]},
+          {name:"番茄炒蛋",num:[267,3,10,8.1]},
+      ],
+      data2:{}
+    };
+  },
+  mounted() {
+    this.getData();
+  },
+  methods: {
+    getData() {
+      this.data2 = this.data[this.resInfo.canyin - 1]
+    },
+
+    close2() {
+      //关闭
+      this.state = false;
+      this.$emit("close");
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+@import "@/assets/styles/common.scss";
+.commonWidth {
+  width: 950px;
+  height: 500px;
+  background-color: rgba(40,40,40,0.5);
+  margin: 0 auto;
+  border-radius: 20px;
+  padding: 20px;
+  color: $white;
+  .top {
+    .title {
+      width: 100%;
+      margin-top: -2px;
+      margin-left: 16px;
+      display: inline-block;
+      font-size: 30px;
+    }
+    .close {
+      width: 40px;
+      height: 40px;
+      float: right;
+      margin-top: -40px;
+      image {
+        width: 100%;
+      }
+    }
+  }
+  .contain {
+      .title{
+          font-size: 30px;
+          text-align: center;
+          margin:40px auto -30px;
+      }
+    .nh {
+        margin-top: 100px;
+            .el-image {
+            width: 40px;
+            margin-top: -25px;
+            margin-left:120px;
+            float: left;
+        }
+        .name {
+            font-size: 26px;
+            margin: -25px 15px 0 !important;
+            width: 150px;
+            display: block;
+        .num {
+            font-size: 30px;
+            font-family: '微软雅黑';
+            font-weight: 700;
+            margin-top: 15px;
+            display: inline-block;
+            .unit {
+            font-size: 20px;
+            margin-left:10px;
+            }
+        }
+        }
+    }
+  }
+}
+</style>

+ 9 - 5
src/components3/anquanjiance/index.vue

@@ -56,7 +56,7 @@
                 <el-image :src="img6" fit="scale-down"/>
                 <el-col class="attribute"
                   >巡更点位<el-col class="num"
-                    >{{xunjian}}<span class="unit">个</span></el-col
+                    >{{dianwei}}<span class="unit">个</span></el-col
                   ></el-col
                 >
               </el-col>
@@ -99,14 +99,18 @@ export default {
       xungeng:null,
       xunjian:null,
       dianwei:null,
-      renwu:null
+      renwu:null,
+      month:null,
+      day:null
     };
   },
   watch:{
     resInfo(val,old){
+      this.month = new Date().getMonth() + 1
+      this.day = new Date().getDate()
       this.total = val.af.total
-      this.xungeng = val.af.xungeng
-      this.xunjian = val.af.xunjian
+      this.xungeng = val.af.xungeng * this.day
+      this.xunjian = val.af.xunjian * this.day
       this.dianwei = val.xungeng.dianwei
       this.renwu = val.xungeng.renwu
       this.pieData = val.af
@@ -145,7 +149,7 @@ export default {
               margin-left: 30px;
               .num {
                 font-size: 25px;
-                font-family: "DINAlternate-Bold";
+                font-family: "微软雅黑";
                 font-weight: 700;
                 margin: 0.7vh 0 0 -2px;
                 .unit {

+ 1 - 1
src/components3/anquanjiance/pie.vue

@@ -80,7 +80,7 @@ export default {
             name: '',
             type: 'pie',
             radius: ['40%', '55%'],
-            avoidLabelOverlap: false,
+            avoidLabelOverlap: true,
             itemStyle: {
               normal: {
                 label: {

+ 1 - 1
src/components3/anquanjiance/pie2.vue

@@ -80,7 +80,7 @@ export default {
             name: '',
             type: 'pie',
             radius: ['40%', '55%'],
-            avoidLabelOverlap: false,
+            avoidLabelOverlap: true,
             itemStyle: {
               normal: {
                 label: {

+ 13 - 3
src/components3/nengyuan/index.vue

@@ -11,7 +11,7 @@
             <el-image :src="img1" fit="scale-down"/>
             <el-col class="attribute"
               >当月制冷量<el-col class="num"
-                >{{data.zhileng}}<span class="unit">kw·h</span></el-col
+                >{{ data.zhileng }}<span class="unit">kw·h</span></el-col
               ></el-col
             >
           </el-col>
@@ -82,12 +82,22 @@ export default {
       img4:img4,
       line1:line1,
       pieData:[],
-      lineData:[]
+      lineData:[],
+      month:null,
+      day:null
     };
   },
   watch:{
     resInfo(val,old){
+      this.month = new Date().getMonth() + 1
+      this.day = new Date().getDate()
       this.data = val.nh
+      if(5<this.month<10){
+        this.data.zhileng = ((this.day / 30) * this.data.zhileng * 0.55).toFixed(0)
+      }else{
+        this.data.zhileng = ((this.day / 30) * this.data.zhileng).toFixed(0)
+      }
+      this.data.fare = ((this.day / 30) * this.data.fare).toFixed(0)
       this.pieData = val.shebei
       this.lineData = val.jizu
     }
@@ -114,7 +124,7 @@ export default {
           margin-left: 78px;
           .num {
             font-size: 30px;
-            font-family: "DINAlternate-Bold";
+            font-family: "微软雅黑";
             font-weight: 700;
             margin: 0.7vh 0 0 -2px;
             .unit {

+ 1 - 1
src/components3/nengyuan/lineE.vue

@@ -76,7 +76,7 @@ export default {
         ],
         series: [
           {
-            name: "使用时长(小时)",
+            name: "设备使用时长(小时)",
             type: "bar",
             barWidth: "40%",
             itemStyle: {

+ 1 - 1
src/components3/nengyuan/pie.vue

@@ -74,7 +74,7 @@ import * as echarts from 'echarts';
               name: '',
               type: 'pie',
               radius: ['40%', '55%'],
-              avoidLabelOverlap: false,
+              avoidLabelOverlap: true,
               itemStyle: {
                 normal: {
                   label: {

+ 2 - 2
src/components3/seHeader/index.vue

@@ -8,7 +8,7 @@
       <el-col :span="24" class="time">{{ date }}</el-col>
     </el-col>
     <el-col :span="12">
-      <el-col :span="24" class="title">东信东信智慧楼宇</el-col>
+      <el-col :span="24" class="title">中国东信智慧楼宇</el-col>
     </el-col>
     <el-col :span="6">
       <el-col :span="24" class="logo">
@@ -67,7 +67,7 @@ export default {
       text-align: center;
     }
     .logo {
-      position: absolute;
+      position: fixed;
       right:40px;
       width:100%;
       text-align: right;

+ 40 - 5
src/components3/tongxingguanli/index.vue

@@ -18,7 +18,7 @@
               <el-col class="attribute">今日考勤人数:<span class="num">{{data1.n2}}</span><span class="unit">人/次</span></el-col>
             </el-col>
             <el-col class="bottom" >
-              <el-col class="attribute">今日访客管理:<span class="num">{{data1.n3}}</span><span class="unit">人/次</span></el-col>
+              <el-col class="attribute">今日访客通行:<span class="num">{{data1.n3}}</span><span class="unit">人/次</span></el-col>
             </el-col>
           </el-col>
           <el-col class="bottom middleRight" :span="9">
@@ -67,6 +67,7 @@
   </el-col>
 </template>
 <script>
+import axios from 'axios'
 import img9 from "@/assets/images/9.png";
 import img10 from "@/assets/images/10.png";
 import lineE from "@/components3/tongxingguanli/lineE.vue";
@@ -80,7 +81,13 @@ export default {
   },
   data() {
     return {
-      data1:{},
+      data1:{
+        n1:0,
+        n2:0,
+        n3:0,
+        n4:0,
+        n5:0,
+      },
       data2:{},
       img9:img9,
       img10:img10,
@@ -90,9 +97,37 @@ export default {
   },
   watch:{
     resInfo(val,old){
-      this.data1 = val.people.data
+      // this.data1 = val.people.data
       this.data2 = val.car.data
-      this.lineData = val.people.line
+      let data = [
+        [],
+        [],
+        [],
+        [],
+      ]
+      axios({
+        method: 'get',
+        url: 'https://smartpark.caih.com/ykt/api/thirdparty/v1/openInterface/yunUserRequest',
+        timeout: 10000,
+      }).then(res =>{
+          let total = 0
+
+          if(res.data){
+            for(let i=0;i<res.data.length;i++){
+              data[0].push(res.data[i].access_time)
+              data[1].push(res.data[i].card_number)
+              data[2].push(val.people.line[0][i])
+              data[3] = val.people.line[1]
+              this.data1.n1 = this.data1.n1 + res.data[i].card_number
+            }
+          }
+          this.lineData = data
+      }).catch(err =>{
+      })
+      this.data1.n2 = val.people.data.n2
+      this.data1.n3 = val.people.data.n3
+      this.data1.n4 = val.people.data.n4
+      this.data1.n5 = val.people.data.n5
       this.lineData2 = val.car.line
     }
   }
@@ -252,7 +287,7 @@ export default {
           margin-left: 78px;
           .num {
             font-size: 30px;
-            font-family: "DINAlternate-Bold";
+            font-family: "微软雅黑";
             font-weight: 700;
             margin: 0.7vh 0 0 -2px;
             .unit {

+ 1 - 0
src/components3/tongxingguanli/lineE.vue

@@ -23,6 +23,7 @@ import * as echarts from 'echarts';
     watch: {
       resData(val,old){
         this.data = val
+        console.log(this.data)
         this.getData()
       }
     },

+ 3 - 3
src/components3/xiaofangjiangkong/index.vue

@@ -7,7 +7,7 @@
     <el-row class="wrap">
       <el-col class="left_" :span="3">
         <el-col :span="24" class="pingfeng">
-          <el-col class="attribute"><el-image :src="img7" fit="scale-down"/>本月消防评分<el-col class="num">{{pingfen}}<span class="unit"></span></el-col></el-col>
+          <el-col class="attribute"><el-image :src="img7" fit="scale-down"/>本月消防评分<el-col class="num">{{pingfen}}<span class="unit"></span></el-col></el-col>
         </el-col>
       </el-col>
       <el-col class="middle" :span="10">
@@ -120,7 +120,7 @@ export default {
         }
         .num {
           font-size: 25px;
-          font-family: "DINAlternate-Bold";
+          font-family: "微软雅黑";
           font-weight: 700;
           margin: 0.7vh 0 0 -2px;
           .unit {
@@ -172,7 +172,7 @@ export default {
               margin-left: 30px;
               .num {
                 font-size: 25px;
-                font-family: "DINAlternate-Bold";
+                font-family: "微软雅黑";
                 font-weight: 700;
                 margin: 0.7vh 0 0 -2px;
                 .unit {

+ 1 - 1
src/components3/xiaofangjiangkong/pie.vue

@@ -80,7 +80,7 @@ export default {
             name: '',
             type: 'pie',
             radius: ['40%', '55%'],
-            avoidLabelOverlap: false,
+            avoidLabelOverlap: true,
             itemStyle: {
               normal: {
                 label: {

+ 1 - 1
src/components3/xiaofangjiangkong/pie2.vue

@@ -97,7 +97,7 @@ export default {
             name: '',
             type: 'pie',
             radius: ['40%', '55%'],
-            avoidLabelOverlap: false,
+            avoidLabelOverlap: true,
             itemStyle: {
               normal: {
                 label: {

+ 24 - 13
src/components3/yuanqushenghuo/index.vue

@@ -6,11 +6,11 @@
       <el-col class="listWrap" :span="19" >
         <el-col class="list" >
           <el-image :src="img14" fit="scale-down"/>
-          <el-col class="attribute">日消费<span class="num">{{data1.n1}}<span class="unit">元</span></span></el-col>
+          <el-col class="attribute">日消费<span class="num">{{data1.n1}}<span class="unit">元</span></span></el-col>
         </el-col>
         <el-col class="list" >
           <el-image :src="img14" fit="scale-down"/>
-          <el-col class="attribute">日消费<span class="num">{{data1.n2}}<span class="unit">人/次</span></span></el-col>
+          <el-col class="attribute">日消费<span class="num">{{data1.n2}}<span class="unit">人/次</span></span></el-col>
         </el-col>
         <el-col class="list" >
           <el-image :src="img14" fit="scale-down"/>
@@ -26,9 +26,9 @@
           </el-col>
           <el-col class="right" :span="19">
             <el-col class="wrapList">
-              <el-col class="list" :span="6">① 早餐 <span>{{data2.n1}}</span>元</el-col>
-              <el-col class="list" :span="6">② 午餐 <span>{{data2.n2}}</span>元</el-col>
-              <el-col class="list" :span="6">③ 晚餐 <span>{{data2.n3}}</span>元</el-col>
+              <el-col class="list" :span="8">① 早餐 <span>{{data2.n1}}</span>元</el-col>
+              <el-col class="list" :span="8">② 午餐 <span>{{data2.n2}}</span>元</el-col>
+              <el-col class="list" :span="8">③ 晚餐 <span>{{data2.n3}}</span>元</el-col>
             </el-col>
             <el-col class="lineWrap"><lineE :resData="lineData"/></el-col>
           </el-col>
@@ -58,7 +58,7 @@
             <el-image :src="line1"></el-image>
           </div>
           <el-col class="left" >
-            <el-col class="text" :span="24">主要楼层厕所使用率</el-col>
+            <el-col class="text" :span="24">近七日客房使用情况</el-col>
           </el-col>
           <el-col class="lineWrap" :span="18"><lineE3 :resData="lineData3"/></el-col>
         </el-col>
@@ -84,6 +84,7 @@ import lineE2 from "@/components3/yuanqushenghuo/lineE2.vue";
 import lineE3 from "@/components3/yuanqushenghuo/lineE3.vue";
 import pie from "@/components3/yuanqushenghuo/pie.vue";
 import pie2 from "@/components3/yuanqushenghuo/pie2.vue";
+import { getWeekDate } from "@/assets/js/dataFormate.js";
 export default {
   name: "yuanqushenghuo",
   props:["resInfo"],
@@ -106,11 +107,14 @@ export default {
       lineData3:[],
       pieData:[],
       pieData2:[],
+      day:undefined
     };
   },
   watch:{
     resInfo(val,old){
-      this.data1 = val.data1
+
+      this.day = new Date().getDate()
+
       this.data2 = val.data2.data1
       this.data3 = val.data3.data1
       this.lineData = val.data2.data2
@@ -118,6 +122,13 @@ export default {
       this.lineData3 = val.data5
       this.pieData = val.data4
       this.pieData2 = val.data6
+      if(getWeekDate() == "周一" || getWeekDate() == "周日"){
+        this.data1.n2 = 0
+        this.data1.n1 = 0
+      }else{
+        this.data1 = val.data1
+      }
+      this.data1.n3 = ((this.day / 30) * val.data1.n3).toFixed(0)
     }
   }
 };
@@ -139,14 +150,14 @@ export default {
         text-align: center;
         display: flex;
         float:left;
-        font-size: 14px;
+        font-size: 20px;
         background: rgba(77,85,101,0.35);
         margin:0 20px 0 16px;
 
         .text{
           writing-mode: vertical-lr;
           writing-mode: tb-lr;
-          margin-left:18px;
+          margin-left:16px;
           font-weight: 700;
           letter-spacing: 4px;
         }
@@ -213,18 +224,18 @@ export default {
       }
       >.left{
         width:60px;
-        height:280px;
+        height:290px;
         text-align: center;
         display: flex;
         float:left;
-        font-size: 14px;
+        font-size: 20px;
         background: rgba(77,85,101,0.35);
         margin:0 20px 0 16px;
 
         .text{
           writing-mode: vertical-lr;
           writing-mode: tb-lr;
-          margin-left:18px;
+          margin-left:5px;
           font-weight: 700;
           letter-spacing: 4px;
         }
@@ -270,7 +281,7 @@ export default {
             font-size: 20px;
             .num {
               font-size: 25px;
-              font-family: "DINAlternate-Bold";
+              font-family: "微软雅黑";
               font-weight: 700;
               margin:0 4px !important;
               .unit {

+ 108 - 0
src/components3/yuanqushenghuo/lineE.vue

@@ -7,6 +7,8 @@
     </el-row>
   </template>
   <script>
+import { getWeekDate,YearMonthDate } from "@/assets/js/dataFormate.js";
+
 import * as echarts from 'echarts';
   export default {
     props: ["resData"],
@@ -19,11 +21,117 @@ import * as echarts from 'echarts';
     watch: {
       resData(val,old){
         this.data = val
+        let y = YearMonthDate().split("-")[0]
+        let m = YearMonthDate().split("-")[1]
+        let d = YearMonthDate().split("-")[2].split(" ")[0]
+        val[0] = []
+        if(d>7){
+
+          for(let i = d-1;i>0;i--){
+            val[0].push(i)
+            if(val[0].length == 7){
+              break
+            }
+          }
+        }else{
+          for(let i = d-1;i>0;i--){
+            val[0].push(i)
+          }
+          let sd = undefined
+          if(m>1){
+            sd = new Date(y, m-1, 0).getDate()
+          }else{
+            sd = new Date(y-1, 12, 0).getDate()
+          }
+          for(let i = sd-1;i>0;i--){
+            val[0].push(i)
+            if(val[0].length == 7){
+              break
+            }
+          }
+        }
+
         this.getData()
       }
     },
     methods: {
       getData() {
+        if(getWeekDate() == "周一"){
+          this.data[1][0] = 0
+          this.data[2][0] = 0
+          this.data[3][0] = 0
+
+          this.data[1][1] = 0
+          this.data[2][1] = 0
+          this.data[3][1] = 0
+        }
+        if(getWeekDate() == "周二"){
+          this.data[1][1] = 0
+          this.data[2][1] = 0
+          this.data[3][1] = 0
+
+          this.data[1][2] = 0
+          this.data[2][2] = 0
+          this.data[3][2] = 0
+        }
+        if(getWeekDate() == "周三"){
+          this.data[1][2] = 0
+          this.data[2][2] = 0
+          this.data[3][2] = 0
+
+          this.data[1][3] = 0
+          this.data[2][3] = 0
+          this.data[3][3] = 0
+        }
+        if(getWeekDate() == "周四"){
+          this.data[1][3] = 0
+          this.data[2][3] = 0
+          this.data[3][3] = 0
+
+          this.data[1][4] = 0
+          this.data[2][4] = 0
+          this.data[3][4] = 0
+        }
+        if(getWeekDate() == "周五"){
+          this.data[1][4] = 0
+          this.data[2][4] = 0
+          this.data[3][4] = 0
+
+          this.data[1][5] = 0
+          this.data[2][5] = 0
+          this.data[3][5] = 0
+        }
+        if(getWeekDate() == "周六"){
+          this.data[1][5] = 0
+          this.data[2][5] = 0
+          this.data[3][5] = 0
+
+          this.data[1][6] = 0
+          this.data[2][6] = 0
+          this.data[3][6] = 0
+        }
+        if(getWeekDate() == "周日"){
+          this.data[1][6] = 0
+          this.data[2][6] = 0
+          this.data[3][6] = 0
+
+          this.data[1][7] = 0
+          this.data[2][7] = 0
+          this.data[3][7] = 0
+        }
+        this.data[0].reverse()
+
+        let a =[]
+        let b =[]
+        let c =[]
+        for(let i=0;i<7;i++){
+          a.push(this.data[1][i])
+          b.push(this.data[2][i])
+          c.push(this.data[3][i])
+        }
+        this.data[1] = a.reverse()
+        this.data[2] = b.reverse()
+        this.data[3] = c.reverse()
         let myChart = echarts.init(document.getElementById("index7-1"));
         let option = {
           color: [

+ 33 - 2
src/components3/yuanqushenghuo/lineE3.vue

@@ -7,6 +7,7 @@
     </el-row>
   </template>
   <script>
+    import { getWeekDate,YearMonthDate } from "@/assets/js/dataFormate.js";
 import * as echarts from 'echarts';
   export default {
     props: ["resData"],
@@ -18,6 +19,36 @@ import * as echarts from 'echarts';
 
     watch: {
       resData(val,old){
+        let y = YearMonthDate().split("-")[0]
+        let m = YearMonthDate().split("-")[1]
+        let d = YearMonthDate().split("-")[2].split(" ")[0]
+        val[0] = []
+        if(d>7){
+
+          for(let i = d-1;i>0;i--){
+            val[0].push(i)
+            if(val[0].length == 7){
+              break
+            }
+          }
+        }else{
+          for(let i = d-1;i>0;i--){
+            val[0].push(i)
+          }
+          let sd = undefined
+          if(m>1){
+            sd = new Date(y, m-1, 0).getDate()
+          }else{
+            sd = new Date(y-1, 12, 0).getDate()
+          }
+          for(let i = sd-1;i>0;i--){
+            val[0].push(i)
+            if(val[0].length == 7){
+              break
+            }
+          }
+        }
+        val[0].reverse()
         this.data = val
         this.getData()
       }
@@ -87,7 +118,7 @@ import * as echarts from 'echarts';
             {
               name: this.data[3][0],
               type: 'line',
-              stack: 'Total',
+
               smooth: true,
               symbol:'circle',
               data: this.data[1]
@@ -95,7 +126,7 @@ import * as echarts from 'echarts';
             {
               name: this.data[3][1],
               type: 'line',
-              stack: 'Total',
+
               smooth: true,
               symbol:'circle',
               data: this.data[2]

+ 1 - 1
src/components3/yuanqushenghuo/pie.vue

@@ -71,7 +71,7 @@ export default {
             name: '',
             type: 'pie',
             // radius: ['40%', '55%'],
-            avoidLabelOverlap: false,
+            avoidLabelOverlap: true,
             itemStyle: {
               normal: {
                 label: {

+ 14 - 24
src/components3/yuanqushenghuo/pie2.vue

@@ -15,16 +15,23 @@ export default {
       data:[]
     };
   },
-
   watch: {
-      resData(val,old){
+    resData(val,old){
       this.data = val
       this.getData()
     }
   },
   methods: {
     getData() {
-      let total = this.data[0].value + this.data[1].value + this.data[2].value +  this.data[3].value
+      let total = null
+      let arr = []
+      for(let i =0;i<this.data.length;i++){
+        total += this.data[i].value
+        arr[i] = {
+          name: this.data[i].name,
+          icon: 'circle',
+        }
+      }
       let myChart = echarts.init(document.getElementById("index7-5"));
       let option = {
         color: [
@@ -45,25 +52,7 @@ export default {
           orient: 'vertical',
           itemHeight: 8,
           itemWidth: 8,
-          data: [
-            {
-              name: this.data[0].name,
-              icon: 'circle',
-            },
-            {
-              name: this.data[1].name,
-              icon: 'circle',
-            },
-            {
-              name: this.data[2].name,
-              icon: 'circle',
-            },
-            ,
-            {
-              name: this.data[3].name,
-              icon: 'circle',
-            }
-          ],
+          data: [],
           bottom: '20%',
           left: 'left',
           textStyle: {
@@ -75,7 +64,7 @@ export default {
             name: '',
             type: 'pie',
             // radius: ['40%', '55%'],
-            avoidLabelOverlap: false,
+            avoidLabelOverlap: true,
             itemStyle: {
               normal: {
                 label: {
@@ -95,7 +84,7 @@ export default {
                 labelLine: { //指示线状态
                   show: true,
                   length: 4,
-                  length2: 20,
+                  length2: 10,
                   lineStyle: {
 										color: '#ABABAB'
 									},
@@ -106,6 +95,7 @@ export default {
           }
         ]
       };
+      option.legend.data = arr
       myChart.setOption(option);
       option && myChart.setOption(option);
       setTimeout(function () {

+ 11 - 9
src/components3/zhihuibangong/index.vue

@@ -11,7 +11,7 @@
             <el-image :src="img11" fit="scale-down"/>
             <el-col class="attribute"
               >贵宾接待次数<el-col class="num"
-                >{{data1.n1}}<span class="unit">次</span></el-col
+                >{{((day/30)*data1.n1).toFixed(0)}}<span class="unit">次</span></el-col
               ></el-col
             >
           </el-col>
@@ -19,7 +19,7 @@
             <el-image :src="img12" fit="scale-down"/>
             <el-col class="attribute"
               >会议预定次数<el-col class="num"
-                >{{data1.n2}}<span class="unit">次</span></el-col
+                >{{((day/30)*data1.n2).toFixed(0)}}<span class="unit">次</span></el-col
               ></el-col
             >
           </el-col>
@@ -27,7 +27,7 @@
             <el-image :src="img11" fit="scale-down"/>
             <el-col class="attribute"
               >访客接待次数<el-col class="num"
-                >{{data1.n3}}<span class="unit">次</span></el-col
+                >{{((day/30)*data1.n3).toFixed(0)}}<span class="unit">次</span></el-col
               ></el-col>
           </el-col>
         </el-col>
@@ -38,19 +38,19 @@
         </div>
         <el-col class="content" :span="8">
           <el-col>
-            <p class="title">会议室昨日使用情况</p>
+            <p class="title">会议室实时使用情况</p>
             <pie1 :resData="data2.data1"/>
           </el-col>
         </el-col>
         <el-col class="content" :span="8">
           <el-col>
-            <p class="title">近七日会议按部门分类</p>
+            <p class="title">明日会议室预定情况</p>
             <pie2 :resData="data2.data2"/>
           </el-col>
         </el-col>
         <el-col class="content" :span="8">
           <el-col>
-            <p class="title">近七日会议时长分析</p>
+            <p class="title">近七日会议情况</p>
             <pie3 :resData="data2.data3"/>
           </el-col>
         </el-col>
@@ -85,7 +85,7 @@
             <el-image :src="img13" fit="scale-down"/>
             <el-col class="attribute"
               >今日打印页数:<span class="num"
-                >{{data3.n4}}<span class="unit"></span></span
+                >{{data3.n4}}<span class="unit"></span></span
               ></el-col>
           </el-col>
         </el-col>
@@ -118,10 +118,12 @@ export default {
       data1:{},
       data2:{},
       data3:{},
+      day:undefined
     };
   },
   watch:{
     resInfo(val,old){
+      this.day = new Date().getDate()
       this.data1 = val.data1
       this.data2 = val.data2
       this.data3 = val.data3
@@ -170,7 +172,7 @@ export default {
             font-size: 20px;
             .num {
               font-size: 25px;
-              font-family: "DINAlternate-Bold";
+              font-family: "微软雅黑";
               font-weight: 700;
               .unit {
                 font-size: 24px;
@@ -207,7 +209,7 @@ export default {
         font-size: 20px;
         .num {
           font-size: 25px;
-          font-family: "DINAlternate-Bold";
+          font-family: "微软雅黑";
           font-weight: 700;
           margin: 0.7vh 0 0 -2px;
           .unit {

+ 14 - 8
src/components3/zhihuibangong/pie1.vue

@@ -8,6 +8,7 @@
 </template>
 <script>
 import * as echarts from 'echarts';
+import { getWeekDate } from "@/assets/js/dataFormate.js";
 export default {
   props: ["resData"],
   data() {
@@ -24,9 +25,20 @@ export default {
   },
   methods: {
     getData() {
+      if(getWeekDate() == "周六" || getWeekDate() == "周日"){
+        this.data[0].value =0
+        this.data[1].value =0
+      }
       let total = this.data[0].value + this.data[1].value
       let lv = ((this.data[0].value / total) * 100).toFixed(0)
       let myChart = echarts.init(document.getElementById("index5-1"));
+      let data = []
+      for(let i =0;i<this.data.length;i++){
+        data[i] = {
+          name: this.data[i].name,
+          icon: 'circle',
+        }
+      }
       let option = {
          color: [
             '#8082D6',
@@ -60,14 +72,7 @@ export default {
           itemHeight: 8,
           itemWidth: 8,
           data: [
-            {
-              name: this.data[0].name,
-              icon: 'circle',
-            },
-            {
-              name: this.data[1].name,
-              icon: 'circle',
-            }
+
           ],
           bottom: '10%',
           left: 'center',
@@ -111,6 +116,7 @@ export default {
           }
         ]
       };
+      option.legend.data = data
       myChart.setOption(option);
       option && myChart.setOption(option);
       setTimeout(function () {

+ 18 - 23
src/components3/zhihuibangong/pie2.vue

@@ -8,6 +8,7 @@
 </template>
 <script>
 import * as echarts from 'echarts';
+import { getWeekDate } from "@/assets/js/dataFormate.js";
 export default {
   props: ["resData"],
   data() {
@@ -17,16 +18,28 @@ export default {
   },
 
   watch: {
-      resData(val,old){
+    resData(val,old){
       this.data = val
       this.getData()
     }
   },
   methods: {
     getData() {
-      let total = this.data[0].value + this.data[1].value + this.data[2].value+ this.data[3].value + this.data[4].value
+      console.log(this.data)
+      if(getWeekDate() == "周六" || getWeekDate() == "周日"){
+        this.data[0].value = 0
+        this.data[1].value = 0
+      }
+      let total = this.data[0].value + this.data[1].value
       let lv = ((this.data[0].value / total) * 100).toFixed(2)
       let myChart = echarts.init(document.getElementById("index5-2"));
+      let data = []
+      for(let i =0;i<this.data.length;i++){
+        data[i] = {
+          name: this.data[i].name,
+          icon: 'circle',
+        }
+      }
       let option = {
          color: [
             '#8082D6',
@@ -63,28 +76,9 @@ export default {
           itemHeight: 8,
           itemWidth: 8,
           data: [
-            {
-              name: this.data[0].name,
-              icon: 'circle',
-            },
-            {
-              name: this.data[1].name,
-              icon: 'circle',
-            },
-            {
-              name: this.data[2].name,
-              icon: 'circle',
-            },
-            {
-              name: this.data[3].name,
-              icon: 'circle',
-            },
-            {
-              name: this.data[4].name,
-              icon: 'circle',
-            },
+
           ],
-          bottom: '2.4%',
+          bottom: '10%',
           left: 'center',
           textStyle: {
             color: "#FFF"
@@ -126,6 +120,7 @@ export default {
           }
         ]
       };
+      option.legend.data = data
       myChart.setOption(option);
       option && myChart.setOption(option);
       setTimeout(function () {

+ 25 - 36
src/components3/zhihuibangong/pie3.vue

@@ -27,6 +27,13 @@ export default {
       let total = this.data[0].value + this.data[1].value
       let lv = ((this.data[0].value / total) * 100).toFixed(2)
       let myChart = echarts.init(document.getElementById("index5-3"));
+      let data = []
+      for(let i =0;i<this.data.length;i++){
+        data[i] = {
+          name: this.data[i].name,
+          icon: 'circle',
+        }
+      }
       let option = {
         color: [
             '#8082D6',
@@ -42,47 +49,28 @@ export default {
           left: '10%',
           containLabel: true
         },
-        title: {
-          text: "",
-          text: 1 + '小时',
-          textStyle: {
-            color: '#E6EFFF',
-            fontSize: 25
-          },
-          subtext: '平均时长',
-          subtextStyle: {
-            color: '#E6EFFF',
-            fontSize: 14
-          },
-          itemGap: 10, // 主副标题距离
-          left: 'center',
-          top: '42%'
-        },
+        // title: {
+        //   text: "",
+        //   text: 1 + '小时',
+        //   textStyle: {
+        //     color: '#E6EFFF',
+        //     fontSize: 25
+        //   },
+        //   subtext: '平均时长',
+        //   subtextStyle: {
+        //     color: '#E6EFFF',
+        //     fontSize: 14
+        //   },
+        //   itemGap: 10, // 主副标题距离
+        //   left: 'center',
+        //   top: '42%'
+        // },
         legend: {
           // orient: 'vertical',
           itemHeight: 8,
           itemWidth: 8,
           data: [
-            {
-              name: this.data[0].name,
-              icon: 'circle',
-            },
-            {
-              name: this.data[1].name,
-              icon: 'circle',
-            },
-            {
-              name: this.data[2].name,
-              icon: 'circle',
-            },
-            {
-              name: this.data[3].name,
-              icon: 'circle',
-            },
-            {
-              name: this.data[4].name,
-              icon: 'circle',
-            },
+
           ],
           bottom: '2.4%',
           left: 'center',
@@ -126,6 +114,7 @@ export default {
           }
         ]
       };
+      option.legend.data = data
       myChart.setOption(option);
       option && myChart.setOption(option);
       setTimeout(function () {

+ 2 - 2
src/components3/zhihuixuexi/index.vue

@@ -125,7 +125,7 @@ export default {
         }
         .num {
           font-size: 25px;
-          font-family: "DINAlternate-Bold";
+          font-family: "微软雅黑";
           font-weight: 700;
           margin: 0.7vh 0 0 -2px;
           .unit {
@@ -153,7 +153,7 @@ export default {
           margin-left: 30px;
           .num {
             font-size: 25px;
-            font-family: "DINAlternate-Bold";
+            font-family: "微软雅黑";
             font-weight: 700;
             margin: 1.3vh 0 0 -2px;
             .unit {

+ 12 - 17
src/components3/zuhuguanli/pie1.vue

@@ -27,6 +27,13 @@ export default {
       let total = this.data[0].value + this.data[1].value
       let lv = ((this.data[0].value / total) * 100).toFixed(0)
       let myChart = echarts.init(document.getElementById("index6-1"));
+      let data = []
+      for(let i =0;i<this.data.length;i++){
+        data[i] = {
+          name: this.data[i].name,
+          icon: 'circle',
+        }
+      }
       let option = {
         color: [
             '#8082D6',
@@ -47,21 +54,8 @@ export default {
           orient: 'vertical',
           itemHeight: 8,
           itemWidth: 8,
-          data: [
-            {
-              name: this.data[0].name,
-              icon: 'circle',
-            },
-            {
-              name: this.data[1].name,
-              icon: 'circle',
-            },
-            {
-              name: this.data[2].name,
-              icon: 'circle',
-            }
-          ],
-          bottom: '15%',
+          data: [],
+          bottom: '40%',
           left: 'left',
           textStyle: {
             color: "#FFF"
@@ -72,7 +66,7 @@ export default {
             name: '',
             type: 'pie',
             // radius: ['40%', '55%'],
-            avoidLabelOverlap: false,
+            avoidLabelOverlap: true,
             itemStyle: {
               normal: {
                 label: {
@@ -92,7 +86,7 @@ export default {
                 labelLine: { //指示线状态
                   show: true,
                   length: 10,
-                  length2: 20,
+                  length2: 10,
                   lineStyle: {
 										color: '#ABABAB'
 									},
@@ -103,6 +97,7 @@ export default {
           }
         ]
       };
+      option.legend.data = data
       myChart.setOption(option);
       option && myChart.setOption(option);
       setTimeout(function () {

+ 11 - 16
src/components3/zuhuguanli/pie2.vue

@@ -27,6 +27,13 @@ export default {
       let total = this.data[0].value + this.data[1].value
       let lv = ((this.data[0].value / total) * 100).toFixed(0)
       let myChart = echarts.init(document.getElementById("index6-2"));
+      let data = []
+      for(let i =0;i<this.data.length;i++){
+        data[i] = {
+          name: this.data[i].name,
+          icon: 'circle',
+        }
+      }
       let option = {
         color: [
             '#8082D6',
@@ -46,21 +53,8 @@ export default {
           orient: 'vertical',
           itemHeight: 8,
           itemWidth: 8,
-          data: [
-            {
-              name: this.data[0].name,
-              icon: 'circle',
-            },
-            {
-              name: this.data[1].name,
-              icon: 'circle',
-            },
-            {
-              name: this.data[2].name,
-              icon: 'circle',
-            }
-          ],
-          bottom: '15%',
+          data: [],
+          bottom: '40%',
           left: 'left',
           textStyle: {
             color: "#FFF"
@@ -91,7 +85,7 @@ export default {
                 labelLine: { //指示线状态smooth: 0.8,
                   show: true,
                   length: 10,
-                  length2: 20,
+                  length2: 10,
                   lineStyle: {
 										color: '#ABABAB'
 									},
@@ -102,6 +96,7 @@ export default {
           }
         ]
       };
+      option.legend.data = data
       myChart.setOption(option);
       option && myChart.setOption(option);
       setTimeout(function () {

+ 119 - 119
src/main.js

@@ -1,119 +1,119 @@
-import Vue from 'vue'
-
-import Cookies from 'js-cookie'
-
-import Element from 'element-ui'
-import './assets/styles/common.scss'
-import './assets/font/font.css';
-// import './assets/styles/element-variables.scss'
-
-import '@/assets/styles/index.scss' // global css
-// import '@/assets/styles/yongtian.scss' // yongtian css
-import App from './App'
-import store from './store'
-import router from './router'
-import directive from './directive' //directive
-import Print from '@/assets/js/print.js' // 引入附件的js文件
-Vue.use(Print) // 注册
-import './assets/icons' // icon
-import './permission' // permission control
-import { getDicts } from "@/api/system/dict/data";
-import { getConfigKey } from "@/api/system/config";
-import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, download, downloadBlob, handleTree } from "@/utils/yongtian";
-import Pagination from "@/components/Pagination";
-// 自定义表格工具组件
-import RightToolbar from "@/components/RightToolbar"
-// 富文本组件
-import Editor from "@/components/Editor"
-// 文件上传组件
-import FileUpload from "@/components/FileUpload"
-// 图片上传组件
-import ImageUpload from "@/components/ImageUpload"
-// 字典标签组件
-import DictTag from '@/components/DictTag'
-// 头部标签组件
-import VueMeta from 'vue-meta'
-// echarts
-import echarts from 'echarts'
-import {set } from 'nprogress'
-//公共变量
-// import { BASEPATH } from "@/assets/js/common.js";
-//创建自定义指令
-Vue.directive('down', {
-        inserted: (el, binding) => {
-            el.style.cssText = 'cursor: pointer;color:#46a6ff;'
-                // setTimeout(() => {
-            el.addEventListener('click', () => {
-                    let link = document.createElement('a')
-                    let url = binding.value
-                   
-                        // 这里是将url转成blob地址,
-                    fetch(url).then(res => res.blob()).then(blob => { // 将链接地址字符内容转变成blob地址
-                        link.href = URL.createObjectURL(blob)
-                        link.download = ''
-                        document.body.appendChild(link)
-                        link.click()
-                    })
-                })
-                // }, 500)
-
-        }
-    })
-    // 全局方法挂载
-Vue.prototype.getDicts = getDicts
-Vue.prototype.getConfigKey = getConfigKey
-Vue.prototype.parseTime = parseTime
-Vue.prototype.resetForm = resetForm
-Vue.prototype.addDateRange = addDateRange
-Vue.prototype.selectDictLabel = selectDictLabel
-Vue.prototype.selectDictLabels = selectDictLabels
-Vue.prototype.download = download
-Vue.prototype.downloadBlob = downloadBlob
-Vue.prototype.handleTree = handleTree
-Vue.prototype.$echarts = echarts
-    // Vue.prototype.BASEPATH = BASEPATH
-
-Vue.prototype.msgSuccess = function(msg, time) {
-    this.$message({ showClose: true, message: msg, type: "success", duration: time || 3000 });
-}
-
-Vue.prototype.msgError = function(msg) {
-    this.$message({ showClose: true, message: msg, type: "error" });
-}
-
-Vue.prototype.msgInfo = function(msg) {
-    this.$message.info(msg);
-}
-
-// 全局组件挂载
-Vue.component('DictTag', DictTag)
-Vue.component('Pagination', Pagination)
-Vue.component('RightToolbar', RightToolbar)
-Vue.component('Editor', Editor)
-Vue.component('FileUpload', FileUpload)
-Vue.component('ImageUpload', ImageUpload)
-
-Vue.use(directive)
-Vue.use(VueMeta)
-
-/**
- * If you don't want to use mock-server
- * you want to use MockJs for mock api
- * you can execute: mockXHR()
- *
- * Currently MockJs will be used in the production environment,
- * please remove it before going online! ! !
- */
-
-Vue.use(Element, {
-    size: Cookies.get('size') || 'medium' // set element-ui default size
-})
-
-Vue.config.productionTip = false
-
-new Vue({
-    el: '#app',
-    router,
-    store,
-    render: h => h(App)
-})
+import Vue from 'vue'
+
+import Cookies from 'js-cookie'
+
+import Element from 'element-ui'
+import './assets/styles/common.scss'
+// import './assets/font/font.css';
+// import './assets/styles/element-variables.scss'
+
+import '@/assets/styles/index.scss' // global css
+// import '@/assets/styles/yongtian.scss' // yongtian css
+import App from './App'
+import store from './store'
+import router from './router'
+import directive from './directive' //directive
+import Print from '@/assets/js/print.js' // 引入附件的js文件
+Vue.use(Print) // 注册
+import './assets/icons' // icon
+import './permission' // permission control
+import { getDicts } from "@/api/system/dict/data";
+import { getConfigKey } from "@/api/system/config";
+import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, download, downloadBlob, handleTree } from "@/utils/yongtian";
+import Pagination from "@/components/Pagination";
+// 自定义表格工具组件
+import RightToolbar from "@/components/RightToolbar"
+// 富文本组件
+import Editor from "@/components/Editor"
+// 文件上传组件
+import FileUpload from "@/components/FileUpload"
+// 图片上传组件
+import ImageUpload from "@/components/ImageUpload"
+// 字典标签组件
+import DictTag from '@/components/DictTag'
+// 头部标签组件
+import VueMeta from 'vue-meta'
+// echarts
+import echarts from 'echarts'
+import {set } from 'nprogress'
+//公共变量
+// import { BASEPATH } from "@/assets/js/common.js";
+//创建自定义指令
+Vue.directive('down', {
+        inserted: (el, binding) => {
+            el.style.cssText = 'cursor: pointer;color:#46a6ff;'
+                // setTimeout(() => {
+            el.addEventListener('click', () => {
+                    let link = document.createElement('a')
+                    let url = binding.value
+
+                    // 这里是将url转成blob地址,
+                    fetch(url).then(res => res.blob()).then(blob => { // 将链接地址字符内容转变成blob地址
+                        link.href = URL.createObjectURL(blob)
+                        link.download = ''
+                        document.body.appendChild(link)
+                        link.click()
+                    })
+                })
+                // }, 500)
+
+        }
+    })
+    // 全局方法挂载
+Vue.prototype.getDicts = getDicts
+Vue.prototype.getConfigKey = getConfigKey
+Vue.prototype.parseTime = parseTime
+Vue.prototype.resetForm = resetForm
+Vue.prototype.addDateRange = addDateRange
+Vue.prototype.selectDictLabel = selectDictLabel
+Vue.prototype.selectDictLabels = selectDictLabels
+Vue.prototype.download = download
+Vue.prototype.downloadBlob = downloadBlob
+Vue.prototype.handleTree = handleTree
+Vue.prototype.$echarts = echarts
+    // Vue.prototype.BASEPATH = BASEPATH
+
+Vue.prototype.msgSuccess = function(msg, time) {
+    this.$message({ showClose: true, message: msg, type: "success", duration: time || 3000 });
+}
+
+Vue.prototype.msgError = function(msg) {
+    this.$message({ showClose: true, message: msg, type: "error" });
+}
+
+Vue.prototype.msgInfo = function(msg) {
+    this.$message.info(msg);
+}
+
+// 全局组件挂载
+Vue.component('DictTag', DictTag)
+Vue.component('Pagination', Pagination)
+Vue.component('RightToolbar', RightToolbar)
+Vue.component('Editor', Editor)
+Vue.component('FileUpload', FileUpload)
+Vue.component('ImageUpload', ImageUpload)
+
+Vue.use(directive)
+Vue.use(VueMeta)
+
+/**
+ * If you don't want to use mock-server
+ * you want to use MockJs for mock api
+ * you can execute: mockXHR()
+ *
+ * Currently MockJs will be used in the production environment,
+ * please remove it before going online! ! !
+ */
+
+Vue.use(Element, {
+    size: Cookies.get('size') || 'medium' // set element-ui default size
+})
+
+Vue.config.productionTip = false
+
+new Vue({
+    el: '#app',
+    router,
+    store,
+    render: h => h(App)
+})

+ 601 - 615
src/views/index.vue

@@ -1,21 +1,21 @@
 <template>
-  <div class="app-container home" >
-    <div id="main" >
+  <div class="app-container home">
+    <div id="main">
       <seHeader />
       <el-row class="containWrap">
-        <el-col  class="leftWrap">
-          <nengyuan alt="能耗统计" :resInfo="data.nengyuan"/>
-          <anquanjiance alt="安全监测" :resInfo="data.anquanjiance"/>
-          <xiaofangjiangkong alt="消防监控" :resInfo="data.xiaofangjiangkong"/>
+        <el-col class="leftWrap">
+          <nengyuan alt="能耗统计" :resInfo="data.nengyuan" />
+          <anquanjiance alt="安全监测" :resInfo="data.anquanjiance" />
+          <xiaofangjiangkong alt="消防监控" :resInfo="data.xiaofangjiangkong" />
         </el-col>
-        <el-col  class="middleWrap">
-          <tongxingguanli alt="通行管理" :resInfo="data.tongxingguanli"/>
-          <zhihuibangong alt="智慧办公" :resInfo="data.zhihuibangong"/>
-          <zuhuguanli alt="租户管理" :resInfo="data.zuhuguanli"/>
+        <el-col class="middleWrap">
+          <tongxingguanli alt="通行管理" :resInfo="data.tongxingguanli" />
+          <zhihuibangong alt="智慧办公" :resInfo="data.zhihuibangong" />
+          <zuhuguanli alt="租户管理" :resInfo="data.zuhuguanli" />
         </el-col>
-        <el-col  class="rightWrap">
-          <yuanqushenghuo alt="园区生活" :resInfo="data.yuanqushenghuo"/>
-          <zhihuixuexi alt="智慧学习" :resInfo="data.zhihuixuexi"/>
+        <el-col class="rightWrap">
+          <yuanqushenghuo alt="园区生活" :resInfo="data.yuanqushenghuo" />
+          <zhihuixuexi alt="智慧学习" :resInfo="data.zhihuixuexi" />
         </el-col>
       </el-row>
       <!-- <SpringFrame  v-if="springFrameState" :resInfo="springFrameItem"  @close="SpringFrameClose" />
@@ -30,22 +30,22 @@
   </div>
 </template>
 <script>
-import axios from 'axios'
+import axios from "axios";
 import seHeader from "@/components3/seHeader"; //头部
 
-import nengyuan from "@/components3/nengyuan";//能耗统计
-import anquanjiance from "@/components3/anquanjiance";//安全检测
-import xiaofangjiangkong from "@/components3/xiaofangjiangkong";//消防监控
-import tongxingguanli from "@/components3/tongxingguanli";//通行管理
-import zhihuibangong from "@/components3/zhihuibangong";//智慧办公
-import zuhuguanli from "@/components3/zuhuguanli";//租户管理
-import yuanqushenghuo from "@/components3/yuanqushenghuo";//园区生活
-import zhihuixuexi from "@/components3/zhihuixuexi";//智慧学习
-import SpringFrame from "@/components3/SpringFrame";//弹框
+import nengyuan from "@/components3/nengyuan"; //能耗统计
+import anquanjiance from "@/components3/anquanjiance"; //安全检测
+import xiaofangjiangkong from "@/components3/xiaofangjiangkong"; //消防监控
+import tongxingguanli from "@/components3/tongxingguanli"; //通行管理
+import zhihuibangong from "@/components3/zhihuibangong"; //智慧办公
+import zuhuguanli from "@/components3/zuhuguanli"; //租户管理
+import yuanqushenghuo from "@/components3/yuanqushenghuo"; //园区生活
+import zhihuixuexi from "@/components3/zhihuixuexi"; //智慧学习
+import SpringFrame from "@/components3/SpringFrame"; //弹框
 export default {
   name: "index",
   components: {
-		seHeader,
+    seHeader,
     nengyuan,
     anquanjiance,
     xiaofangjiangkong,
@@ -53,652 +53,638 @@ export default {
     zhihuibangong,
     zuhuguanli,
     yuanqushenghuo,
-    zhihuixuexi
-
+    zhihuixuexi,
   },
   data() {
     return {
-      sanwei:true,
-      springFrameState:false,
-      springFrameItem:{
-        video:undefined,
-        xg:undefined,
-        hy:undefined,
-        dyj:undefined,
-        canyin:false,
-        gjxx:undefined,
-        rqgj:undefined,
-        xfgj:undefined,
+      sanwei: true,
+      springFrameState: false,
+      springFrameItem: {
+        video: undefined,
+        xg: undefined,
+        hy: undefined,
+        dyj: undefined,
+        canyin: false,
+        gjxx: undefined,
+        rqgj: undefined,
+        xfgj: undefined,
       },
-      Pshow:false,
-
+      Pshow: false,
 
       //数据
-      data:{
-        tingche:{},
-        huiyi:{},
-
-        canyin:{},
-        wenyin:{},
-        nengyuan:{},
-        anquanjiance:{},
-        xiaofangjiangkong:{},
-        tongxingguanli:{},
-        zhihuibangong:{},
-        zuhuguanli:{},
-        yuanqushenghuo:{},
-        zhihuixuexi:{}
-      }
-
+      data: {
+        tingche: {},
+        huiyi: {},
+
+        canyin: {},
+        wenyin: {},
+        nengyuan: {},
+        anquanjiance: {},
+        xiaofangjiangkong: {},
+        tongxingguanli: {},
+        zhihuibangong: {},
+        zuhuguanli: {},
+        yuanqushenghuo: {},
+        zhihuixuexi: {},
+      },
     };
   },
-  created(){
-    setTimeout(()=>{
-      this.data.nengyuan = {
-        nh:{
-          zhileng:'148629',
-          huanbi:'30',
-          fare:'232',
-          tongbi:'-20'
-        },
-        shebei:[
-          {value:776,name:"在线"},
-          {value:116,name:"离线"},
-        ],
-        jizu:[
-          ["冷水机组1","冷水机组2","冷水机组3","冷水机组4","冷水机组5"],
-          [22,30,42,58,70]
-        ]
-      }
-
-      this.data.anquanjiance = {
-        af:{
-          pie:[
-            {value:900,name:"已处理"},
-            {value:100,name:"未处理"},
-          ],
-          jishilv:98,
-          total:172,
-          xungeng:28,
-          xunjian:14
-        },
-        xungeng:{
-          pie:[
-            {value:60,name:"按时完成"},
-            {value:40,name:"延时完成"},
-          ],
-          dianwei:14,
-          renwu:14,
-        }
-      }
-
-      this.data.xiaofangjiangkong = {
-        pingfen:98,
-        event:{
-          pie:[
-            {value:870,name:"已处理"},
-            {value:130,name:"未处理"},
-          ],
-          jishilv:98,
-          shuiya:0.2,
-          shidu:40,
-          shebei:569
-        },
-        shebei:{
-          pie:[
-            {value:9,name:"火灾监控设备"},
-            {value:13,name:"消防水监测"},
-            {value:7,name:"通信设备"},
-            {value:11,name:"电气火灾监测"},
-            {value:60,name:"视频火点监测"},
-          ],
-          zaixianlv:98,
-        }
-      }
-
-      this.data.tongxingguanli = {
-        people:{
-          line:[
-            ['00:00', '04:00', '08:00', '12:00', '16:00', '20:00', '24:00'],
-            [10, 30, 45, 15, 10,56, 44],
-            [5, 15, 23, 10, 45,100, 10],
-            ["楼内人员","外部访客"]
-          ],
-          data:{
-            n1:8107,
-            n2:856,
-            n3:32,
-            n4:50,
-            n5:400,
-          }
-        },
-        car:{
-          line:[
-            ['00:00', '04:00', '08:00', '12:00', '16:00', '20:00', '24:00'],
-            [10, 30, 45, 15, 10,56, 44],
-            [5, 15, 23, 10, 45,100, 10],
-            ["地面停车场","VIP停车场"]
-          ],
-          data:{
-            n1:593,
-            n2:528,
-            n3:66,
-          }
-        }
-      }
-
-      this.data.zhihuibangong = {
-        data1:{
-          n1:34,
-          n2:657,
-          n3:606
-        },
-        data2:{
-          data1:[
-            {value:79,name:"使用时长"},
-            {value:116,name:"未使用时长"},
-          ],
-          data2:[
-            {value:10,name:"政企"},
-            {value:20,name:"产业"},
-            {value:30,name:"金服"},
-            {value:15,name:"信创"},
-            {value:15,name:"其他"},
-          ],
-          data3:[
-            {value:1,name:"0.5小时"},
-            {value:2,name:"1小时"},
-            {value:3,name:"1.5小时"},
-            {value:4,name:"2小时"},
-            {value:5,name:"2小时以上"},
-          ]
-        },
-        data3:{
-          n1:29,
-          n2:28,
-          n3:83,
-          n4:1293,
-        },
-      }
-
-      this.data.zuhuguanli = {
-        table:[
-          {n1:"7楼",n2:"空置",n3:""},
-          {n1:"5楼1区",n2:"合悦公司",n3:"19"},
-          {n1:"5楼2区",n2:"泛糖科技",n3:"49"},
-        ],
-        pie1:[
-          {value:10,name:"合悦科技"},
-          {value:15,name:"锡祥科技"},
-          {value:20,name:"泛糖科技"},
-        ],
-        pie2:[
-          {value:15,name:"合悦科技"},
-          {value:10,name:"锡祥科技"},
-          {value:20,name:"泛糖科技"},
-        ],
-      }
-
-      this.data.yuanqushenghuo = {
-        data1:{
-          n1:233334,
-          n2:3882,
-          n3:401,
-        },
-        data2:{
-          data1:{
-            n1:7,
-            n2:12,
-            n3:10
-          },
-          data2:[
-            ['12日', '13日', '14日', '15日', '16日', '17日', '18日'],
-            [10, 30, 45, 15, 10,56, 44],
-            [115, 456, 50, 10,1150,100, 10],
-            [100, 2000, 1500, 1423, 45,568, 10],
-            ["早餐消费总额","中餐消费总额","晚餐消费总额"]
-          ]
-        },
-        data3:{
-          data1:[
-            {name:"米饭",value:"2882"},
-            {name:"西红柿炒蛋",value:"2882"},
-            {name:"鱼香肉丝",value:"2882"},
-          ],
-          data2:[
-            ['11:50', '12:00', '12:10', '12:20', '12:30', '12:40', '12:50'],
-            [10, 30, 45, 15, 10,56, 44],
-            ["消费人次"]
-          ]
-        },
-        data4:[
-            {name:"游泳池",value:"323"},
-            {name:"健身房",value:"34"},
-            {name:"网球场",value:"233"},
-        ],
-        data5:[
-          ['1楼', '2楼', '3楼', '4楼', '5楼', '6楼', '7楼'],
-          [0.2, 0.3, 0.6, 0.1, 0.5,0.9, 1],
-          [0.2, 0.3, 0.6, 0.1, 0.5,0.9, 1],
-          ["空闲","在用"]
-        ],
-        data6:[
-          {name:"支付宝",value:10123},
-          {name:"微信",value:23654},
-          {name:"后台充值",value:5689},
-          {name:"福利发放",value:10000},
-        ],
-      }
-
-      this.data.zhihuixuexi = {
-        data1:{
-          n1:3409,
-          n2:212,
-          n3:99,
-          n4:2331
-        },
-        data2:[
-          {name:"技术",value:10},
-          {name:"党建",value:20},
-          {name:"励志",value:30},
-          {name:"技能",value:40},
-          {name:"其他",value:50},
-        ],
-        data3:[
-          {name:"政企",value:10},
-          {name:"产业",value:20},
-          {name:"金融",value:30},
-          {name:"信创",value:40},
-          {name:"其他",value:50},
-        ]
-      }
+  created() {
+    setTimeout(() => {
+      // this.data.nengyuan = {
+      //   nh: {
+      //     zhileng: "228660",
+      //     huanbi: "30",
+      //     fare: "21348",
+      //     tongbi: "-20",
+      //   },
+      //   shebei: [
+      //     { value: 776, name: "在线" },
+      //     { value: 116, name: "离线" },
+      //   ],
+      //   jizu: [
+      //     ["冷水机组1", "冷水机组2", "冷水机组3", "热泵", "空调机组"],
+      //     [2, 0, 2, 12, 4],
+      //   ],
+      // };
+
+      // this.data.anquanjiance = {
+      //   af: {
+      //     pie: [
+      //       { value: 900, name: "已处理" },
+      //       { value: 100, name: "未处理" },
+      //     ],
+      //     jishilv: 98,
+      //     total: 200,
+      //     xungeng: 4,
+      //     xunjian: 2,
+      //   },
+      //   xungeng: {
+      //     pie: [
+      //       { value: 28, name: "按时完成" },
+      //       { value: 6, name: "延时完成" },
+      //     ],
+      //     dianwei: 73,
+      //     renwu: 6,
+      //   },
+      // };
+
+      // this.data.xiaofangjiangkong = {
+      //   pingfen: 98,
+      //   event: {
+      //     pie: [
+      //       { value: 870, name: "已处理" },
+      //       { value: 130, name: "未处理" },
+      //     ],
+      //     jishilv: 98,
+      //     shuiya: 0.2,
+      //     shidu: 40,
+      //     shebei: 569,
+      //   },
+      //   shebei: {
+      //     pie: [
+      //       { value: 569, name: "火灾监控设备" },
+      //       { value: 20, name: "消防水监测" },
+      //       { value: 17, name: "通信设备" },
+      //       { value: 21, name: "电气火灾监测" },
+      //       { value: 17, name: "视频火点监测" },
+      //     ],
+      //     zaixianlv: 98,
+      //   },
+      // };
+
+      // this.data.tongxingguanli = {
+      //   people: {
+      //     line: [
+      //       [0,0,0,0,0,0,0,0,0,1, 5, 5, 2, 5, 6, 4, 3,0,0,0,0,0,0,0,0],
+      //       ["楼内人员", "外部访客"],
+      //     ],
+      //     data: {
+      //       n1: 0,
+      //       n2: 0,
+      //       n3: 19,
+      //       n4: 50,
+      //       n5: 400,
+      //     },
+      //   },
+      //   car: {
+
+
+      //     line: [
+      //       ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24"],
+      //       [0, 2, 1, 0, 0, 0, 2,12,81,138,10,11,12,38,41,11,10,17,13,119,24,31,14,5,2],
+      //       [0, 2, 1, 0, 0, 0, 2,12,81,138,10,11,12,38,41,11,10,17,13,119,24,31,14,5,2],
+      //       ["地面停车场", "VIP停车场"],
+      //     ],
+      //     data: {
+      //       n1: 593,
+      //       n2: 528,
+      //       n3: 66,
+      //     },
+      //   },
+      // };
+
+      // this.data.zhihuibangong = {
+      //   data1: {
+      //     n1: 34,
+      //     n2: 657,
+      //     n3: 606,
+
+      //   },
+      //   data2: {
+      //     data1: [
+      //       { value: 10, name: "在用" },
+      //       { value: 7, name: "空闲" }
+      //     ],
+      //     data2: [
+      //       { value: 14, name: "已约定" },
+      //       { value: 3, name: "空闲" }
+      //     ],
+      //     data3: [
+      //       { value: 54, name: "政企" },
+      //       { value: 35, name: "研发部" },
+      //       { value: 21, name: "产业" },
+      //       { value: 20, name: "金服" },
+      //       { value: 40, name: "其它" },
+      //     ],
+      //   },
+      //   data3: {
+      //     n1: 29,
+      //     n2: 28,
+      //     n3: 83,
+      //     n4: 1293,
+      //   },
+      // };
+
+      // this.data.zuhuguanli = {
+      //   table: [
+      //     { n1: "7楼", n2: "空置", n3: "" },
+      //     { n1: "5楼1区", n2: "音悦科技", n3: "19" },
+      //     { n1: "5楼2区", n2: "泛糖科技", n3: "49" },
+      //   ],
+
+      //   pie1: [
+      //     { value: 4344.54, name: "音悦科技" },
+      //     { value: 11204.34, name: "泛糖科技" }
+      //   ],
+      //   pie2: [
+      //     { value: 37251.97, name: "音悦科技" },
+      //     { value: 96070.87, name: "泛糖科技" }
+      //   ],
+      // };
+
+      // this.data.yuanqushenghuo = {
+      //   data1: {
+      //     n1: 10542,
+      //     n2: 1026,
+      //     n3: 510,
+      //   },
+      //   data2: {
+      //     data1: {
+      //       n1: 4.5,
+      //       n2: 12.65,
+      //       n3: 10.58,
+      //     },
+      //     data2: [
+      //       ["1日", "2日", "3日", "4日", "5日", "6日", "7日"],
+      //       [1078, 1162, 1021, 976, 1022, 1178, 1280],
+      //       [6998, 7298, 6728, 6842, 7098, 6994, 7002],
+      //       [2565, 2305, 2523, 2462, 2389, 2670, 2465],
+      //       ["早餐消费总额", "中餐消费总额", "晚餐消费总额"],
+      //     ],
+      //   },
+      //   data3: {
+      //     data1: [
+      //       { name: "肉包", value: "225" },
+      //       { name: "时蔬", value: "180" },
+      //       { name: "时蔬", value: "75.7" },
+      //     ],
+      //     data2: [
+      //       ["12:00", "12:10", "12:20", "12:30", "12:40", "12:50"],
+      //       [1, 166, 155, 152, 66, 9],
+      //       ["消费人次"],
+      //     ],
+      //   },
+      //   data4: [
+      //     { name: "游泳池", value: 600 },
+      //     { name: "健身房", value: 430 },
+      //     { name: "网球场", value: 300 },
+      //   ],
+      //   data5: [
+      //     ["第1日", "第2日", "第3日", "第4日", "第5日", "第6日", "第7日"],
+      //     [4, 3, 5, 1, 2, 5, 5],
+      //     [1, 2, 0, 4, 3, 0, 0],
+      //     ["空闲", "在用"],
+      //   ],
+      //   data6: [
+      //     { name: "微信", value: 32407 },
+      //     { name: "支付宝", value: 12822 },
+      //     { name: "福利发放", value: 11300 },
+      //   ],
+      // };
+
+      // this.data.zhihuixuexi = {
+      //   data1: {
+      //     n1: 3409,
+      //     n2: 212,
+      //     n3: 99,
+      //     n4: 2331,
+      //   },
+      //   data2: [
+      //     { name: "技术", value: 10 },
+      //     { name: "党建", value: 20 },
+      //     { name: "励志", value: 30 },
+      //     { name: "技能", value: 40 },
+      //     { name: "其他", value: 50 },
+      //   ],
+      //   data3: [
+      //     { name: "政企", value: 632 },
+      //     { name: "产业", value: 372 },
+      //     { name: "研发部", value: 338 },
+      //     { name: "金融", value: 248 },
+      //     { name: "其他", value: 741 },
+      //   ],
+      // };
+    });
+    setTimeout(() =>{
+      document.getElementById("middleWrap").style.zIndex= "9"
+      this.sanwei = false
+    },5000)
+    axios({
+        method: 'get',
+        url: 'https://smartpark.caih.com/dxapi/system/config/configKey/largeV3-ZHONGP.json.config',
+        timeout: 10000,
+    }).then(res =>{
+      this.data = JSON.parse(res.data.data)
     })
-    // setTimeout(() =>{
-    //   document.getElementById("middleWrap").style.zIndex= "9"
-    //   this.sanwei = false
-    // },5000)
-    // axios({
-    //     method: 'get',
-    //     url: 'https://smartpark.caih.com/dxapi/system/config/configKey/large.json.config',
-    //     timeout: 10000,
-    // }).then(res =>{
-    //   this.data = JSON.parse(res.data.data)
-    // })
-    // setInterval(()=>{
-    //   axios({
-    //       method: 'get',
-    //       url: 'https://smartpark.caih.com/dxapi/system/config/configKey/large.json.config',
-    //       timeout: 10000,
-    //   }).then(res =>{
-    //     this.data = JSON.parse(res.data.data)
-    //   })
-    // },1000*60*10)
+    setInterval(()=>{
+      axios({
+          method: 'get',
+          url: 'https://smartpark.caih.com/dxapi/system/config/configKey/largeV3-ZHONGP.json.config',
+          timeout: 10000,
+      }).then(res =>{
+        this.data = JSON.parse(res.data.data)
+      })
+    },1000*60*10)
   },
-  mounted(){
-    let that = this;
-		window.addEventListener("message",function (event) {
-			let isDOM = typeof event.data === "object";
-			let data = event.data;
-      // console.log(data)
-      if(data.param){
-        let name = data.param.name
-        let id = data.param.id
-        if(name == "会议室"){
-          that.springFrameState = true
-          that.springFrameItem = {}
-          that.springFrameItem.hy = 1
-        }else if(name == "打印机"){
-          that.springFrameState = true
-          that.springFrameItem = {}
-          that.springFrameItem.dyj = 1
-        }else{
-          axios({
-              method: 'post',
-              url: 'http://10.21.39.1:8082/dhController/getLocalChannel?pageNo=1&pageSize=1&uniType=1&id=' + id,
-              timeout: 3000,
-          }).then(res =>{
-              if(res.data.data.pageList.length>0){
-                  let resData = res.data.data.pageList[0]
-                  that.springFrameState = true
-                  that.springFrameItem = {}
-                  that.springFrameItem.video = resData
-                  that.springFrameItem.video.url  = "http://" + resData.nvr_ip + ":" + resData.hls_port + "/live/cameraid/" + resData.deviceId + "%24" + resData.id.split("$")[(resData.id.split("$")).length-1]  + "/substream/1.m3u8"
-              }
-          }).catch(err =>{
-          })
-        }
-      }
-		},false)
+  mounted() {
+    // let that = this;
+    // window.addEventListener("message",function (event) {
+    // 	let isDOM = typeof event.data === "object";
+    // 	let data = event.data;
+    //   if(data.param){
+    //     let name = data.param.name
+    //     let id = data.param.id
+    //     if(name == "会议室"){
+    //       that.springFrameState = true
+    //       that.springFrameItem = {}
+    //       that.springFrameItem.hy = 1
+    //     }else if(name == "打印机"){
+    //       that.springFrameState = true
+    //       that.springFrameItem = {}
+    //       that.springFrameItem.dyj = 1
+    //     }else{
+    //       axios({
+    //           method: 'post',
+    //           url: 'http://10.21.39.1:8082/dhController/getLocalChannel?pageNo=1&pageSize=1&uniType=1&id=' + id,
+    //           timeout: 3000,
+    //       }).then(res =>{
+    //           if(res.data.data.pageList.length>0){
+    //               let resData = res.data.data.pageList[0]
+    //               that.springFrameState = true
+    //               that.springFrameItem = {}
+    //               that.springFrameItem.video = resData
+    //               that.springFrameItem.video.url  = "http://" + resData.nvr_ip + ":" + resData.hls_port + "/live/cameraid/" + resData.deviceId + "%24" + resData.id.split("$")[(resData.id.split("$")).length-1]  + "/substream/1.m3u8"
+    //           }
+    //       }).catch(err =>{
+    //       })
+    //     }
+    //   }
+    // },false)
   },
   methods: {
-    videoClick(row){//视频
-      this.springFrameState = true
-      this.springFrameItem = {}
-      this.springFrameItem.video = row
-    },
-    xgClick(row){//巡更
-      this.springFrameState = true
-      this.springFrameItem = {}
-      this.springFrameItem.xg = row
-    },
-    hyClick(){//会议
-      this.springFrameState = true
-      this.springFrameItem = {}
-      this.springFrameItem.hy = 1
-    },
-    dyjClick(){//打印机
-      this.springFrameState = true
-      this.springFrameItem = {}
-      this.springFrameItem.dyj = 1
-    },
-    canyinClick(id){//餐饮
-      this.springFrameState = true
-      this.springFrameItem = {}
-      this.springFrameItem.canyin = id
-    },
-    gjxxClick(row){//告警信息
-      this.springFrameState = true
-      this.springFrameItem = {}
-      this.springFrameItem.gjxx = row
-    },
-    rqgjClick(row){//入侵告警
-      this.springFrameState = true
-      this.springFrameItem = {}
-      this.springFrameItem.rqgj = row
-    },
-    xfgjClick(row){//消防告警
-      this.springFrameState = true
-      this.springFrameItem = {}
-      this.springFrameItem.xfgj = row
-    },
-    SpringFrameClose(){
-      this.springFrameState = false
-      this.springFrameItem = {}
-    },
-    postMsg(value) {
-			var myframe = document.getElementById("iframe"); //获取iframe
-			myframe.contentWindow.postMessage({  name: value }, "*"); //childDomain是子页面的源(协议+主机+端口号)
-		},
-    postMsg2(value) {//视频
-    if(value.unitType == "1"){
-        let that = this
-        axios({
-            method: 'post',
-            url: 'http://10.21.39.1:8082/dhController/getLocalChannel?pageNo=1&pageSize=1&uniType=1&id=' + value.id,
-            timeout: 3000,
-        }).then(res =>{
-            if(res.data.data.pageList.length>0){
-                let resData = res.data.data.pageList[0]
-                that.springFrameState = true
-                that.springFrameItem = {}
-                that.springFrameItem.video = resData
-                that.springFrameItem.video.url  = "http://" + resData.nvr_ip + ":" + resData.hls_port + "/live/cameraid/" + resData.deviceId + "%24" + resData.id.split("$")[(resData.id.split("$")).length-1]  + "/substream/1.m3u8"
-            }
-        }).catch(err =>{
-        })
-      }else if(value.unitType == "2"){
-        var myframe = document.getElementById("iframe"); //获取iframe
-			  myframe.contentWindow.postMessage({  name: "打印机" }, "*"); //childDomain是子页面的源(协议+主机+端口号)
-      }
-			// var myframe = document.getElementById("iframe"); //获取iframe
-			// myframe.contentWindow.postMessage({  name: '摄像头',id:value.id }, "*"); //childDomain是子页面的源(协议+主机+端口号)
-		},
-    postMsg3(){//视频测试
-			var myframe = document.getElementById("iframe"); //获取iframe
-			myframe.contentWindow.postMessage({  name: '摄像头',id:"1000002$1$0$7" }, "*"); //childDomain是子页面的源(协议+主机+端口号)
-		},
+    // videoClick(row){//视频
+    //   this.springFrameState = true
+    //   this.springFrameItem = {}
+    //   this.springFrameItem.video = row
+    // },
+    // xgClick(row){//巡更
+    //   this.springFrameState = true
+    //   this.springFrameItem = {}
+    //   this.springFrameItem.xg = row
+    // },
+    // hyClick(){//会议
+    //   this.springFrameState = true
+    //   this.springFrameItem = {}
+    //   this.springFrameItem.hy = 1
+    // },
+    // dyjClick(){//打印机
+    //   this.springFrameState = true
+    //   this.springFrameItem = {}
+    //   this.springFrameItem.dyj = 1
+    // },
+    // canyinClick(id){//餐饮
+    //   this.springFrameState = true
+    //   this.springFrameItem = {}
+    //   this.springFrameItem.canyin = id
+    // },
+    // gjxxClick(row){//告警信息
+    //   this.springFrameState = true
+    //   this.springFrameItem = {}
+    //   this.springFrameItem.gjxx = row
+    // },
+    // rqgjClick(row){//入侵告警
+    //   this.springFrameState = true
+    //   this.springFrameItem = {}
+    //   this.springFrameItem.rqgj = row
+    // },
+    // xfgjClick(row){//消防告警
+    //   this.springFrameState = true
+    //   this.springFrameItem = {}
+    //   this.springFrameItem.xfgj = row
+    // },
+    // SpringFrameClose(){
+    //   this.springFrameState = false
+    //   this.springFrameItem = {}
+    // },
+    // postMsg(value) {
+    // 	var myframe = document.getElementById("iframe"); //获取iframe
+    // 	myframe.contentWindow.postMessage({  name: value }, "*"); //childDomain是子页面的源(协议+主机+端口号)
+    // },
+    // postMsg2(value) {//视频
+    // if(value.unitType == "1"){
+    //     let that = this
+    //     axios({
+    //         method: 'post',
+    //         url: 'http://10.21.39.1:8082/dhController/getLocalChannel?pageNo=1&pageSize=1&uniType=1&id=' + value.id,
+    //         timeout: 3000,
+    //     }).then(res =>{
+    //         if(res.data.data.pageList.length>0){
+    //             let resData = res.data.data.pageList[0]
+    //             that.springFrameState = true
+    //             that.springFrameItem = {}
+    //             that.springFrameItem.video = resData
+    //             that.springFrameItem.video.url  = "http://" + resData.nvr_ip + ":" + resData.hls_port + "/live/cameraid/" + resData.deviceId + "%24" + resData.id.split("$")[(resData.id.split("$")).length-1]  + "/substream/1.m3u8"
+    //         }
+    //     }).catch(err =>{
+    //     })
+    //   }else if(value.unitType == "2"){
+    //     var myframe = document.getElementById("iframe"); //获取iframe
+    // 	  myframe.contentWindow.postMessage({  name: "打印机" }, "*"); //childDomain是子页面的源(协议+主机+端口号)
+    //   }
+    // 	// var myframe = document.getElementById("iframe"); //获取iframe
+    // 	// myframe.contentWindow.postMessage({  name: '摄像头',id:value.id }, "*"); //childDomain是子页面的源(协议+主机+端口号)
+    // },
+    // postMsg3(){//视频测试
+    // 	var myframe = document.getElementById("iframe"); //获取iframe
+    // 	myframe.contentWindow.postMessage({  name: '摄像头',id:"1000002$1$0$7" }, "*"); //childDomain是子页面的源(协议+主机+端口号)
+    // },
   },
-}
+};
 </script>
 <style lang="scss">
-@import '@/assets/styles/common.scss';
-  #main{
-    width:100%;
-    height:auto;
-    margin:auto;
+@import "@/assets/styles/common.scss";
+#main {
+  width: 100%;
+  height: auto;
+  margin: auto;
+  overflow: hidden;
+  padding: 0 20px;
+  font-family: "MicrosoftYaHei";
+  .containWrap {
+    clear: both;
+    width: 3800px;
     overflow: hidden;
-    padding:0 20px;
-    font-family: 'MicrosoftYaHei';
-    .containWrap{
-      clear:both;
-      width:3800px;
-      overflow: hidden;
-      padding:0 !important;
-      height:950px;
-      margin-top:100px;
-      >div{
-        width:1255.3px;
-      }
-      .middleWrap,.rightWrap{
-        margin-left:17px;
-      }
-
+    padding: 0 !important;
+    height: 950px;
+    margin-top: 100px;
+    > div {
+      width: 1255.3px;
     }
-    .mt16{
-      margin-top:16px;
-    }
-    .ml16{
-      margin-left:16px;
+    .middleWrap,
+    .rightWrap {
+      margin-left: 17px;
     }
   }
-
-  .mask{
-    position: fixed;
-    width:100%;
-    height:100%;
-    background-color: rgba(0,0,0,0.5);
-    top:0;
-    left:0;
-    z-index: 100;
+  .mt16 {
+    margin-top: 16px;
+  }
+  .ml16 {
+    margin-left: 16px;
   }
+}
+
+.mask {
+  position: fixed;
+  width: 100%;
+  height: 100%;
+  background-color: rgba(0, 0, 0, 0.5);
+  top: 0;
+  left: 0;
+  z-index: 100;
+}
 //公共样式
-.modular{
-  background:$modularBackGround;
-  width:100%;
-  height:306px;
+.modular {
+  background: $modularBackGround;
+  width: 100%;
+  height: 306px;
   overflow: hidden;
   // height:28.333333vh;
-  color:$white;
+  color: $white;
   position: relative;
-  padding:0px !important;
-  >.top{
-    margin-top:12px;
-    .biao{
-      width:6px;
-      height:24px;
-      margin-top:-8px;
+  padding: 0px !important;
+  > .top {
+    margin-top: 12px;
+    .biao {
+      width: 6px;
+      height: 24px;
+      margin-top: -8px;
       background-color: #fff;
       display: inline-block;
       vertical-align: middle;
     }
-    .title{
+    .title {
       font-size: 24px;
-      margin-left:14px;
-      font-family: 'MicrosoftYaHei-Bold'
+      margin-left: 14px;
+      font-family: "MicrosoftYaHei-Bold";
     }
   }
 
-  .title2{
-    margin-bottom:15px;
+  .title2 {
+    margin-bottom: 15px;
   }
-
 }
-.modularTop{
-  margin-top:17px !important;
+.modularTop {
+  margin-top: 17px !important;
 }
 
 #loader-wrapper2 {
-      position: fixed;
-      top: 0;
-      left: 0;
-      width: 200px;
-      margin:0 calc(50vw - 100px);
-      height: 100%;
-      z-index: 0;
-  }
-
-  #loader2 {
-      display: block;
-      position: fixed;
-      left: 50%;
-      top: 50%;
-      width: 150px;
-      height: 150px;
-      margin: -75px 0 0 -75px;
-      border-radius: 50%;
-      border: 3px solid transparent;
-      border-top-color: #FFF;
-      -webkit-animation: spin 2s linear infinite;
-      -ms-animation: spin 2s linear infinite;
-      -moz-animation: spin 2s linear infinite;
-      -o-animation: spin 2s linear infinite;
-      animation: spin 2s linear infinite;
-      z-index: 1001;
+  position: fixed;
+  top: 0;
+  left: 0;
+  width: 200px;
+  margin: 0 calc(50vw - 100px);
+  height: 100%;
+  z-index: 0;
+}
 
-  }
+#loader2 {
+  display: block;
+  position: fixed;
+  left: 50%;
+  top: 50%;
+  width: 150px;
+  height: 150px;
+  margin: -75px 0 0 -75px;
+  border-radius: 50%;
+  border: 3px solid transparent;
+  border-top-color: #fff;
+  -webkit-animation: spin 2s linear infinite;
+  -ms-animation: spin 2s linear infinite;
+  -moz-animation: spin 2s linear infinite;
+  -o-animation: spin 2s linear infinite;
+  animation: spin 2s linear infinite;
+  z-index: 1001;
+}
 
-  #loader2:before {
-      content: "";
-      position: absolute;
-      top: 5px;
-      left: 5px;
-      right: 5px;
-      bottom: 5px;
-      border-radius: 50%;
-      border: 3px solid transparent;
-      border-top-color: #FFF;
-      -webkit-animation: spin 3s linear infinite;
-      -moz-animation: spin 3s linear infinite;
-      -o-animation: spin 3s linear infinite;
-      -ms-animation: spin 3s linear infinite;
-      animation: spin 3s linear infinite;
-  }
+#loader2:before {
+  content: "";
+  position: absolute;
+  top: 5px;
+  left: 5px;
+  right: 5px;
+  bottom: 5px;
+  border-radius: 50%;
+  border: 3px solid transparent;
+  border-top-color: #fff;
+  -webkit-animation: spin 3s linear infinite;
+  -moz-animation: spin 3s linear infinite;
+  -o-animation: spin 3s linear infinite;
+  -ms-animation: spin 3s linear infinite;
+  animation: spin 3s linear infinite;
+}
 
-  #loader2:after {
-      content: "";
-      position: absolute;
-      top: 15px;
-      left: 15px;
-      right: 15px;
-      bottom: 15px;
-      border-radius: 50%;
-      border: 3px solid transparent;
-      border-top-color: #FFF;
-      -moz-animation: spin 1.5s linear infinite;
-      -o-animation: spin 1.5s linear infinite;
-      -ms-animation: spin 1.5s linear infinite;
-      -webkit-animation: spin 1.5s linear infinite;
-      animation: spin 1.5s linear infinite;
-  }
+#loader2:after {
+  content: "";
+  position: absolute;
+  top: 15px;
+  left: 15px;
+  right: 15px;
+  bottom: 15px;
+  border-radius: 50%;
+  border: 3px solid transparent;
+  border-top-color: #fff;
+  -moz-animation: spin 1.5s linear infinite;
+  -o-animation: spin 1.5s linear infinite;
+  -ms-animation: spin 1.5s linear infinite;
+  -webkit-animation: spin 1.5s linear infinite;
+  animation: spin 1.5s linear infinite;
+}
 
-  @-webkit-keyframes spin {
-      0% {
-          -webkit-transform: rotate(0deg);
-          -ms-transform: rotate(0deg);
-          transform: rotate(0deg);
-      }
-      100% {
-          -webkit-transform: rotate(360deg);
-          -ms-transform: rotate(360deg);
-          transform: rotate(360deg);
-      }
+@-webkit-keyframes spin {
+  0% {
+    -webkit-transform: rotate(0deg);
+    -ms-transform: rotate(0deg);
+    transform: rotate(0deg);
   }
-
-  @keyframes spin {
-      0% {
-          -webkit-transform: rotate(0deg);
-          -ms-transform: rotate(0deg);
-          transform: rotate(0deg);
-      }
-      100% {
-          -webkit-transform: rotate(360deg);
-          -ms-transform: rotate(360deg);
-          transform: rotate(360deg);
-      }
-  }
-
-  #loader-wrapper2 .loader-section {
-      position: fixed;
-      top: 0;
-      width: 51%;
-      height: 100%;
-
-      z-index: 0;
-      -webkit-transform: translateX(0);
-      -ms-transform: translateX(0);
-      transform: translateX(0);
+  100% {
+    -webkit-transform: rotate(360deg);
+    -ms-transform: rotate(360deg);
+    transform: rotate(360deg);
   }
+}
 
-  #loader-wrapper2 .loader-section.section-left {
-      left: 0;
+@keyframes spin {
+  0% {
+    -webkit-transform: rotate(0deg);
+    -ms-transform: rotate(0deg);
+    transform: rotate(0deg);
   }
-
-  #loader-wrapper2 .loader-section.section-right {
-      right: 0;
+  100% {
+    -webkit-transform: rotate(360deg);
+    -ms-transform: rotate(360deg);
+    transform: rotate(360deg);
   }
+}
 
-  .loaded #loader-wrapper2 .loader-section.section-left {
-      -webkit-transform: translateX(-100%);
-      -ms-transform: translateX(-100%);
-      transform: translateX(-100%);
-      -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
-      transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
-  }
+#loader-wrapper2 .loader-section {
+  position: fixed;
+  top: 0;
+  width: 51%;
+  height: 100%;
 
-  .loaded #loader-wrapper2 .loader-section.section-right {
-      -webkit-transform: translateX(100%);
-      -ms-transform: translateX(100%);
-      transform: translateX(100%);
-      -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
-      transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
-  }
+  z-index: 0;
+  -webkit-transform: translateX(0);
+  -ms-transform: translateX(0);
+  transform: translateX(0);
+}
 
-  .loaded #loader2 {
-      opacity: 0;
-      -webkit-transition: all 0.3s ease-out;
-      transition: all 0.3s ease-out;
-  }
+#loader-wrapper2 .loader-section.section-left {
+  left: 0;
+}
 
-  .loaded #loader-wrapper2 {
-      visibility: hidden;
-      -webkit-transform: translateY(-100%);
-      -ms-transform: translateY(-100%);
-      transform: translateY(-100%);
-      -webkit-transition: all 0.3s 1s ease-out;
-      transition: all 0.3s 1s ease-out;
-  }
+#loader-wrapper2 .loader-section.section-right {
+  right: 0;
+}
 
-  .no-js #loader-wrapper2 {
-      display: none;
-  }
+.loaded #loader-wrapper2 .loader-section.section-left {
+  -webkit-transform: translateX(-100%);
+  -ms-transform: translateX(-100%);
+  transform: translateX(-100%);
+  -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+  transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+}
 
-  .no-js h1 {
-      color: #222222;
-  }
+.loaded #loader-wrapper2 .loader-section.section-right {
+  -webkit-transform: translateX(100%);
+  -ms-transform: translateX(100%);
+  transform: translateX(100%);
+  -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+  transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+}
 
-  #loader-wrapper2 .load_title {
-      font-family: 'Open Sans';
-      color: #FFF;
-      font-size: 19px;
-      width: 100%;
-      text-align: center;
-      z-index: 9999999999999;
-      position: fixed;
-      top: 60%;
-      left:0;
-      opacity: 1;
-      line-height: 30px;
-  }
+.loaded #loader2 {
+  opacity: 0;
+  -webkit-transition: all 0.3s ease-out;
+  transition: all 0.3s ease-out;
+}
 
-  #loader-wrapper2 .load_title span {
-      font-weight: normal;
-      font-style: italic;
-      font-size: 13px;
-      color: #FFF;
-      opacity: 0.5;
-  }
-</style>
+.loaded #loader-wrapper2 {
+  visibility: hidden;
+  -webkit-transform: translateY(-100%);
+  -ms-transform: translateY(-100%);
+  transform: translateY(-100%);
+  -webkit-transition: all 0.3s 1s ease-out;
+  transition: all 0.3s 1s ease-out;
+}
 
+.no-js #loader-wrapper2 {
+  display: none;
+}
 
+.no-js h1 {
+  color: #222222;
+}
 
+#loader-wrapper2 .load_title {
+  font-family: "Open Sans";
+  color: #fff;
+  font-size: 19px;
+  width: 100%;
+  text-align: center;
+  z-index: 9999999999999;
+  position: fixed;
+  top: 60%;
+  left: 0;
+  opacity: 1;
+  line-height: 30px;
+}
 
+#loader-wrapper2 .load_title span {
+  font-weight: normal;
+  font-style: italic;
+  font-size: 13px;
+  color: #fff;
+  opacity: 0.5;
+}
+</style>

+ 1 - 1
vue.config.js

@@ -5,7 +5,7 @@ function resolve(dir) {
     return path.join(__dirname, dir)
 }
 
-const name = process.env.VUE_APP_TITLE || '东信东信智慧楼宇' // 网页标题
+const name = process.env.VUE_APP_TITLE || '中国东信智慧楼宇' // 网页标题
 
 const port = process.env.port || process.env.npm_config_port || 80 // 端口
 

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
相关文档/20221020智慧楼宇-开发文件/20221019智慧楼宇/index.html


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
相关文档/中屏数据结构/V3-中屏json数据.txt


+ 208 - 0
相关文档/中屏数据结构/zp.js

@@ -0,0 +1,208 @@
+let a = {
+    nengyuan: {
+        nh: {
+            zhileng: "228660",
+            huanbi: "30",
+            fare: "21348",
+            tongbi: "-20",
+        },
+        shebei: [
+            { value: 776, name: "在线" },
+            { value: 116, name: "离线" },
+        ],
+        jizu: [
+            ["冷水机组1", "冷水机组2", "冷水机组3", "热泵", "空调机组"],
+            [2, 0, 2, 12, 4],
+        ],
+    },
+    anquanjiance: {
+        af: {
+            pie: [
+                { value: 900, name: "已处理" },
+                { value: 100, name: "未处理" },
+            ],
+            jishilv: 98,
+            total: 200,
+            xungeng: 4,
+            xunjian: 2,
+        },
+        xungeng: {
+            pie: [
+                { value: 28, name: "按时完成" },
+                { value: 6, name: "延时完成" },
+            ],
+            dianwei: 73,
+            renwu: 6,
+        },
+    },
+    xiaofangjiangkong: {
+        pingfen: 98,
+        event: {
+            pie: [
+                { value: 870, name: "已处理" },
+                { value: 130, name: "未处理" },
+            ],
+            jishilv: 98,
+            shuiya: 0.2,
+            shidu: 40,
+            shebei: 569,
+        },
+        shebei: {
+            pie: [
+                { value: 569, name: "火灾监控设备" },
+                { value: 20, name: "消防水监测" },
+                { value: 17, name: "通信设备" },
+                { value: 21, name: "电气火灾监测" },
+                { value: 17, name: "视频火点监测" },
+            ],
+            zaixianlv: 98,
+        },
+    },
+    tongxingguanli: {
+        people: {
+            line: [
+                [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 5, 2, 5, 6, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0],
+                ["楼内人员", "外部访客"],
+            ],
+            data: {
+                n1: 0,
+                n2: 0,
+                n3: 19,
+                n4: 50,
+                n5: 400,
+            },
+        },
+        car: {
+            line: [
+                ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24"],
+                [0, 2, 1, 0, 0, 0, 2, 12, 81, 138, 10, 11, 12, 38, 41, 11, 10, 17, 13, 119, 24, 31, 14, 5, 2],
+                [0, 2, 1, 0, 0, 0, 2, 12, 81, 138, 10, 11, 12, 38, 41, 11, 10, 17, 13, 119, 24, 31, 14, 5, 2],
+                ["地面停车场", "VIP停车场"],
+            ],
+            data: {
+                n1: 593,
+                n2: 528,
+                n3: 66,
+            },
+        },
+    },
+    zhihuibangong: {
+        data1: {
+            n1: 34,
+            n2: 657,
+            n3: 606,
+
+        },
+        data2: {
+            data1: [
+                { value: 10, name: "在用" },
+                { value: 7, name: "空闲" }
+            ],
+            data2: [
+                { value: 14, name: "已约定" },
+                { value: 3, name: "空闲" }
+            ],
+            data3: [
+                { value: 54, name: "政企" },
+                { value: 35, name: "研发部" },
+                { value: 21, name: "产业" },
+                { value: 20, name: "金服" },
+                { value: 40, name: "其它" },
+            ],
+        },
+        data3: {
+            n1: 29,
+            n2: 28,
+            n3: 83,
+            n4: 1293,
+        },
+    },
+    zuhuguanli: {
+        table: [
+            { n1: "7楼", n2: "空置", n3: "" },
+            { n1: "5楼1区", n2: "音悦科技", n3: "19" },
+            { n1: "5楼2区", n2: "泛糖科技", n3: "49" },
+        ],
+
+        pie1: [
+            { value: 4344.54, name: "音悦科技" },
+            { value: 11204.34, name: "泛糖科技" }
+        ],
+        pie2: [
+            { value: 37251.97, name: "音悦科技" },
+            { value: 96070.87, name: "泛糖科技" }
+        ],
+    },
+    yuanqushenghuo: {
+        data1: {
+            n1: 10542,
+            n2: 1026,
+            n3: 510,
+        },
+        data2: {
+            data1: {
+                n1: 4.5,
+                n2: 12.65,
+                n3: 10.58,
+            },
+            data2: [
+                [],
+                [1078, 1162, 1021, 976, 1022, 1178, 1280],
+                [6998, 7298, 6728, 6842, 7098, 6994, 7002],
+                [2565, 2305, 2523, 2462, 2389, 2670, 2465],
+                ["早餐消费总额", "中餐消费总额", "晚餐消费总额"],
+            ],
+        },
+        data3: {
+            data1: [
+                { name: "肉包", value: "225" },
+                { name: "时蔬", value: "180" },
+                { name: "时蔬", value: "75.7" },
+            ],
+            data2: [
+                ["12:00", "12:10", "12:20", "12:30", "12:40", "12:50"],
+                [1, 166, 155, 152, 66, 9],
+                ["消费人次"],
+            ],
+        },
+        data4: [
+            { name: "游泳池", value: 600 },
+            { name: "健身房", value: 430 },
+            { name: "网球场", value: 300 },
+        ],
+        data5: [
+            ["第1日", "第2日", "第3日", "第4日", "第5日", "第6日", "第7日"],
+            [4, 3, 5, 1, 2, 5, 5],
+            [1, 2, 0, 4, 3, 0, 0],
+            ["空闲", "在用"],
+        ],
+        data6: [
+            { name: "微信", value: 32407 },
+            { name: "支付宝", value: 12822 },
+            { name: "福利发放", value: 11300 },
+        ],
+    },
+    zhihuixuexi: {
+        data1: {
+            n1: 3409,
+            n2: 212,
+            n3: 99,
+            n4: 2331,
+        },
+        data2: [
+            { name: "技术", value: 10 },
+            { name: "党建", value: 20 },
+            { name: "励志", value: 30 },
+            { name: "技能", value: 40 },
+            { name: "其他", value: 50 },
+        ],
+        data3: [
+            { name: "政企", value: 632 },
+            { name: "产业", value: 372 },
+            { name: "研发部", value: 338 },
+            { name: "金融", value: 248 },
+            { name: "其他", value: 741 },
+        ],
+    }
+}
+console.log(JSON.stringify(a))

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio