فهرست منبع

Merge branch 'master' of http://101.133.214.75:3000/xf15575941817/PC_FiveFollowing

Ming 4 سال پیش
والد
کامیت
9411b7cf06

+ 1 - 1
.env.development

@@ -1,4 +1,4 @@
 	// development 开发环境
 	NODE_ENV='development'
 	// 下面的为接口地址。此处/api是我经过webpack设置跨域代理之后的地址
-	VUE_APP_BASE_URL='/api'
+	VUE_APP_BASE_URL='/'

BIN
dist.zip


+ 83 - 43
package-lock.json

@@ -1223,7 +1223,7 @@
     },
     "@popperjs/core": {
       "version": "2.9.2",
-      "resolved": "https://registry.nlark.com/@popperjs/core/download/@popperjs/core-2.9.2.tgz",
+      "resolved": "https://registry.npm.taobao.org/@popperjs/core/download/@popperjs/core-2.9.2.tgz?cache=0&sync_timestamp=1617290324040&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40popperjs%2Fcore%2Fdownload%2F%40popperjs%2Fcore-2.9.2.tgz",
       "integrity": "sha1-rep7aVPLs0ZRdmsFSEaOdDxqI1M="
     },
     "@simonwep/pickr": {
@@ -3554,11 +3554,7 @@
     },
     "clone-deep": {
       "version": "4.0.1",
-<<<<<<< HEAD
-      "resolved": "https://registry.nlark.com/clone-deep/download/clone-deep-4.0.1.tgz",
-=======
       "resolved": "https://registry.npm.taobao.org/clone-deep/download/clone-deep-4.0.1.tgz",
->>>>>>> 41e09ba3f90cb5a3f13f4f7e5cc3968ca56fbcce
       "integrity": "sha1-wZ/Zvbv4WUK0/ZechNz31fB8I4c=",
       "dev": true,
       "requires": {
@@ -4357,7 +4353,7 @@
     },
     "dayjs": {
       "version": "1.10.6",
-      "resolved": "https://registry.nlark.com/dayjs/download/dayjs-1.10.6.tgz?cache=0&sync_timestamp=1625557417200&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdayjs%2Fdownload%2Fdayjs-1.10.6.tgz",
+      "resolved": "https://registry.nlark.com/dayjs/download/dayjs-1.10.6.tgz?cache=0&sync_timestamp=1625557310646&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdayjs%2Fdownload%2Fdayjs-1.10.6.tgz",
       "integrity": "sha1-KIsqqC8thBimydTfWJjAc3rQKmM="
     },
     "debug": {
@@ -5981,7 +5977,7 @@
       "dependencies": {
         "ansi-regex": {
           "version": "2.1.1",
-          "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-2.1.1.tgz",
+          "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz?cache=0&sync_timestamp=1618552978881&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-regex%2Fdownload%2Fansi-regex-2.1.1.tgz",
           "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
           "dev": true
         },
@@ -6007,7 +6003,7 @@
         },
         "strip-ansi": {
           "version": "3.0.1",
-          "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz",
+          "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&sync_timestamp=1618553351145&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz",
           "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
           "dev": true,
           "requires": {
@@ -6207,7 +6203,7 @@
       "dependencies": {
         "ansi-regex": {
           "version": "2.1.1",
-          "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-2.1.1.tgz",
+          "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz?cache=0&sync_timestamp=1618552978881&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-regex%2Fdownload%2Fansi-regex-2.1.1.tgz",
           "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
           "dev": true
         }
@@ -7306,8 +7302,7 @@
     "isexe": {
       "version": "2.0.0",
       "resolved": "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz",
-      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
-      "dev": true
+      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
     },
     "isobject": {
       "version": "3.0.1",
@@ -7600,7 +7595,7 @@
       "dependencies": {
         "parse-json": {
           "version": "2.2.0",
-          "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz?cache=0&sync_timestamp=1610966646988&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-2.2.0.tgz",
+          "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz?cache=0&sync_timestamp=1610966667117&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-2.2.0.tgz",
           "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
           "dev": true,
           "requires": {
@@ -7883,7 +7878,7 @@
     },
     "meow": {
       "version": "3.7.0",
-      "resolved": "https://registry.nlark.com/meow/download/meow-3.7.0.tgz",
+      "resolved": "https://registry.nlark.com/meow/download/meow-3.7.0.tgz?cache=0&sync_timestamp=1620227920685&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmeow%2Fdownload%2Fmeow-3.7.0.tgz",
       "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
       "dev": true,
       "requires": {
@@ -8409,7 +8404,7 @@
       "dependencies": {
         "ansi-regex": {
           "version": "2.1.1",
-          "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-2.1.1.tgz",
+          "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz?cache=0&sync_timestamp=1618552978881&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-regex%2Fdownload%2Fansi-regex-2.1.1.tgz",
           "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
           "dev": true
         },
@@ -8421,7 +8416,7 @@
         },
         "chalk": {
           "version": "1.1.3",
-          "resolved": "https://registry.nlark.com/chalk/download/chalk-1.1.3.tgz?cache=0&sync_timestamp=1618995355917&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-1.1.3.tgz",
+          "resolved": "https://registry.nlark.com/chalk/download/chalk-1.1.3.tgz?cache=0&sync_timestamp=1618995384030&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-1.1.3.tgz",
           "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
           "dev": true,
           "requires": {
@@ -8440,6 +8435,67 @@
           "requires": {
             "lru-cache": "^4.0.1",
             "which": "^1.2.9"
+          },
+          "dependencies": {
+            "which": {
+              "version": "1.3.1",
+              "resolved": "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz?cache=0&sync_timestamp=1605134855909&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-1.3.1.tgz",
+              "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=",
+              "dev": true,
+              "requires": {
+                "isexe": "^2.0.0"
+              }
+            }
+          }
+        },
+        "lru-cache": {
+          "version": "4.1.5",
+          "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz",
+          "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=",
+          "dev": true,
+          "requires": {
+            "pseudomap": "^1.0.2",
+            "yallist": "^2.1.2"
+          }
+        },
+        "node-gyp": {
+          "version": "3.8.0",
+          "resolved": "https://registry.nlark.com/node-gyp/download/node-gyp-3.8.0.tgz",
+          "integrity": "sha1-VAMEJhwzDoDQ1e3OJTpoyzlkIYw=",
+          "dev": true,
+          "requires": {
+            "fstream": "^1.0.0",
+            "glob": "^7.0.3",
+            "graceful-fs": "^4.1.2",
+            "mkdirp": "^0.5.0",
+            "nopt": "2 || 3",
+            "npmlog": "0 || 1 || 2 || 3 || 4",
+            "osenv": "0",
+            "request": "^2.87.0",
+            "rimraf": "2",
+            "semver": "~5.3.0",
+            "tar": "^2.0.0",
+            "which": "1"
+          },
+          "dependencies": {
+            "which": {
+              "version": "1.3.1",
+              "resolved": "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz?cache=0&sync_timestamp=1605134855909&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-1.3.1.tgz",
+              "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=",
+              "dev": true,
+              "requires": {
+                "isexe": "^2.0.0"
+              }
+            }
+          }
+        },
+        "nopt": {
+          "version": "3.0.6",
+          "resolved": "https://registry.npm.taobao.org/nopt/download/nopt-3.0.6.tgz",
+          "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+          "dev": true,
+          "requires": {
+            "abbrev": "1"
           }
         },
         "lru-cache": {
@@ -8454,7 +8510,7 @@
         },
         "strip-ansi": {
           "version": "3.0.1",
-          "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz",
+          "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&sync_timestamp=1618553351145&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz",
           "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
           "dev": true,
           "requires": {
@@ -8463,7 +8519,7 @@
         },
         "supports-color": {
           "version": "2.0.0",
-          "resolved": "https://registry.nlark.com/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1622293579301&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+          "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1618560959124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
           "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
           "dev": true
         },
@@ -10062,7 +10118,7 @@
         },
         "read-pkg": {
           "version": "1.1.0",
-          "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz",
+          "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz?cache=0&sync_timestamp=1616914810926&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg%2Fdownload%2Fread-pkg-1.1.0.tgz",
           "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
           "dev": true,
           "requires": {
@@ -10267,7 +10323,7 @@
     },
     "repeating": {
       "version": "2.0.1",
-      "resolved": "https://registry.nlark.com/repeating/download/repeating-2.0.1.tgz",
+      "resolved": "https://registry.nlark.com/repeating/download/repeating-2.0.1.tgz?cache=0&sync_timestamp=1620068853953&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frepeating%2Fdownload%2Frepeating-2.0.1.tgz",
       "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
       "dev": true,
       "requires": {
@@ -10506,7 +10562,7 @@
         },
         "locate-path": {
           "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz",
+          "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz?cache=0&sync_timestamp=1597082033698&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flocate-path%2Fdownload%2Flocate-path-3.0.0.tgz",
           "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=",
           "dev": true,
           "requires": {
@@ -10542,7 +10598,7 @@
         },
         "strip-ansi": {
           "version": "5.2.0",
-          "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz",
+          "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1618553351145&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz",
           "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
           "dev": true,
           "requires": {
@@ -10580,7 +10636,7 @@
         },
         "yargs-parser": {
           "version": "13.1.2",
-          "resolved": "https://registry.nlark.com/yargs-parser/download/yargs-parser-13.1.2.tgz?cache=0&sync_timestamp=1624233514145&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-13.1.2.tgz",
+          "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.2.tgz",
           "integrity": "sha1-Ew8JcC667vJlDVTObj5XBvek+zg=",
           "dev": true,
           "requires": {
@@ -10592,11 +10648,7 @@
     },
     "sass-loader": {
       "version": "8.0.2",
-<<<<<<< HEAD
-      "resolved": "https://registry.nlark.com/sass-loader/download/sass-loader-8.0.2.tgz?cache=0&sync_timestamp=1623350053592&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsass-loader%2Fdownload%2Fsass-loader-8.0.2.tgz",
-=======
       "resolved": "https://registry.nlark.com/sass-loader/download/sass-loader-8.0.2.tgz",
->>>>>>> 41e09ba3f90cb5a3f13f4f7e5cc3968ca56fbcce
       "integrity": "sha1-3r7NjDziQ8dkVPLoKQSCFQOACQ0=",
       "dev": true,
       "requires": {
@@ -10621,11 +10673,7 @@
       "dependencies": {
         "ansi-styles": {
           "version": "4.3.0",
-<<<<<<< HEAD
-          "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1618995778321&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz",
-=======
           "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1618995547052&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz",
->>>>>>> 41e09ba3f90cb5a3f13f4f7e5cc3968ca56fbcce
           "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=",
           "dev": true,
           "requires": {
@@ -10634,11 +10682,7 @@
         },
         "async": {
           "version": "3.2.0",
-<<<<<<< HEAD
-          "resolved": "https://registry.nlark.com/async/download/async-3.2.0.tgz",
-=======
           "resolved": "https://registry.npm.taobao.org/async/download/async-3.2.0.tgz",
->>>>>>> 41e09ba3f90cb5a3f13f4f7e5cc3968ca56fbcce
           "integrity": "sha1-s6JoXF67ZB094C0WEALGD8n4VyA=",
           "dev": true
         },
@@ -10654,11 +10698,7 @@
         },
         "color-convert": {
           "version": "2.0.1",
-<<<<<<< HEAD
-          "resolved": "https://registry.nlark.com/color-convert/download/color-convert-2.0.1.tgz",
-=======
           "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz",
->>>>>>> 41e09ba3f90cb5a3f13f4f7e5cc3968ca56fbcce
           "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=",
           "dev": true,
           "requires": {
@@ -12560,9 +12600,9 @@
       }
     },
     "vuex": {
-      "version": "3.6.2",
-      "resolved": "https://registry.nlark.com/vuex/download/vuex-3.6.2.tgz?cache=0&sync_timestamp=1623945192157&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvuex%2Fdownload%2Fvuex-3.6.2.tgz",
-      "integrity": "sha1-I2vAhqhww655lG8QfxbeWdWJXnE="
+      "version": "4.0.0",
+      "resolved": "https://registry.nlark.com/vuex/download/vuex-4.0.0.tgz?cache=0&sync_timestamp=1623945192157&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvuex%2Fdownload%2Fvuex-4.0.0.tgz",
+      "integrity": "sha1-rId6p2qcRTaMl5Rx5GG1INOObPU="
     },
     "warning": {
       "version": "4.0.3",
@@ -13261,7 +13301,7 @@
       "dependencies": {
         "ansi-regex": {
           "version": "3.0.0",
-          "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-3.0.0.tgz",
+          "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz?cache=0&sync_timestamp=1618552978881&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-regex%2Fdownload%2Fansi-regex-3.0.0.tgz",
           "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
           "dev": true
         },
@@ -13283,7 +13323,7 @@
         },
         "strip-ansi": {
           "version": "4.0.0",
-          "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-4.0.0.tgz",
+          "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz?cache=0&sync_timestamp=1618553351145&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-4.0.0.tgz",
           "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
           "dev": true,
           "requires": {

+ 1 - 1
package.json

@@ -18,7 +18,7 @@
         "js-cookie": "^2.2.1",
         "vue": "^3.0.0",
         "vue-router": "^4.0.4",
-        "vuex": "^3.6.2"
+        "vuex": "^4.0.0"
     },
     "devDependencies": {
         "@vue/cli-plugin-babel": "~4.5.0",

+ 6 - 2
public/static/config.js

@@ -1,10 +1,13 @@
 // api 请求路径
 var PLATFROM_CONFIG = {};
-// PLATFROM_CONFIG.baseUrl = "http://121.40.217.77:8081/"
-PLATFROM_CONFIG.baseUrl = "http://172.16.120.155:8010/" //杨强本地
+// PLATFROM_CONFIG.baseUrl = "http://172.16.120.155:8010/" //杨强本地
 // PLATFROM_CONFIG.baseUrl = "http://172.16.1.196:8010/"  //超博本地
+PLATFROM_CONFIG.baseUrl = "http://124.71.174.104:80/api" //线上
 
 
+// 当前站点 siteId 信息存储
+// var PLATFROM_SITEID = {};
+// PLATFROM_SITEID.id = 0;
 
 
 //alarming WEBSOCKET
@@ -12,6 +15,7 @@ PLATFROM_CONFIG.baseUrl = "http://172.16.120.155:8010/" //杨强本地
 // var PLATFROM_WEBSOCKET = {};
 // PLATFROM_WEBSOCKET.wsUrl = `ws://172.16.120.246:8081/uskyWS?${userInfo}`
 
+
 //iframe 请求路径
 //http://www.thingjs.com/s/ef7ee6a73896c01bda77e679?params=105b0f77fd24654d4eebc434e9 初始路径http://172.16.120.246:9000/
 // var PLATFROM_IFRAME = {};

+ 14 - 0
src/api/index.js

@@ -0,0 +1,14 @@
+import request from '@/utils/request'
+
+
+export default {
+    // 获取站点详情下拉信息列表
+    options_api(params){
+        return request({
+            url: `site/list`,
+            method: 'GET',
+            params:params
+            // data: data
+        })
+    }
+}

+ 19 - 9
src/api/site/Device_motore.js

@@ -3,27 +3,37 @@ import request from '@/utils/request'
 
 export default {
     // 获取模拟量信息列表
-    rtAnalogData(data) {
+    rtAnalogData(params) {
         return request({
             url: `rtAnalogData/one`,
-            method: 'post',
-            data: data
+            method: 'GET',
+            params: params
+            // data: data
         })
     },
     // 获取开关量信息列表
-    rtSwitchData(data) {
+    rtSwitchData(params) {
         return request({
             url: `rtSwitchData/one`,
-            method: 'post',
-            data: data
+            method: 'GET',
+            params: params
         })
     },
     // 获取运行状态统计 -> 本日 本月
-    LoopStatus(data) {
+    LoopStatus(params) {
         return request({
             url: `rtSwitchData/LoopStatus`,
-            method: 'post',
-            data: data
+            method: 'GET',
+            params: params
+        })
+    },
+    // 获取运行状态统计 -> 折线图数据
+    runStatus(params) {
+        return request({
+            url: `alarmPower/runStatus`,
+            method: 'GET',
+            params: params
         })
     }
+    
 }

+ 17 - 26
src/main.js

@@ -1,42 +1,33 @@
-import { createApp } from 'vue/dist/vue.esm-bundler.js'
+import { createApp } from 'vue';
 import Antd from 'ant-design-vue';
-import App from './App.vue'
+import App from './App.vue';
 import 'ant-design-vue/dist/antd.css';
-import UCore from './utils/UCore.js'
+import UCore from './utils/UCore.js';
 import './assets/css/index.css';
-
-// import store from './store'
 import router from './router';
-// import { makeRoute } from './router'
-
+import Vuex from 'vuex'
+import store from './store/index.js';
 import axios from 'axios';
-const app = createApp(App);
-
 import ElementPlus from 'element-plus';
 import 'element-plus/lib/theme-chalk/index.css';
-import 'dayjs/locale/zh-cn'
-import locale from 'element-plus/lib/locale/lang/zh-cn'
-
-app.use(router).use(ElementPlus, { locale });
-
-app.config.globalProperties.$UCore = UCore;
-app.config.globalProperties.$axios = axios;
-app.use(Antd).mount('#app');
-
-
+import 'dayjs/locale/zh-cn';
+import locale from 'element-plus/lib/locale/lang/zh-cn';
 //引入rem字体配置
 import '@/assets/js/flexible.js';
-
 //  引入字体样式
 import '@/assets/fonts/font.css';
+import * as echarts from 'echarts'
+import 'echarts/lib/component/tooltip';
+import 'echarts/lib/component/title';
+import 'echarts/lib/component/legend';
+
+const app = createApp(App);
 
+app.config.globalProperties.$UCore = UCore;
+app.config.globalProperties.$axios = axios;
 
-import * as echarts from 'echarts'
-import 'echarts/lib/component/tooltip'
-import 'echarts/lib/component/title'
-import 'echarts/lib/component/legend'
-app.use(echarts);
 
+app.use(router).use(store).use(ElementPlus, { locale }).use(Vuex).use(echarts).use(Antd).mount('#app');
 
 /*路由守卫*/
 router.beforeEach((to, from, next) => {
@@ -78,4 +69,4 @@ router.beforeEach((to, from, next) => {
     //     //路由的next必须存在,否则无法进入下一页
     next();
     // }
-})
+})

+ 28 - 0
src/store/index.js

@@ -0,0 +1,28 @@
+import { createStore } from 'vuex'
+
+export default createStore({
+    state: {
+        siteId: 1,//公共api请求参数->siteId
+        Time_Data: [],//公共api请求参数->Time_Data
+    },
+    mutations: {
+        increment(state, val) {
+            state.siteId = val
+        },
+        /**
+         * @公共处理时区方法
+         */
+        TimeAll_function(state, time) {
+            for (let i in time) {
+                var Y = time[i].getFullYear() < 10 ? '0' + time[i].getFullYear() : time[i].getFullYear()
+                var M = (time[i].getMonth() + 1) < 10 ? '0' + (time[i].getMonth() + 1) : (time[i].getMonth() + 1)
+                var D = time[i].getDate() < 10 ? '0' + time[i].getDate() : time[i].getDate()
+                var HH = time[i].getHours() < 10 ? '0' + time[i].getHours() : time[i].getHours()
+                var MM = time[i].getMinutes() < 10 ? '0' + time[i].getMinutes() : time[i].getMinutes()
+                var SS = time[i].getSeconds() < 10 ? '0' + time[i].getSeconds() : time[i].getSeconds()
+                // console.log(Y + '-' + M + '-' + D + ' ' + HH + ':' + MM + ':' + SS)
+                state.Time_Data.push(Y + '-' + M + '-' + D + ' ' + HH + ':' + MM + ':' + SS)
+            }
+        }
+    }
+})

+ 15 - 13
src/utils/request.js

@@ -1,14 +1,17 @@
 import axios from 'axios'
-// import {MessageBox,  Message } from 'element-ui'
+import { ElMessage } from 'element-plus'
 // import store from '@/store'
 import { getToken } from '@/utils/auth'
 import qs from 'qs'
 
 // create an axios instance
+
 let baseURL = window.PLATFROM_CONFIG.baseUrl
+// console.log(process.env.VUE_APP_BASE_URL)
+// console.log(baseURL)
 const service = axios.create({
     baseURL: baseURL, // url = base url + request url
-    // baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url
+    // baseURL: process.env.VUE_APP_BASE_URL, // url = base url + request url
     // withCredentials: true, // send cookies when cross-domain requests
     timeout: 5000, // request timeout
     headers: {
@@ -95,17 +98,16 @@ service.interceptors.response.use(
         //     return res
         // }
     },
-    // error => {
-    //     console.log('err' + error) // for debug
-    //     Message({
-    //         messagebox:MessageBox,
-    //         message: error.message,
-    //         type: 'error',
-    //         duration: 5 * 1000
-    //     })
-    //     return Promise.reject(error)
-    // }
-    
+    error => {
+        console.log('err' + error) // for debug
+        ElMessage({
+            message: error.message,
+            type: 'error',
+            duration: 5 * 1000
+        })
+        return Promise.reject(error)
+    }
+
 )
 
 export default service

+ 26 - 21
src/views/index.vue

@@ -73,7 +73,7 @@
 </template>
 
 <script>
-
+import api from "../api/index";
 export default {
   name: "App",
   data() {
@@ -82,42 +82,39 @@ export default {
       name: "",
       router: [],
       home: false,
-      options: [
-        {
-          value: 1,
-          label: "测试站点一",
-        },
-        {
-          value: 2,
-          label: "测试站点二",
-        },
-        {
-          value: 3,
-          label: "测试站点三",
-        },
-        {
-          value: 4,
-          label: "测试站点四",
-        },
-      ],
-      value: "",
+      options: [],
+      value: 1,
     };
   },
   components: {},
   mounted() {
+    this.options_api();
     this.router = this.$router.options.routes;
   },
   methods: {
     el_select(val) {
-      console.log(val);
+      // console.log(val);
       for (let i = 0; i < this.options.length; i++) {
         if (this.options[i].value == val) {
           this.name = this.options[i].label;
         }
       }
     },
+    //下拉列表api请求
+    options_api() {
+      api.options_api().then((requset) => {
+        // console.log(requset)
+        var list = requset.data;
+        for (let i in list) {
+          this.options.push({ label: list[i].siteName, value: list[i].id });
+        }
+      });
+    },
   },
   watch: {
+    value(val) {
+      this.$store.commit("increment", val);
+    },
     $route: function () {
       var title = this.$route.meta.title;
       var name = this.$route.meta.name;
@@ -255,6 +252,11 @@ export default {
     letter-spacing: 3px;
     text-align: center;
     line-height: 1rem;
+    margin: 0 auto;
+    width: 6rem;
+    overflow: hidden;
+    white-space: nowrap;
+    text-overflow: ellipsis;
   }
   .rigth {
     position: absolute;
@@ -352,4 +354,7 @@ export default {
 .el-scrollbar__view {
   background: rgba(0, 244, 253, 0) !important;
 }
+.el-select__popper .el-scrollbar {
+  width: 2rem;
+}
 </style>

+ 120 - 64
src/views/site/Device_motore.vue

@@ -313,13 +313,26 @@ const time = new Date();
 const Y = time.getFullYear(); //年
 const M = time.getMonth(); //月
 const D = time.getDate(); //日
+// const H = time.getHours(); //时,
+// const MM = time.getMinutes(); //分
+// const S = time.getSeconds(); //秒
 // const timestamp = new Date().getTime();//时间戳
 
 export default {
   name: "site_details",
-  components: { devicesecond, devicedistion, deviceStateCurve },
+  components: {
+    devicesecond,
+    devicedistion,
+    deviceStateCurve,
+  },
+  computed: {
+    increment() {
+      return this.$store.state.siteId;
+    },
+  },
   data() {
     return {
+      siteId: 0, //请求api时传入的siteid
       activeName: "first", //最外层tabs切换name
       ac_content: "model", //实时数据tabs切换name
       se_content: "flow", //历史趋势tabs切换name
@@ -450,37 +463,8 @@ export default {
       ],
     };
   },
-  mounted() {
-    this.Real_time_api();
-  },
+  mounted() {},
   methods: {
-    //最外层tabs切换事件触发
-    handleClick(tab, event) {
-      //   console.log(tab, event);
-      //   console.log(tab.props.name)
-      this.ac_content = "model";
-      this.se_content = "flow";
-      for (let i in event.path) {
-        if (event.path[i].className === "el-tabs__nav is-top") {
-          var childNodes = event.path[i].childNodes;
-          for (let i in childNodes) {
-            if (childNodes[i].className === "el-tabs__active-bar is-top") {
-              childNodes[i].style.left = tab.index + "px";
-            }
-          }
-        }
-      }
-      if (tab.props.name === "fourth") {
-        this.Operation_status_api();
-      }
-    },
-
-    //历史趋势 内部tabs 点击事件触发
-    handleClick2(tab, event) {
-      console.log(tab, event);
-      this.se_label = tab.props.label;
-    },
-
     Time_all() {
       // console.log(this.defaultTime)
       // console.log("bbbbbbb",data)
@@ -641,6 +625,35 @@ export default {
       ];
     },
 
+    //最外层tabs切换事件触发
+    handleClick(tab, event) {
+      //   console.log(tab, event);
+      //   console.log(tab.props.name)
+      this.ac_content = "model";
+      this.se_content = "flow";
+      for (let i in event.path) {
+        if (event.path[i].className === "el-tabs__nav is-top") {
+          var childNodes = event.path[i].childNodes;
+          for (let i in childNodes) {
+            if (childNodes[i].className === "el-tabs__active-bar is-top") {
+              childNodes[i].style.left = tab.index + "px";
+            }
+          }
+        }
+      }
+      this.If_tabs_api(this.$store.state.siteId);
+    },
+    //实时数据 内部tabs 点击事件触发
+    handleClick1(tab, event) {
+      // console.log(tab, event);
+      tab || event;
+      this.If_tabs_api(this.$store.state.siteId);
+    },
+    //历史趋势 内部tabs 点击事件触发
+    handleClick2(tab, event) {
+      console.log(tab, event);
+      this.se_label = tab.props.label;
+    },
     //数据报表全选按钮事件
     handleCheckAllChange(val) {
       this.checkedCities = val ? cityOptions : [];
@@ -653,36 +666,12 @@ export default {
       this.isIndeterminate =
         checkedCount > 0 && checkedCount < this.cities.length;
     },
-    // 控制table中title盒子宽度
-    labelHead(h) {
-      let l = h.column.label.length;
-      if (l <= 6) {
-        l = l + 10;
-      }
-      let f = 16; //每个字大小,其实是每个字的比例值,大概会比字体大小差不多大一点,
-      if (h.column.label === "时间") {
-        h.column.minWidth = 100;
-      } else {
-        h.column.minWidth = f * l; //字大小乘个数即长度 ,注意不要加px像素,这里minWidth只是一个比例值,不是真正的长度 //然后将列标题放在一个div块中,注意块的宽度一定要100%,否则表格显示不完全
-      }
-      return (
-        "div",
-        { class: "table-head", style: { width: "100%" } },
-        [h.column.label]
-      );
-    },
-    //实时数据 内部tabs 点击事件触发
-    handleClick1(tab, event) {
-      // console.log(tab, event);
-      tab || event;
-      // this.Real_time_api();
-    },
     //实时数据api请求
-    Real_time_api() {
+    Real_time_api(siteid) {
       var _this = this;
       //模拟量api请求
       function rtAnalogData() {
-        api.rtAnalogData({ siteId: 1 }).then((requset) => {
+        api.rtAnalogData({ siteId: siteid }).then((requset) => {
           if (requset.status === "SUCCESS") {
             _this.model_array = requset.data;
           } else {
@@ -695,7 +684,7 @@ export default {
       }
       //状态量api请求
       function rtSwitchData() {
-        api.rtSwitchData({ siteId: 1 }).then((requset) => {
+        api.rtSwitchData({ siteId: siteid }).then((requset) => {
           if (requset.status === "SUCCESS") {
             for (let i in requset.data) {
               requset.data[i].value == 0
@@ -718,19 +707,56 @@ export default {
         : "";
     },
     //运行状态统计api请求
-    Operation_status_api() {
+    Operation_status_api(siteId) {
       var _this = this;
       function LoopStatus() {
-        api.LoopStatus({ siteId: 2 }).then((requset) => {
+        api.LoopStatus({ siteId: siteId }).then((requset) => {
           // console.log(requset);
-          _this.loadLive = requset.data.LoadLive;
-          _this.month_count = requset.data.month_count;
-          _this.day_count = requset.data.day_count;
+          if (requset.status === "SUCCESS") {
+            _this.loadLive = requset.data[0].LoadLive == 1 ? "ON" : "OFF";
+            _this.month_count = requset.data[0].month_count;
+            _this.day_count = requset.data[0].day_count;
+          } else {
+            ElMessage.success({
+              message: requset.msg,
+              type: "success",
+            });
+          }
         });
       }
+      function runStatus() {
+        _this.$store.commit("TimeAll_function", _this.fh_defaultTime);
+        var time = _this.$store.state.Time_Data;
+
+        api
+          .runStatus({ startTime: time[0], endTime: time[1], siteId: siteId })
+          .then((requset) => {
+            if (requset.status === "SUCCESS") {
+              console.log(requset);
+            } else {
+              ElMessage.success({
+                message: requset.msg,
+                type: "success",
+              });
+            }
+          });
+      }
       LoopStatus();
+      runStatus();
     },
-    //历史趋势ehcarts保存图片
+    /**
+     * @判断最外层tabs切换时请求api
+     */
+    If_tabs_api(siteid) {
+      this.activeName === "first"
+        ? this.Real_time_api(siteid) //调用实时数据api请求
+        : this.activeName === "fourth"
+        ? this.Operation_status_api(siteid) //调用运行状态统计api请求
+        : "";
+    },
+    /**
+     * @历史趋势ehcarts保存图片
+     */
     preservation() {
       var url = this.$refs.main.chart.getConnectedDataURL({
         pixelRatio: 15,
@@ -753,8 +779,38 @@ export default {
         $a.dispatchEvent(evt);
       }
     },
+    /**
+     * @控制table中title盒子宽度
+     */
+    labelHead(h) {
+      let l = h.column.label.length;
+      if (l <= 6) {
+        l = l + 10;
+      }
+      let f = 16; //每个字大小,其实是每个字的比例值,大概会比字体大小差不多大一点,
+      if (h.column.label === "时间") {
+        h.column.minWidth = 100;
+      } else {
+        h.column.minWidth = f * l; //字大小乘个数即长度 ,注意不要加px像素,这里minWidth只是一个比例值,不是真正的长度 //然后将列标题放在一个div块中,注意块的宽度一定要100%,否则表格显示不完全
+      }
+      return (
+        "div",
+        { class: "table-head", style: { width: "100%" } },
+        [h.column.label]
+      );
+    },
   },
   watch: {
+    /**
+     * @监听vuex存储值变化 用于调用api
+     */
+    increment: {
+      immediate: true, // 首次加载的时候执行函数
+      deep: true, // 深入观察,监听数组值,对象属性值的变化
+      handler: function () {
+        this.If_tabs_api(this.$store.state.siteId);
+      },
+    },
     /**
      * @title 监听列显示隐藏
      */

+ 17 - 5
src/views/site_ehcarts/Device_StateCurve.vue

@@ -92,7 +92,11 @@ export default {
     //次数分布折线图
     initChart() {
       var chart = echarts.init(this.$refs.statecurve);
-      var data = ["2021-07-01 00:00:00", "2021-07-13 16:03:00"];
+      var data_time = ["2021-07-01 00:00:00", "2021-07-14 16:03:00"];
+
+      var data = [1, 1].map((val, ind) => {
+        return [data_time[ind], val];
+      });
       var option;
       option = {
         title: [
@@ -155,6 +159,7 @@ export default {
           },
 
           axisLabel: {
+            showMaxLabel: true,
             textStyle: {
               color: "#fff", //坐标值得具体的颜色
             },
@@ -163,7 +168,7 @@ export default {
               month: `{MM}-{dd}\n{yyyy}`,
               day: `{MM}-{dd}\n{yyyy}`,
               hour: "{HH}:{mm}\n{MM}-{dd}",
-              minute: "{HH}:{mm}",
+              minute: "{HH}:{mm}\n{MM}-{dd}",
               second: "{HH}:{mm}:{ss}",
               millisecond: "{hh}:{mm}:{ss} {SSS}",
               none: "{yyyy}-{MM}-{dd} {hh}:{mm}:{ss} {SSS}",
@@ -196,6 +201,15 @@ export default {
               }
               return texts;
             },
+            textStyle: {
+              color: "#fff", //坐标值得具体的颜色
+            },
+          },
+          splitLine: {
+            lineStyle: {
+              // 使用深浅的间隔色
+              color: [this.color_XY],
+            },
           },
         },
         series: [
@@ -203,9 +217,7 @@ export default {
             name: "回路带电/停电",
             type: "line",
             smooth: true,
-            data: [1, 1].map((val, ind) => {
-              return [data[ind], val];
-            }),
+            data: data,
           },
         ],
       };

+ 37 - 52
src/views/site_ehcarts/Device_distion.vue

@@ -41,42 +41,23 @@ export default {
     return {
       chart: null,
       color_XY: "rgba(0, 244, 253, 0.1)",
-      itemStyle: [
-        {
-          normal: {
-            borderColor: "rgba(0,244,253,1)",
-            borderWidth: 2,
-            color: "rgba(6, 68, 83, 1)",
-            lineStyle: {
-              width: 2, //折线宽度
-              color: "rgba(0,244,253,1)",
-            },
-          },
-        },
-        {
-          normal: {
-            borderColor: "rgba(253,143,0,1)",
-            borderWidth: 2,
-            color: "rgba(6, 68, 83, 1)",
-            lineStyle: {
-              width: 2, //折线宽度
-              color: "rgba(253,143,0,1)",
-            },
-          },
-        },
-        {
-          normal: {
-            borderColor: "rgba(0,255,18,1)",
-            borderWidth: 2,
-            color: "rgba(6, 68, 83, 1)",
-            lineStyle: {
-              width: 2, //折线宽度
-              color: "rgba(0,255,18,1)",
-            },
-          },
-        },
-      ],
       msgFormSon: null,
+      data_time: [
+        "2021-07-01 00:00:00",
+        "2021-07-02 00:00:00",
+        "2021-07-03 00:00:00",
+        "2021-07-04 00:00:00",
+        "2021-07-05 00:00:00",
+        "2021-07-06 00:00:00",
+        "2021-07-07 00:00:00",
+        "2021-07-08 00:00:00",
+        "2021-07-09 00:00:00",
+        "2021-07-10 00:00:00",
+        "2021-07-11 00:00:00",
+        "2021-07-12 00:00:00",
+        "2021-07-13 00:00:00",
+        "2021-07-14 00:00:00",
+      ],
     };
   },
   mounted() {
@@ -91,9 +72,14 @@ export default {
   methods: {
     //次数分布折线图
     initChart() {
+      var _this = this;
       var chart = echarts.init(this.$refs.distion);
       var option;
-      var data = ["2021-07-01 00:00:00", "2021-07-02 00:00:00","2021-07-03 00:00:00", "2021-07-04 00:00:00", "2021-07-05 00:00:00","2021-07-06 00:00:00", "2021-07-13 16:03:00"];
+
+      var data = [0, 0, 0, 0, 0, 1, 1,1,1,1,1,1,1,1].map((val, ind) => {
+        return [_this.data_time[ind], val];
+      });
+
       option = {
         title: [
           {
@@ -137,7 +123,7 @@ export default {
                     params[i].seriesName
                   }:</div>
                   <div style="padding:4px 0px 0px 10px;">${
-                    params[i].data[1] == 1 ? "ON" : "OFF"
+                    params[i].data[1]
                   }</div>
               </div>`; //可以在这个方法中做改变
             }
@@ -155,6 +141,7 @@ export default {
           },
 
           axisLabel: {
+            showMaxLabel: true,
             textStyle: {
               color: "#fff", //坐标值得具体的颜色
             },
@@ -182,30 +169,28 @@ export default {
           containLabel: true,
         },
         yAxis: {
+          splitLine: {
+            lineStyle: {
+              // 使用深浅的间隔色
+              color: [this.color_XY],
+            },
+          },
           type: "value",
-          splitNumber: 1,
-          min: 0,
-          max: 1,
+          // splitNumber: 4,
+          // min: 4,
+          max: 4,
           axisLabel: {
-            formatter: function (value) {
-              var texts = [];
-              if (value == 0) {
-                texts.push("OFF");
-              } else {
-                texts.push("ON");
-              }
-              return texts;
+            textStyle: {
+              color: "#fff", //坐标值得具体的颜色
             },
           },
         },
         series: [
           {
-            name: "回路带电/停电",
+            name: `OFF次数`,
             type: "line",
             smooth: true,
-            data: [1, 1,1,0,1,1,1].map((val, ind) => {
-              return [data[ind], val];
-            }),
+            data: data,
           },
         ],
       };

+ 9 - 8
src/views/site_ehcarts/Device_second.vue

@@ -117,7 +117,13 @@ export default {
         "2020-01-02 01:55:00",
         "2020-01-02 02:00:00",
       ];
-
+      let arr = [
+        0, 0, 0, 0.03, 0, 0, 0, 0, 0, 0, 0, 0.005, 0, 0, 0, 0.03, 0, 0, 0, 0, 0,
+        0, 0, 0.005, 0, 0, 0, 0.03, 0, 0, 0, 0, 0, 0, 0, 0.005,
+      ].map((val, ind) => {
+        return [data[ind], val];
+      });
+      // console.log(arr);
       option = {
         // title: {
         //   // text: "折线图堆叠",
@@ -254,12 +260,7 @@ export default {
             // smooth: true,  //设置折线为圆滑曲线,false则有转折点
             name: "A相电流",
             type: "line",
-            data: [
-              0, 0, 0, 0.03, 0, 0, 0, 0, 0, 0, 0, 0.005, 0, 0, 0, 0.03, 0, 0, 0,
-              0, 0, 0, 0, 0.005, 0, 0, 0, 0.03, 0, 0, 0, 0, 0, 0, 0, 0.005,
-            ].map((val, ind) => {
-              return [data[ind], val];
-            }), //0
+            data: arr,
             itemStyle: this.itemStyle[0],
             symbolSize: 10,
             symbol: "circle",
@@ -301,6 +302,6 @@ export default {
       });
       this.chart = chart;
     },
-  }
+  },
 };
 </script>

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
test/js/app.js


+ 4 - 3
test/static/config.js

@@ -1,14 +1,15 @@
 // api 请求路径
 var PLATFROM_CONFIG = {};
-// PLATFROM_CONFIG.baseUrl = "http://121.40.217.77:8081/"
-PLATFROM_CONFIG.baseUrl = "http://172.16.120.155:8010/"
-
+// PLATFROM_CONFIG.baseUrl = "http://172.16.120.155:8010/" //杨强本地
+// PLATFROM_CONFIG.baseUrl = "http://172.16.1.196:8010/"  //超博本地
+PLATFROM_CONFIG.baseUrl = "http://124.71.174.104:80/api" //线上
 
 //alarming WEBSOCKET
 // let userInfo = window.localStorage.getItem("key");
 // var PLATFROM_WEBSOCKET = {};
 // PLATFROM_WEBSOCKET.wsUrl = `ws://172.16.120.246:8081/uskyWS?${userInfo}`
 
+
 //iframe 请求路径
 //http://www.thingjs.com/s/ef7ee6a73896c01bda77e679?params=105b0f77fd24654d4eebc434e9 初始路径http://172.16.120.246:9000/
 // var PLATFROM_IFRAME = {};

+ 13 - 0
vue.config.js

@@ -1,3 +1,4 @@
+// const path = require('path')
 // 基本结构
 module.exports = {
     // 打包后路径错误导致的空白页面问题。
@@ -18,4 +19,16 @@ module.exports = {
             }
         })
     },
+    // devServer: {
+    //     proxy: {
+    //         './': {
+    //             target: 'http://124.71.174.104:80/api',
+    //             ws: false,
+    //             changeOrigin: true,
+    //             pathRewrite: {
+    //                 '^/api': 'http://124.71.174.104:80/api'
+    //             }
+    //         }
+    //     }
+    // }
 }

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است