| | |
| | | "integrity": "sha1-4a1IbmxUUBY0xsOXxcEh2qODYHw=", |
| | | "dev": true |
| | | }, |
| | | "ansi-styles": { |
| | | "version": "4.2.1", |
| | | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", |
| | | "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", |
| | | "dev": true, |
| | | "optional": true, |
| | | "requires": { |
| | | "@types/color-name": "^1.1.1", |
| | | "color-convert": "^2.0.1" |
| | | } |
| | | }, |
| | | "cacache": { |
| | | "version": "13.0.1", |
| | | "resolved": "https://registry.npm.taobao.org/cacache/download/cacache-13.0.1.tgz?cache=0&sync_timestamp=1594429684526&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacache%2Fdownload%2Fcacache-13.0.1.tgz", |
| | |
| | | "unique-filename": "^1.1.1" |
| | | } |
| | | }, |
| | | "chalk": { |
| | | "version": "3.0.0", |
| | | "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", |
| | | "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", |
| | | "dev": true, |
| | | "optional": true, |
| | | "requires": { |
| | | "ansi-styles": "^4.1.0", |
| | | "supports-color": "^7.1.0" |
| | | } |
| | | }, |
| | | "color-convert": { |
| | | "version": "2.0.1", |
| | | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", |
| | | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", |
| | | "dev": true, |
| | | "optional": true, |
| | | "requires": { |
| | | "color-name": "~1.1.4" |
| | | } |
| | | }, |
| | | "color-name": { |
| | | "version": "1.1.4", |
| | | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", |
| | | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", |
| | | "dev": true, |
| | | "optional": true |
| | | }, |
| | | "find-cache-dir": { |
| | | "version": "3.3.1", |
| | | "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-3.3.1.tgz?cache=0&sync_timestamp=1583734591888&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-cache-dir%2Fdownload%2Ffind-cache-dir-3.3.1.tgz", |
| | |
| | | "locate-path": "^5.0.0", |
| | | "path-exists": "^4.0.0" |
| | | } |
| | | }, |
| | | "has-flag": { |
| | | "version": "4.0.0", |
| | | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", |
| | | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", |
| | | "dev": true, |
| | | "optional": true |
| | | }, |
| | | "locate-path": { |
| | | "version": "5.0.0", |
| | |
| | | "minipass": "^3.1.1" |
| | | } |
| | | }, |
| | | "supports-color": { |
| | | "version": "7.1.0", |
| | | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", |
| | | "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", |
| | | "dev": true, |
| | | "optional": true, |
| | | "requires": { |
| | | "has-flag": "^4.0.0" |
| | | } |
| | | }, |
| | | "terser-webpack-plugin": { |
| | | "version": "2.3.8", |
| | | "resolved": "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-2.3.8.tgz?cache=0&sync_timestamp=1597229611059&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-2.3.8.tgz", |
| | |
| | | "source-map": "^0.6.1", |
| | | "terser": "^4.6.12", |
| | | "webpack-sources": "^1.4.3" |
| | | } |
| | | }, |
| | | "vue-loader-v16": { |
| | | "version": "npm:vue-loader@16.0.0-beta.5", |
| | | "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.0.0-beta.5.tgz", |
| | | "integrity": "sha512-ciWfzNefqWlmzKznCWY9hl+fPP4KlQ0A9MtHbJ/8DpyY+dAM8gDrjufIdxwTgC4szE4EZC3A6ip/BbrqM84GqA==", |
| | | "dev": true, |
| | | "optional": true, |
| | | "requires": { |
| | | "@types/mini-css-extract-plugin": "^0.9.1", |
| | | "chalk": "^3.0.0", |
| | | "hash-sum": "^2.0.0", |
| | | "loader-utils": "^1.2.3", |
| | | "merge-source-map": "^1.1.0", |
| | | "source-map": "^0.6.1" |
| | | } |
| | | } |
| | | } |
| | |
| | | "integrity": "sha1-3TeelPDbgxCwgpH51kwyCXZmF/0=", |
| | | "dev": true |
| | | }, |
| | | "async-validator": { |
| | | "version": "1.8.5", |
| | | "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-1.8.5.tgz", |
| | | "integrity": "sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA==", |
| | | "requires": { |
| | | "babel-runtime": "6.x" |
| | | } |
| | | }, |
| | | "asynckit": { |
| | | "version": "0.4.0", |
| | | "resolved": "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz", |
| | |
| | | "integrity": "sha1-4eguTz6Zniz9YbFhKA0WoRH4ZCg=", |
| | | "dev": true |
| | | }, |
| | | "axios": { |
| | | "version": "0.19.2", |
| | | "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", |
| | | "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", |
| | | "requires": { |
| | | "follow-redirects": "1.5.10" |
| | | }, |
| | | "dependencies": { |
| | | "debug": { |
| | | "version": "3.1.0", |
| | | "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", |
| | | "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", |
| | | "requires": { |
| | | "ms": "2.0.0" |
| | | } |
| | | }, |
| | | "follow-redirects": { |
| | | "version": "1.5.10", |
| | | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", |
| | | "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", |
| | | "requires": { |
| | | "debug": "=3.1.0" |
| | | } |
| | | }, |
| | | "ms": { |
| | | "version": "2.0.0", |
| | | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", |
| | | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" |
| | | } |
| | | } |
| | | }, |
| | | "babel-eslint": { |
| | | "version": "10.1.0", |
| | | "resolved": "https://registry.npm.taobao.org/babel-eslint/download/babel-eslint-10.1.0.tgz", |
| | |
| | | "eslint-visitor-keys": "^1.0.0", |
| | | "resolve": "^1.12.0" |
| | | } |
| | | }, |
| | | "babel-helper-vue-jsx-merge-props": { |
| | | "version": "2.0.3", |
| | | "resolved": "https://registry.npmjs.org/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz", |
| | | "integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg==" |
| | | }, |
| | | "babel-loader": { |
| | | "version": "8.1.0", |
| | |
| | | "dev": true, |
| | | "requires": { |
| | | "object.assign": "^4.1.0" |
| | | } |
| | | }, |
| | | "babel-runtime": { |
| | | "version": "6.26.0", |
| | | "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", |
| | | "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", |
| | | "requires": { |
| | | "core-js": "^2.4.0", |
| | | "regenerator-runtime": "^0.11.0" |
| | | }, |
| | | "dependencies": { |
| | | "core-js": { |
| | | "version": "2.6.11", |
| | | "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", |
| | | "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" |
| | | }, |
| | | "regenerator-runtime": { |
| | | "version": "0.11.1", |
| | | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", |
| | | "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" |
| | | } |
| | | } |
| | | }, |
| | | "balanced-match": { |
| | |
| | | "deepmerge": { |
| | | "version": "1.5.2", |
| | | "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-1.5.2.tgz", |
| | | "integrity": "sha1-EEmdhohEza1P7ghC34x/bwyVp1M=", |
| | | "dev": true |
| | | "integrity": "sha1-EEmdhohEza1P7ghC34x/bwyVp1M=" |
| | | }, |
| | | "default-gateway": { |
| | | "version": "5.0.5", |
| | |
| | | "safer-buffer": "^2.1.0" |
| | | } |
| | | }, |
| | | "echarts": { |
| | | "version": "4.8.0", |
| | | "resolved": "https://registry.npmjs.org/echarts/-/echarts-4.8.0.tgz", |
| | | "integrity": "sha512-YwShpug8fWngj/RlgxDaYrLBoD+LsZUArrusjNPHpAF+is+gGe38xx4W848AwWMGoi745t3OXM52JedNrv+F6g==", |
| | | "requires": { |
| | | "zrender": "4.3.1" |
| | | } |
| | | }, |
| | | "ee-first": { |
| | | "version": "1.1.1", |
| | | "resolved": "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz", |
| | |
| | | "resolved": "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.533.tgz?cache=0&sync_timestamp=1597289736433&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.533.tgz", |
| | | "integrity": "sha1-1+XKTVfpvJmvh+++E+e+Xd5ymw8=", |
| | | "dev": true |
| | | }, |
| | | "element-ui": { |
| | | "version": "2.13.2", |
| | | "resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.13.2.tgz", |
| | | "integrity": "sha512-r761DRPssMPKDiJZWFlG+4e4vr0cRG/atKr3Eqr8Xi0tQMNbtmYU1QXvFnKiFPFFGkgJ6zS6ASkG+sellcoHlQ==", |
| | | "requires": { |
| | | "async-validator": "~1.8.1", |
| | | "babel-helper-vue-jsx-merge-props": "^2.0.0", |
| | | "deepmerge": "^1.2.0", |
| | | "normalize-wheel": "^1.0.1", |
| | | "resize-observer-polyfill": "^1.5.0", |
| | | "throttle-debounce": "^1.0.1" |
| | | } |
| | | }, |
| | | "elliptic": { |
| | | "version": "6.5.3", |
| | |
| | | "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=", |
| | | "dev": true |
| | | }, |
| | | "image-size": { |
| | | "version": "0.5.5", |
| | | "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", |
| | | "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", |
| | | "dev": true, |
| | | "optional": true |
| | | }, |
| | | "import-cwd": { |
| | | "version": "2.1.0", |
| | | "resolved": "https://registry.npm.taobao.org/import-cwd/download/import-cwd-2.1.0.tgz", |
| | |
| | | } |
| | | } |
| | | }, |
| | | "js-md5": { |
| | | "version": "0.7.3", |
| | | "resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz", |
| | | "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ==" |
| | | }, |
| | | "js-message": { |
| | | "version": "1.0.5", |
| | | "resolved": "https://registry.npm.taobao.org/js-message/download/js-message-1.0.5.tgz", |
| | |
| | | "dev": true, |
| | | "requires": { |
| | | "launch-editor": "^2.2.1" |
| | | } |
| | | }, |
| | | "less": { |
| | | "version": "3.12.2", |
| | | "resolved": "https://registry.npmjs.org/less/-/less-3.12.2.tgz", |
| | | "integrity": "sha512-+1V2PCMFkL+OIj2/HrtrvZw0BC0sYLMICJfbQjuj/K8CEnlrFX6R5cKKgzzttsZDHyxQNL1jqMREjKN3ja/E3Q==", |
| | | "dev": true, |
| | | "requires": { |
| | | "errno": "^0.1.1", |
| | | "graceful-fs": "^4.1.2", |
| | | "image-size": "~0.5.0", |
| | | "make-dir": "^2.1.0", |
| | | "mime": "^1.4.1", |
| | | "native-request": "^1.0.5", |
| | | "source-map": "~0.6.0", |
| | | "tslib": "^1.10.0" |
| | | }, |
| | | "dependencies": { |
| | | "mime": { |
| | | "version": "1.6.0", |
| | | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", |
| | | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", |
| | | "dev": true, |
| | | "optional": true |
| | | }, |
| | | "source-map": { |
| | | "version": "0.6.1", |
| | | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", |
| | | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", |
| | | "dev": true, |
| | | "optional": true |
| | | } |
| | | } |
| | | }, |
| | | "less-loader": { |
| | | "version": "6.2.0", |
| | | "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-6.2.0.tgz", |
| | | "integrity": "sha512-Cl5h95/Pz/PWub/tCBgT1oNMFeH1WTD33piG80jn5jr12T4XbxZcjThwNXDQ7AG649WEynuIzO4b0+2Tn9Qolg==", |
| | | "dev": true, |
| | | "requires": { |
| | | "clone": "^2.1.2", |
| | | "less": "^3.11.3", |
| | | "loader-utils": "^2.0.0", |
| | | "schema-utils": "^2.7.0" |
| | | }, |
| | | "dependencies": { |
| | | "clone": { |
| | | "version": "2.1.2", |
| | | "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", |
| | | "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", |
| | | "dev": true |
| | | }, |
| | | "loader-utils": { |
| | | "version": "2.0.0", |
| | | "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", |
| | | "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", |
| | | "dev": true, |
| | | "requires": { |
| | | "big.js": "^5.2.2", |
| | | "emojis-list": "^3.0.0", |
| | | "json5": "^2.1.2" |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | "leven": { |
| | |
| | | "to-regex": "^3.0.1" |
| | | } |
| | | }, |
| | | "native-request": { |
| | | "version": "1.0.7", |
| | | "resolved": "https://registry.npmjs.org/native-request/-/native-request-1.0.7.tgz", |
| | | "integrity": "sha512-9nRjinI9bmz+S7dgNtf4A70+/vPhnd+2krGpy4SUlADuOuSa24IDkNaZ+R/QT1wQ6S8jBdi6wE7fLekFZNfUpQ==", |
| | | "dev": true, |
| | | "optional": true |
| | | }, |
| | | "natural-compare": { |
| | | "version": "1.4.0", |
| | | "resolved": "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz", |
| | |
| | | "resolved": "https://registry.npm.taobao.org/normalize-url/download/normalize-url-3.3.0.tgz?cache=0&sync_timestamp=1596373165623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnormalize-url%2Fdownload%2Fnormalize-url-3.3.0.tgz", |
| | | "integrity": "sha1-suHE3E98bVd0PfczpPWXjRhlBVk=", |
| | | "dev": true |
| | | }, |
| | | "normalize-wheel": { |
| | | "version": "1.0.1", |
| | | "resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz", |
| | | "integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU=" |
| | | }, |
| | | "npm-run-path": { |
| | | "version": "2.0.2", |
| | |
| | | "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", |
| | | "dev": true |
| | | }, |
| | | "resize-observer-polyfill": { |
| | | "version": "1.5.1", |
| | | "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", |
| | | "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" |
| | | }, |
| | | "resolve": { |
| | | "version": "1.17.0", |
| | | "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.17.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve%2Fdownload%2Fresolve-1.17.0.tgz", |
| | |
| | | "neo-async": "^2.6.0" |
| | | } |
| | | }, |
| | | "throttle-debounce": { |
| | | "version": "1.1.0", |
| | | "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-1.1.0.tgz", |
| | | "integrity": "sha512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg==" |
| | | }, |
| | | "through": { |
| | | "version": "2.3.8", |
| | | "resolved": "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz", |
| | |
| | | "integrity": "sha1-UylVzB6yCKPZkLOp+acFdGV+CPI=", |
| | | "dev": true |
| | | }, |
| | | "vue-layer": { |
| | | "version": "1.2.0", |
| | | "resolved": "https://registry.npmjs.org/vue-layer/-/vue-layer-1.2.0.tgz", |
| | | "integrity": "sha512-ExCljOw/DGHPKHEtVl75+KuAU0teycPSu3eGpyNON6UTP0XdkunOiy0l3o8xKwCqyT90jsKn9Hmy0IBoXkxLpQ==" |
| | | }, |
| | | "vue-loader": { |
| | | "version": "15.9.3", |
| | | "resolved": "https://registry.npm.taobao.org/vue-loader/download/vue-loader-15.9.3.tgz?cache=0&sync_timestamp=1597130758101&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-loader%2Fdownload%2Fvue-loader-15.9.3.tgz", |
| | |
| | | "resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhash-sum%2Fdownload%2Fhash-sum-1.0.2.tgz", |
| | | "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", |
| | | "dev": true |
| | | } |
| | | } |
| | | }, |
| | | "vue-loader-v16": { |
| | | "version": "npm:vue-loader@16.0.0-beta.5", |
| | | "resolved": "https://registry.npm.taobao.org/vue-loader/download/vue-loader-16.0.0-beta.5.tgz?cache=0&sync_timestamp=1597130758101&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-loader%2Fdownload%2Fvue-loader-16.0.0-beta.5.tgz", |
| | | "integrity": "sha1-BO3IiUkrA6RF56xm6SJqcBdcqKA=", |
| | | "dev": true, |
| | | "optional": true, |
| | | "requires": { |
| | | "@types/mini-css-extract-plugin": "^0.9.1", |
| | | "chalk": "^3.0.0", |
| | | "hash-sum": "^2.0.0", |
| | | "loader-utils": "^1.2.3", |
| | | "merge-source-map": "^1.1.0", |
| | | "source-map": "^0.6.1" |
| | | }, |
| | | "dependencies": { |
| | | "ansi-styles": { |
| | | "version": "4.2.1", |
| | | "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.2.1.tgz", |
| | | "integrity": "sha1-kK51xCTQCNJiTFvynq0xd+v881k=", |
| | | "dev": true, |
| | | "optional": true, |
| | | "requires": { |
| | | "@types/color-name": "^1.1.1", |
| | | "color-convert": "^2.0.1" |
| | | } |
| | | }, |
| | | "chalk": { |
| | | "version": "3.0.0", |
| | | "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-3.0.0.tgz", |
| | | "integrity": "sha1-P3PCv1JlkfV0zEksUeJFY0n4ROQ=", |
| | | "dev": true, |
| | | "optional": true, |
| | | "requires": { |
| | | "ansi-styles": "^4.1.0", |
| | | "supports-color": "^7.1.0" |
| | | } |
| | | }, |
| | | "color-convert": { |
| | | "version": "2.0.1", |
| | | "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", |
| | | "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", |
| | | "dev": true, |
| | | "optional": true, |
| | | "requires": { |
| | | "color-name": "~1.1.4" |
| | | } |
| | | }, |
| | | "color-name": { |
| | | "version": "1.1.4", |
| | | "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", |
| | | "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", |
| | | "dev": true, |
| | | "optional": true |
| | | }, |
| | | "has-flag": { |
| | | "version": "4.0.0", |
| | | "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", |
| | | "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", |
| | | "dev": true, |
| | | "optional": true |
| | | }, |
| | | "source-map": { |
| | | "version": "0.6.1", |
| | | "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", |
| | | "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", |
| | | "dev": true, |
| | | "optional": true |
| | | }, |
| | | "supports-color": { |
| | | "version": "7.1.0", |
| | | "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.1.0.tgz", |
| | | "integrity": "sha1-aOMlkd9z4lrRxLSRCKLsUHliv9E=", |
| | | "dev": true, |
| | | "optional": true, |
| | | "requires": { |
| | | "has-flag": "^4.0.0" |
| | | } |
| | | } |
| | | } |
| | | }, |
| | |
| | | "dev": true |
| | | } |
| | | } |
| | | }, |
| | | "zrender": { |
| | | "version": "4.3.1", |
| | | "resolved": "https://registry.npmjs.org/zrender/-/zrender-4.3.1.tgz", |
| | | "integrity": "sha512-CeH2TpJeCdG0TAGYoPSAcFX2ogdug1K7LIn9UO/q9HWqQ54gWhrMAlDP9AwWYMUDhrPe4VeazQ4DW3msD96nUQ==" |
| | | } |
| | | } |
| | | } |
| | |
| | | "lint": "vue-cli-service lint" |
| | | }, |
| | | "dependencies": { |
| | | "axios": "^0.19.2", |
| | | "core-js": "^3.6.5", |
| | | "echarts": "^4.8.0", |
| | | "element-ui": "^2.13.2", |
| | | "js-md5": "^0.7.3", |
| | | "vue": "^2.6.11", |
| | | "vue-layer": "^1.2.0", |
| | | "vue-router": "^3.4.3" |
| | | }, |
| | | "devDependencies": { |
| | |
| | | "babel-eslint": "^10.1.0", |
| | | "eslint": "^6.7.2", |
| | | "eslint-plugin-vue": "^6.2.2", |
| | | "less": "^3.12.2", |
| | | "less-loader": "^6.2.0", |
| | | "vue-template-compiler": "^2.6.11" |
| | | }, |
| | | "eslintConfig": { |
New file |
| | |
| | | import axios from "./axios"; |
| | | import md5 from "js-md5"; |
| | | |
| | | /** |
| | | * 初始化连接池 |
| | | * 无参 |
| | | */ |
| | | export const initDBPool = () => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/LoginAction!initDBPool", |
| | | data: null |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * 登录系统 |
| | | * 参数 "uinf.UName="+用户名+"&uinf.Upassword="+密码+"&uinf.UId="+是否记住密码(0,1) |
| | | * 密码需要使用hex_md5加密 |
| | | */ |
| | | export const login = (username, password) => { |
| | | return axios({ |
| | | method: "post", |
| | | url: '/yckj/'+`zijing_sx/LoginAction_login?uinf.UName=${username}&uinf.Upassword=${md5(password)}&uinf.UId=0`, |
| | | data: null |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * 检测后台session |
| | | * 无参 |
| | | */ |
| | | export const checkLoginSession = () => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/LoginAction!getSessionByString", |
| | | data: null |
| | | }) |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询省 |
| | | * 无参 |
| | | */ |
| | | export const searchProvince = () => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/BattInfAction!serchAllStationName1", |
| | | data: null |
| | | }) |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询市 |
| | | * 参数:json={"StationName1":"北京市"} |
| | | */ |
| | | export const searchCity = (params) => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/BattInfAction!serchAllStationName2", |
| | | data: "json=" + JSON.stringify(params) |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * 查询区县 |
| | | * 参数:json = {"StationName1":"北京市","StationName2":"市辖区"} |
| | | */ |
| | | export const searchCounty = (params) => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/BattInfAction!serchAllStationName5", |
| | | data: "json=" + JSON.stringify(params) |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * 查询机房停电信息 |
| | | * 无参 |
| | | */ |
| | | export const searchPowerOff = () => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/BattPower_offAction!serchPowerOff", |
| | | data: null |
| | | }) |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询电池组健康率 |
| | | * 无参 |
| | | */ |
| | | export const searchBattGood = () => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/Battalarm_dataAction!serchGood", |
| | | data: null |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * 添加地图上的机房 |
| | | * 参数:json={"StationName1":"", "StationName2":"", "StationName5":"","StationName3":"" |
| | | * "Address":"","longitude":"","latitude":"","information":""} |
| | | */ |
| | | export const addMapStation = (params) => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/BattMap_informationAction!add", |
| | | data: "json=" + JSON.stringify(params) |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * 查询地图机房信息(结果中有机房的位置信息) |
| | | * 参数:json = {"StationName1":"北京市","StationName2":"市辖区","StationName5":"海淀区"} |
| | | */ |
| | | export const searchMapStation = (params) => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/BattMap_informationAction!serchStationName3", |
| | | data: "json=" + JSON.stringify(params) |
| | | }) |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询机房信息 |
| | | * 参数:json = {"StationName1":"北京市","StationName2":"市辖区","StationName5":"海淀区"} |
| | | */ |
| | | export const searchStation = (params) => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/BattInfAction!serchAllStationName", |
| | | data: "json=" + JSON.stringify(params) |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * 查询电池组信息 |
| | | * 参数:json = {"StationName1":"北京市","StationName2":"市辖区","StationName5":"海淀区","StationName3":"紫晶科技机房"} |
| | | */ |
| | | export const searchBattInfo = (params) => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/BattInfAction!serchAllBattinf", |
| | | data: "json=" + JSON.stringify(params) |
| | | }) |
| | | } |
| | | |
| | | //---------------------------- |
| | | /** |
| | | * 查询已添加到地图的机房 |
| | | * 参数:json={"adata":{"alm_cleared_type":0,"alm_id":1},"bplan":{"discharge_reason":3}} |
| | | */ |
| | | export const searchMap = (params) => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/BattMap_informationAction!searchUserManageStation", |
| | | data: "json=" + JSON.stringify(params) |
| | | }) |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询机房告警数,落后数和延时数 |
| | | * 参数:result={"StationId":"42070218"} |
| | | */ |
| | | export const searchRooms = (params) => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/BattInfAction!serchByIdLow", |
| | | data: "json=" + JSON.stringify(params) |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * 删除地图上的机房 |
| | | * 参数:json={"num":141,"StationId":"42070545", |
| | | * "StationName":"湖北省-武汉市-BTS-东西湖区-GDXG演示","StationName3":"", |
| | | * "Address":"湖北省-武汉市-东西湖区-公园南路","longitude":114.252963,"latitude":30.646197,"information":"", |
| | | * "FBSDeviceId":910000120} |
| | | */ |
| | | export const searchDeletRoom = (params) => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/BattMap_informationAction!del", |
| | | data: "json=" + JSON.stringify(params) |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * 根据机房的id查询机房的经纬度 |
| | | * 参数:json={"StationName1":"北京市","StationName2":"市辖区","StationName3":"紫晶科技机房","StationName5":"海淀区"} |
| | | */ |
| | | export const searchRoomLocation = (params) => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/BattMap_informationAction!serchAddressByStationName3", |
| | | data: "json=" + JSON.stringify(params) |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * 设置地图默认显示的中心坐标 |
| | | * 参数:json={"map_longitude":113.971219,"map_latitude":30.605035,"map_level":11} |
| | | */ |
| | | export const searchCoordinate = (params) => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/Positiomap_usrAction!add", |
| | | data: "json=" + JSON.stringify(params) |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * 获取地图的中心坐标并将地图移动该坐标 |
| | | * 无参 |
| | | */ |
| | | export const searchCoordinateMove = () => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/Positiomap_usrAction!serchByCondition", |
| | | data: null |
| | | }) |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询页面中的导航 |
| | | * 无参 |
| | | */ |
| | | export const addNavigation = () => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/CustompageAction!searchAll", |
| | | data: null |
| | | }) |
| | | } |
New file |
| | |
| | | import axios from 'axios'; |
| | | import router from '@/router/index.js'; |
| | | |
| | | // 添加请求拦截器 |
| | | /* axios.interceptors.request.use(function (config) { |
| | | if (process.env.NODE_ENV != 'dev') { |
| | | config.url = config.url.replace('/yckj', ''); |
| | | } |
| | | // 在发送请求之前做些什么 |
| | | return config; |
| | | }, function (error) { |
| | | // 对请求错误做些什么 |
| | | return Promise.reject(error); |
| | | }); */ |
| | | |
| | | // 添加响应拦截器 |
| | | axios.interceptors.response.use(function (response) { |
| | | // 对响应数据做点什么 |
| | | return response; |
| | | }, function (error) { |
| | | // 对响应错误做点什么 |
| | | if (error && error.response) { |
| | | switch (error.response.status) { |
| | | case 401: |
| | | router.push("/login"); |
| | | break; |
| | | case 403: |
| | | router.push("/login"); |
| | | break; |
| | | case 404: |
| | | router.push("/login"); |
| | | break; |
| | | default: |
| | | } |
| | | } |
| | | return Promise.reject(error); |
| | | }); |
| | | |
| | | export default axios; |
New file |
| | |
| | | import axios from "./axios"; |
| | | |
| | | /** |
| | | * 获取充放电记录 |
| | | * 参数:json={"num":910000119,"BattGroupId":1005129} |
| | | * 返回结果说明: |
| | | * test_type==3&&test_starttype==3?核容放电:监测放电 |
| | | * test_type==2&&test_starttype=3?核容充电:监测充电 |
| | | * test_starttime 开始测试时间 |
| | | * test_record_count 后台记录的笔数 |
| | | * test_stoptype_reason 停止原因 |
| | | */ |
| | | |
| | | export const searchBattTestData = (params) => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/Batttestdata_infAction_searchBattTestInfDataById", |
| | | data: "json=" + JSON.stringify(params) |
| | | }) |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取顶部电池组信息 |
| | | * 参数:btds.BattGroupId=1005129&btds.test_record_count=7 |
| | | */ |
| | | export const searchBattTestDataStop = (BattGroupId,test_record_count) => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/BatttestdatastopAction_findByInfo?btds.BattGroupId=" + BattGroupId + "&btds.test_record_count=" + test_record_count, |
| | | data: null |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * 查询历史数据 |
| | | * 参数: json={"BattGroupId":1005129,"test_record_count":"7"} |
| | | */ |
| | | export const searchHistory = (params) => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/BatttestdataAction!findhistory", |
| | | data: "json=" + JSON.stringify(params) |
| | | }) |
| | | } |
New file |
| | |
| | | import axios from "./axios"; |
| | | |
| | | /** |
| | | * 查询所有的阀值 |
| | | * 无参 |
| | | */ |
| | | export const realTimeMonitoring = () => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/Batt_param_lowAction_searchAll", |
| | | data: null |
| | | }) |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询均衡供电模块信息 |
| | | * json={"dev_id": ""} |
| | | */ |
| | | export const realTimePower = (params) => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/JhStateAction_action_serchByCondition", |
| | | data: "json=" + JSON.stringify(params) |
| | | }) |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 根据设备id查询设备当前的开关状态 |
| | | * json={"dev_id":910000022} |
| | | */ |
| | | export const realTimePoweOff = (params) => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/Fbs9100_stateAction_action_serchContactorState", |
| | | data: "json=" + JSON.stringify(params) |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * 根据电池组id查询电池组实时组端信息 |
| | | * 参数:rtstate.battGroupId=1005074 |
| | | */ |
| | | export const realTimeGroup = (params) => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/Batt_rtstateAction_serchByCondition?rtstate.battGroupId=" + params, |
| | | data: null |
| | | }) |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 根据电池组id查询该电池组中所有电池信息 (图表数据) |
| | | * json={"BattGroupId":1005074} |
| | | */ |
| | | export const realTimeSearch = (params) => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/Batt_rtdataAction_serchByCondition", |
| | | data: "json=" + JSON.stringify(params) |
| | | }) |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询电池告警参数 |
| | | * 参数:json={"dev_id":910000022} |
| | | */ |
| | | export const realTimeAlarm = (params) => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/Dev_paramAction!serchParamById", |
| | | data: "json=" + JSON.stringify(params) |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * 获取当前选中的单体是否已经被添加 |
| | | * 参数:json={"BattGroupId":1005151,"MonNum":"1"} |
| | | */ |
| | | export const realTimeNot = (params) => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/Batt_attentionAction!judgeInOrNot", |
| | | data: "json=" + JSON.stringify(params) |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * 添加关注单体 |
| | | * json={"BattGroupId":"1005151","MonNum":"1"} |
| | | */ |
| | | export const realTimeAdd = (params) => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/Batt_attentionAction!add", |
| | | data: "json=" + JSON.stringify(params) |
| | | }) |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询自己管理的电池组中充放电状态 |
| | | * 无参 |
| | | */ |
| | | export const realTimeState = () => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/Batt_rtstateAction!serchDisOrChargrNew", |
| | | data: null |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * 查询用户的图表颜色参数 |
| | | * 无参 |
| | | */ |
| | | export const realTimeColor = () => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/Chart_ColorAction!serchByCondition", |
| | | data: null |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * 修改用户的图表颜色参数 |
| | | * 参数:json={"min_color":"#FF0000","max_color":"#00FF00","normal_color":"#33ACFF", |
| | | * "change_color":"#FFFF00","warn_color":"#FF00FF"} |
| | | */ |
| | | export const realTimeColorParams = (params) => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/Chart_ColorAction!update", |
| | | data: "json=" + JSON.stringify(params) |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * 查询所有61850设备的告警状态 |
| | | * 无参 |
| | | */ |
| | | export const realTimeAlarmStatus = () => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/Fbs9100_stateAction_action_serchBy61850Alarms", |
| | | data: null |
| | | }) |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询电池单体的内阻曲线数据 (弹出框) |
| | | * 参数:json={"BattGroupId":1005151,"MonNum":11} |
| | | */ |
| | | export const realTimeCurve = (params) => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "/yckj/zijing_sx/BattresdataAction!serchByMonHistory", |
| | | data: "json=" + JSON.stringify(params) |
| | | }) |
| | | } |
| | | |
| | | |
| | |
| | | toggleChange() { |
| | | console.log(this.hide); |
| | | this.hide = this.hide?false:true; |
| | | |
| | | } |
| | | }, |
| | | computed: { |
| | |
| | | <template> |
| | | <flex-layout direction="row" class="page-index"> |
| | | <content-box title="站点列表" |
| | | slot="header" |
| | | toggle |
| | | style="width:320px"> |
| | | <my-el-tree |
| | | :data="data" |
| | | @node-click="nodeClick"></my-el-tree> |
| | | <content-box title="站点列表" slot="header" toggle style="width:320px"> |
| | | <my-el-tree :data="data" @node-click="nodeClick"></my-el-tree> |
| | | </content-box> |
| | | <div class="map-container"> |
| | | <div ref="map" class="map-content"></div> |
| | | </div> |
| | | <content-box title="站点列表" |
| | | slot="footer" style="width:380px" no-header> |
| | | <content-box title="站点列表" slot="footer" style="width:380px" no-header> |
| | | <div class="pie-list"> |
| | | <div class="pie-item"> |
| | | <pie-chart ref="chart1" id="chart1"></pie-chart> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import TMap from 'TMap' |
| | | import ContentBox from '../components/ContentBox' |
| | | import MyElTree from '../components/MyElTree' |
| | | import PieChart from '../components/chart/PieChart' |
| | | import TMap from "TMap"; |
| | | import ContentBox from "../components/ContentBox"; |
| | | import MyElTree from "../components/MyElTree"; |
| | | import PieChart from "../components/chart/PieChart"; |
| | | |
| | | import { |
| | | searchPowerOff, |
| | | searchBattGood, |
| | | |
| | | } from "@/assets/js/api"; |
| | | |
| | | let map, chart1, chart2, chart3, chart4; |
| | | export default { |
| | | components: { |
| | | ContentBox, |
| | | MyElTree, |
| | | PieChart, |
| | | PieChart |
| | | }, |
| | | data() { |
| | | return { |
| | | data: [ |
| | | /* data: [ |
| | | { |
| | | id: '湖北省', |
| | | label: '湖北省', |
| | |
| | | } |
| | | ] |
| | | } |
| | | ], |
| | | } |
| | | ], */ |
| | | }; |
| | | }, |
| | | /* computed: { |
| | | data() { |
| | | return [ |
| | | { |
| | | id: "湖北省", |
| | | label: "湖北省", |
| | | children: [ |
| | | { |
| | | id: "湖北省-武汉市", |
| | | label: "武汉市", |
| | | children: [ |
| | | { |
| | | id: "河南省-驻马店市-驿城区", |
| | | label: "驿城区", |
| | | children: [ |
| | | { |
| | | id: "河南省-驻马店市-驿城区", |
| | | label: "驿城区", |
| | | children: [] |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
| | | ]; |
| | | } |
| | | }, */ |
| | | methods: { |
| | | initMap() { |
| | | map = new TMap.Map(this.$refs.map, { |
| | |
| | | }); |
| | | console.log(map); |
| | | }, |
| | | /* 城市列表 */ |
| | | nodeClick(data) { |
| | | console.log(data); |
| | | |
| | | |
| | | }, |
| | | initChart() { |
| | | // 饼状图1 |
| | | chart1 = { |
| | | //红,蓝,绿 |
| | | color: ['#FF0000', '#1E90FF', '#00FF00'], |
| | | color: ["#FF0000", "#1E90FF", "#00FF00"], |
| | | title: { |
| | | text: '机房停电', |
| | | text: "机房停电" |
| | | }, |
| | | series:[{ |
| | | name: '电池信息', |
| | | series: [ |
| | | { |
| | | name: "电池信息", |
| | | data:[ |
| | | {value: 0, name: '机房停电'}, |
| | | {value: 0, name: '机房掉站'}, |
| | | {value: 0, name: '机房未停电'}, |
| | | { value: this.powerOff.sum, name: "机房停电" }, |
| | | { value: 0, name: "机房掉站" }, |
| | | { |
| | | value: this.powerOff.newsum - this.powerOff.sum, |
| | | name: "机房未停电" |
| | | } |
| | | ] |
| | | }] |
| | | } |
| | | ] |
| | | }; |
| | | |
| | | // 饼状图2 |
| | | chart2 = { |
| | | // 红,黄,绿,蓝 |
| | | color: ['#FF0000', '#FFD700', '#00FF00', '#1E90FF'], |
| | | color: ["#FF0000", "#FFD700", "#00FF00", "#1E90FF"], |
| | | title: { |
| | | text: '机房续航能力', |
| | | text: "机房续航能力" |
| | | }, |
| | | series:[{ |
| | | name: '电池信息', |
| | | series: [ |
| | | { |
| | | name: "电池信息", |
| | | data:[ |
| | | {value: 0, name: '续航不足1小时'}, |
| | | {value: 0, name: '续航不足1~2小时'}, |
| | | {value: 0, name: '续航不足2~3小时'}, |
| | | {value: 0, name: '续航3小时以上'}, |
| | | { value: 0, name: "续航不足1小时" }, |
| | | { value: 0, name: "续航不足1~2小时" }, |
| | | { value: 0, name: "续航不足2~3小时" }, |
| | | { value: 0, name: "续航3小时以上" } |
| | | ] |
| | | }] |
| | | } |
| | | ] |
| | | }; |
| | | |
| | | // 饼状图3 |
| | | chart3 = { |
| | | // 红, 黄,绿,紫色 |
| | | color: ['#FF0000', '#FFD700', '#00FF00', '#BA55D3'], |
| | | color: ["#FF0000", "#FFD700", "#00FF00", "#BA55D3"], |
| | | title: { |
| | | text: '电池状态', |
| | | text: "电池状态" |
| | | }, |
| | | series:[{ |
| | | name: '电池信息', |
| | | series: [ |
| | | { |
| | | name: "电池信息", |
| | | data:[ |
| | | {value: 0, name: '放电'}, |
| | | {value: 0, name: '充电'}, |
| | | {value: 0, name: '浮充'}, |
| | | {value: 0, name: '均充'}, |
| | | { value: 0, name: "放电" }, |
| | | { value: 0, name: "充电" }, |
| | | { value: 0, name: "浮充" }, |
| | | { value: 0, name: "均充" } |
| | | ] |
| | | }] |
| | | } |
| | | ] |
| | | }; |
| | | |
| | | // 饼状图4 |
| | | chart4 = { |
| | | // 红, 深蓝色, 蓝,浅红,绿, 黄 |
| | | color: ['#FF0000', '#00008B', '#1E90FF', '#F08080', '#7CFC00','#FFD700'], |
| | | color: [ |
| | | "#FF0000", |
| | | "#00008B", |
| | | "#1E90FF", |
| | | "#F08080", |
| | | "#7CFC00", |
| | | "#FFD700" |
| | | ], |
| | | title: { |
| | | text: '电池告警率', |
| | | text: "电池告警率" |
| | | }, |
| | | series:[{ |
| | | name: '电池信息', |
| | | series: [ |
| | | { |
| | | name: "电池信息", |
| | | data:[ |
| | | {value: 0, name: '在线电压'}, |
| | | {value: 0, name: '组端电压'}, |
| | | {value: 0, name: '充电电流'}, |
| | | {value: 0, name: '放电电流'}, |
| | | {value: 0, name: '单体电压'}, |
| | | {value: 0, name: '容量告警'}, |
| | | { value: 0, name: "在线电压" }, |
| | | { value: 0, name: "组端电压" }, |
| | | { value: 0, name: "充电电流" }, |
| | | { value: 0, name: "放电电流" }, |
| | | { value: 0, name: "单体电压" }, |
| | | { value: 0, name: "容量告警" } |
| | | ] |
| | | }] |
| | | } |
| | | ] |
| | | }; |
| | | |
| | | // 设置图表 |
| | |
| | | this.$refs.chart2.setOption(chart2); |
| | | this.$refs.chart3.setOption(chart3); |
| | | this.$refs.chart4.setOption(chart4); |
| | | }, |
| | | //获取echarts图表电池数据 /* 电池组健康率 机房停电信息 */ |
| | | async getBatteryData() { |
| | | const [battGood, powerOff] = await Promise.all([ |
| | | searchBattGood(), |
| | | searchPowerOff() |
| | | ]); |
| | | if (battGood.status !== 200) { |
| | | return this.$message.error(battGood.statusText); |
| | | } |
| | | if (powerOff.status !== 200) { |
| | | return this.$message.error(powerOff.statusText); |
| | | } |
| | | this.battGood = JSON.parse(battGood.data.result); |
| | | this.powerOff = JSON.parse(powerOff.data.result); |
| | | /* console.log(' this.battGood', this.battGood); |
| | | console.log(' this.powerOff', this.powerOff); */ |
| | | this.initChart(); |
| | | } |
| | | }, |
| | | mounted() { |
| | | // 初始化地图 |
| | | this.initMap(); |
| | | // 初始化饼状图 |
| | | this.initChart(); |
| | | this.getBatteryData(); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .page-index { |
| | | color: #FFFFFF; |
| | | color: #ffffff; |
| | | } |
| | | .map-container { |
| | | margin-right: 4px; |
New file |
| | |
| | | <template> |
| | | <div class="login_container"> |
| | | <div class="login_box"> |
| | | <!-- 头像区 --> |
| | | <div class="avatar"> |
| | | <img src="@/assets/images/login_logo.jpg"> |
| | | </div> |
| | | <!-- 登录表单区 --> |
| | | <div style="margin: 20px;"></div> |
| | | <el-form label-width="0px" class="login_from" :model="loginForm" ref="loginFormRef"> |
| | | <!-- 用户名 --> |
| | | <el-form-item prop="username"> |
| | | <el-input v-model="loginForm.username" prefix-icon="iconfont icon-user"></el-input> |
| | | </el-form-item> |
| | | <!-- 密码 --> |
| | | <el-form-item prop="password"> |
| | | <el-input |
| | | v-model="loginForm.password" |
| | | prefix-icon="iconfont icon-3702mima" |
| | | type="password" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item class="btns"> |
| | | <el-button type="primary" @click="onSubmit">登录</el-button> |
| | | <el-button type="info">注册</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { login } from "@/assets/js/api"; |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | labelPosition: "right" /* 登录表单 */, |
| | | formLabelAlign: { |
| | | name: "", |
| | | region: "", |
| | | type: "" |
| | | }, |
| | | /* 登录表单el-form 的 数据绑定 */ |
| | | loginForm: { |
| | | username: "admin", |
| | | password: "admin" |
| | | } |
| | | }; |
| | | }, |
| | | methods: { |
| | | onSubmit() { |
| | | this.$refs.loginFormRef.validate(async valid => { |
| | | if (!valid) return; |
| | | const { data: res } = await login( |
| | | this.loginForm.username, |
| | | this.loginForm.password |
| | | ); |
| | | if (res.result && JSON.parse(res.result).code == 0) |
| | | return this.$message.error(JSON.parse(res.result).msg); |
| | | this.$message.success("登录成功"); |
| | | this.$router.push("/home"); |
| | | }); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | /* 登录大盒子背景 */ |
| | | .login_container { |
| | | width: 100%; |
| | | } |
| | | |
| | | /* 登录框 */ |
| | | .login_box { |
| | | width: 450px; |
| | | height: 320px; |
| | | background-color: #fff; |
| | | border-radius: 3px; |
| | | position: absolute; |
| | | left: 50%; |
| | | top: 50%; |
| | | transform: translate(-50%, -50%); |
| | | |
| | | /* v图片的盒子 */ |
| | | .avatar { |
| | | height: 130px; |
| | | width: 130px; |
| | | border: 1px solid #eee; |
| | | border-radius: 50%; /* 边框圆角 */ |
| | | padding: 10px; |
| | | box-shadow: 0 0 10px #ddd; |
| | | position: absolute; |
| | | left: 50%; |
| | | transform: translate(-50%, -50%); |
| | | background-color: #fff; |
| | | /* v图片 */ |
| | | img { |
| | | width: 130px; |
| | | height: 130px; |
| | | border-radius: 50%; |
| | | background-color: #eeeeee; |
| | | } |
| | | } |
| | | } |
| | | |
| | | /* 登录表单框 */ |
| | | .login_from { |
| | | position: absolute; |
| | | bottom: 0; |
| | | width: 100%; |
| | | padding: 0 20px; |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | /* 登录按钮 */ |
| | | .btns { |
| | | text-align: center; |
| | | } |
| | | </style> |
| | |
| | | export default [ |
| | | { |
| | | path: '/', |
| | | redirect: '/login' |
| | | }, |
| | | |
| | | { |
| | | path: '/login', |
| | | name: 'login', |
| | | meta: {}, |
| | | component: (resolve) => require(['@/pages/login.vue'], resolve) |
| | | }, |
| | | { |
| | | path: '/home', |
| | | meta: {}, |
| | | component: (resolve)=>require(['../pages/home.vue'], resolve) |
| | |
| | | config.externals = { |
| | | TMap: "TMap" |
| | | } |
| | | }, |
| | | devServer: { |
| | | // host: 'localhost', |
| | | port: 8080, |
| | | open: true, // 自动打开浏览器 |
| | | proxy: { |
| | | '/yckj': { |
| | | /* target: 'http://192.168.10.222:8080/', */ // 正式环境 (公司电脑服务器) 服务器接口域名 |
| | | target:'http://localhost:8919/', /* 本机开启的服务器 */ |
| | | changeOrigin: true, //是否跨域 |
| | | pathRewrite: { |
| | | '^/yckj': '' /* 本地域名 */ |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |