Pārlūkot izejas kodu

可视化首页bug修复

钞小赢 3 gadi atpakaļ
vecāks
revīzija
2076e6dcba

+ 14 - 0
src/views/demo/parameManagement/timingTask/index.vue

@@ -451,6 +451,13 @@
451 451
       >
452 452
         <el-table-column type="selection" align="center" width="55">
453 453
         </el-table-column>
454
+        <el-table-column
455
+                  align="center"
456
+                  label="序号"
457
+                  type="index"
458
+                  width="100px"
459
+                  :index="indexMethod1"
460
+                ></el-table-column>
454 461
         <el-table-column prop="id" align="center" label="设备ID">
455 462
         </el-table-column>
456 463
         <el-table-column prop="eqName" label="设备名称" align="center">
@@ -1227,6 +1234,13 @@ export default {
1227 1234
         (this.pagination.curPage - 1) * this.pagination.pageSize + index + 1
1228 1235
       );
1229 1236
     },
1237
+
1238
+    //表格序号
1239
+    indexMethod1(index) {
1240
+      return (
1241
+        (this.pagination1.curPage - 1) * this.pagination1.pageSize + index + 1
1242
+      );
1243
+    },
1230 1244
     //弹框确定按钮
1231 1245
     determine() {},
1232 1246
   },

+ 3 - 0
src/views/demo/productManage/productInfo/realTime/index.vue

@@ -354,6 +354,9 @@ export default {
354 354
           console.log(err);
355 355
         });
356 356
   },
357
+  destroyed() {
358
+    this.unconnect();
359
+  },
357 360
 };
358 361
 </script>
359 362
 <style lang="scss" scoped>

+ 94 - 104
src/views/system/visualized/index.vue

@@ -48,21 +48,23 @@
48 48
     
49 49
         "
50 50
       >
51
-                <div class="cf-left" v-if="tableData.length>0">
51
+                <div class="cf-left">
52
+                  <!-- <div style="color:#fff"> {{tableData}}</div> -->
52 53
                             
53 54
                   <div
54 55
                   v-for="(e, index) in tableData"
55 56
                             :key="index"
56 57
                     :class="{
57
-                      normalTemp: e.wetTempStatus == 1,
58
+                      normalTemp: e.wetTempStatus ===1||e.wetTempStatus===undefined,
58 59
                       normalTemp1:e.wetTempStatus == 0,
59 60
                     }"
60 61
                   >
62
+                  <!-- <div style="color:red">{{e}}</div> -->
61 63
                     <div class="temp-title">
62 64
                       {{ index + 1 }}号点位温湿度
63 65
                     </div>
64 66
                     <div class="temp-list">
65
-                      <div class="list-left" v-if="e.wetTempStatus == 1">
67
+                      <div class="list-left" v-show="e.wetTempStatus == 1||e.wetTempStatus===undefined">
66 68
                         <div class="hxBig">
67 69
                           <img
68 70
                             class="sxxz"
@@ -71,7 +73,7 @@
71 73
                           />
72 74
                         </div>
73 75
                       </div>
74
-                      <div class="list-left" v-if="e.wetTempStatus == 0">
76
+                      <div class="list-left" v-show="e.wetTempStatus === 0">
75 77
                         <img
76 78
                           src="../../../assets/images/bigScreen/fault.png"
77 79
                           alt=""
@@ -95,9 +97,10 @@
95 97
                             :key="index"
96 98
                             
97 99
                           >
100
+                          <!-- <div>{{item}}</div> -->
98 101
                             <li class="DataList_left">
99 102
                               <span
100
-                                v-if="item.status == 1"
103
+                                v-if="item.tempStatus == 1 ||item.wetStatus==1"
101 104
                                 style="
102 105
                                   width: 5px;
103 106
                                   height: 5px;
@@ -109,7 +112,7 @@
109 112
                                 "
110 113
                               ></span>
111 114
                               <span
112
-                                v-if="item.status == 0"
115
+                                v-if="item.tempStatus == 0 ||item.wetStatus==0"
113 116
                                 style="
114 117
                                   width: 5px;
115 118
                                   height: 5px;
@@ -215,12 +218,12 @@
215 218
               <div class="title">湿度统计</div>
216 219
               <div class="sdDataShow">
217 220
                 <div class="left sdtjLeft">
