| | |
| | | "integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=", |
| | | "dev": true |
| | | }, |
| | | "ansi-styles": { |
| | | "version": "4.3.0", |
| | | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", |
| | | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", |
| | | "dev": true, |
| | | "optional": true, |
| | | "requires": { |
| | | "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": "4.1.2", |
| | | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", |
| | | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", |
| | | "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 |
| | | }, |
| | | "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 |
| | | }, |
| | | "loader-utils": { |
| | | "version": "2.0.2", |
| | | "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", |
| | | "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", |
| | | "dev": true, |
| | | "optional": true, |
| | | "requires": { |
| | | "big.js": "^5.2.2", |
| | | "emojis-list": "^3.0.0", |
| | | "json5": "^2.1.2" |
| | | } |
| | | }, |
| | | "source-map": { |
| | | "version": "0.6.1", |
| | | "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", |
| | |
| | | "requires": { |
| | | "figgy-pudding": "^3.5.1", |
| | | "minipass": "^3.1.1" |
| | | } |
| | | }, |
| | | "supports-color": { |
| | | "version": "7.2.0", |
| | | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", |
| | | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", |
| | | "dev": true, |
| | | "optional": true, |
| | | "requires": { |
| | | "has-flag": "^4.0.0" |
| | | } |
| | | }, |
| | | "terser-webpack-plugin": { |
| | |
| | | "source-map": "^0.6.1", |
| | | "terser": "^4.6.12", |
| | | "webpack-sources": "^1.4.3" |
| | | } |
| | | }, |
| | | "vue-loader-v16": { |
| | | "version": "npm:vue-loader@16.8.3", |
| | | "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz", |
| | | "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==", |
| | | "dev": true, |
| | | "optional": true, |
| | | "requires": { |
| | | "chalk": "^4.1.0", |
| | | "hash-sum": "^2.0.0", |
| | | "loader-utils": "^2.0.0" |
| | | } |
| | | } |
| | | } |
| | |
| | | "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", |
| | |
| | | } |
| | | } |
| | | }, |
| | | "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.2.2", |
| | | "resolved": "https://registry.npm.taobao.org/babel-loader/download/babel-loader-8.2.2.tgz?cache=0&sync_timestamp=1606424705083&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-loader%2Fdownload%2Fbabel-loader-8.2.2.tgz", |
| | |
| | | "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.12", |
| | | "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", |
| | | "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" |
| | | }, |
| | | "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", |
| | |
| | | "resolved": "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.620.tgz", |
| | | "integrity": "sha1-xvNqfjmKzJ19EnQ6b1jVNvvFhwA=", |
| | | "dev": true |
| | | }, |
| | | "element-ui": { |
| | | "version": "2.15.6", |
| | | "resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.15.6.tgz", |
| | | "integrity": "sha512-rcYXEKd/j2G0AgficAOk1Zd1AsnHRkhmrK4yLHmNOiimU2JfsywgfKUjMoFuT6pQx0luhovj8lFjpE4Fnt58Iw==", |
| | | "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-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", |
| | | "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz", |
| | |
| | | "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.19.0", |
| | | "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.19.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==" |
| | | }, |
| | | "through2": { |
| | | "version": "2.0.5", |
| | | "resolved": "https://registry.npm.taobao.org/through2/download/through2-2.0.5.tgz?cache=0&sync_timestamp=1593478693312&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthrough2%2Fdownload%2Fthrough2-2.0.5.tgz", |
| | |
| | | "resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz", |
| | | "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", |
| | | "dev": true |
| | | } |
| | | } |
| | | }, |
| | | "vue-loader-v16": { |
| | | "version": "npm:vue-loader@16.8.3", |
| | | "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz", |
| | | "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==", |
| | | "dev": true, |
| | | "optional": true, |
| | | "requires": { |
| | | "chalk": "^4.1.0", |
| | | "hash-sum": "^2.0.0", |
| | | "loader-utils": "^2.0.0" |
| | | }, |
| | | "dependencies": { |
| | | "ansi-styles": { |
| | | "version": "4.3.0", |
| | | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", |
| | | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", |
| | | "dev": true, |
| | | "optional": true, |
| | | "requires": { |
| | | "color-convert": "^2.0.1" |
| | | } |
| | | }, |
| | | "chalk": { |
| | | "version": "4.1.2", |
| | | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", |
| | | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", |
| | | "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 |
| | | }, |
| | | "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 |
| | | }, |
| | | "loader-utils": { |
| | | "version": "2.0.2", |
| | | "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", |
| | | "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", |
| | | "dev": true, |
| | | "optional": true, |
| | | "requires": { |
| | | "big.js": "^5.2.2", |
| | | "emojis-list": "^3.0.0", |
| | | "json5": "^2.1.2" |
| | | } |
| | | }, |
| | | "supports-color": { |
| | | "version": "7.2.0", |
| | | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", |
| | | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", |
| | | "dev": true, |
| | | "optional": true, |
| | | "requires": { |
| | | "has-flag": "^4.0.0" |
| | | } |
| | | } |
| | | } |
| | | }, |
| | |
| | | "vant": "^2.12.44", |
| | | "vue": "^2.6.11", |
| | | "vue-router": "^3.2.0", |
| | | "vuex": "^3.4.0" |
| | | "vuex": "^3.4.0", |
| | | "element-ui": "^2.13.2" |
| | | }, |
| | | "devDependencies": { |
| | | "@vue/cli-plugin-babel": "~4.5.0", |
| | |
| | | propList: ["*"], |
| | | viewportUnit: "vw", //指定需要转换成的视窗单位,建议使用vw |
| | | fontViewportUnit: "vw", //字体使用的视口单位 |
| | | selectorBlackList: ['.ignore'], // 指定不转换为视窗单位的类,可以自定义,可以无限添加,建议定义一至两个通用的类名 |
| | | selectorBlackList: ['.ignore', '.el-'], // 指定不转换为视窗单位的类,可以自定义,可以无限添加,建议定义一至两个通用的类名 |
| | | minPixelValue: 1, // 小于或等于`1px`不转换为视窗单位,你也可以设置为你想要的值 |
| | | mediaQuery: true, // 允许在媒体查询中转换`px` |
| | | exclude: [], |
New file |
| | |
| | | export default { |
| | | realTime: [ |
| | | { |
| | | key: "eleLine", |
| | | type: 1, |
| | | label: "电路拓扑图", |
| | | show: 1, |
| | | }, |
| | | { |
| | | key: "vol", |
| | | type: 1, |
| | | label: "电压", |
| | | show: 1, |
| | | }, |
| | | { |
| | | key: "res", |
| | | type: 1, |
| | | label: "内阻", |
| | | show: 1, |
| | | }, |
| | | { |
| | | key: "temp", |
| | | type: 1, |
| | | label: "温度", |
| | | show: 1, |
| | | }, |
| | | { |
| | | key: "conduct", |
| | | type: 1, |
| | | label: "电导", |
| | | show: 1, |
| | | }, |
| | | { |
| | | key: "monConnRes", |
| | | type: 1, |
| | | label: "链接条阻值", |
| | | show: 1, |
| | | }, |
| | | { |
| | | key: "curr", |
| | | type: 1, |
| | | label: "均衡电流", |
| | | show: 1, |
| | | }, |
| | | { |
| | | key: "leakVol", |
| | | type: 1, |
| | | label: "漏液电压", |
| | | show: 1, |
| | | }, |
| | | { |
| | | key: "tblData", |
| | | type: 1, |
| | | label: "数据表格", |
| | | show: 1, |
| | | }, |
| | | { |
| | | key: "dianchigaojing", |
| | | type: 1, |
| | | label: "电池告警", |
| | | show: 1, |
| | | }, |
| | | { |
| | | key: "niBianInfoTab", |
| | | type: 1, |
| | | label: "逆变信息", |
| | | show: 1, |
| | | }, |
| | | { |
| | | key: "jggdInfoTab", |
| | | type: 1, |
| | | label: "均衡供电", |
| | | show: 1, |
| | | }, |
| | | { |
| | | key: "elePrice", |
| | | type: 1, |
| | | label: "电价统计分析", |
| | | show: 1, |
| | | }, |
| | | { |
| | | key: "bmsInfo", |
| | | type: 1, |
| | | label: "BMS信息", |
| | | show: 1 |
| | | }, |
| | | ], |
| | | eleMonomer() { |
| | | return [ |
| | | { |
| | | key: "vol", |
| | | type: 2, |
| | | label: "电压", |
| | | show: 1, |
| | | value: 2, |
| | | }, |
| | | { |
| | | key: "conduct", |
| | | type: 2, |
| | | label: "电导", |
| | | show: 1, |
| | | value: 3, |
| | | }, |
| | | { |
| | | key: "conductPercent", |
| | | type: 2, |
| | | label: "电导百分比", |
| | | show: 1, |
| | | value: 4, |
| | | }, |
| | | { |
| | | key: "res", |
| | | type: 2, |
| | | label: "内阻", |
| | | show: 1, |
| | | value: 5, |
| | | }, |
| | | { |
| | | key: "temp", |
| | | type: 2, |
| | | label: "温度", |
| | | show: 1, |
| | | value: 6, |
| | | }, |
| | | { |
| | | key: "link", |
| | | type: 2, |
| | | label: "连接条阻抗", |
| | | show: 1, |
| | | value: 7, |
| | | }, |
| | | ]; |
| | | }, |
| | | }; |
New file |
| | |
| | | function getItemByKey(key, list) { |
| | | let result = 0; |
| | | for(let i=0; i<list.length; i++) { |
| | | let item = list[i]; |
| | | if(item.key == key) { |
| | | result = item; |
| | | break; |
| | | } |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | export default getItemByKey; |
| | |
| | | import G from './global' |
| | | import "./global/common" |
| | | |
| | | import ElementUI from 'element-ui' |
| | | import 'element-ui/lib/theme-chalk/index.css' |
| | | |
| | | Vue.use(ElementUI, { |
| | | zIndex: 99 |
| | | }); |
| | | |
| | | Vue.config.productionTip = false |
| | | |
| | | Vue.use(Toast).use(Notify).use(Picker).use(Form).use(Image).use(Dialog).use(Tabbar).use(TabbarItem).use(CellGroup).use(Cell).use(Icon).use(Button).use(NavBar).use(Grid).use(GridItem).use(Row).use(Col).use(Collapse).use(CollapseItem).use(Steps).use(Step).use(Divider).use(Switch).use(Tag).use(Search).use(Field).use(Uploader).use(Popup).use(CheckboxGroup).use(Checkbox).use(PullRefresh).use(ActionSheet).use(List).use(Tab).use(Tabs).use(Empty).use(ImagePreview).use(IndexBar).use(IndexAnchor).use(SwipeCell).use(Cascader).use(TreeSelect).use(DatetimePicker); |
| | |
| | | data: 'json=' + JSON.stringify({ categoryId: 5 }) |
| | | }) |
| | | } |
| | | |
| | | //查询系统名称 |
| | | export const getRealTabsConfig = (type) => { |
| | | type = type ? type : 1; |
| | | return axios({ |
| | | method: 'post', |
| | | url: 'PageParamUserAction!getAll', |
| | | data: "json=" + JSON.stringify({ |
| | | type, |
| | | }) |
| | | }) |
| | | } |
| | |
| | | import { |
| | | login, |
| | | searchPlatformName, |
| | | getLoginVerity |
| | | getLoginVerity, |
| | | getRealTabsConfig |
| | | } from "@/pages/login/js/api"; |
| | | import { |
| | | mapMutations, |
| | | } from 'vuex'; |
| | | export default { |
| | | data() { |
| | | return { |
| | |
| | | this.searchPlatformName(); |
| | | }, |
| | | methods: { |
| | | ...mapMutations(['setUserPower']), |
| | | searchPlatformName() { |
| | | searchPlatformName() |
| | | .then((res) => { |
| | |
| | | // 对结果进行处理 |
| | | self.handleLogin(res) |
| | | }).catch(error => { |
| | | console.log(error) |
| | | // 关闭等待 |
| | | // console.log(error); |
| | | self.$toast("网络异常"); |
| | |
| | | }, |
| | | // 登录验证 |
| | | handleLogin(res) { |
| | | let self = this; |
| | | // 关闭等待 |
| | | // this.loading = false; |
| | | let rs = JSON.parse(res.data.result); |
| | | if (rs.code == 1) { |
| | | self.$toast("登录成功!"); |
| | | sessionStorage.setItem('username', self.username); |
| | | sessionStorage.setItem('userId', rs.data); |
| | | self.setUserPower(rs.data2); |
| | | self.$router.push({ |
| | | path: '/menu' |
| | | }) |
| | | sessionStorage.setItem('username', this.username); |
| | | this.$store.dispatch("user/login", rs); |
| | | this.initPageConfig() |
| | | } else { |
| | | this.changeVerifyCode(); |
| | | self.$toast(rs.msg); |
| | | this.$toast(rs.msg); |
| | | } |
| | | }, |
| | | initPageConfig() { |
| | | getRealTabsConfig().then(res => { |
| | | let rs = JSON.parse(res.data.result); |
| | | // 设置pageConfig |
| | | this.$store.dispatch('user/changeRealTabsConfig', rs.data); |
| | | this.$toast("登录成功!"); |
| | | this.$router.push({ |
| | | path: '/menu' |
| | | }) |
| | | }).catch(error => { |
| | | // 设置pageConfig |
| | | this.$store.dispatch('user/changeRealTabsConfig', []); |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | |
| | | data: 'json=' + JSON.stringify(data) |
| | | }); |
| | | } |
| | | |
| | | export const realTimeLd9Data = (params) => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "LD9_stateAction_ld9action_searchByDevId", |
| | | data: "json=" + JSON.stringify(params) |
| | | }) |
| | | } |
New file |
| | |
| | | import regEquipType from "@/assets/units/function/regEquipType"; |
| | | function getTblHeader(dev_id) { |
| | | let headers = [ |
| | | { |
| | | prop: "num1", |
| | | label: "单体编号", |
| | | width: "", |
| | | key1: "", |
| | | fixed: 'left', |
| | | }, |
| | | { |
| | | prop: "vol1", |
| | | label: "电压(V)", |
| | | width: "", |
| | | key1: "vol", |
| | | }, |
| | | { |
| | | prop: "res1", |
| | | label: "内阻(mΩ)", |
| | | width: "", |
| | | key1: "res", |
| | | }, |
| | | { |
| | | prop: "temp1", |
| | | label: "温度(℃)", |
| | | width: "", |
| | | key1: "temp", |
| | | }, |
| | | { |
| | | prop: "conduct1", |
| | | label: "电导", |
| | | width: "", |
| | | key1: "conduct", |
| | | }, |
| | | { |
| | | prop: "monConnRes", |
| | | label: "链接条阻值", |
| | | width: "", |
| | | key1: "monConnRes", |
| | | }, |
| | | { |
| | | prop: "curr1", |
| | | label: "均衡电流(A)", |
| | | width: "", |
| | | key1: "curr", |
| | | }, |
| | | { |
| | | prop: "leakVol1", |
| | | label: "漏液电压(V)", |
| | | width: "", |
| | | key1: "leakVol", |
| | | }, |
| | | { |
| | | prop: "monCap", |
| | | label: "实际容量(AH)", |
| | | width: "", |
| | | key1: "monCap", |
| | | type: "LD9", |
| | | }, |
| | | { |
| | | prop: "monTestCap", |
| | | label: "测试容量(AH)", |
| | | width: "", |
| | | key1: "monTestCap", |
| | | type: "LD9", |
| | | }, |
| | | { |
| | | prop: "monResCap", |
| | | label: "剩余容量(AH)", |
| | | width: "", |
| | | key1: "monResCap", |
| | | type: "LD9", |
| | | }, |
| | | { |
| | | prop: "monDisTimeLong", |
| | | label: "放电可持续时长", |
| | | width: "", |
| | | key1: "monDisTimeLong", |
| | | type: "LD9", |
| | | }, |
| | | ]; |
| | | // 判断是否为锂电池 |
| | | if (regEquipType(dev_id, ["lithium"])) { |
| | | headers = [ |
| | | { |
| | | prop: "num1", |
| | | label: "单体编号", |
| | | width: "", |
| | | }, |
| | | { |
| | | prop: "vol1", |
| | | label: "电压(V)", |
| | | width: "", |
| | | }, |
| | | { |
| | | prop: "temp1", |
| | | label: "温度(℃)", |
| | | width: "", |
| | | }, |
| | | ]; |
| | | } |
| | | return headers; |
| | | } |
| | | |
| | | export default getTblHeader; |
| | |
| | | </div> |
| | | |
| | | <div class="card"> |
| | | <div class="commonTitle cardTitle">均衡供电</div> |
| | | <div class="commonTitle cardTitle">数据表格</div> |
| | | <div class="listCon"> |
| | | <div class="item"> |
| | | {{otherTable[0].value}} |
| | | <div class="title"> |
| | | 版本号 |
| | | </div> |
| | | </div> |
| | | <div class="item"> |
| | | {{otherTable[1].value}}℃ |
| | | <div class="title"> |
| | | 温度(℃) |
| | | </div> |
| | | </div> |
| | | <div class="item"> |
| | | {{eleTable[0].value}}A |
| | | <div class="title"> |
| | | 总电流(A) |
| | | </div> |
| | | </div> |
| | | <div class="item"> |
| | | {{totolTable[0].value}}V |
| | | <div class="title"> |
| | | 总电压(V) |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="chartWarp"> |
| | | <progress-block-vertical-bar ref="outputVolList"></progress-block-vertical-bar> |
| | | <el-table stripe size="small" :data="table.datas" height="100%" :row-class-name="setTableRowClass"> |
| | | <el-table-column v-for="header in dataHeaders" :key="header.prop" :prop="header.prop" :label="header.label" :width="header.width" align="center" :fixed="header.fixed"></el-table-column> |
| | | </el-table> |
| | | </div> |
| | | |
| | | </div> |
| | |
| | | realTimeSearch, |
| | | realTimeGroup, |
| | | JhStateActionSerchByCondition, |
| | | realTimeLd9Data, |
| | | } from "@/pages/monitoring/js/api" |
| | | import BarChart from "@/components/chart/BarChart"; |
| | | import progressBlockVerticalBar from "@/components/chart/progress-block-vertical-bar"; |
| | | import getMarkLineData from "@/components/chart/js/getMarkLineData"; |
| | | import getTblHeader from "@/pages/monitoring/js/getTblHeader"; |
| | | let vol, resChart, temp, conduct, currChart, leakVol; |
| | | let tblData = []; |
| | | export default { |
| | | data() { |
| | | let pageConfig = this.$store.getters["user/realTabsConfig"]; |
| | | return { |
| | | showPopup: false, |
| | | cascaderValue: '', |
| | |
| | | value: "???", |
| | | }, |
| | | ], |
| | | table: { |
| | | headers: [ |
| | | { |
| | | prop: "num1", |
| | | label: "单体编号", |
| | | width: "", |
| | | key1: "", |
| | | fixed: 'left', |
| | | }, |
| | | { |
| | | prop: "vol1", |
| | | label: "电压(V)", |
| | | width: "", |
| | | key1: "vol", |
| | | }, |
| | | { |
| | | prop: "res1", |
| | | label: "内阻(mΩ)", |
| | | width: "", |
| | | key1: "res", |
| | | }, |
| | | { |
| | | prop: "temp1", |
| | | label: "温度(℃)", |
| | | width: "", |
| | | key1: "temp", |
| | | }, |
| | | { |
| | | prop: "conduct1", |
| | | label: "电导", |
| | | width: "", |
| | | key1: "conduct", |
| | | }, |
| | | { |
| | | prop: "monConnRes", |
| | | label: "链接条阻值", |
| | | width: "", |
| | | key1: "monConnRes", |
| | | }, |
| | | { |
| | | prop: "curr1", |
| | | label: "均衡电流(A)", |
| | | width: "", |
| | | key1: "curr" |
| | | }, |
| | | { |
| | | prop: "leakVol1", |
| | | label: "漏液电压(V)", |
| | | width: "", |
| | | key1: "leakVol" |
| | | }, |
| | | ], |
| | | datas: [ |
| | | { |
| | | num1: 0, |
| | | vol1: 0, |
| | | res1: 0, |
| | | temp1: 0, |
| | | conduct1: 0, |
| | | curr1: 0, |
| | | leakVol1: 0, |
| | | }, |
| | | ], |
| | | }, |
| | | pageConfig: pageConfig, |
| | | diagram: { |
| | | update: true, |
| | | type: -1, |
| | | desc: "", |
| | | powerCut: 1, |
| | | temp: 0, // 设备温度 |
| | | contactRes: 0, // 接触器阻抗 |
| | | dropVol: 0, // 导通压降 |
| | | devType: 0, // 设备类型 |
| | | }, |
| | | } |
| | | }, |
| | | components: { |
| | |
| | | } |
| | | return list; |
| | | }, |
| | | dataHeaders() { |
| | | let headers = this.table.headers; |
| | | let tabConfig = this.pageConfig; |
| | | let batt = this.batt; |
| | | return headers.filter(item => { |
| | | let isShow = item.key1 ? tabConfig[item.key1] : true; |
| | | if (item.type) { |
| | | isShow = this.$units.regEquipType(batt.FBSDeviceId, item.type); |
| | | } |
| | | return isShow; |
| | | }); |
| | | } |
| | | }, |
| | | methods: { |
| | | //定时器 |
| | |
| | | .all([ |
| | | this.realTimeSearch(), |
| | | this.realTimeGroupss(), |
| | | this.realStateTimeData(), |
| | | this.search(), |
| | | ]) |
| | | .then(() => { |
| | |
| | | } |
| | | } |
| | | // 设置输出电压柱状图 |
| | | this.$refs.outputVolList.setData({ |
| | | title: { |
| | | show: true, |
| | | text: "输出电压", |
| | | x: "center", |
| | | textStyle: { |
| | | fontSize: "14", |
| | | color: '#323233' |
| | | } |
| | | }, |
| | | name: "输出电压", |
| | | list: this.volTable, |
| | | }); |
| | | // this.$refs.outputVolList.setData({ |
| | | // title: { |
| | | // show: true, |
| | | // text: "输出电压", |
| | | // x: "center", |
| | | // textStyle: { |
| | | // fontSize: "14", |
| | | // color: '#323233' |
| | | // } |
| | | // }, |
| | | // name: "输出电压", |
| | | // list: this.volTable, |
| | | // }); |
| | | }) |
| | | .catch((err) => { |
| | | console.log(err); |
| | |
| | | leafClick(data) { |
| | | this.batt = data; |
| | | this.realTimeAlarmss(); |
| | | this.table.headers = getTblHeader(data.FBSDeviceId); |
| | | // 开启循环请求 |
| | | this.startTimer(); |
| | | }, |
| | | realStateTimeData() { |
| | | let batt = this.batt; |
| | | if (this.$units.regEquipType(batt.FBSDeviceId, ["LD9"])) { |
| | | this.realTimeLd9Data(); |
| | | } |
| | | }, |
| | | realTimeLd9Data() { |
| | | let batt = this.batt; |
| | | realTimeLd9Data({ |
| | | dev_id: batt.FBSDeviceId, |
| | | }).then(res => { |
| | | let rs = JSON.parse(res.data.result); |
| | | if (rs.code == 1) { |
| | | let data = rs.data[0]; |
| | | // 判断是否超时 |
| | | let outTime = 2 * 60; //设备超时时间(2分钟) |
| | | let nowTime = new Date(data.note).getTime(); //当前时间 |
| | | let record = new Date(data.record_datetime).getTime(); |
| | | if (Math.abs(nowTime - record) / 1000 > outTime) { |
| | | this.disconnect(); |
| | | } else { |
| | | this.diagram.desc = ""; |
| | | // 0-在线监测,1-核容测试,2-测试状态状态停止,3-内阻测试 |
| | | switch (data.sys_state) { |
| | | case 0: |
| | | this.diagram.type = 0; |
| | | break; |
| | | case 1: |
| | | this.diagram.type = 1; |
| | | break; |
| | | case 2: |
| | | this.diagram.type = 2; |
| | | break; |
| | | case 3: |
| | | this.diagram.type = 3; |
| | | this.diagram.desc = "(内阻测试)"; |
| | | break; |
| | | } |
| | | } |
| | | } else { |
| | | this.disconnect(); |
| | | } |
| | | }).catch(error => { |
| | | console.log(error); |
| | | this.disconnect(); |
| | | }); |
| | | }, |
| | | disconnect() { |
| | | // 设备未连接 |
| | | this.diagram.type = -1; |
| | | }, |
| | | /* 查询电池告警参数 */ |
| | | realTimeAlarmss() { |
| | |
| | | realTimeSearch({ |
| | | BattGroupId: batt.BattGroupId |
| | | }).then(res => { |
| | | let diagramType = this.diagram.type; |
| | | let rs = JSON.parse(res.data.result); |
| | | let data = []; |
| | | if (rs.code == 1) { |
| | | if (rs.code == 1 && diagramType != -1) { |
| | | data = rs.data.map(item => { |
| | | return { |
| | | num1: "#" + item.mon_num, |
| | | vol1: item.mon_vol, |
| | | res1: item.mon_res, |
| | | temp1: item.mon_tmp, |
| | | conduct1: item.mon_res ? (1 / item.mon_res * 1000).toFixed(0) : 0, |
| | | conduct1: item.mon_res |
| | | ? ((1 / item.mon_res) * 1000).toFixed(0) |
| | | : 0, |
| | | curr1: item.mon_JH_curr, |
| | | leakVol1: item.mon_LY_vol |
| | | leakVol1: item.mon_LY_vol, |
| | | monConnRes: item.mon_conn_res, |
| | | monCap: item.mon_cap, |
| | | monTestCap: diagramType == 1 ? item.monTestCap : "---", |
| | | monResCap: diagramType == 1 ? item.monRestCap : "---", |
| | | monDisTimeLong: diagramType == 1 ? Math.floor(item.monDisTimeLong / 60) + "时" + (item.monDisTimeLong % 60) + "分" : "---", |
| | | monState: item.monState, |
| | | }; |
| | | }); |
| | | } |
| | | // 更新表格 |
| | | if (this.acTabs == 'tblData') { |
| | | this.table.datas = data; |
| | | } else { |
| | | tblData = data; |
| | | } |
| | | // 电压值 |
| | | let volTempVol = []; |
| | | if (rs.code == 1) { |
| | |
| | | } |
| | | return -1; |
| | | }, |
| | | setTableRowClass({ row }) { |
| | | if (row.monState == 1) { |
| | | return "red-row"; |
| | | } else if (row.monState == 2) { |
| | | return "green-row"; |
| | | } |
| | | return ""; |
| | | }, |
| | | }, |
| | | mounted() { |
| | | this.searchStation(); |
| | |
| | | |
| | | .listCon { |
| | | width: 100%; |
| | | height: 178px; |
| | | height: 500px; |
| | | border-bottom: 2px solid #eeeeee; |
| | | display: flex; |
| | | align-items: center; |
| | |
| | | import Vue from 'vue' |
| | | import Vuex from 'vuex' |
| | | import Vue from 'vue'; |
| | | import Vuex from 'vuex'; |
| | | import user from '@/store/modules/user'; |
| | | |
| | | Vue.use(Vuex) |
| | | |
| | | export default new Vuex.Store({ |
| | | state: { |
| | | userPower: sessionStorage.getItem('userPower')||0, //用户权限 |
| | | }, |
| | | mutations: { |
| | | setUserPower(state, provider) { |
| | | state.userPower = provider; |
| | | sessionStorage.setItem('userPower', provider); |
| | | }, |
| | | }, |
| | | actions: {}, |
| | | Vue.use(Vuex); |
| | | |
| | | const store = new Vuex.Store({ |
| | | modules: { |
| | | user, |
| | | }, |
| | | }); |
| | | |
| | | } |
| | | }) |
| | | export default store; |
New file |
| | |
| | | import const_page from "@/assets/js/const/const_page"; |
| | | import getItemByKey from "@/assets/js/tools/getItemByKey"; |
| | | |
| | | export default { |
| | | namespaced: true, |
| | | state() { |
| | | let realTabsConfig = sessionStorage.getItem('realTabsConfig'); |
| | | return { |
| | | userId: sessionStorage.getItem('userId') || 0, //用户ID |
| | | userPower: sessionStorage.getItem('userPower') || 0, //用户权限 |
| | | realTabsConfig: realTabsConfig ? JSON.parse(realTabsConfig) : [], |
| | | }; |
| | | }, |
| | | getters: { |
| | | realTabsConfig(state) { |
| | | let realTabsConfig = state.realTabsConfig; |
| | | let realTime = const_page.realTime; |
| | | let result = {}; |
| | | realTime.map(item => { |
| | | let config = getItemByKey(item.key, realTabsConfig); |
| | | let show = config != 0 ? config.show : 1; |
| | | result[item.key] = (show == 1) ? true : false; |
| | | }); |
| | | return result; |
| | | } |
| | | }, |
| | | mutations: { |
| | | login(state, provider) { |
| | | state.userId = provider.data; |
| | | state.userPower = provider.data2; |
| | | sessionStorage.setItem('userId', provider.data); |
| | | sessionStorage.setItem('userPower', provider.data2); |
| | | }, |
| | | changeRealTabsConfig(state, data) { |
| | | state.realTabsConfig = Array.isArray(data) ? data : []; |
| | | sessionStorage.setItem('realTabsConfig', JSON.stringify(data)); |
| | | } |
| | | }, |
| | | actions: { |
| | | login(context, data) { |
| | | context.commit('login', data); |
| | | }, |
| | | changeRealTabsConfig(context, data) { |
| | | context.commit('changeRealTabsConfig', data); |
| | | } |
| | | }, |
| | | }; |