Преглед на файлове

[UPDATE] fix monitor bug in *Screen

11868 преди 1 година
родител
ревизия
0d2be19cbc
променени са 9 файла, в които са добавени 1164 реда и са изтрити 1569 реда
  1. 156 74
      package-lock.json
  2. 4 55
      src/components/hk/hkCamara.vue
  3. 2 29
      src/components/hk/hkv.vue
  4. 78 80
      src/components/hk/monitorHK.vue
  5. 31 535
      src/views/historicTaskScreen.vue
  6. 62 82
      src/views/mainScreen.vue
  7. 537 236
      src/views/monitorScreen.vue
  8. 270 421
      src/views/situationScreen.vue
  9. 24 57
      src/views/taskScreen.vue

+ 156 - 74
package-lock.json

@@ -10,9 +10,11 @@
       "dependencies": {
         "@jiaminghi/data-view": "^2.10.0",
         "axios": "^0.18.0",
+        "be-full": "^0.1.4",
         "bpmn-js-token-simulation": "^0.10.0",
         "core-js": "^3.6.4",
-        "echarts": "^4.2.1",
+        "echarts": "^4.8.0",
+        "echarts-gl": "^1.1.2",
         "element-ui": "^2.13.0",
         "flv": "^0.0.1",
         "flv.js": "^1.6.2",
@@ -28,6 +30,7 @@
         "mux.js": "^6.3.0",
         "pdfjs-dist": "^2.5.207",
         "register-service-worker": "^1.6.2",
+        "screenfull": "^6.0.2",
         "socket.io": "^4.6.1",
         "sortablejs": "^1.7.0",
         "v-charts": "^1.19.0",
@@ -4720,6 +4723,11 @@
         "tweetnacl": "^0.14.3"
       }
     },
+    "node_modules/be-full": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmmirror.com/be-full/-/be-full-0.1.4.tgz",
+      "integrity": "sha512-Nj3yBvk8rxhBhDv6YROxP9ynTA5H0l9lMjU+XqEAY4rTLJ68l2+n0geWCoeTqAxhOFedtbmYCpxFzMxMA8CnUg=="
+    },
     "node_modules/bfj": {
       "version": "6.1.2",
       "resolved": "https://registry.npmmirror.com/bfj/-/bfj-6.1.2.tgz",
@@ -5610,6 +5618,11 @@
         "node": ">=0.10.0"
       }
     },
+    "node_modules/claygl": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmmirror.com/claygl/-/claygl-1.3.0.tgz",
+      "integrity": "sha512-+gGtJjT6SSHD2l2yC3MCubW/sCV40tZuSs5opdtn79vFSGUgp/lH139RNEQ6Jy078/L0aV8odCw8RSrUcMfLaQ=="
+    },
     "node_modules/clean-css": {
       "version": "4.2.4",
       "resolved": "https://registry.npmmirror.com/clean-css/-/clean-css-4.2.4.tgz",
@@ -7580,11 +7593,11 @@
       }
     },
     "node_modules/echarts": {
-      "version": "4.9.0",
-      "resolved": "https://registry.npmmirror.com/echarts/-/echarts-4.9.0.tgz",
-      "integrity": "sha512-+ugizgtJ+KmsJyyDPxaw2Br5FqzuBnyOWwcxPKO6y0gc5caYcfnEUIlNStx02necw8jmKmTafmpHhGo4XDtEIA==",
+      "version": "4.8.0",
+      "resolved": "https://registry.npmmirror.com/echarts/-/echarts-4.8.0.tgz",
+      "integrity": "sha512-YwShpug8fWngj/RlgxDaYrLBoD+LsZUArrusjNPHpAF+is+gGe38xx4W848AwWMGoi745t3OXM52JedNrv+F6g==",
       "dependencies": {
-        "zrender": "4.3.2"
+        "zrender": "4.3.1"
       }
     },
     "node_modules/echarts-amap": {
@@ -7592,6 +7605,18 @@
       "resolved": "https://registry.npmmirror.com/echarts-amap/-/echarts-amap-1.0.0-rc.6.tgz",
       "integrity": "sha512-cYJCKoQdnkZXrGweYrveU1HruZd1c0KmsF1U8o3FtsvgR2jVL5ZUpGFjMmFtpolHOUFqxizk+s+QBLkYuOWL6Q=="
     },
+    "node_modules/echarts-gl": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmmirror.com/echarts-gl/-/echarts-gl-1.1.2.tgz",
+      "integrity": "sha512-EVGx9RS2eMzaCgAMJSDCeLId4g8oFCFn78Fdh+0xIXASiZw/gPnJqr1vQgnQhmXhiUKixkIhIzfdc//qrct/Hg==",
+      "dependencies": {
+        "claygl": "^1.2.1",
+        "zrender": "^4.0.4"
+      },
+      "peerDependencies": {
+        "echarts": "^4.1.0"
+      }
+    },
     "node_modules/echarts-liquidfill": {
       "version": "2.0.6",
       "resolved": "https://registry.npmmirror.com/echarts-liquidfill/-/echarts-liquidfill-2.0.6.tgz",
@@ -7606,6 +7631,11 @@
       "resolved": "https://registry.npmmirror.com/echarts-wordcloud/-/echarts-wordcloud-1.1.3.tgz",
       "integrity": "sha512-Et8D5xEAoYkidmHun+hEH+2lF9dhCt6D0JJ390vlr2r/1zwhhZAbcL01CEvG93QcMcJpSvSPK8vRiGkTbMHRxg=="
     },
+    "node_modules/echarts/node_modules/zrender": {
+      "version": "4.3.1",
+      "resolved": "https://registry.npmmirror.com/zrender/-/zrender-4.3.1.tgz",
+      "integrity": "sha512-CeH2TpJeCdG0TAGYoPSAcFX2ogdug1K7LIn9UO/q9HWqQ54gWhrMAlDP9AwWYMUDhrPe4VeazQ4DW3msD96nUQ=="
+    },
     "node_modules/editorconfig": {
       "version": "0.15.3",
       "resolved": "https://registry.npmmirror.com/editorconfig/-/editorconfig-0.15.3.tgz",
@@ -17540,6 +17570,14 @@
         "node": ">= 8.9.0"
       }
     },
+    "node_modules/screenfull": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmmirror.com/screenfull/-/screenfull-6.0.2.tgz",
+      "integrity": "sha512-AQdy8s4WhNvUZ6P8F6PB21tSPIYKniic+Ogx0AacBMjKP1GUHN2E9URxQHtCusiwxudnCKkdy4GrHXPPJSkCCw==",
+      "engines": {
+        "node": "^14.13.1 || >=16.0.0"
+      }
+    },
     "node_modules/scroll-tabs": {
       "version": "1.0.1",
       "resolved": "https://registry.npmmirror.com/scroll-tabs/-/scroll-tabs-1.0.1.tgz",
@@ -20543,6 +20581,33 @@
       "resolved": "https://registry.npmmirror.com/pdfjs-dist/-/pdfjs-dist-2.6.347.tgz",
       "integrity": "sha512-QC+h7hG2su9v/nU1wEI3SnpPIrqJODL7GTDFvR74ANKGq1AFJW16PH8VWnhpiTi9YcLSFV9xLeWSgq+ckHLdVQ=="
     },
+    "node_modules/vue-pdf/node_modules/schema-utils": {
+      "version": "0.4.7",
+      "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-0.4.7.tgz",
+      "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==",
+      "dependencies": {
+        "ajv": "^6.1.0",
+        "ajv-keywords": "^3.1.0"
+      },
+      "engines": {
+        "node": ">= 4"
+      }
+    },
+    "node_modules/vue-pdf/node_modules/worker-loader": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmmirror.com/worker-loader/-/worker-loader-2.0.0.tgz",
+      "integrity": "sha512-tnvNp4K3KQOpfRnD20m8xltE3eWh89Ye+5oj7wXEEHKac1P4oZ6p9oTj8/8ExqoSBnk9nu5Pr4nKfQ1hn2APJw==",
+      "dependencies": {
+        "loader-utils": "^1.0.0",
+        "schema-utils": "^0.4.0"
+      },
+      "engines": {
+        "node": ">= 6.9.0 || >= 8.9.0"
+      },
+      "peerDependencies": {
+        "webpack": "^3.0.0 || ^4.0.0-alpha.0 || ^4.0.0"
+      }
+    },
     "node_modules/vue-resize-sensor": {
       "version": "2.0.0",
       "resolved": "https://registry.npmmirror.com/vue-resize-sensor/-/vue-resize-sensor-2.0.0.tgz",
@@ -21769,54 +21834,35 @@
       }
     },
     "node_modules/worker-loader": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/worker-loader/-/worker-loader-2.0.0.tgz",
-      "integrity": "sha512-tnvNp4K3KQOpfRnD20m8xltE3eWh89Ye+5oj7wXEEHKac1P4oZ6p9oTj8/8ExqoSBnk9nu5Pr4nKfQ1hn2APJw==",
+      "version": "3.0.8",
+      "resolved": "https://registry.npmmirror.com/worker-loader/-/worker-loader-3.0.8.tgz",
+      "integrity": "sha512-XQyQkIFeRVC7f7uRhFdNMe/iJOdO6zxAaR3EWbDp45v3mDhrTi+++oswKNxShUNjPC/1xUp5DB29YKLhFo129g==",
+      "optional": true,
+      "peer": true,
       "dependencies": {
-        "loader-utils": "^1.0.0",
-        "schema-utils": "^0.4.0"
+        "loader-utils": "^2.0.0",
+        "schema-utils": "^3.0.0"
       },
       "engines": {
-        "node": ">= 6.9.0 || >= 8.9.0"
+        "node": ">= 10.13.0"
       },
       "peerDependencies": {
-        "webpack": "^3.0.0 || ^4.0.0-alpha.0 || ^4.0.0"
-      }
-    },
-    "node_modules/worker-loader/node_modules/json5": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz",
-      "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
-      "dependencies": {
-        "minimist": "^1.2.0"
-      },
-      "bin": {
-        "json5": "lib/cli.js"
-      }
-    },
-    "node_modules/worker-loader/node_modules/loader-utils": {
-      "version": "1.4.2",
-      "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz",
-      "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==",
-      "dependencies": {
-        "big.js": "^5.2.2",
-        "emojis-list": "^3.0.0",
-        "json5": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=4.0.0"
+        "webpack": "^4.0.0 || ^5.0.0"
       }
     },
     "node_modules/worker-loader/node_modules/schema-utils": {
-      "version": "0.4.7",
-      "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-0.4.7.tgz",
-      "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==",
+      "version": "3.1.2",
+      "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.1.2.tgz",
+      "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==",
+      "optional": true,
+      "peer": true,
       "dependencies": {
-        "ajv": "^6.1.0",
-        "ajv-keywords": "^3.1.0"
+        "@types/json-schema": "^7.0.8",
+        "ajv": "^6.12.5",
+        "ajv-keywords": "^3.5.2"
       },
       "engines": {
-        "node": ">= 4"
+        "node": ">= 10.13.0"
       }
     },
     "node_modules/wrap-ansi": {
@@ -25778,6 +25824,11 @@
         "tweetnacl": "^0.14.3"
       }
     },
+    "be-full": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmmirror.com/be-full/-/be-full-0.1.4.tgz",
+      "integrity": "sha512-Nj3yBvk8rxhBhDv6YROxP9ynTA5H0l9lMjU+XqEAY4rTLJ68l2+n0geWCoeTqAxhOFedtbmYCpxFzMxMA8CnUg=="
+    },
     "bfj": {
       "version": "6.1.2",
       "resolved": "https://registry.npmmirror.com/bfj/-/bfj-6.1.2.tgz",
@@ -26563,6 +26614,11 @@
         }
       }
     },
+    "claygl": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmmirror.com/claygl/-/claygl-1.3.0.tgz",
+      "integrity": "sha512-+gGtJjT6SSHD2l2yC3MCubW/sCV40tZuSs5opdtn79vFSGUgp/lH139RNEQ6Jy078/L0aV8odCw8RSrUcMfLaQ=="
+    },
     "clean-css": {
       "version": "4.2.4",
       "resolved": "https://registry.npmmirror.com/clean-css/-/clean-css-4.2.4.tgz",
@@ -28202,11 +28258,18 @@
       }
     },
     "echarts": {
-      "version": "4.9.0",
-      "resolved": "https://registry.npmmirror.com/echarts/-/echarts-4.9.0.tgz",
-      "integrity": "sha512-+ugizgtJ+KmsJyyDPxaw2Br5FqzuBnyOWwcxPKO6y0gc5caYcfnEUIlNStx02necw8jmKmTafmpHhGo4XDtEIA==",
+      "version": "4.8.0",
+      "resolved": "https://registry.npmmirror.com/echarts/-/echarts-4.8.0.tgz",
+      "integrity": "sha512-YwShpug8fWngj/RlgxDaYrLBoD+LsZUArrusjNPHpAF+is+gGe38xx4W848AwWMGoi745t3OXM52JedNrv+F6g==",
       "requires": {
-        "zrender": "4.3.2"
+        "zrender": "4.3.1"
+      },
+      "dependencies": {
+        "zrender": {
+          "version": "4.3.1",
+          "resolved": "https://registry.npmmirror.com/zrender/-/zrender-4.3.1.tgz",
+          "integrity": "sha512-CeH2TpJeCdG0TAGYoPSAcFX2ogdug1K7LIn9UO/q9HWqQ54gWhrMAlDP9AwWYMUDhrPe4VeazQ4DW3msD96nUQ=="
+        }
       }
     },
     "echarts-amap": {
@@ -28214,6 +28277,15 @@
       "resolved": "https://registry.npmmirror.com/echarts-amap/-/echarts-amap-1.0.0-rc.6.tgz",
       "integrity": "sha512-cYJCKoQdnkZXrGweYrveU1HruZd1c0KmsF1U8o3FtsvgR2jVL5ZUpGFjMmFtpolHOUFqxizk+s+QBLkYuOWL6Q=="
     },
+    "echarts-gl": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmmirror.com/echarts-gl/-/echarts-gl-1.1.2.tgz",
+      "integrity": "sha512-EVGx9RS2eMzaCgAMJSDCeLId4g8oFCFn78Fdh+0xIXASiZw/gPnJqr1vQgnQhmXhiUKixkIhIzfdc//qrct/Hg==",
+      "requires": {
+        "claygl": "^1.2.1",
+        "zrender": "^4.0.4"
+      }
+    },
     "echarts-liquidfill": {
       "version": "2.0.6",
       "resolved": "https://registry.npmmirror.com/echarts-liquidfill/-/echarts-liquidfill-2.0.6.tgz",
@@ -36326,6 +36398,11 @@
         "ajv-keywords": "^3.5.2"
       }
     },
+    "screenfull": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmmirror.com/screenfull/-/screenfull-6.0.2.tgz",
+      "integrity": "sha512-AQdy8s4WhNvUZ6P8F6PB21tSPIYKniic+Ogx0AacBMjKP1GUHN2E9URxQHtCusiwxudnCKkdy4GrHXPPJSkCCw=="
+    },
     "scroll-tabs": {
       "version": "1.0.1",
       "resolved": "https://registry.npmmirror.com/scroll-tabs/-/scroll-tabs-1.0.1.tgz",
@@ -38866,6 +38943,24 @@
           "version": "2.6.347",
           "resolved": "https://registry.npmmirror.com/pdfjs-dist/-/pdfjs-dist-2.6.347.tgz",
           "integrity": "sha512-QC+h7hG2su9v/nU1wEI3SnpPIrqJODL7GTDFvR74ANKGq1AFJW16PH8VWnhpiTi9YcLSFV9xLeWSgq+ckHLdVQ=="
+        },
+        "schema-utils": {
+          "version": "0.4.7",
+          "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-0.4.7.tgz",
+          "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==",
+          "requires": {
+            "ajv": "^6.1.0",
+            "ajv-keywords": "^3.1.0"
+          }
+        },
+        "worker-loader": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmmirror.com/worker-loader/-/worker-loader-2.0.0.tgz",
+          "integrity": "sha512-tnvNp4K3KQOpfRnD20m8xltE3eWh89Ye+5oj7wXEEHKac1P4oZ6p9oTj8/8ExqoSBnk9nu5Pr4nKfQ1hn2APJw==",
+          "requires": {
+            "loader-utils": "^1.0.0",
+            "schema-utils": "^0.4.0"
+          }
         }
       }
     },
@@ -39887,39 +39982,26 @@
       }
     },
     "worker-loader": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/worker-loader/-/worker-loader-2.0.0.tgz",
-      "integrity": "sha512-tnvNp4K3KQOpfRnD20m8xltE3eWh89Ye+5oj7wXEEHKac1P4oZ6p9oTj8/8ExqoSBnk9nu5Pr4nKfQ1hn2APJw==",
+      "version": "3.0.8",
+      "resolved": "https://registry.npmmirror.com/worker-loader/-/worker-loader-3.0.8.tgz",
+      "integrity": "sha512-XQyQkIFeRVC7f7uRhFdNMe/iJOdO6zxAaR3EWbDp45v3mDhrTi+++oswKNxShUNjPC/1xUp5DB29YKLhFo129g==",
+      "optional": true,
+      "peer": true,
       "requires": {
-        "loader-utils": "^1.0.0",
-        "schema-utils": "^0.4.0"
+        "loader-utils": "^2.0.0",
+        "schema-utils": "^3.0.0"
       },
       "dependencies": {
-        "json5": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz",
-          "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
-          "requires": {
-            "minimist": "^1.2.0"
-          }
-        },
-        "loader-utils": {
-          "version": "1.4.2",
-          "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz",
-          "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==",
-          "requires": {
-            "big.js": "^5.2.2",
-            "emojis-list": "^3.0.0",
-            "json5": "^1.0.1"
-          }
-        },
         "schema-utils": {
-          "version": "0.4.7",
-          "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-0.4.7.tgz",
-          "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==",
+          "version": "3.1.2",
+          "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.1.2.tgz",
+          "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==",
+          "optional": true,
+          "peer": true,
           "requires": {
-            "ajv": "^6.1.0",
-            "ajv-keywords": "^3.1.0"
+            "@types/json-schema": "^7.0.8",
+            "ajv": "^6.12.5",
+            "ajv-keywords": "^3.5.2"
           }
         }
       }

+ 4 - 55
src/components/hk/hkCamara.vue

@@ -1,15 +1,10 @@
 <template>
   <div id="divPlugin" class="video-player">
     <div id="divPlugin1" class="divPlugin"></div>
-
-    <!-- <div id="divPlugin" class="divPlugin" ref="divPlugin" v-if="plugin">
-        </div> -->
-    <!-- <div class="down" v-else>
-            <a href="http://jbfsys.oss-cn-beijing.aliyuncs.com/download/VideoWebPlugin-1564128302790.exe">下载</a>
-        </div> -->
   </div>
 </template>
 <script>
+
 import { resolve } from "eslint-plugin-promise/rules/lib/promise-statics";
 
 export default {
@@ -64,12 +59,8 @@ export default {
         h=document.body.clientWidth/(2200/1080)
         w=document.body.clientWidth
       }
-
       setTimeout(() => {
-        WebVideoCtrl.I_Resize(
-          w/2.43,
-          h/3.05
-        );
+        WebVideoCtrl.I_Resize(w/2.43, h/3.05);
       }, 1000);
     },
     videoInitPlugin() {
@@ -96,7 +87,6 @@ export default {
       console.log("🚀 插入插件");
       let h
       let w
-      // console.log("0: ",document.body.clientWidth ,document.body.clientHeight)
       if(document.body.clientWidth>=(document.body.clientHeight*2)){
         h=document.body.clientHeight
         w=document.body.clientHeight*(2200/1080)
@@ -104,13 +94,8 @@ export default {
         h=document.body.clientWidth/(2200/1080)
         w=document.body.clientWidth
       }
-      // console.log("1: ",w ,h)
-      // console.log("1: ", w/2.43, h/3.05)
       WebVideoCtrl.I_InsertOBJECTPlugin("divPlugin1").then(() => {
-        WebVideoCtrl.I_Resize(
-            w/2.43,
-            h/3.05
-        ).then(() => {
+        WebVideoCtrl.I_Resize(w/2.43, h/3.05).then(() => {
           console.log("🚀 data >> ", that.companyVideoData);
           this.getLoginParams().then((res) => {
             console.log("🚀 解析完 >> ", res);
@@ -163,7 +148,6 @@ export default {
             console.log("🚀 登录成功 >> ", loginParam.ip, loginParam.Port);
             that.doGetChannelInfo(loginParam.ip).then((channels) => {
               var s = JSON.stringify(channels);
-
               console.log("tezt", JSON.stringify(channels), channels.length, channels[0], channels[0].channelId, channels[0]["channelId"])
               // console.log("🚀 通道列表 >> ", loginParam.ip, channels, channels.length, s[0]["channelName"]);
               var channelId = that.getChannelIdByName(loginParam.channelName, channels);
@@ -307,7 +291,6 @@ export default {
       return new Promise((resolve) => {
         const uniqueArr = [];
         const uniqueSet = new Set();
-
         this.companyVideoData.forEach((obj) => {
           if (obj !== undefined) {
             const key = JSON.stringify(obj);
@@ -320,9 +303,7 @@ export default {
         console.log(uniqueArr);
         for (let index = 0; index < uniqueArr.length; index++) {
           this.singleLogin(uniqueArr[index], index);
-        }
-
-        // 完成登录操作后调用resolve
+        }// 完成登录操作后调用resolve
         resolve();
       });
     },
@@ -394,7 +375,6 @@ export default {
     initPlay(data, index,oChannels) {
       let szIP = data.ip; //ip地址
       //循环16次是因为插件分屏最大为4x4(可以根据情况而定)
-
       WebVideoCtrl.I_StartRealPlay(szIP, {
         iStreamType: 1,
         iChannelID: oChannels.id,//按格式修改
@@ -454,41 +434,10 @@ export default {
           //   console.log("🚀 解析完 >> ", res);
           //   this.login(res);
           // });
-          //
         }
       }
     }
   }
-  // watch: {
-  //   companyVideoData: {
-  //     handler(val, oldval) {
-  //       if (oldval) {
-  //         for (let i = 0; i < 16; i++) {
-  //           WebVideoCtrl.I_Stop(i); //停止正在播放的页面
-  //         }
-  //         this.$emit("func", "");
-  //         WebVideoCtrl.I_Logout(oldval.ip);
-  //         this.clickLogin(this.companyVideoData);
-  //         setTimeout(() => {
-  //           console.log("🚀 ~ file:hkCamara method: line:92 -----");
-  //           this.$emit("init", true);
-  //         }, 2000);
-  //       }
-  //     },
-  //     immediate: true, //关键
-  //     deep: true,
-  //   },
-  //   videoType: {
-  //     handler(val, oldval) {
-  //       if (oldval) {
-  //         WebVideoCtrl.I_ChangeWndNum(this.videoType); //分屏
-  //         this.initPlay();
-  //       }
-  //     },
-  //     immediate: true, //关键
-  //     deep: true,
-  //   },
-  // },
 };
 </script>
 <style scoped>

+ 2 - 29
src/components/hk/hkv.vue

@@ -1,11 +1,6 @@
 <template>
   <div class="video-player">
     <div id="divPlugin2" class="divPlugin"></div>
-    <!-- <div id="divPlugin" class="divPlugin" ref="divPlugin" v-if="plugin">
-        </div> -->
-    <!-- <div class="down" v-else>
-            <a href="http://jbfsys.oss-cn-beijing.aliyuncs.com/download/VideoWebPlugin-1564128302790.exe">下载</a>
-        </div> -->
   </div>
 </template>
 <script>
@@ -63,12 +58,7 @@ export default {
       }
       setTimeout(() => {
         // console.log("this.zoom :>> ", this.zoom);
-        WebVideoCtrl.I_Resize(
-          // 380 / (this.zoom / 1.25),
-          // 260 / (this.zoom / 1.25)
-            w/3.9,
-            h/2.8
-        );
+        WebVideoCtrl.I_Resize(w/3.9, h/2.8);
       }, 1000);
     },
     stopAll() {
@@ -108,7 +98,6 @@ export default {
       console.log("🚀 插入插件");
       let h
       let w
-      // console.log("0: ",document.body.clientWidth ,document.body.clientHeight)
       if(document.body.clientWidth>=(document.body.clientHeight*2)){
         h=document.body.clientHeight
         w=document.body.clientHeight*(2200/1080)
@@ -117,12 +106,7 @@ export default {
         w=document.body.clientWidth
       }
       WebVideoCtrl.I_InsertOBJECTPlugin("divPlugin2").then(() => {
-        WebVideoCtrl.I_Resize(
-          // 380 / (this.zoom / 1.25),
-          // 260 / (this.zoom / 1.25)
-        w/3.9,
-        h/2.8
-        ).then(() => {
+        WebVideoCtrl.I_Resize(w/3.9, h/2.8).then(() => {
           console.log("🚀 data >> ", that.companyVideoData);
           this.getLoginParams().then((res) => {
             console.log("🚀 解析完 >> ", res);
@@ -138,13 +122,10 @@ export default {
       var that = this;
       let videoData = JSON.parse(JSON.stringify(that.companyVideoData))
       for (const item of videoData) {
-        // console.log("item of video data: " , item)
         if (item !== undefined) {
           const key = JSON.stringify(item);
-          // console.log("key:", key)
           if (!loginParams.hasOwnProperty(key)) {
             loginParams[key] = item;
-            // console.log("loginParamsTemp:", loginParams)
           }
         }
       }
@@ -185,7 +166,6 @@ export default {
             console.log("🚀 登录成功 >> ", loginParam.ip, loginParam.Port);
             that.doGetChannelInfo(loginParam.ip).then((channels) => {
               var s = JSON.stringify(channels);
-
               console.log("tezt", JSON.stringify(channels), channels.length, channels[0], channels[0].channelId, channels[0]["channelId"])
               // console.log("🚀 通道列表 >> ", loginParam.ip, channels, channels.length, s[0]["channelName"]);
               var channelId = that.getChannelIdByName(loginParam.channelName, channels);
@@ -201,7 +181,6 @@ export default {
             if (oError.errorCode === 2001) {
               that.doGetChannelInfo(loginParam.ip).then((channels) => {
                 var s = JSON.stringify(channels);
-
                 console.log("tezt", JSON.stringify(channels), channels.length, channels[0], channels[0].channelId, channels[0]["channelId"])
                 // console.log("🚀 通道列表 >> ", loginParam.ip, channels, channels.length, s[0]["channelName"]);
                 var channelId = that.getChannelIdByName(loginParam.channelName, channels);
@@ -344,7 +323,6 @@ export default {
       return new Promise((resolve) => {
         const uniqueArr = [];
         const uniqueSet = new Set();
-
         this.companyVideoData.forEach((obj) => {
           if (obj !== undefined) {
             const key = JSON.stringify(obj);
@@ -359,7 +337,6 @@ export default {
           this.singleLogin(uniqueArr[index], index);
           this.deviceId.push(uniqueArr[index].ip);
         }
-
         // 完成登录操作后调用resolve
         resolve();
       });
@@ -378,7 +355,6 @@ export default {
             async: true,
             success: function (xmlDoc) {
               console.log("开始预览"); //不能删除
-
               let oChannels = that.getChannelInfo();
               that.initPlay(Data, index,oChannels);
             },
@@ -433,7 +409,6 @@ export default {
     initPlay(data, index,oChannels) {
       let szIP = data.ip; //ip地址
       //循环16次是因为插件分屏最大为4x4(可以根据情况而定)
-
       WebVideoCtrl.I_StartRealPlay(szIP, {
         iStreamType: 1,
         iChannelID: oChannels.id,//按格式修改下
@@ -490,8 +465,6 @@ export default {
           //     this.login(res);
           //   });
           // })
-
-          //
         }
       },
     },

+ 78 - 80
src/components/hk/monitorHK.vue

@@ -1,5 +1,5 @@
-<template class="divPlugin0">
-    <div id="divPluginMonitorScreen" class="divPlugin"></div>
+<template className="divPlugin0">
+  <div id="divPluginMonitorScreen" class="divPlugin"></div>
 </template>
 <script>
 
@@ -10,17 +10,15 @@ export default {
     companyVideoData: {
       type: Array,
     },
-    num:Number,
-    bofang:Number,
+    num: Number,
     //分屏
     videoType: Number,
-    chooseData:{},
-    chooseWindow:Number,
-    dangqianchuangkou:Number,
+    chooseData: {},
+    chooseWindow: Number,
+    dangqianchuangkou: Number,
   },
   data() {
     return {
-      currentnum:0,
       plugin: true,
       iWidth: "100%",
       iHeight: "100%",
@@ -31,25 +29,21 @@ export default {
       xmlDocData: {},
       g_iWndIndex: 0, //可以不用设置这个变量,有窗口参数的接口中,不用传值,开发包会默认使用当前选择窗口
       videoNum: "",
-      videoData:[],
-      iWndowType:1,
+      videoData: [],
+      iWndowType: 1,
       zoom: window.devicePixelRatio,
     };
   },
-  created() {},
+  created() {
+  },
   beforeUnmount() {
     window.removeEventListener('resize', this.handleResize);
   },
   mounted() {
-    // if(this.num!=this.currentnum){
-    //   console.log("00000000: ",this.num,this.currentnum)
-    //   this.videoInitPlugin();
-    // }
     //浏览器界面大小
-    // console.log("1: ",document.body.clientWidth ,document.body.clientHeight)
-    // console.log("2: ",window.screen.height , window.devicePixelRatio,window.screen.height * window.devicePixelRatio)
-    // console.log("3: ",window.screen.width , window.devicePixelRatio,window.screen.width * window.devicePixelRatio)
-
+    // console.log("1: ", document.body.clientWidth, document.body.clientHeight)
+    // console.log("2: ", window.screen.height, window.devicePixelRatio, window.screen.height * window.devicePixelRatio)
+    // console.log("3: ", window.screen.width, window.devicePixelRatio, window.screen.width * window.devicePixelRatio)
     this.videoInitPlugin();
   },
   destroyed() {
@@ -67,12 +61,8 @@ export default {
         h = document.body.clientWidth / (2200 / 1080)
         w = document.body.clientWidth
       }
-
       setTimeout(() => {
-        WebVideoCtrl.I_Resize(
-            w/1.3,
-            h/1.23
-        );
+        WebVideoCtrl.I_Resize(w/1.3, h/1.23);
       }, 1000);
     },
     videoInitPlugin() {
@@ -85,21 +75,16 @@ export default {
     },
     //插件初始化
     initPlugin() {
-      // console.log("窗口信息", I_GetWindowStatus(0))
-      this.currentnum = this.num
-      // console.log(1)
-      // console.log(this.num)
+      // console.log("this.num",this.num)
       // console.log("isInteger11", isInteger(this.num))
       // console.log("isInteger22", isInteger(parseInt(this.num)))
-      this.iWndowType = Math.sqrt(this.num);
-
+      this.iWndowType = Math.sqrt(parseInt(this.num));
       console.log('this.iWndowType :>> ', this.iWndowType);
       var that = this;
       console.log("🚀 开始初始化插件 >> ", that.g_iWndIndex);
       WebVideoCtrl.I_InitPlugin({
         bWndFull: true, //是否支持单窗口双击全屏,默I_CheckPluginInstall
-        iWndowType: this.iWndowType,
-
+        iWndowType: 1,
         bDebugMode: true,
         cbSelWnd: function (xmlDoc) {//获取当前窗口
           that.g_iWndIndex = parseInt($(xmlDoc).find("SelectWnd").eq(0).text(), 10);
@@ -115,31 +100,24 @@ export default {
         },
       });
       // console.log("窗口change:",this.dangqianchuangkou)
-      // this.$emit('change', this.dangqianchuangkou);
-      // this.$emit('child',this.msg2)
       console.log("🚀 初始化插件完成 >> ", that.g_iWndIndex);
       console.log("🚀 插入插件");
       let h
       let w
-      // console.log("0: ", document.body.clientWidth, document.body.clientHeight)
-      if (document.body.clientWidth >= (document.body.clientHeight *(2200 / 1080))) {
+      if (document.body.clientWidth >= (document.body.clientHeight * (2200 / 1080))) {
         h = document.body.clientHeight
         w = document.body.clientHeight * (2200 / 1080)
       } else {
         h = document.body.clientWidth / (2200 / 1080)
         w = document.body.clientWidth
       }
-      // console.log("w:h: ", w / 2.43, h / 3.05)
       // 检查插件是否最新
       //   if (-1 == WebVideoCtrl.I_CheckPluginVersion()) {
       //     alert("检测到新的插件版本,请双击WebComponents.exe插件,进行升级!");
       //     // return;
       //   }
       WebVideoCtrl.I_InsertOBJECTPlugin("divPluginMonitorScreen").then(() => {
-        WebVideoCtrl.I_Resize(
-            w / 1.3,
-            h / 1.23
-        ).then(() => {
+        WebVideoCtrl.I_Resize(w/1.3, h/1.23).then(() => {
           console.log("🚀 data >> ", that.companyVideoData);
           this.getLoginParams().then((res) => {
             console.log("🚀 解析完 >> ", res);
@@ -190,7 +168,6 @@ export default {
               console.log("🚀 登录成功 >> ", loginParam.ip, loginParam.Port);
               that.doGetChannelInfo(loginParam.ip).then((channels) => {
                 var s = JSON.stringify(channels);
-
                 console.log("tezt", JSON.stringify(channels), channels.length, channels[0], channels[0].channelId, channels[0]["channelId"])
                 // console.log("🚀 通道列表 >> ", loginParam.ip, channels, channels.length, s[0]["channelName"]);
                 var channelId = that.getChannelIdByName(loginParam.channelName, channels);
@@ -211,6 +188,7 @@ export default {
         const errorCode = error.errorCode;
         // console.log(errorCode);
         if (errorCode == 2001) {//继续播放
+          this.$emit("handlePlayError", '2001');
           that.doGetChannelInfo(loginParam.ip).then((channels) => {
             var s = JSON.stringify(channels);
             console.log("tezt", JSON.stringify(channels), channels.length, channels[0], channels[0].channelId, channels[0]["channelId"])
@@ -339,20 +317,32 @@ export default {
       })
     },
     startPlay(ip, channelId) {
+      let that = this
       console.log("🚀 开始播放 >> ", ip, channelId);
       WebVideoCtrl.I_StartRealPlay(ip, {
         iStreamType: 1,
         iChannelID: channelId,
         iWndIndex: this.dangqianchuangkou,
+        success: function () {
+          that.$emit("handlePlayError", 'bofangchenggong');
+        },
+        error: function (oError) {
+          that.$emit("handlePlayError", 'bofangshibai');
+          WebVideoCtrl.I_Stop();
+        }
       }).then(() => {
         this.$emit("init", true);
         console.log("🚀 采集卡麒麟 >> ",);
       }).catch(error => {
         // 捕获错误并获取错误代码
         const errorCode = error.errorCode;
-        console.log("errorCode",errorCode);
+        console.log("errorCode", errorCode);
+        if (errorCode == 3001) {// 播放失败
+          this.$emit("handlePlayError", '3001');
+          // WebVideoCtrl.I_Stop();
+        }
         if (errorCode == 1000) {
-          // return false
+          this.$emit("handlePlayError", '1000');
         }
       })
     },
@@ -360,7 +350,6 @@ export default {
       return new Promise((resolve) => {
         const uniqueArr = [];
         const uniqueSet = new Set();
-
         this.companyVideoData.forEach((obj) => {
           if (obj !== undefined) {
             const key = JSON.stringify(obj);
@@ -465,56 +454,66 @@ export default {
       WebVideoCtrl.I_StartRealPlay(szIP, {
         iStreamType: iStreamType,
         iChannelID: iChannelID,
+        success: function () {
+          that.$emit("handlePlayError", 'bofangchenggong');
+        },
+        error: function (oError) {
+          that.$emit("handlePlayError", 'bofangshibai');
+          WebVideoCtrl.I_Stop();
+        }
       });
     },
-
     stopPlayVideo() {//暂停播放一个视频
+      let that = this
       WebVideoCtrl.I_Stop({
         iWndIndex: this.dangqianchuangkou,
+        success: function () {
+          that.$emit("handlePlayError", 'stoponechenggong');
+        },
+        error: function (oError) {
+          that.$emit("handlePlayError", 'stoponeshibai');
+        }
       });
     },
 
     stopallPlayVideo(a) {//暂停播放多个视频
+      this.$emit("handlePlayError", 'stopmore');
       // parseInt(myString) //istring转换int
-      a.forEach(function(element) {
+      let that = this
+      // console.log("里边的a为:", a)
+      a.forEach(function (element) {
+        // console.log(element);
+        // console.log(parseInt(element));
         // console.log(element);
         // console.log(parseInt(element));
         WebVideoCtrl.I_Stop({
-          iWndIndex: parseInt(element),
+          iWndIndex: (parseInt(element)-1),
+          success: function () {
+            that.$emit("handlePlayError", 'stopmorechenggong'+element);
+          },
+          error: function (oError) {
+            that.$emit("handlePlayError", 'stopmoreshibai'+element);
+          }
         });
       });
     },
-
   },
 
   watch: {
-    currentnum:{
-      handler(val, oldval) {
-        // console.log("watchnum11:",this.currentnum, this.num)
-        // console.log("watchnum12:",val, oldval)
-      }
-    },
-
-    bofang: {
+    chooseData: {
       handler(val, oldval) {
         // console.log("chooseData666:", this.chooseData)
         // console.log("chooseData6662:", val, oldval)
-      },
-    },
-
-    chooseData: {
-      handler(val, oldval) {
         // console.log("chooseData666:", this.chooseData)
         // console.log("chooseData6662:", val, oldval)
       },
     },
 
-    num:{
+    num: {
       handler(val, oldval) {
-        // console.log("watchnum21:", this.currentnum, this.num)
+        // console.log("this.num2",this.num)
         // console.log("watchnum22:", val, oldval)
         WebVideoCtrl.I_ChangeWndNum(Math.sqrt(this.num))
-
         let that = this;
         WebVideoCtrl.I_InitPlugin({
           bWndFull: true, //是否支持单窗口双击全屏,默I_CheckPluginInstall
@@ -533,25 +532,22 @@ export default {
 
     companyVideoData: {
       handler(val, oldval) {
-        // console.log("watchnum121:",this.currentnum, this.num)
-        // console.log("watchnum122:",val, oldval)
-        // console.log("watchnum123:",val.length, oldval)
-
-        if(val.length==1){
-          this.num=1
+        // console.log("watchnum123:", val.length, oldval)
+        if (val.length == 1) {
+          this.num = 1
           // this.$emit('button-updated', this.num);
           WebVideoCtrl.I_ChangeWndNum(1)
-        }else if(val.length<=4){
-          this.num=4
+        } else if (val.length <= 4) {
+          this.num = 4
           WebVideoCtrl.I_ChangeWndNum(2)
-        }else if(val.length<=9){
-          this.num=9
+        } else if (val.length <= 9) {
+          this.num = 9
           WebVideoCtrl.I_ChangeWndNum(3)
-        }else if(val.length<=16){
-          this.num=16
+        } else if (val.length <= 16) {
+          this.num = 16
           WebVideoCtrl.I_ChangeWndNum(4)
-        }else{
-          this.num=16
+        } else {
+          this.num = 16
           WebVideoCtrl.I_ChangeWndNum(4)
         }
         this.$emit('button-value', this.num);
@@ -580,7 +576,6 @@ export default {
 }
 
 .divPlugin {
-
   width: 100%;
   height: 100%;
   color: red;
@@ -595,6 +590,7 @@ export default {
 
   overflow: hidden;
 }
+
 .down {
   width: 100%;
   height: 100%;
@@ -604,7 +600,9 @@ export default {
   align-items: center;
   font-size: 18px;
 }
+
 .down a {
   color: red;
 }
 </style>
+

+ 31 - 535
src/views/historicTaskScreen.vue

@@ -2,189 +2,13 @@
   <v-scale-screen width="2200" height="1080">
     <div  class="task_screen_cotainer_b" >
       <div class="task_header_b">「{{ currentTaskName }}」任务态势大屏</div>
-<!--      <div class="task_header">-->
-<!--        历史态势-->
-<!--      </div>-->
-<!--      <div class="tag" @click="jumpToCurrent">-->
-<!--        当前态势-->
-<!--        &lt;!&ndash;        <el-button @click="jumpToCurrent">当前态势</el-button>&ndash;&gt;-->
-<!--      </div>-->
       <div class="content_cotainer_b" :style="{
 	            'transformOrigin':'center top',
 	            'transform':`scale(${scalseNum},${scalseNum})`,'-webkit-transform':`scale(${scalseNum},${scalseNum})`,'-moz-transform':`scale(${scalseNum},${scalseNum})`,'-o-transform':`scale(${scalseNum},${scalseNum})`,'-ms-transform':`scale(${scalseNum},${scalseNum})`
 	        }">
-<!--        <div class="task_base_info_table">-->
-<!--          <div class="task_outer_cotnainer">-->
-<!--            <div class="task_number_box">-->
-<!--              <div class="task_num_left_style">-->
-<!--                <el-image-->
-<!--                    style="width: 45px; height: 45px;margin-right:20px;"-->
-<!--                    :src="require('../assets/img/taskNum.png')"-->
-<!--                    fit="contain"-->
-<!--                >-->
-<!--                </el-image>-->
-<!--                任务数-->
-<!--              </div>-->
-<!--              <div class="taskNumber_style">-->
-<!--                {{ taskList.length }}-->
-<!--              </div>-->
-<!--            </div>-->
-<!--            <div class="task_list_container">-->
-<!--              <div class="map_more_box">-->
-<!--                <div class="task_list_header" style="font-size:16px; margin: 0 24px 8px 0; white-space: nowrap;">-->
-<!--                  <el-image-->
-<!--                      style="width: 30px; height: 22px; margin-right:6px;"-->
-<!--                      :src="require('../assets/img/rightIcon.svg')"-->
-<!--                      fit="contain"-->
-<!--                  >-->
-<!--                  </el-image>-->
-<!--                  全部任务-->
-<!--                </div>-->
-
-<!--              </div>-->
-<!--              <div class="select_lsit_box">-->
-<!--                <el-date-picker-->
-<!--                    v-model="currentYear"-->
-
-<!--                    style="width:100%;"-->
-<!--                    type="datetimerange"-->
-<!--                    placeholder="请选择"-->
-<!--                    value-format="yyyy-MM-dd HH:mm:ss"-->
-<!--                    range-separator="至"-->
-<!--                    start-placeholder="开始日期"-->
-<!--                    end-placeholder="结束日期">-->
-<!--                </el-date-picker>-->
-<!--              </div>-->
-<!--              <div class="search_box">-->
-<!--                <div class="select_lsit_box">-->
-<!--                  <el-select-->
-<!--                      v-model="systemTaskId"-->
-<!--                      placeholder="切换系统名称"-->
-<!--                      style="width:55%; margin-right:10px;"-->
-
-<!--                      clearable-->
-<!--                      filterable-->
-<!--                  >-->
-<!--                    <el-option-->
-<!--                        v-for="item in systemOption"-->
-<!--                        :key="item.value"-->
-<!--                        :label="item.label"-->
-<!--                        :value="item.value"-->
-
-<!--                    >-->
-<!--                    </el-option>-->
-<!--                  </el-select>-->
-<!--                  <el-select-->
-<!--                      v-model="unitTaskValue"-->
-<!--                      placeholder="切换单位名称"-->
-<!--                      style="width:55%;"-->
-<!--                      clearable-->
-
-<!--                      filterable-->
-<!--                  >-->
-<!--                    <el-option-->
-<!--                        v-for="item in unitOption"-->
-<!--                        :key="item.value"-->
-<!--                        :label="item.label"-->
-<!--                        :value="item.value"-->
-
-<!--                    >-->
-<!--                    </el-option>-->
-<!--                  </el-select>-->
-
-<!--                  <div class="search_button" @click="conditionalSearch()">-->
-<!--                    查询-->
-<!--                  </div>-->
-<!--                </div>-->
-<!--              </div>-->
-<!--              <div v-if="taskList.length" class="task_scroll_box">-->
-<!--                <template v-for="(item,index) in taskList">-->
-<!--                  <div class="task_item_container" :key="index">-->
-<!--                    <div class="task_item_left">-->
-<!--                      <div class="left_point"></div>-->
-<!--                      <div class="left_line"></div>-->
-<!--                      <div v-if="index == taskList.length-1 " class="left_point"></div>-->
-<!--                    </div>-->
-<!--                    <div class="task_content_right">-->
-<!--                      <div class="task_content_header">状态:{{ item.status || '-' }}</div>-->
-<!--                      <div class="task_content_description">-->
-<!--                        <div class="file_icon">-->
-<!--                          <el-image-->
-<!--                              style="width: 14px; height: 13px; margin-right:8px; margin-top:4px;"-->
-<!--                              :src="require('../assets/img/fileIcon.svg')"-->
-<!--                              fit="contain"-->
-<!--                          >-->
-<!--                          </el-image>-->
-<!--                        </div>-->
-<!--                        <div class="task_content_box">-->
-<!--                          <div class="grade_box">-->
-<!--                            <div class="name_task_participantName">-->
-<!--                              <div class="task_name">{{ item.taskName || '-' }}</div>-->
-<!--                              <div class="task_participantName">-->
-<!--                                组织人员:{{ item.organizers && item.organizers.join(',') || '-'  }}-->
-<!--                              </div>-->
-<!--                            </div>-->
-<!--                            <div class="grade_item">-->
-<!--                              {{ item.syntheticTaskScore }}-->
-<!--                            </div>-->
-<!--                          </div>-->
-<!--                          <div class="task_date_box">-->
-<!--                            <div class="task_data">-->
-<!--                              <div class="date_between">-->
-<!--                                <span> {{ item.startTime || '-' }} </span>-->
-<!--                                至-->
-<!--                                <span>  {{ item.endTime || '-' }} </span>-->
-<!--                              </div>-->
-<!--                            </div>-->
-<!--                            <div class="view_more" @click="viewMore(item)">-->
-<!--                              查看详情-->
-<!--                            </div>-->
-<!--                            <div class="view_more" @click="viewTaskSituation(item)">-->
-<!--                              查看态势-->
-<!--                            </div>-->
-<!--                          </div>-->
-<!--                        </div>-->
-
-<!--                      </div>-->
-
-
-<!--                    </div>-->
-<!--                  </div>-->
-<!--                </template>-->
-<!--              </div>-->
-<!--              <div class="noTaskData" v-else>-->
-<!--                暂无任务-->
-<!--              </div>-->
-
-<!--            </div>-->
-<!--          </div>-->
-<!--        </div>-->
         <div class="center_chart_cotainer_b" id="taskItem">
           <div class="task_detail_cotainer_b">
-<!--            <div class="header_line_style">-->
-<!--              <div class="headerTitle"></div>-->
-<!--            </div>-->
-<!--            <div class="task_name_header">「{{ currentTaskName }}」历史态势</div>-->
-            <!-- 任务屏幕 -->
-
             <div class="task_item_header_b">
-
-              <!--              <el-select-->
-              <!--                v-model="wholeOutTaskId"-->
-              <!--                placeholder="「切换任务」"-->
-              <!--                style="width:270px;"-->
-              <!--                @change="changeTask"-->
-              <!--                filterable-->
-              <!--              >-->
-              <!--                <el-option-->
-              <!--                  v-for="item in taskOPtion"-->
-              <!--                  :key="item.value"-->
-              <!--                  :label="item.label"-->
-              <!--                  :value="item.value"-->
-
-              <!--                >-->
-              <!--                </el-option>-->
-              <!--              </el-select>-->
               <el-image
                   v-if="false"
                   @click="showMoreInfo('more')"
@@ -216,41 +40,6 @@
                       </el-image>
                       课目分布
                     </div>
-                    <!--                    <div class="select_lsit_box">-->
-                    <!--                      <el-select-->
-                    <!--                        v-model="systemSubjectId"-->
-                    <!--                        placeholder="切换系统名称"-->
-                    <!--                        style="width:55%; margin-right:5px;"-->
-                    <!--                        @change="changeTaskAndSystem"-->
-                    <!--                        clearable-->
-                    <!--                        filterable-->
-                    <!--                      >-->
-                    <!--                        <el-option-->
-                    <!--                          v-for="item in systemOption"-->
-                    <!--                          :key="item.value"-->
-                    <!--                          :label="item.label"-->
-                    <!--                          :value="item.value"-->
-                    <!--                        >-->
-                    <!--                        </el-option>-->
-                    <!--                      </el-select>-->
-                    <!--                      <el-select-->
-                    <!--                        v-model="unitSubjectValue"-->
-                    <!--                        placeholder="切换单位名称"-->
-                    <!--                        style="width:55%;"-->
-                    <!--                        clearable-->
-                    <!--                        @change="changeTaskAndUnit"-->
-                    <!--                        filterable-->
-                    <!--                      >-->
-                    <!--                        <el-option-->
-                    <!--                          v-for="item in unitOption"-->
-                    <!--                          :key="item.value"-->
-                    <!--                          :label="item.label"-->
-                    <!--                          :value="item.value"-->
-
-                    <!--                        >-->
-                    <!--                        </el-option>-->
-                    <!--                      </el-select>-->
-                    <!--                    </div>-->
                   </div>
                   <div class="subject_list_container" id="subjectList">
                     <template v-for="(item,index) in subjectDatas">
@@ -261,7 +50,7 @@
                               {{  item.subjectName ||'-'  }}
                             </div>
                             <div class="SubjectNumber_style" style="color: #F1D73A;">
-                              {{ item.overallScore || '-' }}
+                              {{ Number(item.overallScore).toFixed(2) || '-' }}
                             </div>
                             <div class="orgainzers">
                               参与人员:{{  item.participatingPeople && item.participatingPeople.join(',') || '-' }}
@@ -285,11 +74,8 @@
                         </div>
                       </div>
                     </template>
-
                   </div>
-
                 </div>
-
               </div>
               <div class="unit_map_box">
                 <div class="map_more_box" style="align-items: flex-start;">
@@ -322,11 +108,6 @@
                 <div class="num_subject_box_new">
                   <div style="margin-bottom:20px;">
                     <div style="font-size:12px;">成绩统计</div>
-<!--                    <div>-->
-<!--                      <div id="chartContainer"></div>-->
-<!--                      <button @click="previousPage" :disabled="this.danweiweidu.currentPage === 1">上一页</button>-->
-<!--                      <button @click="nextPage" :disabled="this.danweiweidu.currentPage === this.danweiweidu.totalPage">下一页</button>-->
-<!--                    </div>-->
                     <div>
                       <el-row type="flex" justify="end" style="margin-top: -20px;margin-right: -20px;">
                         <el-pagination
@@ -356,7 +137,6 @@
                     <div id="subjectGradeDistribute" style="height: 160px; width:430px;  bottom: 55px; position: relative; left:5px;"></div>
                   </div>
                 </div>
-
               </div>
               <div class="commandMonitoring">
                 <div class="task_outer_cotnainer_status">
@@ -380,7 +160,6 @@
                       />
                     </div>
                   </div>
-
                 </div>
               </div>
             </div>
@@ -507,54 +286,6 @@
                   </div>
                 </div>
               </div>
-
-<!--              <div class="unit_map_box">-->
-<!--                <div class="map_more_box" style="align-items: flex-start;">-->
-<!--                  <div class="task_list_header" style="font-size:16px; margin-bottom: 10px;">-->
-<!--                    <el-image-->
-<!--                        style="width: 30px; height: 22px; margin-right:6px;"-->
-<!--                        :src="require('../assets/img/rightIcon.svg')"-->
-<!--                        fit="contain"-->
-<!--                    >-->
-<!--                    </el-image>-->
-<!--                    系统维度统计-->
-<!--                  </div>-->
-<!--                  <el-select-->
-<!--                      v-model="systemSubGradeValue"-->
-<!--                      placeholder="切换系统名称"-->
-<!--                      style="width:43%;"-->
-<!--                      @change="changeSystemSubGrade"-->
-<!--                      filterable-->
-<!--                  >-->
-<!--                    <el-option-->
-<!--                        v-for="item in systemOptionForTask"-->
-<!--                        :key="item.value"-->
-<!--                        :label="item.label"-->
-<!--                        :value="item.value"-->
-<!--                    >-->
-<!--                    </el-option>-->
-<!--                  </el-select>-->
-<!--                </div>-->
-<!--                <div class="num_subject_box_new">-->
-<!--                  <div style="margin-bottom:20px;">-->
-<!--                    <div style="font-size:12px;">成绩统计</div>-->
-<!--                    -->
-<!--                    <div-->
-<!--                        id="subjectGradeStatistics"-->
-<!--                        style=" left:5px; width:430px; height:180px;  "-->
-<!--                        :style="{  top: participantScoreFlag ? '-15px' : '2px' }"-->
-<!--                    ></div>-->
-<!--                  </div>-->
-<!--                  <div style="position: relative;">-->
-<!--                    <div style="font-size:12px;" class="new_style_grade">成绩分布</div>-->
-<!--                    <div id="subjectGradeDistribute" style="height: 160px; width:430px;  bottom: 55px; position: relative; left:5px;"></div>-->
-<!--                  </div>-->
-<!--                </div>-->
-<!--              </div>-->
-
-
-
-
               <div class="commandMonitoring">
                 <div class="task_outer_cotnainer_status">
                   <div class="map_more_box">
@@ -567,17 +298,7 @@
                       </el-image>
                       单位分布
                     </div>
-<!--                    <el-image-->
-<!--                        @click="showFull('chart-earth')"-->
-<!--                        style="width: 20px; height: 20px; margin-right:6px; margin-top: -10px;"-->
-<!--                        :src="require('../assets/img/iconMore.svg')"-->
-<!--                        fit="contain"-->
-<!--                        class="moreBtn_style"-->
-<!--                    >-->
-<!--                    </el-image>-->
                   </div>
-                  <!-- <div v-if="!echartMapFlag" id="mapData" style="height:260px; width:100%; top:-20px;"></div>
-                  <div v-if="echartMapFlag" class="tempalte_no_data" style="height:86%;"> 暂无数据</div> -->
                   <div id="chart-earth" style="height:260px; width:100%; top:-20px;">
                   </div>
                   <div class="center_no_data" v-if="false">
@@ -593,129 +314,7 @@
               </div>
             </div>
           </div>
-<!--          <div class="task_footer_chart">-->
-<!--            <div class="chart_item_box_foooter" style="margin-right:10px;">-->
-<!--              <div class="inner_info_table_status">-->
-<!--                <div class="task_outer_cotnainer_status">-->
-<!--                  <div class="task_list_header" style="font-size:16px;">-->
-<!--                    <el-image-->
-<!--                        style="width: 30px; height: 22px; margin-right:6px;"-->
-<!--                        :src="require('../assets/img/rightIcon.svg')"-->
-<!--                        fit="contain"-->
-<!--                    >-->
-<!--                    </el-image>-->
-<!--                    任务分数统计-->
-<!--                  </div>-->
-<!--                </div>-->
-<!--                <div id="gradeStatistics" style="height: 240px; width:100%; margin-top:-60px; "></div>-->
-<!--              </div>-->
-<!--            </div>-->
-
-<!--            <div class="chart_item_box_foooter">-->
-<!--              <div class="inner_info_table_status">-->
-<!--                <div class="task_outer_cotnainer_status">-->
-<!--                  <div class="task_list_header" style="font-size:16px;">-->
-<!--                    <el-image-->
-<!--                        style="width: 30px; height: 22px; margin-right:6px;"-->
-<!--                        :src="require('../assets/img/rightIcon.svg')"-->
-<!--                        fit="contain"-->
-<!--                    >-->
-<!--                    </el-image>-->
-<!--                    任务分数分布-->
-<!--                  </div>-->
-<!--                </div>-->
-<!--                <div id="gradeDistribute" style="height: 240px; width:100%; margin-top:-60px;"></div>-->
-<!--              </div>-->
-<!--            </div>-->
-<!--          </div>-->
         </div>
-<!--        <div class="task_chart_cotainer">-->
-<!--          <div class="chart_item_box">-->
-<!--            <div class="inner_info_table_status" v-if="!taskStatusFlag">-->
-<!--              <div class="task_outer_cotnainer_status">-->
-<!--                <div class="task_list_header" style="font-size:16px;">-->
-<!--                  <el-image-->
-<!--                      style="width: 30px; height: 22px; margin-right:6px;"-->
-<!--                      :src="require('../assets/img/rightIcon.svg')"-->
-<!--                      fit="contain"-->
-<!--                  >-->
-<!--                  </el-image>-->
-<!--                  任务状态占比-->
-<!--                </div>-->
-<!--              </div>-->
-<!--              <div id="taskStatus" style="height:280px; width:314px; top:-50px;"></div>-->
-<!--            </div>-->
-<!--            <div v-if="taskStatusFlag" class="tempalte_no_data">暂无数据</div>-->
-<!--          </div>-->
-<!--          <div class="chart_item_box">-->
-<!--            <div class="inner_info_table_precent" >-->
-<!--              <div class="task_outer_cotnainer_status">-->
-<!--                <div class="task_list_header" style="font-size:16px;">-->
-<!--                  <el-image-->
-<!--                      style="width: 30px; height: 22px; margin-right:6px;"-->
-<!--                      :src="require('../assets/img/rightIcon.svg')"-->
-<!--                      fit="contain"-->
-<!--                  >-->
-<!--                  </el-image>-->
-<!--                  {{this.unitTaskValue == '' ? getName(this.unitOption, this.unitFinshedValue) : getName(this.unitOption, this.unitTaskValue)}} 单位任务完成率-->
-<!--                </div>-->
-<!--              </div>-->
-<!--              <div v-if="!completionRate" id="taskPrecent" style="height:200px; width:310px; margin-top:-5px; right: 0px; "></div>-->
-<!--              <div v-if="completionRate" class="tempalte_no_data" style="height:200px; width:310px; margin-top:-10px; right: 0px; ">-->
-<!--                暂无数据-->
-<!--              </div>-->
-<!--              &lt;!&ndash;              <el-select&ndash;&gt;-->
-<!--              &lt;!&ndash;                v-model="unitFinshedValue"&ndash;&gt;-->
-<!--              &lt;!&ndash;                placeholder="「此处为单位名称」"&ndash;&gt;-->
-<!--              &lt;!&ndash;                style="margin-top:20px; width:270px;"&ndash;&gt;-->
-<!--              &lt;!&ndash;                filterable&ndash;&gt;-->
-<!--              &lt;!&ndash;                @change="changeUnit"&ndash;&gt;-->
-<!--              &lt;!&ndash;              >&ndash;&gt;-->
-<!--              &lt;!&ndash;                <el-option&ndash;&gt;-->
-<!--              &lt;!&ndash;                  v-for="item in unitOption"&ndash;&gt;-->
-<!--              &lt;!&ndash;                  :key="item.value"&ndash;&gt;-->
-<!--              &lt;!&ndash;                  :label="item.label"&ndash;&gt;-->
-<!--              &lt;!&ndash;                  :value="item.value"&ndash;&gt;-->
-<!--              &lt;!&ndash;                >&ndash;&gt;-->
-<!--              &lt;!&ndash;                </el-option>&ndash;&gt;-->
-<!--              &lt;!&ndash;              </el-select>&ndash;&gt;-->
-<!--            </div>-->
-<!--          </div>-->
-
-<!--          <div class="chart_item_box" style="margin-bottom:0;">-->
-<!--            <div class="inner_info_table_precent" >-->
-<!--              <div class="task_outer_cotnainer_status">-->
-<!--                <div class="task_list_header" style="font-size:16px;">-->
-<!--                  <el-image-->
-<!--                      style="width: 30px; height: 22px; margin-right:6px;"-->
-<!--                      :src="require('../assets/img/rightIcon.svg')"-->
-<!--                      fit="contain"-->
-<!--                  >-->
-<!--                  </el-image>-->
-<!--                  {{this.systemTaskId == '' ? getName(this.systemOption, this.systemFinshedValue) : getName(this.systemOption, this.systemTaskId)}} 系统任务完成率-->
-<!--                </div>-->
-<!--              </div>-->
-<!--              <div v-if="!systemcompletionRate" id="taskPrecentSystem" style="height:200px; width:310px; margin-top:-5px; "></div>-->
-<!--              <div v-if="systemcompletionRate" class="tempalte_no_data" style="height:200px; width:310px; margin-top:-10px; ">暂无数据</div>-->
-<!--              &lt;!&ndash;              <el-select&ndash;&gt;-->
-<!--              &lt;!&ndash;                v-model="systemFinshedValue"&ndash;&gt;-->
-<!--              &lt;!&ndash;                placeholder="「此处为系统名称」"&ndash;&gt;-->
-<!--              &lt;!&ndash;                style="margin-top:20px; width:270px;"&ndash;&gt;-->
-<!--              &lt;!&ndash;                filterable&ndash;&gt;-->
-<!--              &lt;!&ndash;                @change="changeSystem"&ndash;&gt;-->
-<!--              &lt;!&ndash;              >&ndash;&gt;-->
-<!--              &lt;!&ndash;                <el-option&ndash;&gt;-->
-<!--              &lt;!&ndash;                  v-for="item in systemOption"&ndash;&gt;-->
-<!--              &lt;!&ndash;                  :key="item.value"&ndash;&gt;-->
-<!--              &lt;!&ndash;                  :label="item.label"&ndash;&gt;-->
-<!--              &lt;!&ndash;                  :value="item.value"&ndash;&gt;-->
-
-<!--              &lt;!&ndash;                >&ndash;&gt;-->
-<!--              &lt;!&ndash;                </el-option>&ndash;&gt;-->
-<!--              &lt;!&ndash;              </el-select>&ndash;&gt;-->
-<!--            </div>-->
-<!--          </div>-->
-<!--        </div>-->
         <!-- 任务详情弹窗 -->
         <el-dialog
             title=""
@@ -783,7 +382,13 @@
                 >
                   <el-table-column label="序号" header-align="center" align="center" type="index" width="55px" :index="getTableIndex" />
                   <el-table-column align="center"   property="participantName" label="姓名" max-width="350"></el-table-column>
-                  <el-table-column align="center" property="score" label="成绩" max-width="300"></el-table-column>
+<!--                  <el-table-column align="center" property="score" label="成绩" max-width="300"></el-table-column>-->
+                  <el-table-column align="center" label="成绩" max-width="300">
+                    <template slot-scope="scope">
+                      {{ formatScore(parseFloat(scope.row.score)) }}
+                    </template>
+                  </el-table-column>
+                  <el-table-column align="center" property="uploadtime" label="上报时间" max-width="300"></el-table-column>
                 </el-table>
                 <el-row type="flex" justify="end" style="margin-top: 10px;">
                   <el-pagination
@@ -796,17 +401,13 @@
                       @size-change="onPageSizeChange">
                   </el-pagination>
                 </el-row>
-
                 <operation-space v-if="showOperationSpace" :flow-instance="currentFlowInstance" @close="onOperationSpaceClose"></operation-space>
-
               </div>
-
               <div class="dialog_footer_box">
                 <div class="view_more" @click="dialogVisible=false" style="color:#fff; padding: 3px 30px ;">
                   关闭
                 </div>
               </div>
-
             </div>
           </div>
         </el-dialog>
@@ -868,7 +469,6 @@ export default {
       taskList:[],
       websocket: null, //建立的连接
       websocketOrder: null, //建立的连接
-
       updatekey:'1',
       myChart:'',
       myChart1:'',
@@ -948,21 +548,23 @@ export default {
     pagedData() { // 动态计算当前页的数据
       const start = (this.gridData2.currentPage - 1) * this.gridData2.pageSize
       const end = start + this.gridData2.pageSize
-      // console.log("hhhh0:  ",this.gridData2.data )
-      // console.log("hhhh0:  ",this.gridData2.data.length,this.gridData2.length )
-      // if(this.gridData.data!=null){
       if(this.gridData2.data.length!=0){
-        // console.log("hhhh1:  ",start+"---"+end )
-        // console.log("hhhh2:  ",this.gridData2.data )
-        // console.log("hhhh3:  ",this.gridData2.data.slice(start, end) )
         return this.gridData2.data.slice(start, end)
       }else{
         return null
       }
-
     }
   },
   methods:{
+    formatScore(score) {
+      // score = Number(
+      // console.log("score1",score)
+      if (isNaN(score)) {
+        return score;
+      }
+      // console.log("score3",score.toFixed(2))
+      return Number(score).toFixed(2);
+    },
     showMoreInfo(type){
       if(type=='more'){
         this.$router.push('/historicTaskScreen')
@@ -972,9 +574,7 @@ export default {
     },
     //计算缩放比例
     resize_window() {
-      // this.screenWidth = document.body.clientWidth;
-      // this.screenHeight = document.body.clientHeight;
-      // console.log("宽1",document.body.clientWidth ,document.body.clientHeight)
+      // console.log("宽",document.body.clientWidth ,document.body.clientHeight)
       // console.log("高",window.screen.height , window.devicePixelRatio,window.screen.height * window.devicePixelRatio)
       // console.log("宽",window.screen.width , window.devicePixelRatio,window.screen.width * window.devicePixelRatio)
       // console.log("高",window.screen.height , window.devicePixelRatio,window.screen.height * window.devicePixelRatio)
@@ -987,20 +587,13 @@ export default {
      */
     getTableIndex (index) {
       let a
-      // console.log("参数:  "+this.gridData2.paged+" "+this.gridData2.pageSize+" "+index)
       a=((this.gridData2.currentPage - 1) * this.gridData2.pageSize + (index + 1))
       return a;
     },
     onCurrentPageChange (newCurrentPage) {
-      // console.log("1:  ",newCurrentPage )
-      // console.log("2:  ",this.gridData2.pageSize )
-      // console.log("3:  ",this.oldPage)
       this.loadTableDataImpl2(newCurrentPage, this.gridData2.pageSize).then(() => {//数据加载成功
         this.gridData2.currentPage = newCurrentPage;
         this.oldPage = this.gridData2.currentPage-1
-        // console.log("4:  ",newCurrentPage)
-        // console.log("5:  ",this.gridData2.currentPage)
-        // console.log("6:  ",this.oldPage)
         if(this.gridData2.data.length <= newCurrentPage*this.gridData2.pageSize   ){
           this.gridData2.paged=true
         }else{
@@ -1008,8 +601,6 @@ export default {
         }
       }).catch(() => {//数据加载失败
         this.gridData2.currentPage = this.oldPage;
-        // console.log("7:  ",this.oldPage)
-        // console.log("8:  ",this.gridData2.currentPage)
       });
     },
     /**
@@ -1034,7 +625,6 @@ export default {
      * @param {Boolean} reload 是否重新获取数据
      */
     loadTableDataImpl2 (pageNum, pageSize, reload = false) {
-      // console.log("11:  ",pageNum+"---"+pageSize+"---"+reload)
       // 判断是否需要重新加载数据
       if (this.gridData2.data.length == 0 || this.gridData2.length == 0) {
         return Promise.resolve([])
@@ -1099,15 +689,11 @@ export default {
         }
         console.log('data :>> ', data);
         datas.push(data)
-
       }
       console.log('datas :>> ', datas);
-
-
       // 设置图表的配置项和数据
       const option = {
         backgroundColor: '#000',
-
         globe: {
           // zoom3D: 1000000000, // 调整为合适的初始缩放级别
           baseTexture:  require('../assets/img/earth.jpg'),
@@ -1119,7 +705,6 @@ export default {
             distance: 1,  // 地球与相机之间的距离
             targetCoord: [112.548879, 37.87059],  // 设置地球的目标位置为太原市的经纬度
             autoRotate: false,  // 自动旋转地球
-
           },
           light: {
             ambient: {
@@ -1145,36 +730,6 @@ export default {
         },
         toolbox: {
           feature: {
-                // dataZoom: { yAxisIndex: 'none' }, // 数据区域缩放
-            // 可以配置多个功能按钮...
-            // saveAsImage: {
-            //   title: {
-            //     show: true, // 是否显示标题
-            //     text: '保存为图片', // 标题文本
-            //     textStyle: {
-            //       fontFamily: 'Arial, sans-serif', // 字体家族
-            //       fontSize: 25, // 字体大小
-            //       fontWeight: 'lighter', // 字体粗细,可选值:'normal'、'bold'、'bolder'、'lighter'
-            //       color: '#f11010', // 字体颜色
-            //       // 其他文字属性...
-            //     }
-            //   },
-            //   // 其他保存为图片的配置属性...
-            // },
-            // dataZoom: {
-            //   title: {
-            //     show: true,
-            //     text: '数据缩放',
-            //     textStyle: {
-            //       fontFamily: 'Arial, sans-serif',
-            //       fontSize: 12,
-            //       fontWeight: 'bold',
-            //       color: '#333',
-            //       // 其他文字属性...
-            //     }
-            //   },
-            //   // 其他数据缩放的配置属性...
-            // },
                 restore: { show: true }, // 重置
                 saveAsImage: { show: true }, // 导出图片
                 myFull: { // 全屏
@@ -1207,47 +762,10 @@ export default {
                         } else if (element.mozRequestFullScreen) {
                           document.mozCancelFullScreen()
                         }
-
                   }
                 }
-
           },
         },
-        // xAxis: {
-        //   type: 'value',
-        //   min: 'dataMin',
-        //   max: 'dataMax',
-        //   splitLine: {
-        //     show: true
-        //   }
-        // },
-        // yAxis: {
-        //   type: 'value',
-        //   min: 'dataMin',
-        //   max: 'dataMax',
-        //   splitLine: {
-        //     show: true
-        //   }
-        // },
-        // dataZoom: [
-        //   {
-        //     type: 'slider',
-        //     show: true,
-        //     xAxisIndex: [0],
-        //     yAxisIndex: [0],
-        //     start: 0,
-        //     end: 100
-        //   },
-        //
-        //   {
-        //     type: 'inside',
-        //     show: true,
-        //     xAxisIndex: [0],
-        //     yAxisIndex: [0],
-        //     start: 0,
-        //     end: 100
-        //   },
-        // ],
         series: [ {
           type: 'scatter3D',
           symbolSize: 10,
@@ -1299,7 +817,6 @@ export default {
       })
       this.subjectItem= JSON.parse(JSON.stringify(item))
       this.dialogVisible=true
-
     },
     // 查看任务态势
     viewTaskSituation(item) {
@@ -1312,7 +829,6 @@ export default {
         this.myChart1.dispose();
       }
       this.myChart1  = echarts.init(document.getElementById('mapData'),'dark');
-
       echarts.registerMap('taiyuan', uploadedDataURL);
       var chinaGeoCoordMap = this.taiYuanMapData
       var chinaDatas = this.taiYuanDatas
@@ -1326,10 +842,8 @@ export default {
             res.push([{
               coord: fromCoord,
               value: dataItem[0].value,
-
             }, {
               coord: toCoord,
-
             }]);
           }
         }
@@ -1358,10 +872,8 @@ export default {
                   curveness: .3, //尾迹线条曲直度
                 }
               },
-
               data: convertData(item[1]),
             }, {
-
               type: 'effectScatter',
               coordinateSystem: 'geo',
               zlevel: 2,
@@ -1435,7 +947,6 @@ export default {
                   }else {
                     return ''
                   }
-
                 },
                 show:true,
               },
@@ -1533,7 +1044,6 @@ export default {
     // 获取任务列表
     async getTaskList(){
       let params={}
-
       if (this.currentYear !== null) {
         params["startTime"] = this.currentYear[0];
         params["endTime"] = this.currentYear[1];
@@ -1561,7 +1071,10 @@ export default {
           if(item.taskId==this.$route.query.key1){
             this.wholeOutTaskId=data[index].taskId
             this.currentTaskName= data[index].taskName
-            this.currentTaskGrade= data[index].syntheticTaskScore
+
+            // this.currentTaskGrade= data[index].syntheticTaskScore
+            this.currentTaskGrade = Number(data[index].syntheticTaskScore).toFixed(2);
+            // this.currentTaskGrade = Number(this.currentTaskGrade).toFixed(2);
 
             if(data.length){
               // 获取任务的单位列表
@@ -1578,16 +1091,14 @@ export default {
               // this.getTaskSubjectNum(data[0].taskId)
               // 获取某一个任务的全部课目状态占比
               // this.getAllSubjectDetail(data[0].taskId)
-              // // 获取某个任务下单位参与与课目人员的的成绩统计
+              // 获取某个任务下单位参与与课目人员的的成绩统计
               // this.getUnitSubjectPeopleScore(data[0].taskId,this.unitSubGradeValue)
-              // // 获取某个任务下单位参与与课目人员的的成绩分布
+              // 获取某个任务下单位参与与课目人员的的成绩分布
               // this.getUnitSubjectPeopleDistribution(data[0].taskId,this.unitSubGradeValue)
-
               // 获取全部任务成绩统计
               // this.getAllTaskScore()
               // 获取全部任务成绩分布
               // this.getAllTaskDistribution()
-
               // 建立指令websocket 链接
               this.initInstructWebsoket()
             }
@@ -1627,7 +1138,6 @@ export default {
     // 获取任务系统列表
     async getSystemListByTaskId(taskId) {
       let params={}
-
       if (taskId !== null) {
         params["taskId"] = taskId
         const res = await request('/dt_screen/rest/v2/task/listSystem/', 'post', params, false)
@@ -1654,7 +1164,10 @@ export default {
       this.systemSubjectId=''
       this.unitSubjectValue=''
       this.currentTaskName = this.taskOPtion.find( item => item.value== this.wholeOutTaskId ).label
-      this.currentTaskGrade = this.taskList.find( item=> item.taskId==this.wholeOutTaskId).syntheticTaskScore
+
+      this.currentTaskGrade = Number(this.taskList.find( item=> item.taskId==this.wholeOutTaskId).syntheticTaskScore).toFixed(2);
+      // this.currentTaskGrade = Number(this.currentTaskGrade).toFixed(2);
+
       this.getUnitListByTaskId(this.wholeOutTaskId)
       // 获取任务的系统列表
       this.getSystemListByTaskId(this.wholeOutTaskId)
@@ -1706,9 +1219,7 @@ export default {
               }
             ])
           })
-          // console.log("666",echarts.version);
           // this.initechartsMap()
-
           this.echartMapFlag=false
         }else{
           this.echartMapFlag=true
@@ -1797,12 +1308,11 @@ export default {
       if (success) {
         console.log('获取任务的课目信息', data);
         this.subjectDatas=data
-
       } else {
         this.$message.error(errorMessage)
       }
     },
-    // unitSubjectValue ,unitSubjectValue
+
     changeTaskAndUnit() {
       this.systemSubjectId=''
       if(this.unitSubjectValue){
@@ -1881,9 +1391,9 @@ export default {
         this.getTaskList()
         // 获取全部任务状态占比
         this.getAllTaskDetail()
-        // // 获取全部任务成绩统计
+        // 获取全部任务成绩统计
         // this.getAllTaskScore()
-        // // 获取全部任务成绩分布
+        // 获取全部任务成绩分布
         // this.getAllTaskDistribution()
         // this.instructList=data
         // unitId,unitName
@@ -3139,7 +2649,6 @@ export default {
       // console.log("11",value.length)
       // console.log("22",option.series[0].barWidth)//14
       // console.log("33",option.xAxis.axisLabel.textStyle.fontSize)//8
-
       // 修改柱状图的宽度和字体大小
       if(value.length>15){
         option.series[0].barWidth = 12; // 修改柱状图的宽度为20像素
@@ -3250,13 +2759,11 @@ export default {
       // console.log("11",value.length)
       // console.log("22",option.series[0].barWidth)//14
       // console.log("33",option.xAxis.axisLabel.textStyle.fontSize)//8
-
       // 修改柱状图的宽度和字体大小
       if(value.length>15){
         option.series[0].barWidth = 12; // 修改柱状图的宽度为20像素
         option.xAxis.axisLabel.textStyle.fontSize = 6; // 修改x轴标签的字体大小为12像素
       }
-
       // console.log("44",value.length)
       // console.log("55",option.series[0].barWidth)//14
       // console.log("66",option.xAxis.axisLabel.textStyle.fontSize)//8
@@ -3317,8 +2824,6 @@ export default {
             color: '#37D3F3',//字体颜色
             marginTop:'12px'
           },
-
-
         },
         series: [
           {
@@ -3487,13 +2992,8 @@ export default {
         if (isFull === undefined) {
           that.exitFull()
         }else {
-
         }
       })
-      // console.log("宽2",document.body.clientWidth ,document.body.clientHeight)
-      // console.log("高",window.screen.height , window.devicePixelRatio,window.screen.height * window.devicePixelRatio)
-      // console.log("宽",window.screen.width , window.devicePixelRatio,window.screen.width * window.devicePixelRatio)
-      // console.log("高",window.screen.height , window.devicePixelRatio,window.screen.height * window.devicePixelRatio)
     },
     checkFull() {
       //判断浏览器是否处于全屏状态 (需要考虑兼容问题)
@@ -3532,23 +3032,19 @@ export default {
       });
       this.playerList.push(myPlyer)
     },
-
   mounted(){
     //计算缩放比例
     this.resize_window();
     window.addEventListener('resize', () => {
       this.resize_window();
     });
-
     let that= this
-
     // 获取全部单位
     this.getAllUnits()
     // 获取全部系统
     this.getAllSystems()
     // 建立任务的weksocket链接
     this.initWebsoket()
-
     setTimeout(() => {
       this.getEarth();
     }, 3000);

+ 62 - 82
src/views/mainScreen.vue

@@ -5,8 +5,6 @@
       <div class="tag" @click="jumpToHistory">
         历史态势
       </div>
-
-
       <div class="content_cotainer">
         <div class="center_chart_cotainer_task" id="taskItem">
           <div class="task_detail_cotainer_task" style="width:100%;">
@@ -15,14 +13,14 @@
                   <el-col :span="24"  >
                     <el-table ref="teacher" :data="pagedData" size="mini" @sort-change="pagedData.onSortChange" stripe:border="true" header-cell-class-name="table-header-gray" class="task_item_body_bak" >
                       <el-table-column label="序号" header-align="center" align="center" type="index" width="55px" :index="getTableIndex" />
-                      <el-table-column label="任务实际开始时间" prop="0" />
-                      <el-table-column label="任务关联ID" prop="1" />
-                      <el-table-column label="任务描述" prop="2" />
-                      <el-table-column label="任务状态" prop="3" />
-                      <el-table-column label="任务代码" prop="4" />
                       <el-table-column label="任务ID" prop="5" />
                       <el-table-column label="任务名称" prop="6" />
+                      <el-table-column label="任务代号" prop="4" />
                       <el-table-column label="任务阶段" prop="7" />
+                      <el-table-column label="任务状态" prop="3" />
+                      <el-table-column label="任务实际开始时间" prop="0" />
+<!--                      <el-table-column label="任务关联ID" prop="1" />-->
+                      <el-table-column label="任务描述" prop="2" />
                       <el-table-column label="操作" align="center">
                         <template slot-scope="scope">
                           <el-button class="table-btn primary" size="mini" type="text" @click="onTiaozhuan(scope.row)">跳转</el-button>
@@ -34,7 +32,7 @@
                           :total="this.renwuliebiao.length"
                           :current-page="this.renwuliebiao.currentPage"
                           :page-size="this.renwuliebiao.pageSize"
-                          :page-sizes="[5,10, 15]"
+                          :page-sizes="[5, 10, 15]"
                           layout="total, prev, pager, next, sizes"
                           @current-change="onCurrentPageChange"
                           @size-change="onPageSizeChange">
@@ -42,7 +40,6 @@
                     </el-row>
                   </el-col>
                 </el-row>
-                <operation-space v-if="showOperationSpace" :flow-instance="currentFlowInstance" @close="onOperationSpaceClose"></operation-space>
             </div>
           </div>
         </div>
@@ -53,7 +50,6 @@
 <script>
 
 import myFlylineChartEnhanced from '../components/my-flyline-chart-enhanced/index'
-
 import myscrollBoard from '../components/myscroll-board/src/main'
 import sacleBox from '../components/sacle-box/index'
 import { request } from '../utils/request';
@@ -98,13 +94,12 @@ export default {
       updatekey:'1',
       renwuliebiao:{
         header: ['1', '2', '3','4', '5', '6','7', '8'],
-        waitTime:1500,
+        waitTime:1000,
         data: [],
         length:0,
         columnWidth: [80],
         oddRowBGC:'#072347',
         evenRowBGC:'#021736',
-
         actualStartTime:'',
         bk:'',
         description:'',
@@ -113,10 +108,8 @@ export default {
         taskId: '',
         taskName: '',
         taskStage:'',
-
         currentPage:1,
         pageSize:15,
-
         paged:true,
       },
       scrollTableConfig:{
@@ -167,18 +160,11 @@ export default {
     pagedData() { // 动态计算当前页的数据
       const start = (this.renwuliebiao.currentPage - 1) * this.renwuliebiao.pageSize
       const end = start + this.renwuliebiao.pageSize
-      // console.log("hhhh0:  ",this.renwuliebiao.data )
-      // console.log("hhhh0:  ",this.renwuliebiao.data.length,this.renwuliebiao.length )
-      // if(this.gridData.data!=null){
       if(this.renwuliebiao.data.length!=0){
-        // console.log("hhhh1:  ",start+"---"+end )
-        // console.log("hhhh2:  ",this.renwuliebiao.data )
-        // console.log("hhhh3:  ",this.renwuliebiao.data.slice(start, end) )
         return this.renwuliebiao.data.slice(start, end)
       }else{
-        return null
+        return new Array()
       }
-
     }
   },
   methods:{
@@ -311,11 +297,11 @@ export default {
       }
       this.isInit = true;
     },
-    onOperationSpaceClose () {
-      this.showOperationSpace = false;
-      this.currentFlowInstance = null;
-      this.refreshFormAllInstance()
-    },
+    // onOperationSpaceClose () {
+    //   this.showOperationSpace = false;
+    //   this.currentFlowInstance = null;
+    //   this.refreshFormAllInstance()
+    // },
     HKCardInit(){
       this.HKCardShow = true;
     },
@@ -363,17 +349,19 @@ export default {
       const res = await request('/dt_screen/rest/v1/screen/listUnit/', 'get', params, false)
       const { errorCode, errorMessage, success,data } = res.data;
       if (success) {
-        console.log('获取全部单位', data);
-        // 获取任务数据
-        this.getTaskList()
-        this.unitOption = data.map((item)=>{
-          return {
-            label:item.unitName,
-            value: item.unitId
-          }
-        })
-        this.unitFinshedValue=this.unitOption[0].value
-        this.unitSubGradeValue=this.unitOption[0].value
+        if (data.length !== 0) {
+          console.log('获取全部单位', data);
+          // 获取任务数据
+          this.getTaskList()
+          this.unitOption = data.map((item)=>{
+            return {
+              label:item.unitName,
+              value: item.unitId
+            }
+          })
+          this.unitFinshedValue=this.unitOption[0].value
+          this.unitSubGradeValue=this.unitOption[0].value
+        }
       } else {
         this.$message.error(errorMessage)
       }
@@ -415,51 +403,48 @@ export default {
       // const res = await request("/dt_screen/rest/v2/task/listCurrentTask/", "post", params, false);
       const res = await request("/dt_screen/rest/v2/task/listRunningTasks/", "post", params, false);
       const { errorCode, errorMessage, success, data } = res.data;
-      if (success) {
-        console.log("获取任务列表", data);
-
-        this.renwuList=data
-        let tempData=[]
-        data.forEach((item)=>{
-          tempData.push([item.actualStartTime, item.bk, item.description,item.status,item.taskCode,item.taskId ,item.taskName, item.taskStage])
-        })
-        this.renwuliebiao.data=tempData
-        this.renwuliebiao.length=this.renwuliebiao.data.length
-        this.taskList = data;
-        this.wholeOutTaskId = data[0].taskId;
-        this.processInstanceId = this.wholeOutTaskId;
-        this.taskOPtion = data.map((item) => {
-          return {
-            label: item.taskName,
-            value: item.taskId
-          };
-        });
-
-        let param = {taskId: this.processInstanceId};
-        const res1 = await request("/dt_screen/rest/v2/task/getDefId/", "post", param, false);
-        this.processDefinitionId = res1.data;
-        this.initWebsoketBpmn();
-        this.isReady = true;
-        this.currentTaskName = data[0].taskName;
-        this.currentTaskGrade = data[0].syntheticTaskScore;
-        // 获取地图的信息
-        if (data.length) {
-          // 获取任务的课目信息
-          this.getSubjectList(data[0].taskId);
-          // 获取任务的指令信息
-          this.getinstructList(data[0].taskId);
-          // 建立指令websocket 链接
-          this.initInstructWebsoket();
+      console.log("获取任务列表1", data);
+      if (success ) {
+        console.log("获取任务列表2", data);
+        if (data.length !== 0) {
+          this.renwuList=data
+          let tempData=[]
+          data.forEach((item)=>{
+            tempData.push([item.actualStartTime, item.bk, item.description,item.status,item.taskCode,item.taskId ,item.taskName, item.taskStage])
+          })
+          this.renwuliebiao.data=tempData
+          this.renwuliebiao.length=this.renwuliebiao.data.length
+          this.taskList = data;
+          this.wholeOutTaskId = data[0].taskId;
+          this.processInstanceId = this.wholeOutTaskId;
+          this.taskOPtion = data.map((item) => {
+            return {
+              label: item.taskName,
+              value: item.taskId
+            };
+          });
+          let param = {taskId: this.processInstanceId};
+          const res1 = await request("/dt_screen/rest/v2/task/getDefId/", "post", param, false);
+          this.processDefinitionId = res1.data;
+          this.initWebsoketBpmn();
+          this.isReady = true;
+          this.currentTaskName = data[0].taskName;
+          this.currentTaskGrade = data[0].syntheticTaskScore;
+          // 获取地图的信息
+          if (data.length) {
+            // 获取任务的课目信息
+            this.getSubjectList(data[0].taskId);
+            // 获取任务的指令信息
+            this.getinstructList(data[0].taskId);
+            // 建立指令websocket 链接
+            this.initInstructWebsoket();
+          }
         }
       } else {
         this.$message.error(errorMessage);
       }
-
     },
 
-
-
-
     // 切换任务
     async changeTask() {
       this.camaraData = []
@@ -471,7 +456,6 @@ export default {
       this.currentTaskGrade = this.taskList.find((item) => item.taskId == this.wholeOutTaskId).syntheticTaskScore;
       // 获取任务的课目信息
       this.processInstanceId = this.wholeOutTaskId;
-
       let param = {taskId: this.processInstanceId};
       const res2 = await request("/dt_screen/rest/v2/task/getDefId/", "post", param, false);
       console.log('res2 :>> ', res2.data);
@@ -770,12 +754,9 @@ export default {
       }
     },
 
-
-
     async initUrl(subjectName) {
       if (subjectName == '')
         return;
-
       let params = {
         subjectName: subjectName,
         taskId: this.wholeOutTaskId
@@ -878,7 +859,6 @@ export default {
   },
   beforeDestroy() {
     this.HKshow = false;
-
     if (this.playerList.length) {
       this.playerList.forEach((item) => {
         item.dispose();

Файловите разлики са ограничени, защото са твърде много
+ 537 - 236
src/views/monitorScreen.vue


Файловите разлики са ограничени, защото са твърде много
+ 270 - 421
src/views/situationScreen.vue


+ 24 - 57
src/views/taskScreen.vue

@@ -29,12 +29,10 @@
                   :key="item.value"
                   :label="item.label"
                   :value="item.value"
-
                 >
                 </el-option>
               </el-select>
               <el-image
-
                 @click="showMoreInfo('more')"
                 class="showLessStyle"
                 style="width: 30px; height: 22px; margin-right:6px; margin-left: 10px;"
@@ -79,7 +77,6 @@
                           :key="item.value"
                           :label="item.label"
                           :value="item.value"
-
                         >
                         </el-option>
                       </el-select>
@@ -96,7 +93,6 @@
                           :key="item.value"
                           :label="item.label"
                           :value="item.value"
-
                         >
                         </el-option>
                       </el-select>
@@ -132,11 +128,8 @@
                         </div>
                       </div>
                     </template>
-
                   </div>
-
                 </div>
-
               </div>
               <div class="unit_map_box_task_new">
                 <div class="map_more_box">
@@ -149,7 +142,6 @@
                     </el-image>
                     流程图
                   </div>
-
                 </div>
                 <form-task-process-viewer
                   :processInstanceId="processInstanceId"
@@ -175,7 +167,6 @@
                         课目成绩
                       </div>
                     </div>
-
                     <div class="subject_list_container_int" id="moninter">
                       <div class="task_other_cotainer_scrool">
 <!--                        <myscrollBoard :key="updatekey1" :config="subjectScoreTableConfig" style="width: 100%; height: 100%" />-->
@@ -201,7 +192,6 @@
                               </div>
                             </div>
                           </template>
-
                         </div>
                       </div>
                     </div>
@@ -226,27 +216,6 @@
                     <myscrollBoard :key="updatekey" :config="scrollTableConfig" style="width: 100%; height: 100%" />
                   </div>
                 </div>
-                <!-- <div class="task_outer_cotnainer_status"> -->
-<!--                <div class="map_more_box">-->
-<!--                  <div class="task_list_header" style="font-size: 16px; margin-bottom: 8px">-->
-<!--                    <el-image-->
-<!--                      style="width: 30px; height: 22px; margin-right: 6px"-->
-<!--                      :src="require('../assets/img/rightIcon.svg')"-->
-<!--                      fit="contain"-->
-<!--                    ></el-image>-->
-<!--&lt;!&ndash;                    训练态势监控&ndash;&gt;-->
-<!--                    指令监控-->
-<!--                  </div>-->
-<!--&lt;!&ndash;                  <el-image&ndash;&gt;-->
-<!--&lt;!&ndash;                    @click="showFull('allVideo')"&ndash;&gt;-->
-<!--&lt;!&ndash;                    style="width: 20px; height: 20px; margin-right: 6px; margin-top: -10px"&ndash;&gt;-->
-<!--&lt;!&ndash;                    :src="require('../assets/img/iconMore.svg')"&ndash;&gt;-->
-<!--&lt;!&ndash;                    fit="contain"&ndash;&gt;-->
-<!--&lt;!&ndash;                    class="moreBtn_style"&ndash;&gt;-->
-<!--&lt;!&ndash;                  ></el-image>&ndash;&gt;-->
-<!--                </div>-->
-<!--                <div class="video_title">{{ camaraName[0] }}</div>-->
-<!--                <hk-camara  v-if="HKCamaraShow" :companyVideoData="camaraData" @init="HKCardInit" ref="hkCard"/>-->
               </div>
               <div class="commandMonitoring_task">
                 <div class="map_more_box">
@@ -266,7 +235,6 @@
                     class="moreBtn_style"
                   ></el-image>
                 </div>
-                <!-- <div class="video_body2"><HKVideo2  :companyVideoData="mainVideoData" :videoType="2"></HKVideo2></div> -->
                 <div class="task_outer_cotnainer_status">
                   <hkv v-if="HKCardShow" :companyVideoData="hebingjiankongData" ref="hkv"/>
                   <div class="center_no_data" v-if="false">
@@ -299,6 +267,7 @@
                   <el-table-column align="center" label="序号" header-align="center" type="index" width="55px" :index="getTableIndex" />
                   <el-table-column align="center" property="participantName" label="姓名" max-width="350"></el-table-column>
                   <el-table-column align="center" property="score" label="成绩" max-width="300"></el-table-column>
+                  <el-table-column align="center" property="uploadTime" label="上报时间" max-width="300"></el-table-column>
                 </el-table>
                 <el-row type="flex" justify="end" style="margin-top: 10px;">
                   <el-pagination
@@ -325,7 +294,6 @@
 <script>
 
 import myFlylineChartEnhanced from '../components/my-flyline-chart-enhanced/index'
-
 import myscrollBoard from '../components/myscroll-board/src/main'
 import sacleBox from '../components/sacle-box/index'
 import { request } from '../utils/request';
@@ -349,7 +317,7 @@ export default {
     return {
       SubjectInfo1:'',
       SubjectInfo2:'',
-      SubjectInfo3:[],
+      SubjectInfoList: ["所有课目"],
       HKCardShow: false,
       HKCamaraShow: false,
       systemFinshedValue:'',
@@ -431,7 +399,6 @@ export default {
     pagedData() { // 动态计算当前页的数据
       const start = (this.gridData.currentPage - 1) * this.gridData.pageSize
       const end = start + this.gridData.pageSize
-      // if(this.gridData.data!=null){
       if(this.gridData.data.length!=0){
         return this.gridData.data.slice(start, end)
       }else{
@@ -491,7 +458,6 @@ export default {
       if (reload || !this.gridData.data || this.gridData.data.length === 0) {
         // 调用后端接口或其他数据来源获取数据
         // 这里省略具体实现
-
         // 模拟一个返回结果的 Promise 对象
         const mockData = new Promise(resolve => {
           const data = [];
@@ -523,9 +489,7 @@ export default {
     jumpToHistory() {
       // this.$refs.hk.$destroy();
       //     this.HKshow = false;
-
       this.$router.push("/situationScreen")
-
     },
 
     jumpToDangqian() {
@@ -594,11 +558,8 @@ export default {
       if (success) {
         console.log("获取任务列表", data);
         this.taskList = data;
-
-
         if(this.$route.query.key1){
           this.wholeOutTaskId = this.$route.query.key1;
-
           this.currentTaskName = this.$route.query.taskName;
           // currentTaskName
           // if(location.href.indexOf('#reloaded')==-1){
@@ -685,18 +646,29 @@ export default {
     // 获取任务的课目信息
     async getSubjectList(taskId){
       let params={}
+      let that=this
+      // console.log('获取任务的课目信息param taskId', params,taskId);
       const res = await request(`/dt_screen/rest/v2/subject/list/${taskId}`, 'get', params, false)
       const { errorCode, errorMessage, success,data } = res.data;
+      // console.log('获取任务的课目信息res', res);
       if (success) {
-        console.log('获取任务的课目信息', data);
-        this.subjectDatas=data
+        // console.log('获取任务的课目信息', data);
+        if(data.length !== 0){
+          this.subjectDatas = data
+          data.forEach(function(obj) {
+            let name = obj.subjectName
+            that.SubjectInfoList.push(name.toString())
+          });
 
-        this.SubjectInfo1=this.subjectDatas[0].subjectName
-        this.SubjectInfo2=taskId
+          // console.log("that.SubjectInfoList1",that.SubjectInfoList)
+          this.SubjectInfo1=this.subjectDatas[0].subjectName
+          this.SubjectInfo2=taskId
+        }else{
+          this.subjectDatas = []
+        }
+        // console.log("this.SubjectInfo1",this.SubjectInfo1, this.SubjectInfo2)
 
         this.getSubjectAndMemberScore(taskId)
-
-
         this.initUrl(this.subjectDatas[0].subjectName)
       } else {
         this.$message.error(errorMessage)
@@ -726,7 +698,7 @@ export default {
     async getSubjectAndMemberScore (taskId) {
       this.subjectScoreTableConfig.data = []
       this.subjectDatas.forEach((data) => {
-        console.log("🚀 datadata >> ", data)
+        console.log("🚀 data >> ", data)
         let subjectScoreData = {
           "subjectName": data.subjectName,
           "subjectScore": data.overallScore === undefined ? "暂无成绩" : data.overallScore,
@@ -873,7 +845,6 @@ export default {
       this.dialogVisible=true
       const { subjectScore } = item
 
-
       if(subjectScore==null){
         this.gridData.data = []
         this.gridData.length = this.gridData.data.length
@@ -893,7 +864,7 @@ export default {
           query: {
             subjectInfo1:this.SubjectInfo1,
             subjectInfo2:this.SubjectInfo2,
-            // subjectInfo3:this.SubjectInfo3,
+            subjectInfoList: this.SubjectInfoList,
             // camaraData: JSON.stringify(this.camaraData),
             // cardData: JSON.stringify(this.cardData)
           }
@@ -912,7 +883,7 @@ export default {
           query: {
             subjectInfo1:this.SubjectInfo1,
             subjectInfo2:this.SubjectInfo2,
-            // subjectInfo3:this.SubjectInfo3,
+            subjectInfoList:this.SubjectInfoList,
             // camaraData: JSON.stringify(this.camaraData),
             // cardData: JSON.stringify(this.cardData)
           }
@@ -1016,7 +987,6 @@ export default {
     async initUrl(subjectName) {
       if (subjectName == '')
         return;
-
       let params = {
         subjectName: subjectName,
         taskId: this.wholeOutTaskId
@@ -1029,7 +999,6 @@ export default {
       let index = 0;
       // this.SubjectInfo1=params.subjectName
       // this.SubjectInfo2=params.taskId
-      // this.SubjectInfo3=res.data.data
       // console.log("cansgu",params.subjectName,params.taskId)
       // console.log("res",res.data.data)
       this.camaraSrc = ["", "", "", "", ""];
@@ -1077,7 +1046,7 @@ export default {
         this.hebingjiankongData.push(data);
       }
       // console.log('cardData :>> ', this.cardData);
-      // console.log('hebingjiankongData :>> ', this.hebingjiankongData);
+      console.log('hebingjiankongData :>> ', this.hebingjiankongData);
     },
     resolveUrl(url){
       if(url ==''){
@@ -1100,6 +1069,7 @@ export default {
       if (subjectName == '')
         return;
       if(subjectName != this.currentSubject) {
+        this.SubjectInfo1=subjectName;
         this.currentSubject = subjectName;
         // this.$refs.hkv.stopAll();
         // this.$refs.hkCard.stopAll();
@@ -1110,9 +1080,6 @@ export default {
     }
   },
   mounted() {
-
-
-
     // 获取全部单位
     this.getAllUnits();
     // 获取全部系统

Някои файлове не бяха показани, защото твърде много файлове са промени