218
-                  <!-- <div id="sdtjEcarts" style="width:100%;height:100%"></div> -->
219
-                  <img
221
+                  <div id="sdtjEcarts" style="width:100%;height:100%"></div>
222
+                  <!-- <img
220 223
                     src="../../../assets/images/bigScreen/shidu.png"
221 224
                     alt=""
222 225
                     style="width: 100%; height: 100%"
223
-                  />
226
+                  /> -->
224 227
                 </div>
225 228
                 <div class="right">
226 229
                   <div class="top">
@@ -317,6 +320,7 @@ export default {
317 320
   },
318 321
   data() {
319 322
     return {
323
+      sdtjInterval:null,
320 324
       top: 32,
321 325
       left: 25,
322 326
       //初始化列表的长度
@@ -354,7 +358,7 @@ export default {
354 358
       wetParams: {},
355 359
       //温湿度状态
356 360
       // wetTempStatus: null,
357
-      wetTempStatus: 1,
361
+      // wetTempStatus: 1,
358 362
       tableData: [],
359 363
       //湿度统计角度
360 364
       sdtjAngle: 0,
@@ -400,7 +404,7 @@ export default {
400 404
   computed: {
401 405
     classOption() {
402 406
       return {
403
-        step: 0.2, // 数值越大速度滚动越快
407
+        step: 0.5, // 数值越大速度滚动越快
404 408
         limitMoveNum: 5, // 开始无缝滚动的数据量 this.dataList.length
405 409
         hoverStop: true, // 是否开启鼠标悬停stop
406 410
         direction: 1, // 0向下 1向上 2向左 3向右
@@ -412,7 +416,7 @@ export default {
412 416
     },
413 417
     seamlessScrollOption(){
414 418
       return {
415
-        step: 0, // 数值越大速度滚动越快
419
+        step: 1.2, // 数值越大速度滚动越快
416 420
         limitMoveNum:6, // 开始无缝滚动的数据量 this.dataList.length
417 421
         hoverStop: true, // 是否开启鼠标悬停stop
418 422
         direction: 1, // 0向下 1向上 2向左 3向右
@@ -518,7 +522,7 @@ export default {
518 522
          
519 523
               this.calcAve(this.tableData);
520 524
             } else if (this.tableDataLength < 1) {
521
-              this.tableData=[]
525
+              // this.tableData=[]
522 526
               res.data.forEach((ele, index) => {
523 527
                 ele.time = res.time;
524 528
                 this.tableData.push([ele]);
@@ -585,7 +589,7 @@ export default {
585 589
       let option = {
586 590
         backgroundColor: "#022C2B",
587 591
         title: {
588
-          text: "{a|" + value + "}{c|%}" + "\n" + "{b|资料管理}",
592
+          text: "{a|" + value + "}{c|%}" + "\n" + "{b|湿度统计}",
589 593
           x: "center",
590 594
           y: "center",
591 595
           textStyle: {
@@ -611,37 +615,7 @@ export default {
611 615
           },
612 616
         },
613 617
        
614
-        // legend: {
615
-        //   type: "plain",
616
-        //   orient: "vertical",
617
-        //   right: 0,
618
-        //   top: "10%",
619
-        //   align: "auto",
620
-        //   data: [
621
-        //     {
622
-        //       name: "涨价后没吃过",
623
-        //       icon: "circle",
624
-        //     },
625
-        //     {
626
-        //       name: "天天吃",
627
-        //       icon: "circle",
628
-        //     },
629
-        //     {
630
-        //       name: "三五天吃一次",
631
-        //       icon: "circle",
632
-        //     },
633
-        //     {
634
-        //       name: "半个月吃一次",
635
-        //       icon: "circle",
636
-        //     },
637
-        //   ],
638
-        //   textStyle: {
639
-        //     color: "white",
640
-        //     fontSize: 16,
641
-        //     padding: [10, 1, 10, 0],
642
-        //   },
643
-        //   selectedMode: false,
644
-        // },
618
+   
645 619
         series: [
646 620
           //外面的线带球球
647 621
           {
@@ -654,7 +628,7 @@ export default {
654 628
                 shape: {
655 629
                   cx: api.getWidth() / 2,
656 630
                   cy: api.getHeight() / 2,
657
-                  r: (Math.min(api.getWidth(), api.getHeight()) / 2) * 0.65, //线的位置
631
+                  r: (Math.min(api.getWidth(), api.getHeight()) / 2) * 0.85, //线的位置
658 632
                   startAngle: ((270 + -that.sdtjAngle) * Math.PI) / 180,
659 633
                   endAngle: ((40 + -that.sdtjAngle) * Math.PI) / 180,
660 634
                 },
@@ -678,7 +652,7 @@ export default {
678 652
                 shape: {
679 653
                   cx: api.getWidth() / 2,
680 654
                   cy: api.getHeight() / 2,
681
-                  r: (Math.min(api.getWidth(), api.getHeight()) / 2) * 0.65, //线的位置
655
+                  r: (Math.min(api.getWidth(), api.getHeight()) / 2) * 0.85, //线的位置
682 656
                   startAngle: ((90 + -that.sdtjAngle) * Math.PI) / 180,
683 657
                   endAngle: ((220 + -that.sdtjAngle) * Math.PI) / 180,
684 658
                 },
@@ -703,7 +677,7 @@ export default {
703 677
                 shape: {
704 678
                   cx: api.getWidth() / 2,
705 679
                   cy: api.getHeight() / 2,
706
-                  r: (Math.min(api.getWidth(), api.getHeight()) / 2) * 0.6,
680
+                  r: (Math.min(api.getWidth(), api.getHeight()) / 2) * 0.8,
707 681
                   startAngle: ((0 + that.sdtjAngle) * Math.PI) / 180,
708 682
                   endAngle: ((90 + that.sdtjAngle) * Math.PI) / 180,
709 683
                 },
@@ -727,7 +701,7 @@ export default {
727 701
                 shape: {
728 702
                   cx: api.getWidth() / 2,
729 703
                   cy: api.getHeight() / 2,
730
-                  r: (Math.min(api.getWidth(), api.getHeight()) / 2) * 0.6,
704
+                  r: (Math.min(api.getWidth(), api.getHeight()) / 2) * 0.8,
731 705
                   startAngle: ((180 + that.sdtjAngle) * Math.PI) / 180,
732 706
                   endAngle: ((270 + that.sdtjAngle) * Math.PI) / 180,
733 707
                 },
@@ -752,7 +726,7 @@ export default {
752 726
                 shape: {
753 727
                   cx: api.getWidth() / 2,
754 728
                   cy: api.getHeight() / 2,
755
-                  r: (Math.min(api.getWidth(), api.getHeight()) / 2) * 0.43, //线的位置
729
+                  r: (Math.min(api.getWidth(), api.getHeight()) / 2) * 0.65, //线的位置
756 730
                   startAngle: 0, //开始的地方
757 731
                   endAngle: 180, //结束的地方
758 732
                 },
@@ -773,7 +747,7 @@ export default {
773 747
             renderItem: function (params, api) {
774 748
               let x0 = api.getWidth() / 2;
775 749
               let y0 = api.getHeight() / 2;
776
-              let r = (Math.min(api.getWidth(), api.getHeight()) / 2) * 0.65;
750
+              let r = (Math.min(api.getWidth(), api.getHeight()) / 2) * 0.85;
777 751
               let point = that.getCirlPoint(x0, y0, r, 90 + -that.sdtjAngle);
778 752
               return {
779 753
                 type: "circle",
@@ -798,7 +772,7 @@ export default {
798 772
             renderItem: function (params, api) {
799 773
               let x0 = api.getWidth() / 2;
800 774
               let y0 = api.getHeight() / 2;
801
-              let r = (Math.min(api.getWidth(), api.getHeight()) / 2) * 0.65;
775
+              let r = (Math.min(api.getWidth(), api.getHeight()) / 2) * 0.85;
802 776
               let point = that.getCirlPoint(x0, y0, r, 270 + -that.sdtjAngle);
803 777
               return {
804 778
                 type: "circle",
@@ -821,7 +795,7 @@ export default {
821 795
             name: "吃猪肉频率",
822 796
             type: "pie",
823 797
             //背景色的半圆
824
-            radius: ["58%", "45%"],
798
+            radius: ["65%", "52%"],
825 799
             silent: true,
826 800
             clockwise: true,
827 801
             startAngle: 90,
@@ -874,17 +848,17 @@ export default {
874 848
           {
875 849
             name: "",
876 850
             type: "gauge",
877
-            radius: "58%",
851
+            radius: "18%",
878 852
             center: ["50%", "50%"],
879 853
             startAngle: 0,
880 854
             endAngle: 359.9,
881
-            splitNumber: 28, //改变小格子宽度
855
+            splitNumber: 38, //改变小格子宽度
882 856
             hoverAnimation: true,
883 857
             axisTick: {
884 858
               show: false,
885 859
             },
886 860
             splitLine: {
887
-              length: 67,
861
+              length: 49,
888 862
               lineStyle: {
889 863
                 width: 2,
890 864
                 color: "#0e352e", //改变小格子的线颜色
@@ -931,7 +905,8 @@ export default {
931 905
         pageSize: 5,
932 906
       };
933 907
       api.pointList(params).then((res) => {
934
-        console.log(res, "点位列表");
908
+        if(res.code==200){
909
+          console.log(res, "点位列表");
935 910
 
936 911
         this.tableData = Object.values(res.data);
937 912
 
@@ -941,22 +916,30 @@ export default {
941 916
           this.rightDewValue = 0;
942 917
           this.rightTempValue = 0;
943 918
           this.rightWetValue = 0;
944
-        }
919
+        }else{
920
+ 
945 921
           this.getWsdAlarmParams();
922
+      
946 923
           this.calcAve(this.tableData);
924
+        }
925
+         
926
+        }
927
+        
947 928
       
948 929
         //如果温湿度大于或小于正常值则添加字段status,0位不正常,1为正常
949 930
       });
950 931
     },
951 932
     // 温湿度最高最低参数
952 933
     getWsdAlarmParams() {
934
+      
953 935
       let params = {
954 936
         labelCode: this.cfCode,
955 937
         orgCode: localStorage.getItem("orgCode"),
956 938
       };
957 939
       api.wsdAlarmParams(params).then((res) => {
958
-        console.log(res, "参数。。");
959
-        //温度参数
940
+        if(res.code==200){
941
+          console.log(res, "参数。。");
942
+          //温度参数
960 943
         if (res.data[110001]) {
961 944
           this.tempParams = res.data[110001][0];
962 945
         }
@@ -966,9 +949,15 @@ export default {
966 949
 
967 950
         console.log(this.tempParams, "tempParams");
968 951
         console.log(this.wetParams, "wetParams");
969
-        if (this.tableData) {
952
+
953
+     
954
+     
955
+          
970 956
           this.wetTempPublic(this.tableData);
971 957
         }
958
+       
959
+        
960
+     
972 961
       });
973 962
     },
974 963
 
@@ -995,67 +984,71 @@ export default {
995 984
       console.log(arr,"arrr..")
996 985
       arr.forEach((ele) => {
997 986
         ele.forEach((item) => {
998
-          if (this.tempParams) {
987
+          if (this.tempParams.alarmValueMin) {
999 988
            
1000 989
             if (
1001 990
               item.tempValue < this.tempParams.alarmValueMin ||
1002 991
               item.tempValue > this.tempParams.alarmValueMax
1003 992
             ) {
993
+              console.log("温度异常")
1004 994
           
1005
-              item.status = 0;
995
+              // item.status = 0;
1006 996
               // this.wetTempStatus = 0;
1007
-              item.tempStatus = 0;
997
+              // item.tempStatus = 0;
998
+              this.$set(item,"tempStatus",0)
1008 999
             }
1009 1000
              else {
1010
-             
1011
-              item.tempStatus = 1;
1012
-              item.status = 1;
1001
+              console.log("温度正常")
1002
+              // item.tempStatus = 1;
1003
+              this.$set(item,"tempStatus",1)
1004
+              // item.status = 1;
1013 1005
               // this.wetTempStatus = 1;
1014 1006
             }
1015 1007
           }
1016 1008
 
1017
-          if (this.wetParams) {
1009
+          if (this.wetParams.alarmValueMin) {
1018 1010
           
1019 1011
             if (
1020 1012
               item.wetValue < this.wetParams.alarmValueMin ||
1021 1013
               item.wetValue > this.wetParams.alarmValueMax
1022 1014
             ) {
1023
-           
1024
-              item.status = 0;
1025
-              item.wetStatus = 0;
1015
+              console.log("湿度异常")
1016
+              // item.status = 0;
1017
+              // item.wetStatus = 0;
1018
+              this.$set(item,"wetStatus",0)
1026 1019
               // this.wetTempStatus = 0;
1027 1020
             } else {
1028
-          
1029
-              item.wetStatus = 1;
1030
-              item.status = 1;
1021
+              console.log("湿度正常")
1022
+              // item.wetStatus = 1;
1023
+              this.$set(item,"wetStatus",1)
1024
+              // item.status = 1;
1031 1025
               // this.wetTempStatus = 1;
1032 1026
             }
1033 1027
           }
1034 1028
         });
1035 1029
       });
1036 1030
 
1037
-      // //取整
1038
-      // this.rightDewValue=parseInt(this.rightDewValue/arr.length)
1031
+  
1039 1032
       console.log(arr, "添加状态");
1040 1033
       this.isNormalImg(arr)
1041 1034
     },
1042 1035
     //添加判断是否显示正常图片的字段
1043 1036
     isNormalImg(arr){
1044
-     arr.forEach(e=>{
1045
-      let a= e.some(item=>{
1046
-      return item.tempStatus==1
1047
-     })
1048
-     if(a==true){
1037
+     for (let i = 0; i < arr.length; i++) {
1038
+      arr[i].wetTempStatus=1
1039
+      for (let j = 0; j < arr[i].length; j++) {
1040
+        
1041
+        if(arr[i][j].tempStatus==0||arr[i][j].wetStatus==0){
1042
+          arr[i].wetTempStatus=0
1043
+         break
1044
+       
1045
+        }
1046
+      }
1047
+
1048
+  
1049 1049
       
1050 1050
      }
1051
-     console.log(a,"isNormal")
1052
-     })
1053
-    arr.forEach(e=>{
1054
-      let b=e.some(item=>{
1055
-      return item.wetStatus==1
1056
-     })
1057
-     console.log(b,"isNormal")
1058
-     })
1051
+     console.log(arr,"isNormal")
1059 1052
    
1060 1053
     },
1061 1054
 
@@ -1080,11 +1073,7 @@ export default {
1080 1073
           this.rightTempValue += item.tempValue;
1081 1074
           //湿度均温
1082 1075
           this.rightWetValue += item.wetValue;
1083
-          console.log(
1084
-            this.rightDewValue,
1085
-            this.rightTempValue,
1086
-            this.rightWetValue
1087
-          );
1076
+        
1088 1077
         });
1089 1078
       });
1090 1079
       //取整
@@ -1231,7 +1220,7 @@ export default {
1231 1220
     // },
1232 1221
   },
1233 1222
   created() {
1234
-    this.connect();
1223
+   this.connect() ;
1235 1224
   
1236 1225
     api
1237 1226
       .equipmentTagList({ curPage: 1, pageSize: 99999 })
@@ -1258,20 +1247,21 @@ export default {
1258 1247
   },
1259 1248
   destroyed() {
1260 1249
     this.unconnect();
1250
+    clearInterval(this.sdtjInterval)
1261 1251
   },
1262 1252
   mounted() {
1263
-    //   setInterval(() =>{
1264
-    //   //用setInterval做动画感觉有问题
1265
-    //   this.drawSdtj();
1266
-    // }, 100);
1253
+ this.sdtjInterval=setInterval(() =>{
1254
+      //用setInterval做动画感觉有问题
1255
+      this.drawSdtj();
1256
+    }, 100);
1267 1257
    
1268 1258
     // this.getWsdAlarmParams();
1269 1259
     this.getTempWetStatus();
1270
-    this.addArea();
1271
-    this.scale();
1272
-    window.onresize = () => {
1273
-      this.scale();
1274
-    };
1260
+    // this.addArea();
1261
+    // this.scale();
1262
+    // window.onresize = () => {
1263
+    //   this.scale();
1264
+    // };
1275 1265
   },
1276 1266
 };
1277 1267
 </script>

+ 1 - 1
src/views/system/visualized/yjxx/index.vue

@@ -24,7 +24,7 @@
24 24
                         width: 5px;
25 25
                         height: 5px;
26 26
                         border-radius: 50%;
27
-                        background: rgb(38, 222, 197);
27
+                        background: red;
28 28
                         display: inline-block;
29 29
 
30 30
                         margin-right: 5px;