Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
54f336ab45 | ||
| 39093641d8 | |||
|
|
c88484caf7 |
20941
package-lock.json
generated
Normal file
20941
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
328
package.json
328
package.json
@@ -1,166 +1,168 @@
|
|||||||
{
|
{
|
||||||
"name": "vue-pc-admin",
|
"name": "vue-pc-admin",
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"description": "这是一个基于 vue admin 管理后台",
|
"description": "这是一个基于 vue admin 管理后台",
|
||||||
"author": "caojinwei",
|
"author": "caojinwei",
|
||||||
"license": "NJCN",
|
"license": "NJCN",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vue-cli-service serve",
|
"dev": "vue-cli-service serve",
|
||||||
"dev-zoom": "cross-env VUE_APP_ZOOM=1 vue-cli-service serve",
|
"dev-zoom": "cross-env VUE_APP_ZOOM=1 vue-cli-service serve",
|
||||||
"dev-cgyqr": "cross-env VUE_APP_MODE=cgyqr vue-cli-service serve",
|
"dev-cgyqr": "cross-env VUE_APP_MODE=cgyqr vue-cli-service serve",
|
||||||
"dev-hbqr": "cross-env VUE_APP_MODE=cgyqr VUE_APP_HB=hbqr vue-cli-service serve",
|
"dev-cgyqr1": "cross-env VUE_APP_MODE=cgyqr VUE_APP_KEY=scqr vue-cli-service serve",
|
||||||
"dev-jbqr": "cross-env VUE_APP_MODE=jbqr vue-cli-service serve",
|
"dev-hbqr": "cross-env VUE_APP_MODE=cgyqr VUE_APP_HB=hbqr VUE_APP_KEY=scqr vue-cli-service serve",
|
||||||
"build": "vue-cli-service build",
|
"dev-jbqr": "cross-env VUE_APP_MODE=jbqr vue-cli-service serve",
|
||||||
"build-zoom": "cross-env VUE_APP_ZOOM=1 vue-cli-service build",
|
"build": "vue-cli-service build",
|
||||||
"build-hbqr": "cross-env VUE_APP_MODE=cgyqr VUE_APP_HB=hbqr vue-cli-service build",
|
"build-zoom": "cross-env VUE_APP_ZOOM=1 vue-cli-service build",
|
||||||
"build-cgyqr": "cross-env VUE_APP_MODE=cgyqr vue-cli-service build",
|
"build-hbqr": "cross-env VUE_APP_MODE=cgyqr VUE_APP_HB=hbqr VUE_APP_KEY=scqr vue-cli-service build",
|
||||||
"build-jbqr": "cross-env VUE_APP_MODE=jbqr vue-cli-service build",
|
"build-cgyqr": "cross-env VUE_APP_MODE=cgyqr vue-cli-service build",
|
||||||
"preview": "node build/index.js --preview",
|
"build-cgyqr1": "cross-env VUE_APP_MODE=cgyqr VUE_APP_KEY=scqr vue-cli-service build",
|
||||||
"deploy-18": "cross-env VUE_APP_ZOOM=1 vue-cli-service build && ./upload_script/upload_18.sh"
|
"build-jbqr": "cross-env VUE_APP_MODE=jbqr vue-cli-service build",
|
||||||
},
|
"preview": "node build/index.js --preview",
|
||||||
"dependencies": {
|
"deploy-18": "cross-env VUE_APP_ZOOM=1 vue-cli-service build && ./upload_script/upload_18.sh"
|
||||||
"@ckeditor/ckeditor5-vue": "^1.0.1",
|
},
|
||||||
"@jiaminghi/data-view": "^2.10.0",
|
"dependencies": {
|
||||||
"@riophae/vue-treeselect": "^0.4.0",
|
"@ckeditor/ckeditor5-vue": "^1.0.1",
|
||||||
"@toast-ui/editor": "^2.0.1",
|
"@jiaminghi/data-view": "^2.10.0",
|
||||||
"@toast-ui/vue-editor": "^2.0.1",
|
"@riophae/vue-treeselect": "^0.4.0",
|
||||||
"@vue/composition-api": "^1.3.0",
|
"@toast-ui/editor": "^2.0.1",
|
||||||
"@wangeditor/editor": "^5.1.23",
|
"@toast-ui/vue-editor": "^2.0.1",
|
||||||
"@wangeditor/editor-for-vue": "^1.0.2",
|
"@vue/composition-api": "^1.3.0",
|
||||||
"axios": "^0.27.2",
|
"@wangeditor/editor": "^5.1.23",
|
||||||
"baidu-map": "^0.1.4",
|
"@wangeditor/editor-for-vue": "^1.0.2",
|
||||||
"bpmn-js": "^11.1.0",
|
"axios": "^0.27.2",
|
||||||
"bpmn-js-bpmnlint": "^0.15.0",
|
"baidu-map": "^0.1.4",
|
||||||
"bpmnlint": "^6.4.0",
|
"bpmn-js": "^11.1.0",
|
||||||
"bpmnlint-loader": "^0.1.4",
|
"bpmn-js-bpmnlint": "^0.15.0",
|
||||||
"codemirror": "5.39.2",
|
"bpmnlint": "^6.4.0",
|
||||||
"core-js": "^2.6.12",
|
"bpmnlint-loader": "^0.1.4",
|
||||||
"cross-storage": "^1.0.0",
|
"codemirror": "5.39.2",
|
||||||
"crypto-js": "^4.2.0",
|
"core-js": "^2.6.12",
|
||||||
"deepmerge": "^4.2.2",
|
"cross-storage": "^1.0.0",
|
||||||
"driver.js": "^0.9.8",
|
"crypto-js": "^4.2.0",
|
||||||
"echarts": "^5.4.3",
|
"deepmerge": "^4.2.2",
|
||||||
"echarts-gl": "^2.0.9",
|
"driver.js": "^0.9.8",
|
||||||
"echarts-liquidfill": "^3.1.0",
|
"echarts": "^5.4.3",
|
||||||
"el-tree-transfer": "^2.4.7",
|
"echarts-gl": "^2.0.9",
|
||||||
"element-resize-detector": "^1.2.4",
|
"echarts-liquidfill": "^3.1.0",
|
||||||
"element-ui": "^2.15.9",
|
"el-tree-transfer": "^2.4.7",
|
||||||
"exceljs": "^4.3.0",
|
"element-resize-detector": "^1.2.4",
|
||||||
"fabric": "^5.3.0",
|
"element-ui": "^2.15.9",
|
||||||
"file-saver": "^2.0.5",
|
"exceljs": "^4.3.0",
|
||||||
"form-gen-parser": "^1.0.3",
|
"fabric": "^5.3.0",
|
||||||
"highcharts": "^10.0.0",
|
"file-saver": "^2.0.5",
|
||||||
"highcharts-vue": "^1.4.0",
|
"form-gen-parser": "^1.0.3",
|
||||||
"html2canvas": "^1.4.1",
|
"highcharts": "^10.0.0",
|
||||||
"jquery": "^3.6.0",
|
"highcharts-vue": "^1.4.0",
|
||||||
"jquery.panzoom": "^3.2.3",
|
"html2canvas": "^1.4.1",
|
||||||
"js-cookie": "2.2.0",
|
"jquery": "^3.6.0",
|
||||||
"json2csv": "^5.0.6",
|
"jquery.panzoom": "^3.2.3",
|
||||||
"less": "^4.1.2",
|
"js-cookie": "2.2.0",
|
||||||
"less-loader": "^5.0.0",
|
"json2csv": "^5.0.6",
|
||||||
"lib-flexible": "^0.3.2",
|
"less": "^4.1.2",
|
||||||
"lodash.clonedeep": "^4.5.0",
|
"less-loader": "^5.0.0",
|
||||||
"luckyexcel": "^1.0.1",
|
"lib-flexible": "^0.3.2",
|
||||||
"mqtt": "^4.3.6",
|
"lodash.clonedeep": "^4.5.0",
|
||||||
"normalize.css": "7.0.0",
|
"luckyexcel": "^1.0.1",
|
||||||
"nprogress": "0.2.0",
|
"mqtt": "^4.3.6",
|
||||||
"path-to-regexp": "2.4.0",
|
"normalize.css": "7.0.0",
|
||||||
"qiniu-js": "^3.1.2",
|
"nprogress": "0.2.0",
|
||||||
"qrcodejs2": "^0.0.2",
|
"path-to-regexp": "2.4.0",
|
||||||
"sanitizer": "^0.1.3",
|
"qiniu-js": "^3.1.2",
|
||||||
"screenfull": "^5.0.2",
|
"qrcodejs2": "^0.0.2",
|
||||||
"session-storage-sync": "^0.6.0",
|
"sanitizer": "^0.1.3",
|
||||||
"sortablejs": "^1.10.2",
|
"screenfull": "^5.0.2",
|
||||||
"spin.js": "^4.1.1",
|
"session-storage-sync": "^0.6.0",
|
||||||
"sync-session-storage": "^0.0.13",
|
"sortablejs": "^1.10.2",
|
||||||
"throttle-debounce": "^1.1.0",
|
"spin.js": "^4.1.1",
|
||||||
"timeline-slider-vue": "^1.0.6",
|
"sync-session-storage": "^0.0.13",
|
||||||
"umy-ui": "^1.1.6",
|
"throttle-debounce": "^1.1.0",
|
||||||
"v-loading-plugin": "^1.0.7",
|
"timeline-slider-vue": "^1.0.6",
|
||||||
"vue": "2.6.10",
|
"umy-ui": "^1.1.6",
|
||||||
"vue-baidu-map": "^0.21.22",
|
"v-loading-plugin": "^1.0.7",
|
||||||
"vue-drag-resize": "^1.5.4",
|
"vue": "2.6.10",
|
||||||
"vue-echarts": "^6.6.2",
|
"vue-baidu-map": "^0.21.22",
|
||||||
"vue-grid-layout": "^2.3.12",
|
"vue-drag-resize": "^1.5.4",
|
||||||
"vue-jsonp": "^2.0.0",
|
"vue-echarts": "^6.6.2",
|
||||||
"vue-masonry": "^0.16.0",
|
"vue-grid-layout": "^2.3.12",
|
||||||
"vue-particles": "^1.0.9",
|
"vue-jsonp": "^2.0.0",
|
||||||
"vue-resize-observer": "^2.0.16",
|
"vue-masonry": "^0.16.0",
|
||||||
"vue-router": "3.0.6",
|
"vue-particles": "^1.0.9",
|
||||||
"vue-slider-component": "^3.2.24",
|
"vue-resize-observer": "^2.0.16",
|
||||||
"vue-svg-filler": "^1.0.6",
|
"vue-router": "3.0.6",
|
||||||
"vuedraggable": "^2.24.3",
|
"vue-slider-component": "^3.2.24",
|
||||||
"vuex": "3.1.0",
|
"vue-svg-filler": "^1.0.6",
|
||||||
"vxe-table": "3.6.6",
|
"vuedraggable": "^2.24.3",
|
||||||
"vxe-table-plugin-export-xlsx": "2.2.2",
|
"vuex": "3.1.0",
|
||||||
"webpack-theme-color-replacer": "^1.3.7",
|
"vxe-table": "3.6.6",
|
||||||
"xe-utils": "^3.5.14",
|
"vxe-table-plugin-export-xlsx": "2.2.2",
|
||||||
"xlsx": "^0.15.6"
|
"webpack-theme-color-replacer": "^1.3.7",
|
||||||
},
|
"xe-utils": "^3.5.14",
|
||||||
"devDependencies": {
|
"xlsx": "^0.15.6"
|
||||||
"@babel/core": "7.0.0",
|
},
|
||||||
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
|
"devDependencies": {
|
||||||
"@babel/plugin-proposal-optional-chaining": "^7.21.0",
|
"@babel/core": "7.0.0",
|
||||||
"@babel/plugin-transform-modules-commonjs": "^7.9.0",
|
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
|
||||||
"@babel/register": "7.0.0",
|
"@babel/plugin-proposal-optional-chaining": "^7.21.0",
|
||||||
"@vue/cli-plugin-babel": "3.6.0",
|
"@babel/plugin-transform-modules-commonjs": "^7.9.0",
|
||||||
"@vue/cli-service": "^3.12.1",
|
"@babel/register": "7.0.0",
|
||||||
"@vue/test-utils": "1.0.0-beta.29",
|
"@vue/cli-plugin-babel": "3.6.0",
|
||||||
"autoprefixer": "^9.5.1",
|
"@vue/cli-service": "^3.12.1",
|
||||||
"babel-core": "7.0.0-bridge.0",
|
"@vue/test-utils": "1.0.0-beta.29",
|
||||||
"babel-plugin-transform-es2015-modules-commonjs": "^6.26.2",
|
"autoprefixer": "^9.5.1",
|
||||||
"babel-plugin-transform-remove-console": "^6.9.4",
|
"babel-core": "7.0.0-bridge.0",
|
||||||
"chalk": "2.4.2",
|
"babel-plugin-transform-es2015-modules-commonjs": "^6.26.2",
|
||||||
"compression-webpack-plugin": "^3.1.0",
|
"babel-plugin-transform-remove-console": "^6.9.4",
|
||||||
"connect": "3.6.6",
|
"chalk": "2.4.2",
|
||||||
"cross-env": "^7.0.3",
|
"compression-webpack-plugin": "^3.1.0",
|
||||||
"css-properties-sorting": "^1.0.10",
|
"connect": "3.6.6",
|
||||||
"d3": "^7.1.1",
|
"cross-env": "^7.0.3",
|
||||||
"default-passive-events": "^2.0.0",
|
"css-properties-sorting": "^1.0.10",
|
||||||
"highlight.js": "9.18.5",
|
"d3": "^7.1.1",
|
||||||
"html-webpack-plugin": "3.2.0",
|
"default-passive-events": "^2.0.0",
|
||||||
"less": "^4.1.1",
|
"highlight.js": "9.18.5",
|
||||||
"less-loader": "^5.0.0",
|
"html-webpack-plugin": "3.2.0",
|
||||||
"lint-staged": "8.1.5",
|
"less": "^4.1.1",
|
||||||
"open": "^7.0.3",
|
"less-loader": "^5.0.0",
|
||||||
"postcss-loader": "^3.0.0",
|
"lint-staged": "8.1.5",
|
||||||
"px2rem-loader": "^0.1.9",
|
"open": "^7.0.3",
|
||||||
"raw-loader": "^0.5.1",
|
"postcss-loader": "^3.0.0",
|
||||||
"runjs": "^4.3.2",
|
"px2rem-loader": "^0.1.9",
|
||||||
"sass": "^1.62.0",
|
"raw-loader": "^0.5.1",
|
||||||
"sass-loader": "^7.1.0",
|
"runjs": "^4.3.2",
|
||||||
"sass-resources-loader": "^2.0.3",
|
"sass": "^1.62.0",
|
||||||
"script-ext-html-webpack-plugin": "2.1.3",
|
"sass-loader": "^7.1.0",
|
||||||
"script-loader": "0.7.2",
|
"sass-resources-loader": "^2.0.3",
|
||||||
"serve-static": "^1.13.2",
|
"script-ext-html-webpack-plugin": "2.1.3",
|
||||||
"stylelint": "^12.0.1",
|
"script-loader": "0.7.2",
|
||||||
"stylelint-config-standard": "^20.0.0",
|
"serve-static": "^1.13.2",
|
||||||
"stylelint-order": "^4.1.0",
|
"stylelint": "^12.0.1",
|
||||||
"stylelint-scss": "^3.18.0",
|
"stylelint-config-standard": "^20.0.0",
|
||||||
"svg-sprite-loader": "4.1.3",
|
"stylelint-order": "^4.1.0",
|
||||||
"svgo": "1.2.2",
|
"stylelint-scss": "^3.18.0",
|
||||||
"vkbeautify": "^0.99.3",
|
"svg-sprite-loader": "4.1.3",
|
||||||
"vue-particles": "^1.0.9",
|
"svgo": "1.2.2",
|
||||||
"vue-template-compiler": "2.6.10",
|
"vkbeautify": "^0.99.3",
|
||||||
"vue2-ace-editor": "^0.0.15",
|
"vue-particles": "^1.0.9",
|
||||||
"xcrud": "^0.4.19"
|
"vue-template-compiler": "2.6.10",
|
||||||
},
|
"vue2-ace-editor": "^0.0.15",
|
||||||
"lint-staged": {
|
"xcrud": "^0.4.19"
|
||||||
"src/**/*.{js,vue}": [
|
},
|
||||||
"git add"
|
"lint-staged": {
|
||||||
],
|
"src/**/*.{js,vue}": [
|
||||||
"src/**/*.{html,vue,css,sass,scss}": [
|
"git add"
|
||||||
"stylelint --fix",
|
],
|
||||||
"git add"
|
"src/**/*.{html,vue,css,sass,scss}": [
|
||||||
|
"stylelint --fix",
|
||||||
|
"git add"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8.9",
|
||||||
|
"npm": ">= 3.0.0"
|
||||||
|
},
|
||||||
|
"browserslist": [
|
||||||
|
"> 1%",
|
||||||
|
"last 2 versions",
|
||||||
|
"not ie <= 11"
|
||||||
]
|
]
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8.9",
|
|
||||||
"npm": ">= 3.0.0"
|
|
||||||
},
|
|
||||||
"browserslist": [
|
|
||||||
"> 1%",
|
|
||||||
"last 2 versions",
|
|
||||||
"not ie <= 11"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|||||||
551
src/App.vue
551
src/App.vue
@@ -1,273 +1,278 @@
|
|||||||
<template>
|
<template>
|
||||||
<div ref="appheight" id="app" class="zindx" :class="themeName">
|
<div ref="appheight" id="app" class="zindx" :class="themeName">
|
||||||
<router-view />
|
<router-view />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapActions } from 'vuex'
|
import { mapActions } from 'vuex'
|
||||||
import { getThemeColor } from '@/api/user'
|
import { getThemeColor } from '@/api/user'
|
||||||
import { themeColor } from './settings'
|
import { themeColor } from './settings'
|
||||||
import '@/assets/font_3482754_22duxhlb6kw/iconfont'
|
import '@/assets/font_3482754_22duxhlb6kw/iconfont'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'app',
|
name: 'app',
|
||||||
components: {},
|
components: {},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
lastTime: null, //最后一次点击的时间
|
lastTime: null, //最后一次点击的时间
|
||||||
currentTime: null, //当前点击的时间
|
currentTime: null, //当前点击的时间
|
||||||
timeOut: 15 * 60 * 1000, //设置超时时间: 15分钟,
|
timeOut: 15 * 60 * 1000, //设置超时时间: 15分钟,
|
||||||
themecolor: '',
|
themecolor: '',
|
||||||
appheight: null,
|
appheight: null,
|
||||||
appwidth: null,
|
appwidth: null,
|
||||||
themeName: '',
|
themeName: '',
|
||||||
echartTimer: null
|
echartTimer: null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
settings() {
|
settings() {
|
||||||
return this.$store.state.settings
|
return this.$store.state.settings
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
if (process.env.VUE_APP_MODE === 'jbqr') {
|
if (process.env.VUE_APP_MODE === 'jbqr') {
|
||||||
window.addEventListener('message', function (e) {
|
window.addEventListener('message', function (e) {
|
||||||
if (e.data.info != undefined) {
|
if (e.data.info != undefined) {
|
||||||
window.localStorage.setItem('adminInfo', e.data.info)
|
window.localStorage.setItem('adminInfo', e.data.info)
|
||||||
}
|
}
|
||||||
// window.localStorage.setItem('adminInfo', e.data)
|
// window.localStorage.setItem('adminInfo', e.data)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
let DOMIN = window.location.origin
|
let DOMIN = window.location.origin
|
||||||
let STATIC_URL = DOMIN + '/api/system-boot/image/toStream?bgImage='
|
let STATIC_URL = DOMIN + '/api/system-boot/image/toStream?bgImage='
|
||||||
localStorage.setItem('STATIC_URL', STATIC_URL)
|
localStorage.setItem('STATIC_URL', STATIC_URL)
|
||||||
this.lastTime = new Date().getTime() //网页第一次打开时,记录当前时间
|
this.lastTime = new Date().getTime() //网页第一次打开时,记录当前时间
|
||||||
this.gettheme()
|
this.gettheme()
|
||||||
window.echartsArr = []
|
window.echartsArr = []
|
||||||
//定时清理
|
//定时清理
|
||||||
setInterval(() => {
|
setInterval(() => {
|
||||||
if (window.echartsArr.length > 10) {
|
if (window.echartsArr.length > 10) {
|
||||||
window.echartsArr.splice(0, window.echartsArr.length - 10)
|
window.echartsArr.splice(0, window.echartsArr.length - 10)
|
||||||
}
|
}
|
||||||
}, 10000)
|
}, 10000)
|
||||||
},
|
},
|
||||||
mounted() {
|
async mounted() {
|
||||||
// 处理笔记本系统默认系统比例为150%带来的布局影响
|
// 处理笔记本系统默认系统比例为150%带来的布局影响
|
||||||
if (process.env.VUE_APP_ZOOM) {
|
if (process.env.VUE_APP_ZOOM) {
|
||||||
const m = this.detectZoom()
|
const m = this.detectZoom()
|
||||||
document.body.style.zoom = 100 / Number(m)
|
document.body.style.zoom = 100 / Number(m)
|
||||||
}
|
}
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.appwidth = document.body.offsetWidth - 205
|
this.appwidth = document.body.offsetWidth - 205
|
||||||
this.appheight = document.body.offsetHeight - 105
|
this.appheight = document.body.offsetHeight - 105
|
||||||
window.sessionStorage.setItem('appwidth', this.appwidth)
|
window.sessionStorage.setItem('appwidth', this.appwidth)
|
||||||
window.sessionStorage.setItem('appheight', this.appheight)
|
window.sessionStorage.setItem('appheight', this.appheight)
|
||||||
if (process.env.VUE_APP_MODE === 'jbqr') {
|
if (process.env.VUE_APP_MODE === 'jbqr') {
|
||||||
window.sessionStorage.setItem('appheight', document.body.offsetHeight - 10)
|
window.sessionStorage.setItem('appheight', document.body.offsetHeight - 10)
|
||||||
}else if(process.env.VUE_APP_MODE === 'cgyqr'){
|
} else if (process.env.VUE_APP_MODE === 'cgyqr') {
|
||||||
window.sessionStorage.setItem('appheight', document.body.offsetHeight - 10)
|
window.sessionStorage.setItem('appheight', document.body.offsetHeight - 10)
|
||||||
}
|
}
|
||||||
}, 100)
|
}, 100)
|
||||||
let timer = null
|
let timer = null
|
||||||
window.addEventListener('resize', () => {
|
window.addEventListener('resize', () => {
|
||||||
// if (timer) {
|
// if (timer) {
|
||||||
// clearTimeout(timer)
|
// clearTimeout(timer)
|
||||||
// }
|
// }
|
||||||
// timer = setTimeout(() => {
|
// timer = setTimeout(() => {
|
||||||
console.log('窗口变化')
|
console.log('窗口变化')
|
||||||
this.appwidth = document.body.offsetWidth - 205
|
this.appwidth = document.body.offsetWidth - 205
|
||||||
this.appheight = document.body.offsetHeight - 105
|
this.appheight = document.body.offsetHeight - 105
|
||||||
window.sessionStorage.setItem('appwidth', this.appwidth)
|
window.sessionStorage.setItem('appwidth', this.appwidth)
|
||||||
window.sessionStorage.setItem('appheight', this.appheight)
|
window.sessionStorage.setItem('appheight', this.appheight)
|
||||||
if (process.env.VUE_APP_MODE === 'jbqr') {
|
if (process.env.VUE_APP_MODE === 'jbqr') {
|
||||||
window.sessionStorage.setItem('appheight', document.body.offsetHeight - 10)
|
window.sessionStorage.setItem('appheight', document.body.offsetHeight - 10)
|
||||||
}else if(process.env.VUE_APP_MODE === 'cgyqr'){
|
} else if (process.env.VUE_APP_MODE === 'cgyqr') {
|
||||||
window.sessionStorage.setItem('appheight', document.body.offsetHeight - 10)
|
window.sessionStorage.setItem('appheight', document.body.offsetHeight - 10)
|
||||||
}
|
}
|
||||||
// }, 100)
|
// }, 100)
|
||||||
})
|
})
|
||||||
window.addEventListener('beforeunload', e => this.beforeunloadHandler(e))
|
window.addEventListener('beforeunload', e => this.beforeunloadHandler(e))
|
||||||
window.addEventListener('unload', e => this.unloadHandler(e))
|
window.addEventListener('unload', e => this.unloadHandler(e))
|
||||||
window.addEventListener('resize', this.handleResizeEcharts)
|
window.addEventListener('resize', this.handleResizeEcharts)
|
||||||
},
|
|
||||||
// destroyed() {
|
let response = await fetch('/')
|
||||||
// window.removeEventListener('beforeunload', e => this.beforeunloadHandler(e))
|
let MqttUrl = response.headers.get('X-Mqtt-Url')
|
||||||
// window.removeEventListener('unload', e => this.unloadHandler(e))
|
console.log("🚀 ~ mounted ~ MqttUrl:", MqttUrl)
|
||||||
// window.removeEventListener('resize', this.handleResizeEcharts)
|
localStorage.setItem('MqttUrl', MqttUrl)
|
||||||
// },
|
},
|
||||||
methods: {
|
// destroyed() {
|
||||||
...mapActions({
|
// window.removeEventListener('beforeunload', e => this.beforeunloadHandler(e))
|
||||||
changeSetting: 'settings/changeSetting'
|
// window.removeEventListener('unload', e => this.unloadHandler(e))
|
||||||
}),
|
// window.removeEventListener('resize', this.handleResizeEcharts)
|
||||||
handleResizeEcharts() {
|
// },
|
||||||
// 防抖
|
methods: {
|
||||||
if (this.echartTimer) {
|
...mapActions({
|
||||||
clearTimeout(this.echartTimer)
|
changeSetting: 'settings/changeSetting'
|
||||||
}
|
}),
|
||||||
this.echartTimer = setTimeout(() => {
|
handleResizeEcharts() {
|
||||||
this.echartTimer = null
|
// 防抖
|
||||||
window.echartsArr.forEach(item => {
|
if (this.echartTimer) {
|
||||||
item.resize()
|
clearTimeout(this.echartTimer)
|
||||||
})
|
}
|
||||||
}, 200)
|
this.echartTimer = setTimeout(() => {
|
||||||
},
|
this.echartTimer = null
|
||||||
gettheme() {
|
window.echartsArr.forEach(item => {
|
||||||
//主题接口
|
item.resize()
|
||||||
getThemeColor().then(response => {
|
})
|
||||||
const data = response.data
|
}, 200)
|
||||||
var themecolor = data.color
|
},
|
||||||
var logoUrl = data.logoUrl
|
gettheme() {
|
||||||
window.sessionStorage.setItem('logo', logoUrl)
|
//主题接口
|
||||||
var title = data.name
|
getThemeColor().then(response => {
|
||||||
this.changeSetting({ themeColor: themecolor })
|
const data = response.data
|
||||||
this.changeSetting({ logoUrl: logoUrl })
|
var themecolor = data.color
|
||||||
this.changeSetting({ title: title })
|
var logoUrl = data.logoUrl
|
||||||
// // 深蓝色主题
|
window.sessionStorage.setItem('logo', logoUrl)
|
||||||
let echartsColor = {}
|
var title = data.name
|
||||||
if (data.color == '#044267') {
|
this.changeSetting({ themeColor: themecolor })
|
||||||
require.ensure([], function (require) {
|
this.changeSetting({ logoUrl: logoUrl })
|
||||||
require('../src/styles/element-uitwo.scss')
|
this.changeSetting({ title: title })
|
||||||
})
|
// // 深蓝色主题
|
||||||
this.themeName = 'element-uitwo'
|
let echartsColor = {}
|
||||||
echartsColor = {
|
if (data.color == '#044267') {
|
||||||
WordColor: '#fff',
|
require.ensure([], function (require) {
|
||||||
thread: '#0379A0',
|
require('../src/styles/element-uitwo.scss')
|
||||||
FigureColor: [
|
})
|
||||||
'#00CCFF',
|
this.themeName = 'element-uitwo'
|
||||||
'#FF9933',
|
echartsColor = {
|
||||||
'#41E398',
|
WordColor: '#fff',
|
||||||
'#0192CD',
|
thread: '#0379A0',
|
||||||
'#00FFFF',
|
FigureColor: [
|
||||||
'#FAC800',
|
'#00CCFF',
|
||||||
'#12AFA6',
|
'#FF9933',
|
||||||
'#FF680B ',
|
'#41E398',
|
||||||
'#FF0000 ',
|
'#0192CD',
|
||||||
'#07CCCA '
|
'#00FFFF',
|
||||||
]
|
'#FAC800',
|
||||||
}
|
'#12AFA6',
|
||||||
} else if (data.color == '#065252') {
|
'#FF680B ',
|
||||||
// // 深绿色
|
'#FF0000 ',
|
||||||
require.ensure([], function (require) {
|
'#07CCCA '
|
||||||
require('../src/styles/element-uione.scss')
|
]
|
||||||
})
|
}
|
||||||
this.themeName = 'element-uione'
|
} else if (data.color == '#065252') {
|
||||||
echartsColor = {
|
// // 深绿色
|
||||||
WordColor: '#fff',
|
require.ensure([], function (require) {
|
||||||
thread: '#268080',
|
require('../src/styles/element-uione.scss')
|
||||||
FigureColor: [
|
})
|
||||||
'#01DFA3 ',
|
this.themeName = 'element-uione'
|
||||||
'#FAC800',
|
echartsColor = {
|
||||||
'#00CCFF',
|
WordColor: '#fff',
|
||||||
'#00FFFF',
|
thread: '#268080',
|
||||||
'#FF680B',
|
FigureColor: [
|
||||||
'#00FF00',
|
'#01DFA3 ',
|
||||||
'#D5FF6B ',
|
'#FAC800',
|
||||||
'#FF9933 ',
|
'#00CCFF',
|
||||||
'#5B6E96 ',
|
'#00FFFF',
|
||||||
'#66FFCC '
|
'#FF680B',
|
||||||
]
|
'#00FF00',
|
||||||
}
|
'#D5FF6B ',
|
||||||
} else if (data.color == '#4AB5A5') {
|
'#FF9933 ',
|
||||||
// // 浅色调
|
'#5B6E96 ',
|
||||||
require.ensure([], function (require) {
|
'#66FFCC '
|
||||||
require('../src/styles/element-uithree.scss')
|
]
|
||||||
})
|
}
|
||||||
this.themeName = 'element-uithree'
|
} else if (data.color == '#4AB5A5') {
|
||||||
echartsColor = {
|
// // 浅色调
|
||||||
WordColor: '#000',
|
require.ensure([], function (require) {
|
||||||
thread: '#000000',
|
require('../src/styles/element-uithree.scss')
|
||||||
FigureColor: [
|
})
|
||||||
'#07CCCA ',
|
this.themeName = 'element-uithree'
|
||||||
'#00BFF5',
|
echartsColor = {
|
||||||
'#FFBF00',
|
WordColor: '#000',
|
||||||
'#77DA63',
|
thread: '#000000',
|
||||||
'#D5FF6B',
|
FigureColor: [
|
||||||
'#Ff6600',
|
'#07CCCA ',
|
||||||
'#FF9100',
|
'#00BFF5',
|
||||||
'#5B6E96',
|
'#FFBF00',
|
||||||
'#66FFCC',
|
'#77DA63',
|
||||||
'#B3B3B3'
|
'#D5FF6B',
|
||||||
]
|
'#Ff6600',
|
||||||
}
|
'#FF9100',
|
||||||
} else {
|
'#5B6E96',
|
||||||
//普通
|
'#66FFCC',
|
||||||
require.ensure([], function (require) {
|
'#B3B3B3'
|
||||||
require('../src/styles/element-uiforth.scss')
|
]
|
||||||
})
|
}
|
||||||
this.themeName = 'element-uiforth'
|
} else {
|
||||||
echartsColor = {
|
//普通
|
||||||
WordColor: '#000',
|
require.ensure([], function (require) {
|
||||||
thread: '#000000',
|
require('../src/styles/element-uiforth.scss')
|
||||||
FigureColor: [
|
})
|
||||||
'#07CCCA ',
|
this.themeName = 'element-uiforth'
|
||||||
'#00BFF5',
|
echartsColor = {
|
||||||
'#FFBF00',
|
WordColor: '#000',
|
||||||
'#77DA63',
|
thread: '#000000',
|
||||||
'#D5FF6B',
|
FigureColor: [
|
||||||
'#Ff6600',
|
'#07CCCA ',
|
||||||
'#FF9100',
|
'#00BFF5',
|
||||||
'#5B6E96',
|
'#FFBF00',
|
||||||
'#66FFCC',
|
'#77DA63',
|
||||||
'#B3B3B3',
|
'#D5FF6B',
|
||||||
'#FF00FF',
|
'#Ff6600',
|
||||||
'#CC00FF',
|
'#FF9100',
|
||||||
'#FF9999'
|
'#5B6E96',
|
||||||
]
|
'#66FFCC',
|
||||||
}
|
'#B3B3B3',
|
||||||
}
|
'#FF00FF',
|
||||||
window.localStorage.setItem('echartsColor', JSON.stringify(echartsColor))
|
'#CC00FF',
|
||||||
})
|
'#FF9999'
|
||||||
},
|
]
|
||||||
beforeunloadHandler() {
|
}
|
||||||
this._beforeUnload_time = new Date().getTime()
|
}
|
||||||
// var storage = window.localStorage;
|
window.localStorage.setItem('echartsColor', JSON.stringify(echartsColor))
|
||||||
// storage.clear()
|
})
|
||||||
},
|
},
|
||||||
unloadHandler(e) {
|
beforeunloadHandler() {
|
||||||
this._gap_time = new Date().getTime() - this._beforeUnload_time
|
this._beforeUnload_time = new Date().getTime()
|
||||||
// // debugger
|
// var storage = window.localStorage;
|
||||||
// // 判断是窗口关闭还是刷新
|
// storage.clear()
|
||||||
// if (this._gap_time <= 5) {
|
},
|
||||||
// var storage = window.localStorage
|
unloadHandler(e) {
|
||||||
// storage.clear()
|
this._gap_time = new Date().getTime() - this._beforeUnload_time
|
||||||
// }
|
// // debugger
|
||||||
},
|
// // 判断是窗口关闭还是刷新
|
||||||
detectZoom() {
|
// if (this._gap_time <= 5) {
|
||||||
let ratio = 0,
|
// var storage = window.localStorage
|
||||||
screen = window.screen,
|
// storage.clear()
|
||||||
ua = navigator.userAgent.toLowerCase()
|
// }
|
||||||
if (window.devicePixelRatio !== undefined) {
|
},
|
||||||
ratio = window.devicePixelRatio
|
detectZoom() {
|
||||||
} else if (~ua.indexOf('msie')) {
|
let ratio = 0,
|
||||||
if (screen.deviceXDPI && screen.logicalXDPI) {
|
screen = window.screen,
|
||||||
ratio = screen.deviceXDPI / screen.logicalXDPI
|
ua = navigator.userAgent.toLowerCase()
|
||||||
}
|
if (window.devicePixelRatio !== undefined) {
|
||||||
} else if (window.outerWidth !== undefined && window.innerWidth !== undefined) {
|
ratio = window.devicePixelRatio
|
||||||
ratio = window.outerWidth / window.innerWidth
|
} else if (~ua.indexOf('msie')) {
|
||||||
}
|
if (screen.deviceXDPI && screen.logicalXDPI) {
|
||||||
if (ratio) {
|
ratio = screen.deviceXDPI / screen.logicalXDPI
|
||||||
ratio = Math.round(ratio * 100)
|
}
|
||||||
}
|
} else if (window.outerWidth !== undefined && window.innerWidth !== undefined) {
|
||||||
return ratio
|
ratio = window.outerWidth / window.innerWidth
|
||||||
}
|
}
|
||||||
}
|
if (ratio) {
|
||||||
}
|
ratio = Math.round(ratio * 100)
|
||||||
</script>
|
}
|
||||||
|
return ratio
|
||||||
<style>
|
}
|
||||||
.zindx {
|
}
|
||||||
min-width: 1200px;
|
}
|
||||||
}
|
</script>
|
||||||
|
|
||||||
body .el-table th.gutter {
|
<style>
|
||||||
display: table-cell !important;
|
.zindx {
|
||||||
}
|
min-width: 1200px;
|
||||||
|
}
|
||||||
.plTableBox.el-table__header,
|
|
||||||
.el-table__body,
|
body .el-table th.gutter {
|
||||||
.el-table__footer {
|
display: table-cell !important;
|
||||||
width: 100% !important;
|
}
|
||||||
table-layout: fixed !important;
|
|
||||||
}
|
.plTableBox.el-table__header,
|
||||||
</style>
|
.el-table__body,
|
||||||
|
.el-table__footer {
|
||||||
|
width: 100% !important;
|
||||||
|
table-layout: fixed !important;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
@@ -1,93 +1,93 @@
|
|||||||
import request from '@/utils/request'
|
import request from '@/utils/request'
|
||||||
|
|
||||||
export function list(data) {
|
export function list(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/system-boot/dictType/list',
|
url: '/system-boot/dictType/list',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
export function updateType(data) {
|
export function updateType(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/system-boot/dictType/update',
|
url: '/system-boot/dictType/update',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
export function add(data) {
|
export function add(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/system-boot/dictType/add',
|
url: '/system-boot/dictType/add',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function addData(data) {
|
export function addData(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/system-boot/dictData/add',
|
url: '/system-boot/dictData/add',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
export function deleteType(data) {
|
export function deleteType(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/system-boot/dictType/delete',
|
url: '/system-boot/dictType/delete',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
export function updateData(data) {
|
export function updateData(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/system-boot/dictData/update',
|
url: '/system-boot/dictData/update',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function deleteData(data) {
|
export function deleteData(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/system-boot/dictData/delete',
|
url: '/system-boot/dictData/delete',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
export function getTypeIdData(data) {
|
export function getTypeIdData(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/system-boot/dictData/getTypeIdData',
|
url: '/system-boot/dictData/getTypeIdData',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
export function getSysConfig() {
|
export function getSysConfig() {
|
||||||
return request({
|
return request({
|
||||||
url: '/system-boot/config/getSysConfig',
|
url: '/system-boot/config/getSysConfig',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
export function getDicTree() {
|
export function getDicTree() {
|
||||||
return request({
|
return request({
|
||||||
url: '/system-boot/dictTree/queryTree',
|
url: '/system-boot/dictTree/queryTree',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
export function getDicTreeAdd(data) {
|
export function getDicTreeAdd(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/system-boot/dic/add',
|
url: '/system-boot/dictTree/add',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
export function getDicTreeUpdate(data) {
|
export function getDicTreeUpdate(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/system-boot/dic/update',
|
url: '/system-boot/dictTree/update',
|
||||||
method: 'put',
|
method: 'put',
|
||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
export function getDicTreeDelete(data) {
|
export function getDicTreeDelete(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/system-boot/dic/delete',
|
url: '/system-boot/dictTree/delete',
|
||||||
method: 'delete',
|
method: 'delete',
|
||||||
params: data
|
params: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -18,7 +18,12 @@ const cgyList = [
|
|||||||
'/Statistical-analysis/baselineLevelAssessment',
|
'/Statistical-analysis/baselineLevelAssessment',
|
||||||
'/Statistical-analysis/substationBackgroundHarmonic',
|
'/Statistical-analysis/substationBackgroundHarmonic',
|
||||||
'/Statistical-analysis/steadyStateIndicators',
|
'/Statistical-analysis/steadyStateIndicators',
|
||||||
'/Statistical-analysis/transientIndicators'
|
'/Statistical-analysis/transientIndicators',
|
||||||
|
'/harmonicWave/homePage',
|
||||||
|
'/harmonicWave/pointmonitoring',
|
||||||
|
'/harmonicWave/regionalmonitoring',
|
||||||
|
'/harmonicWave/comprehensiveanalysis',
|
||||||
|
'/harmonicWave/CVT'
|
||||||
]
|
]
|
||||||
// 免登录判断
|
// 免登录判断
|
||||||
import { sm2, encrypt } from '@/assets/commjs/sm2.js'
|
import { sm2, encrypt } from '@/assets/commjs/sm2.js'
|
||||||
@@ -26,7 +31,11 @@ import { sm3Digest } from '@/assets/commjs/sm3'
|
|||||||
import { setDictype, setSysConfig } from '@/utils/auth'
|
import { setDictype, setSysConfig } from '@/utils/auth'
|
||||||
import { gongkey, CodeSr, heBeiToken, menulist, updateFirstPassword, dictypeData, getSysConfig } from '@/api/user'
|
import { gongkey, CodeSr, heBeiToken, menulist, updateFirstPassword, dictypeData, getSysConfig } from '@/api/user'
|
||||||
let routerPath = ''
|
let routerPath = ''
|
||||||
|
let flag = false
|
||||||
router.beforeEach(async (to, from, next) => {
|
router.beforeEach(async (to, from, next) => {
|
||||||
|
console.log('🚀 ~ to:', to)
|
||||||
|
console.log('🚀 ~ getURLParameter ~ window.location.href:', window.location.href)
|
||||||
|
|
||||||
// start progress bar
|
// start progress bar
|
||||||
// NProgress.start()
|
// NProgress.start()
|
||||||
|
|
||||||
@@ -42,6 +51,10 @@ router.beforeEach(async (to, from, next) => {
|
|||||||
// 超高压河北免登录功能
|
// 超高压河北免登录功能
|
||||||
|
|
||||||
if (process.env.VUE_APP_MODE === 'cgyqr') {
|
if (process.env.VUE_APP_MODE === 'cgyqr') {
|
||||||
|
if (flag) {
|
||||||
|
flag = false
|
||||||
|
return next()
|
||||||
|
}
|
||||||
if (process.env.VUE_APP_HB == 'hbqr') {
|
if (process.env.VUE_APP_HB == 'hbqr') {
|
||||||
// let data = JSON.parse(sessionStorage.getItem('userInfo1'))
|
// let data = JSON.parse(sessionStorage.getItem('userInfo1'))
|
||||||
// if (data.userToken == sessionStorage.getItem('HB_TOKEN')) {
|
// if (data.userToken == sessionStorage.getItem('HB_TOKEN')) {
|
||||||
@@ -53,7 +66,10 @@ router.beforeEach(async (to, from, next) => {
|
|||||||
// window.sessionStorage.removeItem('cntoken')
|
// window.sessionStorage.removeItem('cntoken')
|
||||||
// sessionStorage.setItem('HB_TOKEN', data.userToken)
|
// sessionStorage.setItem('HB_TOKEN', data.userToken)
|
||||||
// setTimeout(() => {
|
// setTimeout(() => {
|
||||||
proceed(to, from, next, 'cdf')
|
|
||||||
|
// console.log('🚀 ~ getURLParameter ~ url:', url)
|
||||||
|
|
||||||
|
proceed({ path: window.location.href.split('#')[1].split('&')[0] }, from, next, 'cdf')
|
||||||
// }, 10)
|
// }, 10)
|
||||||
// }
|
// }
|
||||||
|
|
||||||
@@ -86,30 +102,22 @@ router.beforeEach(async (to, from, next) => {
|
|||||||
// })
|
// })
|
||||||
// }
|
// }
|
||||||
} else {
|
} else {
|
||||||
const response = await fetch('/')
|
// const response = await fetch('/')
|
||||||
const flag = response.headers.get('X-Xbqr')
|
// const flag = response.headers.get('X-Xbqr')
|
||||||
console.log('🚀 ~ flag:', flag)
|
|
||||||
|
|
||||||
if (flag) {
|
let { accessToken, pathname } = getURLParameter('accessToken')
|
||||||
// 超高压嵌入 接受父应用传参
|
console.log('🚀 ~ accessToken:', accessToken, pathname)
|
||||||
window.addEventListener(
|
// getURLParameter
|
||||||
'message',
|
if (accessToken) {
|
||||||
event => {
|
// 超高压嵌入 接受父应用传参
|
||||||
if (event.data && event.data.type === 'iframeNest') {
|
console.log('超高压嵌入')
|
||||||
let { accessToken, displayMode, theme } = event.data
|
productionManagementCheck({
|
||||||
console.log('我是iframe,我接收到了数据:', accessToken)
|
token: accessToken
|
||||||
productionManagementCheck({
|
}).then(res => {
|
||||||
token: accessToken
|
if (res.code == 'A0000') {
|
||||||
}).then(res => {
|
proceed({ path: pathname || to.path }, from, next, 'cdf1')
|
||||||
console.log('🚀 ~ receiveMessageFromOutside ~ res:', res)
|
|
||||||
if (res.code == 'A0000') {
|
|
||||||
proceed(to, from, next)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
},
|
})
|
||||||
false
|
|
||||||
)
|
|
||||||
} else {
|
} else {
|
||||||
proceed(to, from, next)
|
proceed(to, from, next)
|
||||||
}
|
}
|
||||||
@@ -156,6 +164,45 @@ router.beforeEach(async (to, from, next) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
// 解析 URL 参数
|
||||||
|
function getURLParameter(name) {
|
||||||
|
// 获取当前页面的 URL
|
||||||
|
const url = window.location.href
|
||||||
|
// console.log('🚀 ~ getURLParameter ~ url:', url)
|
||||||
|
|
||||||
|
// 使用 URL 对象解析 URL
|
||||||
|
const urlObj = new URL(url)
|
||||||
|
console.log('🚀 ~ getURLParameter ~ urlObj:', urlObj)
|
||||||
|
|
||||||
|
// 获取查询参数
|
||||||
|
const params = new URLSearchParams(urlObj.search)
|
||||||
|
console.log(params.get(name)) // 输出: 123
|
||||||
|
console.log('pathname', urlObj.pathname) // 输出: 123
|
||||||
|
// 获取 id 参数
|
||||||
|
return {
|
||||||
|
accessToken: params.get('accessToken'),
|
||||||
|
pathname: urlObj.pathname
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function getURLParameterHb(name) {
|
||||||
|
// 获取当前页面的 URL
|
||||||
|
const url = window.location.href
|
||||||
|
// console.log('🚀 ~ getURLParameter ~ url:', url)
|
||||||
|
|
||||||
|
// 使用 URL 对象解析 URL
|
||||||
|
const urlObj = new URL(url)
|
||||||
|
console.log('🚀 ~ getURLParameter ~ urlObj:', urlObj)
|
||||||
|
|
||||||
|
// 获取查询参数
|
||||||
|
const params = new URLSearchParams(urlObj.search)
|
||||||
|
console.log(params.get(name)) // 输出: 123
|
||||||
|
console.log('pathname', urlObj.pathname) // 输出: 123
|
||||||
|
// 获取 id 参数
|
||||||
|
return {
|
||||||
|
accessToken: params.get('accessToken'),
|
||||||
|
pathname: urlObj.pathname
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
async function proceed(to, from, next, HB_NAME) {
|
async function proceed(to, from, next, HB_NAME) {
|
||||||
// 打印当前 name 和 sessionStorage 中 cntoken 是否为空的日志
|
// 打印当前 name 和 sessionStorage 中 cntoken 是否为空的日志
|
||||||
@@ -222,12 +269,19 @@ async function proceed(to, from, next, HB_NAME) {
|
|||||||
// cgyList.indexOf(to.path) !== -1
|
// cgyList.indexOf(to.path) !== -1
|
||||||
store.dispatch('user/getmenu').then(async response => {
|
store.dispatch('user/getmenu').then(async response => {
|
||||||
await getmuen(response.data[0])
|
await getmuen(response.data[0])
|
||||||
|
|
||||||
router.push({
|
router.push({
|
||||||
path: cgyList.indexOf(to.path) !== -1 ? to.path : to.path //routerPath
|
path: cgyList.indexOf(to.path) !== -1 ? to.path : to.path //routerPath
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
next()
|
|
||||||
|
if (process.env.VUE_APP_KEY == 'scqr') {
|
||||||
|
flag = true
|
||||||
|
next(to.path)
|
||||||
|
} else {
|
||||||
|
next()
|
||||||
|
}
|
||||||
}, 500)
|
}, 500)
|
||||||
})
|
})
|
||||||
.catch(error => {
|
.catch(error => {
|
||||||
@@ -239,7 +293,12 @@ async function proceed(to, from, next, HB_NAME) {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
next()
|
if (process.env.VUE_APP_KEY == 'scqr') {
|
||||||
|
flag = true
|
||||||
|
next(to.path)
|
||||||
|
} else {
|
||||||
|
next()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
3875
src/router/index.js
3875
src/router/index.js
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -7,10 +7,11 @@ import { CodeSr } from '@/api/user'
|
|||||||
axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
|
axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
|
||||||
|
|
||||||
const service = axios.create({
|
const service = axios.create({
|
||||||
|
// baseURL: '/harmonicWaveApi',//超高压生产嵌入
|
||||||
|
// baseURL: '/PMS3/Application/third/aqcp-dnzl/harmonicWaveApi',//河北嵌入
|
||||||
baseURL: '/api',
|
baseURL: '/api',
|
||||||
timeout: 150000
|
timeout: 150000
|
||||||
})
|
})
|
||||||
|
|
||||||
// service.interceptors.request.use(
|
// service.interceptors.request.use(
|
||||||
// config => {
|
// config => {
|
||||||
// if(config.url !=='/pqs-oauth2/oauth/token' || config.params.grant_type=='refresh_token'){
|
// if(config.url !=='/pqs-oauth2/oauth/token' || config.params.grant_type=='refresh_token'){
|
||||||
|
|||||||
@@ -1,120 +1,120 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="pd10">
|
<div class="pd10">
|
||||||
<el-form :inline="true" :model="formData" class="demo-form-inline">
|
<el-form :inline="true" :model="formData" class="demo-form-inline">
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<Timeinterval ref="interval" :interval="3"></Timeinterval>
|
<Timeinterval ref="interval" :interval="3"></Timeinterval>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="筛选数据:">
|
<el-form-item label="筛选数据:">
|
||||||
<el-input v-model.trim="formData.loginName" placeholder="请输入筛选数据" clearable></el-input>
|
<el-input v-model.trim="formData.loginName" placeholder="请输入筛选数据" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="onSubmit" icon="el-icon-search">查询</el-button>
|
<el-button type="primary" @click="onSubmit" icon="el-icon-search">查询</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-table
|
<el-table
|
||||||
stripe
|
stripe
|
||||||
size="mini"
|
size="mini"
|
||||||
:row-config="{ isCurrent: true, isHover: true }"
|
:row-config="{ isCurrent: true, isHover: true }"
|
||||||
border
|
border
|
||||||
highlight-current-row
|
highlight-current-row
|
||||||
v-loading="loading"
|
v-loading="loading"
|
||||||
element-loading-text="数据加载中"
|
element-loading-text="数据加载中"
|
||||||
header-cell-class-name="table_header"
|
header-cell-class-name="table_header"
|
||||||
:data="datamock"
|
:data="datamock"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
:height="vh + 'px'"
|
:height="vh + 'px'"
|
||||||
>
|
>
|
||||||
<el-table-column prop="userName" label="登录用户" align="center"></el-table-column>
|
<el-table-column prop="userName" label="登录用户" align="center"></el-table-column>
|
||||||
<el-table-column prop="ip" label="登录ip" align="center"></el-table-column>
|
<el-table-column prop="ip" label="登录IP" align="center"></el-table-column>
|
||||||
<el-table-column prop="time" label="登录时间" align="center"></el-table-column>
|
<el-table-column prop="time" label="登录时间" align="center"></el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<el-pagination
|
<el-pagination
|
||||||
background
|
background
|
||||||
align="right"
|
align="right"
|
||||||
@size-change="handleSizeChange"
|
@size-change="handleSizeChange"
|
||||||
@current-change="handleCurrentChange"
|
@current-change="handleCurrentChange"
|
||||||
:current-page="formData.pageNum"
|
:current-page="formData.pageNum"
|
||||||
:page-sizes="[20, 30, 50, 100]"
|
:page-sizes="[20, 30, 50, 100]"
|
||||||
:page-size="formData.pageSize"
|
:page-size="formData.pageSize"
|
||||||
layout="total, sizes, prev, pager, next, jumper"
|
layout="total, sizes, prev, pager, next, jumper"
|
||||||
:total="total"
|
:total="total"
|
||||||
class="mt10"
|
class="mt10"
|
||||||
></el-pagination>
|
></el-pagination>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import Timeinterval from '@/views/components/Timeinterval.vue'
|
import Timeinterval from '@/views/components/Timeinterval.vue'
|
||||||
import { getAuditLog } from '@/api/AuditManagement/AuditManagement'
|
import { getAuditLog } from '@/api/AuditManagement/AuditManagement'
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
Timeinterval
|
Timeinterval
|
||||||
},
|
},
|
||||||
props: {},
|
props: {},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loading: false,
|
loading: false,
|
||||||
zoom: '', //图表焦点校验
|
zoom: '', //图表焦点校验
|
||||||
vh: undefined,
|
vh: undefined,
|
||||||
formData: {
|
formData: {
|
||||||
operateType: '认证',
|
operateType: '认证',
|
||||||
loginName: '',
|
loginName: '',
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 20
|
pageSize: 20
|
||||||
},
|
},
|
||||||
datamock: [],
|
datamock: [],
|
||||||
total: undefined
|
total: undefined
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {},
|
created() {},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.setHeight()
|
this.setHeight()
|
||||||
window.addEventListener('resize', this.setHeight)
|
window.addEventListener('resize', this.setHeight)
|
||||||
|
|
||||||
this.onSubmit()
|
this.onSubmit()
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
window.removeEventListener('resize', this.setHeight)
|
window.removeEventListener('resize', this.setHeight)
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
setHeight() {
|
setHeight() {
|
||||||
this.vh = window.sessionStorage.getItem('appheight') - 95
|
this.vh = window.sessionStorage.getItem('appheight') - 95
|
||||||
},
|
},
|
||||||
//查询
|
//查询
|
||||||
onSubmit() {
|
onSubmit() {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
this.item = this.$refs.interval.timeValue
|
this.item = this.$refs.interval.timeValue
|
||||||
this.formData.searchBeginTime = this.item[0]
|
this.formData.searchBeginTime = this.item[0]
|
||||||
this.formData.searchEndTime = this.item[1]
|
this.formData.searchEndTime = this.item[1]
|
||||||
getAuditLog(this.formData).then(res => {
|
getAuditLog(this.formData).then(res => {
|
||||||
this.datamock = res.data.records
|
this.datamock = res.data.records
|
||||||
this.total = res.data.total
|
this.total = res.data.total
|
||||||
this.loading = false
|
this.loading = false
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
//每页条数改变时触发 选择一页显示多少行
|
//每页条数改变时触发 选择一页显示多少行
|
||||||
handleSizeChange(val) {
|
handleSizeChange(val) {
|
||||||
this.formData.pageSize = val
|
this.formData.pageSize = val
|
||||||
this.onSubmit()
|
this.onSubmit()
|
||||||
},
|
},
|
||||||
//当前页改变时触发 跳转其他页
|
//当前页改变时触发 跳转其他页
|
||||||
handleCurrentChange(val) {
|
handleCurrentChange(val) {
|
||||||
this.formData.pageNum = val
|
this.formData.pageNum = val
|
||||||
this.onSubmit()
|
this.onSubmit()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
computed: {},
|
computed: {},
|
||||||
|
|
||||||
watch: {}
|
watch: {}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
@import url('../../../styles/comStyle.less');
|
@import url('../../../styles/comStyle.less');
|
||||||
::v-deep .el-form-item--small .el-form-item__content,
|
::v-deep .el-form-item--small .el-form-item__content,
|
||||||
.el-form-item--small .el-form-item__label {
|
.el-form-item--small .el-form-item__label {
|
||||||
height: 32px;
|
height: 32px;
|
||||||
}
|
}
|
||||||
::v-deep .el-table .cell {
|
::v-deep .el-table .cell {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,431 +1,431 @@
|
|||||||
<template>
|
<template>
|
||||||
<div v-loading="loading">
|
<div v-loading="loading">
|
||||||
<div>
|
<div>
|
||||||
<div id="boxi" :style="`height:${vh};overflow: hidden;`">
|
<div id="boxi" :style="`height:${vh};overflow: hidden;`">
|
||||||
<div class="bx" id="wave"></div>
|
<div class="bx" id="wave"></div>
|
||||||
</div>
|
</div>
|
||||||
<el-tabs type="border-card">
|
<el-tabs type="border-card">
|
||||||
<el-tab-pane label="暂态波形上送" :style="'height:' + vhh">
|
<el-tab-pane label="暂态波形上送" :style="'height:' + vhh">
|
||||||
<el-table
|
<el-table
|
||||||
stripe
|
stripe
|
||||||
:data="Data"
|
:data="Data"
|
||||||
:height="height"
|
:height="height"
|
||||||
border
|
border
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
header-cell-class-name="table_header"
|
header-cell-class-name="table_header"
|
||||||
>
|
>
|
||||||
<el-table-column align="center" prop="number" label="事件段"></el-table-column>
|
<el-table-column align="center" prop="number" label="事件段"></el-table-column>
|
||||||
<el-table-column align="center" prop="number" label="波形起始点相位(°)">
|
<el-table-column align="center" prop="number" label="波形起始点相位(°)">
|
||||||
<el-table-column align="center" prop="number" label="A相"></el-table-column>
|
<el-table-column align="center" prop="number" label="A相"></el-table-column>
|
||||||
<el-table-column align="center" prop="number" label="B相"></el-table-column>
|
<el-table-column align="center" prop="number" label="B相"></el-table-column>
|
||||||
<el-table-column align="center" prop="number" label="C相"></el-table-column>
|
<el-table-column align="center" prop="number" label="C相"></el-table-column>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column align="center" prop="number" label="跳变段电压变化率(V/ms)">
|
<el-table-column align="center" prop="number" label="跳变段电压变化率(V/ms)">
|
||||||
<el-table-column align="center" prop="number" label="A相"></el-table-column>
|
<el-table-column align="center" prop="number" label="A相"></el-table-column>
|
||||||
<el-table-column align="center" prop="number" label="B相"></el-table-column>
|
<el-table-column align="center" prop="number" label="B相"></el-table-column>
|
||||||
<el-table-column align="center" prop="number" label="C相"></el-table-column>
|
<el-table-column align="center" prop="number" label="C相"></el-table-column>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column align="center" prop="number" label="相位跳变(°)">
|
<el-table-column align="center" prop="number" label="相位跳变(°)">
|
||||||
<el-table-column align="center" prop="number" label="A相"></el-table-column>
|
<el-table-column align="center" prop="number" label="A相"></el-table-column>
|
||||||
<el-table-column align="center" prop="number" label="B相"></el-table-column>
|
<el-table-column align="center" prop="number" label="B相"></el-table-column>
|
||||||
<el-table-column align="center" prop="number" label="C相"></el-table-column>
|
<el-table-column align="center" prop="number" label="C相"></el-table-column>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column align="center" prop="number" label="总分段数目"></el-table-column>
|
<el-table-column align="center" prop="number" label="总分段数目"></el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
align="center"
|
align="center"
|
||||||
prop="number"
|
prop="number"
|
||||||
label="三相电压不平衡度(%)"
|
label="三相电压不平衡度(%)"
|
||||||
width="180"
|
width="180"
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<el-table-column align="center" prop="number" label="暂降类型"></el-table-column>
|
<el-table-column align="center" prop="number" label="暂降类型"></el-table-column>
|
||||||
<el-table-column align="center" prop="number" label="暂降原因"></el-table-column>
|
<el-table-column align="center" prop="number" label="暂降原因"></el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { getMonitorEventAnalyseWave } from '@/api/monitoringpointStatistics/echart'
|
import { getMonitorEventAnalyseWave } from '@/api/monitoringpointStatistics/echart'
|
||||||
import $ from 'jquery'
|
import $ from 'jquery'
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
flag: {
|
flag: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false
|
default: false
|
||||||
},
|
},
|
||||||
DColor: {
|
DColor: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false
|
default: false
|
||||||
},
|
},
|
||||||
boxoList: {
|
boxoList: {
|
||||||
type: [Object, Array]
|
type: [Object, Array]
|
||||||
},
|
},
|
||||||
GJList: {
|
GJList: {
|
||||||
type: [Object, Array]
|
type: [Object, Array]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loading: true,
|
loading: true,
|
||||||
|
|
||||||
url: require('@/assets/point.png'),
|
url: require('@/assets/point.png'),
|
||||||
valA: 0,
|
valA: 0,
|
||||||
isOpen: false,
|
isOpen: false,
|
||||||
time: '',
|
time: '',
|
||||||
type: '',
|
type: '',
|
||||||
severity: '',
|
severity: '',
|
||||||
iphasic: '',
|
iphasic: '',
|
||||||
eventValue: '',
|
eventValue: '',
|
||||||
persistTime: '',
|
persistTime: '',
|
||||||
lineName: '',
|
lineName: '',
|
||||||
subName: '',
|
subName: '',
|
||||||
waveDatas: [],
|
waveDatas: [],
|
||||||
|
|
||||||
Data: [],
|
Data: [],
|
||||||
height: null,
|
height: null,
|
||||||
vhh: null,
|
vhh: null,
|
||||||
ptpass: '',
|
ptpass: '',
|
||||||
waveHeight: undefined,
|
waveHeight: undefined,
|
||||||
$wave: undefined,
|
$wave: undefined,
|
||||||
color: '#006565',
|
color: '#006565',
|
||||||
charts: {},
|
charts: {},
|
||||||
arrpoints: [],
|
arrpoints: [],
|
||||||
titles: '',
|
titles: '',
|
||||||
vh: null,
|
vh: null,
|
||||||
vw: null,
|
vw: null,
|
||||||
zoom: ''
|
zoom: ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {},
|
created() {},
|
||||||
watch: {
|
watch: {
|
||||||
value: function (a, b) {
|
value: function (a, b) {
|
||||||
if (a == 2) {
|
if (a == 2) {
|
||||||
// $("#wave1").remove();
|
// $("#wave1").remove();
|
||||||
this.initWaves()
|
this.initWaves()
|
||||||
} else {
|
} else {
|
||||||
$('#wave1').remove()
|
$('#wave1').remove()
|
||||||
this.initWaves()
|
this.initWaves()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.setHeight()
|
this.setHeight()
|
||||||
window.addEventListener('resize', this.setHeight)
|
window.addEventListener('resize', this.setHeight)
|
||||||
this.$wave = $('#wave').eq(0)
|
this.$wave = $('#wave').eq(0)
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.query()
|
this.query()
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
window.removeEventListener('resize', this.setHeight)
|
window.removeEventListener('resize', this.setHeight)
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
setHeight() {
|
setHeight() {
|
||||||
this.zoom = 1 / document.body.style.zoom
|
this.zoom = 1 / document.body.style.zoom
|
||||||
if (this.flag) {
|
if (this.flag) {
|
||||||
// console.log(123);
|
// console.log(123);
|
||||||
this.vh = window.sessionStorage.getItem('appheight') - 210 + 'px'
|
this.vh = window.sessionStorage.getItem('appheight') - 210 + 'px'
|
||||||
} else {
|
} else {
|
||||||
// console.log(3333);
|
// console.log(3333);
|
||||||
this.vh = window.sessionStorage.getItem('appheight') - 275 + 'px'
|
this.vh = window.sessionStorage.getItem('appheight') - 275 + 'px'
|
||||||
}
|
}
|
||||||
this.height = window.sessionStorage.getItem('appheight') / 2 - 300 + 'px'
|
this.height = window.sessionStorage.getItem('appheight') / 2 - 300 + 'px'
|
||||||
this.vw = window.sessionStorage.getItem('appwidth') - 60 + 'px'
|
this.vw = window.sessionStorage.getItem('appwidth') - 60 + 'px'
|
||||||
},
|
},
|
||||||
query() {
|
query() {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
this.initWave()
|
this.initWave()
|
||||||
},
|
},
|
||||||
|
|
||||||
//开始画图
|
//开始画图
|
||||||
initWave() {
|
initWave() {
|
||||||
//清除之前增加的div
|
//清除之前增加的div
|
||||||
// $("#wave ~ .bx1").remove();
|
// $("#wave ~ .bx1").remove();
|
||||||
$('div.bx1').remove()
|
$('div.bx1').remove()
|
||||||
//设置暂降触发点的位置 一次值与二次值Y轴不同(不是计算出来的)
|
//设置暂降触发点的位置 一次值与二次值Y轴不同(不是计算出来的)
|
||||||
// var height = $(window).height() - 90;
|
// var height = $(window).height() - 90;
|
||||||
var picHeight
|
var picHeight
|
||||||
var show = true
|
var show = true
|
||||||
|
|
||||||
//var v = $("#interval").val();
|
//var v = $("#interval").val();
|
||||||
var isvisible = false
|
var isvisible = false
|
||||||
|
|
||||||
picHeight = this.vh
|
picHeight = this.vh
|
||||||
this.$wave.css('height', picHeight)
|
this.$wave.css('height', picHeight)
|
||||||
this.$wave.css('width', this.vw)
|
this.$wave.css('width', this.vw)
|
||||||
|
|
||||||
var adata = []
|
var adata = []
|
||||||
var bdata = []
|
var bdata = []
|
||||||
var cdata = []
|
var cdata = []
|
||||||
var max = 0
|
var max = 0
|
||||||
var min = 0
|
var min = 0
|
||||||
//绘制横向第一个波形图
|
//绘制横向第一个波形图
|
||||||
this.GJList.smp_x.forEach((item, ind) => {
|
this.GJList.smp_x.forEach((item, ind) => {
|
||||||
if (this.GJList.smp_a[ind] > max) {
|
if (this.GJList.smp_a[ind] > max) {
|
||||||
max = this.GJList.smp_a[ind]
|
max = this.GJList.smp_a[ind]
|
||||||
} else if (this.GJList.smp_a[ind] < min) {
|
} else if (this.GJList.smp_a[ind] < min) {
|
||||||
min = this.GJList.smp_a[ind]
|
min = this.GJList.smp_a[ind]
|
||||||
}
|
}
|
||||||
if (this.GJList.smp_b[ind] > max) {
|
if (this.GJList.smp_b[ind] > max) {
|
||||||
max = this.GJList.smp_b[ind]
|
max = this.GJList.smp_b[ind]
|
||||||
} else if (this.GJList.smp_b[ind] < min) {
|
} else if (this.GJList.smp_b[ind] < min) {
|
||||||
min = this.GJList.smp_b[ind]
|
min = this.GJList.smp_b[ind]
|
||||||
}
|
}
|
||||||
if (this.GJList.smp_c[ind] > max) {
|
if (this.GJList.smp_c[ind] > max) {
|
||||||
max = this.GJList.smp_c[ind]
|
max = this.GJList.smp_c[ind]
|
||||||
} else if (this.GJList.smp_c[ind] < min) {
|
} else if (this.GJList.smp_c[ind] < min) {
|
||||||
min = this.GJList.smp_c[ind]
|
min = this.GJList.smp_c[ind]
|
||||||
}
|
}
|
||||||
|
|
||||||
adata.push([item, this.GJList.smp_a[ind]])
|
adata.push([item, this.GJList.smp_a[ind]])
|
||||||
bdata.push([item, this.GJList.smp_b[ind]])
|
bdata.push([item, this.GJList.smp_b[ind]])
|
||||||
cdata.push([item, this.GJList.smp_c[ind]])
|
cdata.push([item, this.GJList.smp_c[ind]])
|
||||||
})
|
})
|
||||||
//绘制瞬时波形图
|
//绘制瞬时波形图
|
||||||
const echarts = require('echarts')
|
const echarts = require('echarts')
|
||||||
let wave = document.getElementById('wave')
|
let wave = document.getElementById('wave')
|
||||||
let _this = this
|
let _this = this
|
||||||
var myChartes = echarts.init(wave)
|
var myChartes = echarts.init(wave)
|
||||||
let echartsColor = JSON.parse(window.localStorage.echartsColor)
|
let echartsColor = JSON.parse(window.localStorage.echartsColor)
|
||||||
var option = {
|
var option = {
|
||||||
tooltip: {
|
tooltip: {
|
||||||
top: '10px',
|
top: '10px',
|
||||||
trigger: 'axis',
|
trigger: 'axis',
|
||||||
borderColor: 'grey',
|
borderColor: 'grey',
|
||||||
backgroundColor: '#fff',
|
backgroundColor: '#fff',
|
||||||
style: {
|
style: {
|
||||||
color: '#000',
|
color: '#000',
|
||||||
fontSize: '15px',
|
fontSize: '15px',
|
||||||
padding: 10
|
padding: 10
|
||||||
},
|
},
|
||||||
formatter: function (params) {
|
formatter: function (params) {
|
||||||
// console.log(params)
|
// console.log(params)
|
||||||
var tips = ''
|
var tips = ''
|
||||||
tips += '时刻:' + params[0].data[0] + '</br/>'
|
tips += '时刻:' + params[0].data[0] + '</br/>'
|
||||||
|
|
||||||
for (var i = 0; i < params.length; i++) {
|
for (var i = 0; i < params.length; i++) {
|
||||||
if (params[i].seriesName != '暂降触发点') {
|
if (params[i].seriesName != '暂降触发点') {
|
||||||
tips += params[i].seriesName + ':' + params[i].value[1] + '<br/>'
|
tips += params[i].seriesName + ':' + params[i].value[1] + '<br/>'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return tips
|
return tips
|
||||||
},
|
},
|
||||||
// axisPointer: {
|
// axisPointer: {
|
||||||
// type: "cross",
|
// type: "cross",
|
||||||
// label: {
|
// label: {
|
||||||
// color: "#fff",
|
// color: "#fff",
|
||||||
// fontSize: 16,
|
// fontSize: 16,
|
||||||
// },
|
// },
|
||||||
// },
|
// },
|
||||||
textStyle: {
|
textStyle: {
|
||||||
color: '#fff',
|
color: '#fff',
|
||||||
fontStyle: 'normal',
|
fontStyle: 'normal',
|
||||||
opacity: 0.35,
|
opacity: 0.35,
|
||||||
fontSize: 14
|
fontSize: 14
|
||||||
},
|
},
|
||||||
backgroundColor: 'rgba(0,0,0,0.35)',
|
backgroundColor: 'rgba(0,0,0,0.35)',
|
||||||
borderWidth: 0
|
borderWidth: 0
|
||||||
},
|
},
|
||||||
title: {
|
title: {
|
||||||
left: 'center',
|
left: 'center',
|
||||||
text: '发生时刻:' + this.boxoList.startTime + ' PT变化:' + this.boxoList.measurementPointName,
|
text: '发生时刻:' + this.boxoList.startTime + ' PT变化:' + this.boxoList.measurementPointName,
|
||||||
textStyle: {
|
textStyle: {
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
color: _this.DColor ? '#fff' : echartsColor.WordColor
|
color: _this.DColor ? '#fff' : echartsColor.WordColor
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
legend: {
|
legend: {
|
||||||
left: '5%',
|
left: '5%',
|
||||||
top: '20',
|
top: '20',
|
||||||
verticalAlign: 'top',
|
verticalAlign: 'top',
|
||||||
enabled: true,
|
enabled: true,
|
||||||
itemDistance: 5,
|
itemDistance: 5,
|
||||||
textStyle: {
|
textStyle: {
|
||||||
color: _this.DColor ? '#fff' : echartsColor.WordColor,
|
color: _this.DColor ? '#fff' : echartsColor.WordColor,
|
||||||
rich: {
|
rich: {
|
||||||
a: {
|
a: {
|
||||||
verticalAlign: 'middle'
|
verticalAlign: 'middle'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
padding: [2, 0, 0, 0] //[上、右、下、左]
|
padding: [2, 0, 0, 0] //[上、右、下、左]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
toolbox: {
|
toolbox: {
|
||||||
show: false,
|
show: false,
|
||||||
feature: {
|
feature: {
|
||||||
//restore: {},
|
//restore: {},
|
||||||
saveAsImage: {
|
saveAsImage: {
|
||||||
iconStyle: {
|
iconStyle: {
|
||||||
borderColor: _this.DColor ? '#fff' : echartsColor.WordColor
|
borderColor: _this.DColor ? '#fff' : echartsColor.WordColor
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
xAxis: {
|
xAxis: {
|
||||||
type: 'value',
|
type: 'value',
|
||||||
name: '时刻',
|
name: '时刻',
|
||||||
boundaryGap: false,
|
boundaryGap: false,
|
||||||
min: this.GJList.smp_x[0],
|
min: this.GJList.smp_x[0],
|
||||||
max: this.GJList.smp_x[this.GJList.smp_x.length - 1] + 1,
|
max: this.GJList.smp_x[this.GJList.smp_x.length - 1] + 1,
|
||||||
title: {
|
title: {
|
||||||
text: 'ms',
|
text: 'ms',
|
||||||
textStyle: {
|
textStyle: {
|
||||||
fontSize: 12,
|
fontSize: 12,
|
||||||
color: _this.DColor ? '#fff' : echartsColor.WordColor
|
color: _this.DColor ? '#fff' : echartsColor.WordColor
|
||||||
},
|
},
|
||||||
enabled: true,
|
enabled: true,
|
||||||
align: 'high'
|
align: 'high'
|
||||||
},
|
},
|
||||||
splitLine: {
|
splitLine: {
|
||||||
show: false
|
show: false
|
||||||
},
|
},
|
||||||
axisTick: {
|
axisTick: {
|
||||||
alignWithLabel: true
|
alignWithLabel: true
|
||||||
},
|
},
|
||||||
axisLine: {
|
axisLine: {
|
||||||
lineStyle: {
|
lineStyle: {
|
||||||
color: _this.DColor ? '#fff' : echartsColor.thread
|
color: _this.DColor ? '#fff' : echartsColor.thread
|
||||||
},
|
},
|
||||||
onZero: false //-----------重点
|
onZero: false //-----------重点
|
||||||
},
|
},
|
||||||
axisLabel: {
|
axisLabel: {
|
||||||
color: _this.DColor ? '#fff' : echartsColor.WordColor,
|
color: _this.DColor ? '#fff' : echartsColor.WordColor,
|
||||||
formatter: function (value, index) {
|
formatter: function (value, index) {
|
||||||
if (_this.valA != (value - 0).toFixed(0)) {
|
if (_this.valA != (value - 0).toFixed(0)) {
|
||||||
_this.valA = (value - 0).toFixed(0)
|
_this.valA = (value - 0).toFixed(0)
|
||||||
return (value - 0).toFixed(0)
|
return (value - 0).toFixed(0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//rotate:39
|
//rotate:39
|
||||||
}
|
}
|
||||||
// data: this.syncExtremes,
|
// data: this.syncExtremes,
|
||||||
},
|
},
|
||||||
yAxis: {
|
yAxis: {
|
||||||
type: 'value',
|
type: 'value',
|
||||||
name: 'kV',
|
name: 'kV',
|
||||||
title: {
|
title: {
|
||||||
align: 'high',
|
align: 'high',
|
||||||
offset: 0,
|
offset: 0,
|
||||||
text: 'kV',
|
text: 'kV',
|
||||||
rotation: 0,
|
rotation: 0,
|
||||||
y: -10
|
y: -10
|
||||||
},
|
},
|
||||||
|
|
||||||
boundaryGap: [0, '100%'],
|
boundaryGap: [0, '100%'],
|
||||||
showLastLabel: true,
|
showLastLabel: true,
|
||||||
max: (max + 10).toFixed(2),
|
max: (max + 10).toFixed(2),
|
||||||
min: (min - 10).toFixed(2),
|
min: (min - 10).toFixed(2),
|
||||||
opposite: false,
|
opposite: false,
|
||||||
nameTextStyle: {
|
nameTextStyle: {
|
||||||
color: _this.DColor ? '#fff' : echartsColor.WordColor
|
color: _this.DColor ? '#fff' : echartsColor.WordColor
|
||||||
},
|
},
|
||||||
//minInterval: 1,
|
//minInterval: 1,
|
||||||
type: 'value',
|
type: 'value',
|
||||||
axisLine: {
|
axisLine: {
|
||||||
show: true,
|
show: true,
|
||||||
lineStyle: {
|
lineStyle: {
|
||||||
color: _this.DColor ? '#fff' : echartsColor.thread
|
color: _this.DColor ? '#fff' : echartsColor.thread
|
||||||
},
|
},
|
||||||
onZero: false //-----------重点
|
onZero: false //-----------重点
|
||||||
},
|
},
|
||||||
axisLabel: {
|
axisLabel: {
|
||||||
color: _this.DColor ? '#fff' : echartsColor.WordColor,
|
color: _this.DColor ? '#fff' : echartsColor.WordColor,
|
||||||
formatter: function (value, index) {
|
formatter: function (value, index) {
|
||||||
return (value - 0).toFixed(2)
|
return (value - 0).toFixed(2)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
splitLine: {
|
splitLine: {
|
||||||
lineStyle: {
|
lineStyle: {
|
||||||
// 使用深浅的间隔色
|
// 使用深浅的间隔色
|
||||||
color: [_this.DColor ? '#fff' : echartsColor.thread],
|
color: [_this.DColor ? '#fff' : echartsColor.thread],
|
||||||
type: 'dashed',
|
type: 'dashed',
|
||||||
opacity: 0.5
|
opacity: 0.5
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
grid: {
|
grid: {
|
||||||
left: '1%',
|
left: '1%',
|
||||||
right: '40px',
|
right: '40px',
|
||||||
bottom: '40px',
|
bottom: '40px',
|
||||||
top: '55px',
|
top: '55px',
|
||||||
containLabel: true
|
containLabel: true
|
||||||
},
|
},
|
||||||
dataZoom: [
|
dataZoom: [
|
||||||
{
|
{
|
||||||
type: 'inside',
|
type: 'inside',
|
||||||
height: 13,
|
height: 13,
|
||||||
start: 0,
|
start: 0,
|
||||||
bottom: '20px',
|
bottom: '20px',
|
||||||
end: 100
|
end: 100
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
start: 0,
|
start: 0,
|
||||||
height: 13,
|
height: 13,
|
||||||
bottom: '20px',
|
bottom: '20px',
|
||||||
end: 100
|
end: 100
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
series: [
|
series: [
|
||||||
{
|
{
|
||||||
name: 'A相',
|
name: 'A相',
|
||||||
type: 'line',
|
type: 'line',
|
||||||
smooth: true,
|
smooth: true,
|
||||||
symbol: 'none',
|
symbol: 'none',
|
||||||
sampling: 'lttb',
|
sampling: 'lttb',
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
color: '#FFCC00'
|
color: '#FFCC00'
|
||||||
},
|
},
|
||||||
data: adata
|
data: adata
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'B相',
|
name: 'B相',
|
||||||
type: 'line',
|
type: 'line',
|
||||||
smooth: true,
|
smooth: true,
|
||||||
symbol: 'none',
|
symbol: 'none',
|
||||||
sampling: 'lttb',
|
sampling: 'lttb',
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
color: '#009900'
|
color: '#009900'
|
||||||
},
|
},
|
||||||
data: bdata
|
data: bdata
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'C相',
|
name: 'C相',
|
||||||
type: 'line',
|
type: 'line',
|
||||||
smooth: true,
|
smooth: true,
|
||||||
symbol: 'none',
|
symbol: 'none',
|
||||||
sampling: 'lttb',
|
sampling: 'lttb',
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
color: '#CC0000'
|
color: '#CC0000'
|
||||||
},
|
},
|
||||||
data: cdata
|
data: cdata
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '暂降触发点',
|
name: '暂降触发点',
|
||||||
type: 'scatter',
|
type: 'scatter',
|
||||||
symbol: 'image://' + this.url,
|
symbol: 'image://' + this.url,
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
width: 16,
|
width: 16,
|
||||||
height: 16
|
height: 16
|
||||||
},
|
},
|
||||||
data: [[0, min]]
|
data: [[0, min]]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
myChartes.setOption(option)
|
myChartes.setOption(option)
|
||||||
window.echartsArr.push(myChartes)
|
window.echartsArr.push(myChartes)
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
myChartes.resize()
|
myChartes.resize()
|
||||||
this.loading = false
|
this.loading = false
|
||||||
}, 400)
|
}, 400)
|
||||||
|
|
||||||
//第一个波形图数据绘制完毕后,绘制后续的波形图
|
//第一个波形图数据绘制完毕后,绘制后续的波形图
|
||||||
|
|
||||||
// let waveDatasTemp = waveDatas.slice(1);
|
// let waveDatasTemp = waveDatas.slice(1);
|
||||||
// waveDatasTemp.reverse();
|
// waveDatasTemp.reverse();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -539,7 +539,7 @@ export default {
|
|||||||
}
|
}
|
||||||
option1 = {
|
option1 = {
|
||||||
title: {
|
title: {
|
||||||
text: '变电站稳态超标数量',
|
text: '变电站暂态超标数量',
|
||||||
left: 'center',
|
left: 'center',
|
||||||
top: 10
|
top: 10
|
||||||
},
|
},
|
||||||
@@ -777,7 +777,7 @@ export default {
|
|||||||
}
|
}
|
||||||
option2 = {
|
option2 = {
|
||||||
title: {
|
title: {
|
||||||
text: '变电站稳态超标天数',
|
text: '变电站暂态超标天数',
|
||||||
left: 'center',
|
left: 'center',
|
||||||
top: 20
|
top: 20
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,448 +1,449 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-container style="position: relative" id="dept">
|
<el-container style="position: relative" id="dept">
|
||||||
<el-button type="primary" style="margin-top: -10px" class="flag" icon="el-icon-close" @click="$emit('close')">
|
<el-button type="primary" style="margin-top: -10px" class="flag" icon="el-icon-close" @click="$emit('close')">
|
||||||
返回
|
返回
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-main id="drag-dept-right ">
|
<el-main id="drag-dept-right ">
|
||||||
<div class="bm-view" id="container " :style="'height:' + (vh - 20) + 'px ;position: relative;'">
|
<div class="bm-view" id="container " :style="'height:' + (vh - 20) + 'px ;position: relative;'">
|
||||||
<div class="boxTop">
|
<div class="boxTop">
|
||||||
<el-form ref="form" :inline="true" :model="form">
|
<el-form ref="form" :inline="true" :model="form">
|
||||||
<el-form-item label="模板:">
|
<el-form-item label="模板:">
|
||||||
<el-select
|
<el-select
|
||||||
value-key="id"
|
value-key="id"
|
||||||
:popper-append-to-body="false"
|
:popper-append-to-body="false"
|
||||||
v-model="form.TemplateId"
|
v-model="form.TemplateId"
|
||||||
placeholder="请选择模板"
|
placeholder="请选择模板"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in options"
|
v-for="item in options"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
:label="item.name"
|
:label="item.name"
|
||||||
:value="item"
|
:value="item"
|
||||||
></el-option>
|
></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="报表类型:">
|
<el-form-item label="报表类型:">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="form.TemplateId.reportForm"
|
v-model="form.TemplateId.reportForm"
|
||||||
:popper-append-to-body="false"
|
:popper-append-to-body="false"
|
||||||
placeholder="请选择报表类型"
|
placeholder="请选择报表类型"
|
||||||
disabled
|
disabled
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in reportFormList"
|
v-for="item in reportFormList"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
:label="item.label"
|
:label="item.label"
|
||||||
:value="item.value"
|
:value="item.value"
|
||||||
></el-option>
|
></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<Timeinterval ref="Timeinterval" :interval="3" />
|
<Timeinterval ref="Timeinterval" :interval="3" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button
|
<el-button
|
||||||
class="buttons"
|
class="buttons"
|
||||||
size="small"
|
size="small"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="el-icon-search"
|
icon="el-icon-search"
|
||||||
@click="Template"
|
@click="Template"
|
||||||
>
|
>
|
||||||
查询
|
查询
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
||||||
<el-button
|
<el-button
|
||||||
@click="downloadExcel"
|
@click="downloadExcel"
|
||||||
class="buttons"
|
class="buttons"
|
||||||
size="small"
|
size="small"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="el-icon-download"
|
icon="el-icon-download"
|
||||||
>
|
>
|
||||||
导出excel
|
导出excel
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="luckysheetBox"
|
class="luckysheetBox"
|
||||||
style="padding: 0; margin: 0"
|
style="padding: 0; margin: 0"
|
||||||
:style="`width:${vw - 50}px;height: ${vh - 200}px;`"
|
:style="`width:${vw - 50}px;height: ${vh - 200}px;`"
|
||||||
></div>
|
></div>
|
||||||
<div
|
<div
|
||||||
id="luckysheet"
|
id="luckysheet"
|
||||||
style="padding: 0; margin: 0"
|
style="padding: 0; margin: 0"
|
||||||
:style="`width:${vw - 40}px;height: ${vh - 130}px;margin-top: 50px;`"
|
:style="`width:${vw - 40}px;height: ${vh - 130}px;margin-top: 50px;`"
|
||||||
></div>
|
></div>
|
||||||
</div>
|
</div>
|
||||||
</el-main>
|
</el-main>
|
||||||
</el-container>
|
</el-container>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import jquery from 'jquery'
|
import jquery from 'jquery'
|
||||||
import { getCustomReport, getTemplateByDept } from '@/api/templateConfiguration'
|
import { getCustomReport, getTemplateByDept } from '@/api/templateConfiguration'
|
||||||
import { exportExcel } from '@/views/components/luckyexcel/export'
|
import { exportExcel } from '@/views/components/luckyexcel/export'
|
||||||
import Timeinterval from '@/views/components/cgytree/TimeintervalTemplat.vue'
|
import Timeinterval from '@/views/components/cgytree/TimeintervalTemplat.vue'
|
||||||
import TreeTemplat from '@/views/components/cgytree/TreeTemplat.vue'
|
import TreeTemplat from '@/views/components/cgytree/TreeTemplat.vue'
|
||||||
import LuckyExcel from 'luckyexcel'
|
import LuckyExcel from 'luckyexcel'
|
||||||
export default {
|
export default {
|
||||||
components: { TreeTemplat, Timeinterval },
|
components: { TreeTemplat, Timeinterval },
|
||||||
props: {
|
props: {
|
||||||
reportID: {
|
reportID: {
|
||||||
type: String
|
type: String
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
options: [],
|
options: [],
|
||||||
zoom: '', //图表焦点校验
|
zoom: '', //图表焦点校验
|
||||||
form: {
|
form: {
|
||||||
TemplateId: '',
|
TemplateId: '',
|
||||||
|
|
||||||
reportForm: ''
|
reportForm: ''
|
||||||
},
|
},
|
||||||
reportFormList: [
|
reportFormList: [
|
||||||
{
|
{
|
||||||
value: '1',
|
value: '1',
|
||||||
label: '分析报表'
|
label: '分析报表'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: '2',
|
value: '2',
|
||||||
label: '统计报表'
|
label: '统计报表'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: '3',
|
value: '3',
|
||||||
label: '自定义报表'
|
label: '自定义报表'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
loading: true,
|
loading: true,
|
||||||
vh: undefined,
|
vh: undefined,
|
||||||
vw: undefined,
|
vw: undefined,
|
||||||
view: true,
|
view: true,
|
||||||
checkbox: false,
|
checkbox: false,
|
||||||
tablename: 1,
|
tablename: 1,
|
||||||
treenode: '',
|
treenode: '',
|
||||||
statisticalList: {}, //树上面的选择框
|
statisticalList: {}, //树上面的选择框
|
||||||
data_info: [], //点位信息
|
data_info: [], //点位信息
|
||||||
map: null, //存储地图
|
map: null, //存储地图
|
||||||
flag: true,
|
flag: true,
|
||||||
showtoolbar: false, //富文本框头部显示
|
showtoolbar: false, //富文本框头部显示
|
||||||
cellRightClickConfig: {
|
cellRightClickConfig: {
|
||||||
copy: false, // 复制
|
copy: false, // 复制
|
||||||
copyAs: false, // 复制为
|
copyAs: false, // 复制为
|
||||||
paste: false, // 粘贴
|
paste: false, // 粘贴
|
||||||
insertRow: false, // 插入行
|
insertRow: false, // 插入行
|
||||||
insertColumn: false, // 插入列
|
insertColumn: false, // 插入列
|
||||||
deleteRow: false, // 删除选中行
|
deleteRow: false, // 删除选中行
|
||||||
deleteColumn: false, // 删除选中列
|
deleteColumn: false, // 删除选中列
|
||||||
deleteCell: false, // 删除单元格
|
deleteCell: false, // 删除单元格
|
||||||
hideRow: false, // 隐藏选中行和显示选中行
|
hideRow: false, // 隐藏选中行和显示选中行
|
||||||
hideColumn: false, // 隐藏选中列和显示选中列
|
hideColumn: false, // 隐藏选中列和显示选中列
|
||||||
rowHeight: false, // 行高
|
rowHeight: false, // 行高
|
||||||
columnWidth: false, // 列宽
|
columnWidth: false, // 列宽
|
||||||
clear: false, // 清除内容
|
clear: false, // 清除内容
|
||||||
matrix: false, // 矩阵操作选区
|
matrix: false, // 矩阵操作选区
|
||||||
sort: false, // 排序选区
|
sort: false, // 排序选区
|
||||||
filter: false, // 筛选选区
|
filter: false, // 筛选选区
|
||||||
chart: false, // 图表生成
|
chart: false, // 图表生成
|
||||||
image: false, // 插入图片
|
image: false, // 插入图片
|
||||||
link: false, // 插入链接
|
link: false, // 插入链接
|
||||||
data: false, // 数据验证
|
data: false, // 数据验证
|
||||||
cellFormat: false // 设置单元格格式
|
cellFormat: false // 设置单元格格式
|
||||||
}, //控制右键菜单
|
}, //控制右键菜单
|
||||||
list: [
|
list: [
|
||||||
// {
|
// {
|
||||||
// name: "Cell",
|
// name: "Cell",
|
||||||
// index: 0,
|
// index: 0,
|
||||||
// defaultRowHeight: 27,
|
// defaultRowHeight: 27,
|
||||||
// defaultColWidth: 105,
|
// defaultColWidth: 105,
|
||||||
// },
|
// },
|
||||||
],
|
],
|
||||||
deptId: ''
|
deptId: ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {},
|
created() {},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.deptId = JSON.parse(window.sessionStorage.getItem('Info')).deptId
|
this.deptId = JSON.parse(window.sessionStorage.getItem('Info')).deptId
|
||||||
this.zoom = 1 / document.body.style.zoom
|
this.zoom = 1 / document.body.style.zoom
|
||||||
this.setHeight()
|
|
||||||
window.addEventListener('resize', this.setHeight)
|
this.$nextTick(() => {
|
||||||
this.$nextTick(() => {
|
this.setHeight()
|
||||||
this.getTemplateLists()
|
window.addEventListener('resize', this.setHeight)
|
||||||
})
|
this.getTemplateLists()
|
||||||
},
|
})
|
||||||
beforeDestroy() {
|
},
|
||||||
window.removeEventListener('resize', this.setHeight)
|
beforeDestroy() {
|
||||||
},
|
window.removeEventListener('resize', this.setHeight)
|
||||||
methods: {
|
},
|
||||||
setHeight() {
|
methods: {
|
||||||
this.zoom = 1 / document.body.style.zoom
|
setHeight() {
|
||||||
this.vh = window.sessionStorage.getItem('appheight')
|
this.zoom = 1 / document.body.style.zoom
|
||||||
this.vw = document.getElementById('app-main-in').offsetWidth
|
this.vh = window.sessionStorage.getItem('appheight')
|
||||||
},
|
this.vw = document.getElementById('app-main-in')?.offsetWidth
|
||||||
async getTemplateLists() {
|
},
|
||||||
await getTemplateByDept({ id: this.deptId }).then(res => {
|
async getTemplateLists() {
|
||||||
if (res != undefined && res.code == 'A0000') {
|
await getTemplateByDept({ id: this.deptId }).then(res => {
|
||||||
res.data.forEach(item => {
|
if (res != undefined && res.code == 'A0000') {
|
||||||
if (item.activation == 1) {
|
res.data.forEach(item => {
|
||||||
this.form.TemplateId = item
|
if (item.activation == 1) {
|
||||||
return
|
this.form.TemplateId = item
|
||||||
}
|
return
|
||||||
})
|
}
|
||||||
this.options = res.data
|
})
|
||||||
setTimeout(() => {
|
this.options = res.data
|
||||||
this.Template()
|
setTimeout(() => {
|
||||||
}, 0)
|
this.Template()
|
||||||
}
|
}, 0)
|
||||||
})
|
}
|
||||||
},
|
})
|
||||||
// 选择模板
|
},
|
||||||
Template() {
|
// 选择模板
|
||||||
// debugger
|
Template() {
|
||||||
let _this = this
|
// debugger
|
||||||
|
let _this = this
|
||||||
getCustomReport({
|
|
||||||
startTime: this.$refs.Timeinterval.timeValue[0],
|
getCustomReport({
|
||||||
endTime: this.$refs.Timeinterval.timeValue[1],
|
startTime: this.$refs.Timeinterval.timeValue[0],
|
||||||
type: this.$refs.Timeinterval.intervald,
|
endTime: this.$refs.Timeinterval.timeValue[1],
|
||||||
tempId: this.form.TemplateId.id,
|
type: this.$refs.Timeinterval.intervald,
|
||||||
activation: this.form.TemplateId.activation,
|
tempId: this.form.TemplateId.id,
|
||||||
lineId: this.reportID
|
activation: this.form.TemplateId.activation,
|
||||||
// lineId: "8696be1d170e05b7d848accc059f4558",
|
lineId: this.reportID
|
||||||
}).then(response => {
|
// lineId: "8696be1d170e05b7d848accc059f4558",
|
||||||
_this.list = response
|
}).then(response => {
|
||||||
_this.init()
|
_this.list = response
|
||||||
// jquery.getJSON(res.data[1], null, function (list) {
|
_this.init()
|
||||||
// _this.list = list;
|
// jquery.getJSON(res.data[1], null, function (list) {
|
||||||
//_this.init();
|
// _this.list = list;
|
||||||
// });
|
//_this.init();
|
||||||
})
|
// });
|
||||||
|
})
|
||||||
// .then((res) => {
|
|
||||||
// console.log("res", res.data);
|
// .then((res) => {
|
||||||
// let Datalist = JSON.parse(res.data);
|
// console.log("res", res.data);
|
||||||
|
// let Datalist = JSON.parse(res.data);
|
||||||
// console.log(`13323`, JSON.parse(res.data));
|
|
||||||
// this.list = Datalist;
|
// console.log(`13323`, JSON.parse(res.data));
|
||||||
|
// this.list = Datalist;
|
||||||
// this.init();
|
|
||||||
// });
|
// this.init();
|
||||||
},
|
// });
|
||||||
|
},
|
||||||
// 初始化插件
|
|
||||||
init() {
|
// 初始化插件
|
||||||
window.luckysheet.destroy()
|
init() {
|
||||||
let options = {
|
window.luckysheet.destroy()
|
||||||
container: 'luckysheet', //luckysheet为容器id
|
let options = {
|
||||||
title: '',
|
container: 'luckysheet', //luckysheet为容器id
|
||||||
lang: 'zh',
|
title: '',
|
||||||
showinfobar: false,
|
lang: 'zh',
|
||||||
cellRightClickConfig: this.cellRightClickConfig,
|
showinfobar: false,
|
||||||
showtoolbar: this.showtoolbar,
|
cellRightClickConfig: this.cellRightClickConfig,
|
||||||
// column:8,
|
showtoolbar: this.showtoolbar,
|
||||||
// row:7,
|
// column:8,
|
||||||
showtoolbarConfig: {
|
// row:7,
|
||||||
textRotateMode: false // '文本旋转方式'
|
showtoolbarConfig: {
|
||||||
},
|
textRotateMode: false // '文本旋转方式'
|
||||||
|
},
|
||||||
data: this.list
|
|
||||||
}
|
data: this.list
|
||||||
|
}
|
||||||
// console.log(options);
|
|
||||||
luckysheet.create(options)
|
// console.log(options);
|
||||||
},
|
luckysheet.create(options)
|
||||||
// 下载表格
|
},
|
||||||
downloadExcel() {
|
// 下载表格
|
||||||
// const value = this.selected;;
|
downloadExcel() {
|
||||||
|
// const value = this.selected;;
|
||||||
exportExcel(luckysheet.getAllSheets(), '下载')
|
|
||||||
// testaaa();
|
exportExcel(luckysheet.getAllSheets(), '下载')
|
||||||
}
|
// testaaa();
|
||||||
},
|
}
|
||||||
|
},
|
||||||
computed: {},
|
|
||||||
|
computed: {},
|
||||||
watch: {}
|
|
||||||
}
|
watch: {}
|
||||||
</script>
|
}
|
||||||
|
</script>
|
||||||
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
|
||||||
<style lang="less" scoped>
|
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
||||||
@import url('../../../../styles/comStyle.less');
|
<style lang="less" scoped>
|
||||||
</style>
|
@import url('../../../../styles/comStyle.less');
|
||||||
<style lang="scss" scoped>
|
</style>
|
||||||
ul {
|
<style lang="scss" scoped>
|
||||||
list-style-type: none;
|
ul {
|
||||||
padding: 0;
|
list-style-type: none;
|
||||||
}
|
padding: 0;
|
||||||
li {
|
}
|
||||||
display: inline-block;
|
li {
|
||||||
margin: 0 10px;
|
display: inline-block;
|
||||||
}
|
margin: 0 10px;
|
||||||
a {
|
}
|
||||||
color: #42b983;
|
a {
|
||||||
}
|
color: #42b983;
|
||||||
.wrap {
|
}
|
||||||
display: flex;
|
.wrap {
|
||||||
justify-content: space-around;
|
display: flex;
|
||||||
}
|
justify-content: space-around;
|
||||||
#container {
|
}
|
||||||
width: 100%;
|
#container {
|
||||||
height: 83vh;
|
width: 100%;
|
||||||
border: 1px solid rgb(0, 183, 255);
|
height: 83vh;
|
||||||
}
|
border: 1px solid rgb(0, 183, 255);
|
||||||
#container2 {
|
}
|
||||||
width: 500px;
|
#container2 {
|
||||||
height: 500px;
|
width: 500px;
|
||||||
border: 3px solid pink;
|
height: 500px;
|
||||||
}
|
border: 3px solid pink;
|
||||||
#drag-dept-left {
|
}
|
||||||
min-width: 220px;
|
#drag-dept-left {
|
||||||
max-width: 35%;
|
min-width: 220px;
|
||||||
}
|
max-width: 35%;
|
||||||
.overview_scroll::-webkit-scrollbar {
|
}
|
||||||
width: 2px;
|
.overview_scroll::-webkit-scrollbar {
|
||||||
height: 1px;
|
width: 2px;
|
||||||
background: rgba(6, 70, 122, 0.013);
|
height: 1px;
|
||||||
}
|
background: rgba(6, 70, 122, 0.013);
|
||||||
|
}
|
||||||
.overview_scroll::-webkit-scrollbar-thumb {
|
|
||||||
border-radius: 4px;
|
.overview_scroll::-webkit-scrollbar-thumb {
|
||||||
margin-right: 5px;
|
border-radius: 4px;
|
||||||
-webkit-box-shadow: inset 0 0 0px #0090b411;
|
margin-right: 5px;
|
||||||
background: #03c1cf0e;
|
-webkit-box-shadow: inset 0 0 0px #0090b411;
|
||||||
}
|
background: #03c1cf0e;
|
||||||
|
}
|
||||||
/**拖拽条样式 */
|
|
||||||
#drag-dept {
|
/**拖拽条样式 */
|
||||||
display: flex;
|
#drag-dept {
|
||||||
justify-content: center;
|
display: flex;
|
||||||
align-items: center;
|
justify-content: center;
|
||||||
position: relative;
|
align-items: center;
|
||||||
top: 10;
|
position: relative;
|
||||||
right: 0;
|
top: 10;
|
||||||
width: 4px;
|
right: 0;
|
||||||
background-color: #04607c2a;
|
width: 4px;
|
||||||
box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.35);
|
background-color: #04607c2a;
|
||||||
cursor: col-resize;
|
box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.35);
|
||||||
}
|
cursor: col-resize;
|
||||||
|
}
|
||||||
#drag-dept i {
|
|
||||||
display: inline-block;
|
#drag-dept i {
|
||||||
height: 14px;
|
display: inline-block;
|
||||||
width: 1px;
|
height: 14px;
|
||||||
background-color: #e9e9e9;
|
width: 1px;
|
||||||
margin: 0 1px;
|
background-color: #e9e9e9;
|
||||||
}
|
margin: 0 1px;
|
||||||
|
}
|
||||||
.overview_scroll::-webkit-scrollbar {
|
|
||||||
width: 2px;
|
.overview_scroll::-webkit-scrollbar {
|
||||||
height: 1px;
|
width: 2px;
|
||||||
background: rgba(6, 70, 122, 0.013);
|
height: 1px;
|
||||||
}
|
background: rgba(6, 70, 122, 0.013);
|
||||||
::-webkit-scrollbar {
|
}
|
||||||
width: 5px;
|
::-webkit-scrollbar {
|
||||||
height: 0px;
|
width: 5px;
|
||||||
}
|
height: 0px;
|
||||||
.el-tabs--border-card > .el-tabs__header {
|
}
|
||||||
background-color: #124da5;
|
.el-tabs--border-card > .el-tabs__header {
|
||||||
border-bottom: 2px solid #e4e7ed;
|
background-color: #124da5;
|
||||||
margin: 0;
|
border-bottom: 2px solid #e4e7ed;
|
||||||
}
|
margin: 0;
|
||||||
.el-tabs__header {
|
}
|
||||||
padding: 0;
|
.el-tabs__header {
|
||||||
position: relative;
|
padding: 0;
|
||||||
margin: 0 px;
|
position: relative;
|
||||||
}
|
margin: 0 px;
|
||||||
.el-tabs--border-card > .el-tabs__content {
|
}
|
||||||
padding: 0px;
|
.el-tabs--border-card > .el-tabs__content {
|
||||||
}
|
padding: 0px;
|
||||||
.el-tabs__content {
|
}
|
||||||
overflow: hidden;
|
.el-tabs__content {
|
||||||
position: relative;
|
overflow: hidden;
|
||||||
}
|
position: relative;
|
||||||
.el-aside,
|
}
|
||||||
.el-main {
|
.el-aside,
|
||||||
margin-top: 0px;
|
.el-main {
|
||||||
}
|
margin-top: 0px;
|
||||||
.el-main {
|
}
|
||||||
padding-top: 0px;
|
.el-main {
|
||||||
padding-bottom: 0;
|
padding-top: 0px;
|
||||||
padding-right: 0;
|
padding-bottom: 0;
|
||||||
}
|
padding-right: 0;
|
||||||
::v-deep .boxDiv {
|
}
|
||||||
height: 25px;
|
::v-deep .boxDiv {
|
||||||
line-height: 25px;
|
height: 25px;
|
||||||
margin-left: 10px;
|
line-height: 25px;
|
||||||
span:first-child {
|
margin-left: 10px;
|
||||||
font-weight: 600;
|
span:first-child {
|
||||||
margin-right: 10px;
|
font-weight: 600;
|
||||||
}
|
margin-right: 10px;
|
||||||
}
|
}
|
||||||
::v-deep .button {
|
}
|
||||||
margin-right: 5px;
|
::v-deep .button {
|
||||||
background-color: $themeColor;
|
margin-right: 5px;
|
||||||
color: #fff;
|
background-color: $themeColor;
|
||||||
height: 18px;
|
color: #fff;
|
||||||
line-height: 18px;
|
height: 18px;
|
||||||
border: 0 solid #000;
|
line-height: 18px;
|
||||||
border-radius: 2px;
|
border: 0 solid #000;
|
||||||
&:hover {
|
border-radius: 2px;
|
||||||
cursor: pointer;
|
&:hover {
|
||||||
}
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
.iconBox {
|
}
|
||||||
position: absolute;
|
.iconBox {
|
||||||
top: 2px;
|
position: absolute;
|
||||||
right: 2px;
|
top: 2px;
|
||||||
width: 150px;
|
right: 2px;
|
||||||
height: 260px;
|
width: 150px;
|
||||||
padding: 10px;
|
height: 260px;
|
||||||
z-index: 2000;
|
padding: 10px;
|
||||||
border-radius: 4px;
|
z-index: 2000;
|
||||||
border: 1px solid #ccc;
|
border-radius: 4px;
|
||||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12), 0 0 6px rgba(0, 0, 0, 0.04);
|
border: 1px solid #ccc;
|
||||||
background: rgba(255, 255, 255, 0.75) !important;
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12), 0 0 6px rgba(0, 0, 0, 0.04);
|
||||||
|
background: rgba(255, 255, 255, 0.75) !important;
|
||||||
.div {
|
|
||||||
display: flex;
|
.div {
|
||||||
|
display: flex;
|
||||||
margin-bottom: 5px;
|
|
||||||
img {
|
margin-bottom: 5px;
|
||||||
height: 20px;
|
img {
|
||||||
margin-right: 5px;
|
height: 20px;
|
||||||
}
|
margin-right: 5px;
|
||||||
// span {
|
}
|
||||||
// line-height: 20px;
|
// span {
|
||||||
// }
|
// line-height: 20px;
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
.boxTop {
|
}
|
||||||
position: absolute;
|
.boxTop {
|
||||||
top: -48px;
|
position: absolute;
|
||||||
left: 5px;
|
top: -48px;
|
||||||
z-index: 2000;
|
left: 5px;
|
||||||
}
|
z-index: 2000;
|
||||||
::v-deep .el-select-dropdown__list {
|
}
|
||||||
display: flex;
|
::v-deep .el-select-dropdown__list {
|
||||||
flex-direction: column;
|
display: flex;
|
||||||
max-width: 240px;
|
flex-direction: column;
|
||||||
}
|
max-width: 240px;
|
||||||
.luckysheetBox {
|
}
|
||||||
position: absolute;
|
.luckysheetBox {
|
||||||
top: 0;
|
position: absolute;
|
||||||
left: 0;
|
top: 0;
|
||||||
z-index: 1500;
|
left: 0;
|
||||||
// background-color: #000;
|
z-index: 1500;
|
||||||
}
|
// background-color: #000;
|
||||||
.anchorBL {
|
}
|
||||||
display: none !important;
|
.anchorBL {
|
||||||
}
|
display: none !important;
|
||||||
::v-deep .el-select {
|
}
|
||||||
//width: 150px;
|
::v-deep .el-select {
|
||||||
}
|
//width: 150px;
|
||||||
.flag {
|
}
|
||||||
position: absolute;
|
.flag {
|
||||||
top: 10px;
|
position: absolute;
|
||||||
right: 10px;
|
top: 10px;
|
||||||
}
|
right: 10px;
|
||||||
</style>
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
@@ -1,57 +1,57 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<!-- 台账 -->
|
<!-- 台账 -->
|
||||||
<StandingBook v-show="flag && flags" @ViewReport="ViewReport" />
|
<StandingBook v-show="flag && flags" @ViewReport="ViewReport" />
|
||||||
<!-- 报表 -->
|
<!-- 报表 -->
|
||||||
<reportForm
|
<reportForm
|
||||||
v-if="!flag"
|
v-if="!flag"
|
||||||
:reportID="reportID"
|
:reportID="reportID"
|
||||||
@close="
|
@close="
|
||||||
flag = true;
|
flag = true;
|
||||||
flags = true;
|
flags = true;
|
||||||
"
|
"
|
||||||
/>
|
/>
|
||||||
<!-- 报告 -->
|
<!-- 报告 -->
|
||||||
<SteadyStateReport
|
<SteadyStateReport
|
||||||
v-if="!flags"
|
v-if="!flags"
|
||||||
:reportID="reportID"
|
:reportID="reportID"
|
||||||
@close="
|
@close="
|
||||||
flag = true;
|
flag = true;
|
||||||
flags = true;
|
flags = true;
|
||||||
"
|
"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import SteadyStateReport from "./components/SteadyStateReport.vue";
|
import SteadyStateReport from "./components/SteadyStateReport.vue";
|
||||||
import reportForm from "./components/reportForm";
|
import reportForm from "./components/reportForm.vue";
|
||||||
import StandingBook from "./components/StandingBook";
|
import StandingBook from "./components/StandingBook.vue";
|
||||||
export default {
|
export default {
|
||||||
components: { SteadyStateReport, reportForm, StandingBook },
|
components: { SteadyStateReport, reportForm, StandingBook },
|
||||||
props: {},
|
props: {},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
flag: true,
|
flag: true,
|
||||||
flags: true,
|
flags: true,
|
||||||
reportID: "",
|
reportID: "",
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {},
|
created() {},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
ViewReport(id, val) {
|
ViewReport(id, val) {
|
||||||
if (val == 0) {
|
if (val == 0) {
|
||||||
this.flag = false;
|
this.flag = false;
|
||||||
} else {
|
} else {
|
||||||
this.flags = false;
|
this.flags = false;
|
||||||
}
|
}
|
||||||
this.reportID = id;
|
this.reportID = id;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
computed: {},
|
computed: {},
|
||||||
|
|
||||||
watch: {},
|
watch: {},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped></style>
|
<style lang="scss" scoped></style>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -25,7 +25,9 @@ export default {
|
|||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
if (process.env.VUE_APP_MODE === 'cgyqr') {
|
if (process.env.VUE_APP_MODE === 'cgyqr') {
|
||||||
this.guanzhou()
|
if (process.env.VUE_APP_KEY != 'scqr') {
|
||||||
|
this.guanzhou()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {},
|
mounted() {},
|
||||||
|
|||||||
@@ -335,7 +335,9 @@ export default {
|
|||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
if (process.env.VUE_APP_MODE === 'cgyqr') {
|
if (process.env.VUE_APP_MODE === 'cgyqr') {
|
||||||
this.guanzhou()
|
if (process.env.VUE_APP_KEY != 'scqr') {
|
||||||
|
this.guanzhou()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
this.getIndexType()
|
this.getIndexType()
|
||||||
//this.time()
|
//this.time()
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -31,7 +31,9 @@ export default {
|
|||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
if (process.env.VUE_APP_MODE === 'cgyqr') {
|
if (process.env.VUE_APP_MODE === 'cgyqr') {
|
||||||
this.guanzhou()
|
if (process.env.VUE_APP_KEY != 'scqr') {
|
||||||
|
this.guanzhou()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,73 +1,75 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="pa10">
|
<div class="pa10">
|
||||||
<el-tabs type="border-card" v-model="activeName" @tab-click="handleClick" style="height:calc(100vh - 20px)">
|
<el-tabs type="border-card" v-model="activeName" @tab-click="handleClick" style="height: calc(100vh - 20px)">
|
||||||
<el-tab-pane label="监测点数据查询" name="first">
|
<el-tab-pane label="监测点数据查询" name="first">
|
||||||
<onlineData ></onlineData>
|
<onlineData></onlineData>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="监测点台账信息" name="second">
|
<el-tab-pane label="监测点台账信息" name="second">
|
||||||
<devicemessage ></devicemessage>
|
<devicemessage></devicemessage>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="终端台账信息" name="third">
|
<el-tab-pane label="终端台账信息" name="third">
|
||||||
<terminalmessage > </terminalmessage>
|
<terminalmessage></terminalmessage>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="数据完整性统计" name="sen">
|
<el-tab-pane label="数据完整性统计" name="sen">
|
||||||
<integralitytable ></integralitytable>
|
<integralitytable></integralitytable>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import onlineData from "@/views/cgy-harmonic-boot/monitor/onlineData";
|
import onlineData from '@/views/cgy-harmonic-boot/monitor/onlineData'
|
||||||
import terminalmessage from "@/views/cgy-harmonic-boot/runmange/terminalmessage";
|
import terminalmessage from '@/views/cgy-harmonic-boot/runmange/terminalmessage'
|
||||||
import devicemessage from "@/views/cgy-harmonic-boot/runmange/devicemessage";
|
import devicemessage from '@/views/cgy-harmonic-boot/runmange/devicemessage'
|
||||||
import integralitytable from "@/views/cgy-harmonic-boot/area/integralitytable";
|
import integralitytable from '@/views/cgy-harmonic-boot/area/integralitytable'
|
||||||
import api1 from '@/api/pollution/pollution'
|
import api1 from '@/api/pollution/pollution'
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
onlineData,
|
onlineData,
|
||||||
devicemessage,
|
devicemessage,
|
||||||
terminalmessage,
|
terminalmessage,
|
||||||
integralitytable,
|
integralitytable
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
activeName:'first',
|
activeName: 'first',
|
||||||
vh:null
|
vh: null
|
||||||
};
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
if (process.env.VUE_APP_MODE === 'cgyqr') {
|
if (process.env.VUE_APP_MODE === 'cgyqr') {
|
||||||
this.guanzhou()
|
if (process.env.VUE_APP_KEY != 'scqr') {
|
||||||
}
|
this.guanzhou()
|
||||||
},
|
}
|
||||||
mounted() {
|
}
|
||||||
this.vh = window.sessionStorage.getItem('appheight')-12+'px'
|
},
|
||||||
},
|
mounted() {
|
||||||
methods: {
|
this.vh = window.sessionStorage.getItem('appheight') - 12 + 'px'
|
||||||
guanzhou(){
|
},
|
||||||
var data ={
|
methods: {
|
||||||
token:this.$route.query.token
|
guanzhou() {
|
||||||
}
|
var data = {
|
||||||
api1.guanzhou(data).then(res=>{
|
token: this.$route.query.token
|
||||||
if(res.code=='A0000'){
|
}
|
||||||
return
|
api1.guanzhou(data).then(res => {
|
||||||
}else{
|
if (res.code == 'A0000') {
|
||||||
this.$router.push('/error/massege/403')
|
return
|
||||||
}
|
} else {
|
||||||
})
|
this.$router.push('/error/massege/403')
|
||||||
},
|
}
|
||||||
handleClick(tab, event) {
|
})
|
||||||
// console.log(tab, event);
|
},
|
||||||
this.activeName = tab.name
|
handleClick(tab, event) {
|
||||||
}
|
// console.log(tab, event);
|
||||||
},
|
this.activeName = tab.name
|
||||||
};
|
}
|
||||||
</script>
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.pa10 {
|
.pa10 {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
}
|
}
|
||||||
::v-deep .el-tabs--border-card>.el-tabs__content {
|
::v-deep .el-tabs--border-card > .el-tabs__content {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -37,7 +37,10 @@ export default {
|
|||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
if (process.env.VUE_APP_MODE === 'cgyqr') {
|
if (process.env.VUE_APP_MODE === 'cgyqr') {
|
||||||
this.guanzhou()
|
// this.guanzhou()
|
||||||
|
if (process.env.VUE_APP_KEY != 'scqr') {
|
||||||
|
this.guanzhou()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {},
|
mounted() {},
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,405 +1,423 @@
|
|||||||
<template>
|
<template>
|
||||||
<div v-loading="loading"
|
<div v-loading="loading" element-loading-text="数据加载中">
|
||||||
element-loading-text="数据加载中">
|
<el-form :inline="true" :model="formInline" class="demo-form-inline">
|
||||||
<el-form :inline="true" :model="formInline" class="demo-form-inline">
|
<el-form-item label="类型:" style="display: none">
|
||||||
<el-form-item label="类型:" style="display:none">
|
<el-select
|
||||||
<el-select
|
v-model="formData.statisticalType"
|
||||||
v-model="formData.statisticalType"
|
@change="changeclasss"
|
||||||
@change="changeclasss"
|
placeholder="请选择统计类型"
|
||||||
placeholder="请选择统计类型"
|
style="width: 100%"
|
||||||
style="width:100%"
|
>
|
||||||
>
|
<el-option
|
||||||
<el-option
|
v-for="item in classificationData"
|
||||||
v-for="item in classificationData"
|
:key="item.id"
|
||||||
:key="item.id"
|
:label="item.name"
|
||||||
:label="item.name"
|
:value="{
|
||||||
:value="{
|
label: item.name,
|
||||||
label: item.name,
|
value: item.id,
|
||||||
value: item.id,
|
name: item.name,
|
||||||
name: item.name,
|
id: item.id,
|
||||||
id: item.id,
|
code: item.code,
|
||||||
code: item.code,
|
sort: item.sort
|
||||||
sort: item.sort,
|
}"
|
||||||
}"
|
></el-option>
|
||||||
>
|
</el-select>
|
||||||
</el-option>
|
</el-form-item>
|
||||||
</el-select>
|
<el-form-item label="区域:">
|
||||||
</el-form-item>
|
<el-select ref="selectTree1" v-model="deptName" placeholder="请选择所属部门区域" style="width: 100%">
|
||||||
<el-form-item label="区域:" >
|
<el-option :value="deptIndex" style="height: auto">
|
||||||
<el-select
|
<el-tree
|
||||||
ref="selectTree1"
|
ref="tree"
|
||||||
v-model="deptName"
|
:data="treeData"
|
||||||
placeholder="请选择所属部门区域"
|
node-key="id"
|
||||||
style="width: 100%"
|
accordion
|
||||||
>
|
:default-expanded-keys="idArr"
|
||||||
<el-option :value="deptIndex" style="height: auto">
|
:props="defaultProps"
|
||||||
<el-tree
|
@node-click="handleNodeClick"
|
||||||
ref="tree"
|
>
|
||||||
:data="treeData"
|
<span class="span-ellipsis" slot-scope="{ node, data }">
|
||||||
node-key="id"
|
<span :title="data.name">{{ data.name }}</span>
|
||||||
accordion
|
</span>
|
||||||
:default-expanded-keys="idArr"
|
</el-tree>
|
||||||
:props="defaultProps"
|
</el-option>
|
||||||
@node-click="handleNodeClick"
|
</el-select>
|
||||||
>
|
</el-form-item>
|
||||||
<span class="span-ellipsis" slot-scope="{ node, data }">
|
|
||||||
<span :title="data.name">{{ data.name }}</span>
|
<el-form-item label="厂家:">
|
||||||
</span>
|
<el-select
|
||||||
</el-tree>
|
v-model="formData.manufacturer"
|
||||||
</el-option>
|
multiple
|
||||||
</el-select>
|
collapse-tags
|
||||||
</el-form-item>
|
placeholder="请选择终端厂家"
|
||||||
|
style="width: 100%"
|
||||||
<el-form-item label="厂家:" >
|
>
|
||||||
<el-select
|
<el-option
|
||||||
v-model="formData.manufacturer"
|
v-for="item in terminaloption"
|
||||||
multiple
|
:key="item.id"
|
||||||
collapse-tags
|
:label="item.name"
|
||||||
placeholder="请选择终端厂家"
|
:value="{
|
||||||
style="width: 100%"
|
label: item.name,
|
||||||
>
|
value: item.id,
|
||||||
<el-option
|
code: item.code,
|
||||||
v-for="item in terminaloption"
|
name: item.name,
|
||||||
:key="item.id"
|
id: item.id,
|
||||||
:label="item.name"
|
sort: item.sort
|
||||||
:value="{
|
}"
|
||||||
label: item.name,
|
></el-option>
|
||||||
value: item.id,
|
</el-select>
|
||||||
code: item.code,
|
</el-form-item>
|
||||||
name: item.name,
|
<el-form-item label="干扰源:" style="display: none">
|
||||||
id: item.id,
|
<el-select
|
||||||
sort: item.sort,
|
v-model="formData.loadType"
|
||||||
}"
|
multiple
|
||||||
>
|
collapse-tags
|
||||||
</el-option>
|
placeholder="请选择干扰源类型"
|
||||||
</el-select>
|
style="width: 100%"
|
||||||
</el-form-item>
|
>
|
||||||
<el-form-item label="干扰源:" style="display: none">
|
<el-option
|
||||||
<el-select
|
v-for="item in interfereoption"
|
||||||
v-model="formData.loadType"
|
:key="item.id"
|
||||||
multiple
|
:label="item.name"
|
||||||
collapse-tags
|
:value="{
|
||||||
placeholder="请选择干扰源类型"
|
label: item.name,
|
||||||
style="width: 100%"
|
value: item.id,
|
||||||
>
|
code: item.code,
|
||||||
<el-option
|
name: item.name,
|
||||||
v-for="item in interfereoption"
|
id: item.id,
|
||||||
:key="item.id"
|
sort: item.sort
|
||||||
:label="item.name"
|
}"
|
||||||
:value="{
|
></el-option>
|
||||||
label: item.name,
|
</el-select>
|
||||||
value: item.id,
|
</el-form-item>
|
||||||
code: item.code,
|
<el-form-item label="通讯状态:">
|
||||||
name: item.name,
|
<el-select
|
||||||
id: item.id,
|
v-model="formData.comFlag"
|
||||||
sort: item.sort,
|
multiple
|
||||||
}"
|
collapse-tags
|
||||||
>
|
placeholder="请选择通讯状态"
|
||||||
</el-option>
|
style="width: 100%"
|
||||||
</el-select>
|
>
|
||||||
</el-form-item>
|
<el-option
|
||||||
<el-form-item label="通讯状态:" >
|
v-for="item in communicationstatus"
|
||||||
<el-select
|
:key="item.value"
|
||||||
v-model="formData.comFlag"
|
:label="item.label"
|
||||||
multiple
|
:value="item.value"
|
||||||
collapse-tags
|
></el-option>
|
||||||
placeholder="请选择通讯状态"
|
</el-select>
|
||||||
style="width: 100%"
|
</el-form-item>
|
||||||
>
|
<el-form-item label="终端状态:">
|
||||||
<el-option
|
<el-select
|
||||||
v-for="item in communicationstatus"
|
v-model="formData.runFlag"
|
||||||
:key="item.value"
|
multiple
|
||||||
:label="item.label"
|
collapse-tags
|
||||||
:value="item.value"
|
placeholder="请选择终端状态"
|
||||||
>
|
style="width: 100%"
|
||||||
</el-option>
|
>
|
||||||
</el-select>
|
<el-option
|
||||||
</el-form-item>
|
v-for="item in terminalstatus"
|
||||||
<el-form-item label="终端状态:" >
|
:key="item.value"
|
||||||
<el-select
|
:label="item.label"
|
||||||
v-model="formData.runFlag"
|
:value="item.value"
|
||||||
multiple
|
></el-option>
|
||||||
collapse-tags
|
</el-select>
|
||||||
placeholder="请选择终端状态"
|
</el-form-item>
|
||||||
style="width: 100%"
|
<el-form-item>
|
||||||
>
|
<el-button type="primary" size="small" icon="el-icon-search" @click="queryDataInfo">查询</el-button>
|
||||||
<el-option
|
</el-form-item>
|
||||||
v-for="item in terminalstatus"
|
<el-form-item style="float: right">
|
||||||
:key="item.value"
|
<span>
|
||||||
:label="item.label"
|
在线率≦60%
|
||||||
:value="item.value"
|
<span style="color: red; font-weight: bold">差   </span>
|
||||||
>
|
60%<在线率≦90%
|
||||||
</el-option>
|
<span style="color: rgb(255, 174, 0); font-weight: bold">良   </span>
|
||||||
</el-select>
|
90%≦在线率
|
||||||
</el-form-item>
|
<span style="color: green; font-weight: bold">优</span>
|
||||||
<el-form-item >
|
</span>
|
||||||
<el-button
|
</el-form-item>
|
||||||
type="primary"
|
</el-form>
|
||||||
size="small"
|
<el-row :gutter="20" style="margin-top: 0%">
|
||||||
icon="el-icon-search"
|
<el-col :span="24">
|
||||||
@click="queryDataInfo"
|
<terminalmessagetable :tableData="tableData" :classvalue="classt"></terminalmessagetable>
|
||||||
>查询</el-button
|
</el-col>
|
||||||
>
|
</el-row>
|
||||||
</el-form-item>
|
</div>
|
||||||
<el-form-item style="float: right;">
|
</template>
|
||||||
<span>在线率≦60% <span style="color:red;font-weight: bold;">差   </span> 60%<在线率≦90% <span style="color:rgb(255, 174, 0);font-weight: bold;">良   </span> 90%≦在线率 <span style="color:green;font-weight: bold;">优</span> </span>
|
<script>
|
||||||
</el-form-item>
|
import { getappheight, getheight } from '@/assets/commjs/common'
|
||||||
|
import { guanzhou } from '@/assets/commjs/token'
|
||||||
</el-form>
|
import api1 from '@/api/pollution/pollution'
|
||||||
<el-row :gutter="20" style="margin-top: 0%">
|
import timepicker from '@/views/cgy-components/TimePicker/index4'
|
||||||
<el-col :span="24">
|
import { dicData } from '../../../assets/commjs/dictypeData'
|
||||||
<terminalmessagetable
|
import api from '../../../api/integraliy/integraliy'
|
||||||
:tableData="tableData"
|
import Table from '../../components/teble/index'
|
||||||
:classvalue="classt"
|
import Pagination from '../../components/pagination/index'
|
||||||
|
import terminalmessagetable from '@/views/cgy-components/terminalmessagetable'
|
||||||
></terminalmessagetable>
|
|
||||||
</el-col>
|
export default {
|
||||||
</el-row>
|
components: {
|
||||||
</div>
|
timepicker,
|
||||||
</template>
|
terminalmessagetable
|
||||||
<script>
|
// onlinerateechart
|
||||||
import { getappheight, getheight } from "@/assets/commjs/common";
|
},
|
||||||
import { guanzhou } from "@/assets/commjs/token";
|
watch: {},
|
||||||
import api1 from "@/api/pollution/pollution";
|
computed: {},
|
||||||
import timepicker from "@/views/cgy-components/TimePicker/index4";
|
data() {
|
||||||
import { dicData } from "../../../assets/commjs/dictypeData";
|
return {
|
||||||
import api from "../../../api/integraliy/integraliy";
|
formInline: {},
|
||||||
import Table from "../../components/teble/index";
|
loading: false,
|
||||||
import Pagination from "../../components/pagination/index";
|
classt: 'Power_Network',
|
||||||
import terminalmessagetable from "@/views/cgy-components/terminalmessagetable";
|
asideheight: undefined,
|
||||||
|
id: 1,
|
||||||
export default {
|
copent: 0,
|
||||||
components: {
|
title: '电网拓扑',
|
||||||
timepicker,
|
xdata: [
|
||||||
terminalmessagetable,
|
'江苏省',
|
||||||
// onlinerateechart
|
'江西省',
|
||||||
},
|
'安徽省',
|
||||||
watch: {},
|
'湖北省',
|
||||||
computed: {},
|
'浙江省',
|
||||||
data() {
|
'湖南省',
|
||||||
return {
|
'广东省',
|
||||||
formInline: {},
|
'福建省',
|
||||||
loading: false,
|
'海南省',
|
||||||
classt: "Power_Network",
|
'四川省',
|
||||||
asideheight: undefined,
|
'青海省',
|
||||||
id: 1,
|
'河北省'
|
||||||
copent: 0,
|
],
|
||||||
title: "电网拓扑",
|
ydata: [92.6, 25.9, 39.0, 26.4, 28.7, 90.7, 75.6, 82.2, 48.7, 58.8, 16.0, 32.3],
|
||||||
xdata: [
|
classvalue: 0,
|
||||||
"江苏省",
|
activeName: 'tab1',
|
||||||
"江西省",
|
panindexOptions: [],
|
||||||
"安徽省",
|
formData: {
|
||||||
"湖北省",
|
//后面需要修改
|
||||||
"浙江省",
|
serverName: 'harmonic-boot',
|
||||||
"湖南省",
|
searchBeginTime: '',
|
||||||
"广东省",
|
searchEndTime: '',
|
||||||
"福建省",
|
deptIndex: '',
|
||||||
"海南省",
|
monitorFlag: 2,
|
||||||
"四川省",
|
powerFlag: 2,
|
||||||
"青海省",
|
loadType: [],
|
||||||
"河北省",
|
manufacturer: [],
|
||||||
],
|
statisticalType: '',
|
||||||
ydata: [
|
scale: [],
|
||||||
92.6, 25.9, 39.0, 26.4, 28.7, 90.7, 75.6, 82.2, 48.7, 58.8, 16.0, 32.3,
|
comFlag: [0, 1],
|
||||||
],
|
runFlag: [0, 1, 2]
|
||||||
classvalue: 0,
|
},
|
||||||
activeName: "tab1",
|
deptId: '',
|
||||||
panindexOptions: [],
|
deptName: '全国',
|
||||||
formData: {
|
deptIndex: '',
|
||||||
//后面需要修改
|
treeData: [],
|
||||||
serverName: "harmonic-boot",
|
idArr: [],
|
||||||
searchBeginTime:'2023-04-01',
|
defaultProps: {
|
||||||
searchEndTime:'2023-04-11',
|
children: 'children',
|
||||||
deptIndex: "",
|
label: 'name'
|
||||||
monitorFlag: 2,
|
},
|
||||||
powerFlag: 2,
|
//统计类型
|
||||||
loadType: [],
|
classificationData: [],
|
||||||
manufacturer: [],
|
//电压等级
|
||||||
statisticalType: "",
|
voltageleveloption: [],
|
||||||
scale: [],
|
//终端厂家
|
||||||
comFlag: [0, 1],
|
terminaloption: [],
|
||||||
runFlag: [0, 1, 2],
|
//干扰源类型
|
||||||
},
|
interfereoption: [],
|
||||||
deptId: "",
|
//通讯状态
|
||||||
deptName: "全国",
|
communicationstatus: [
|
||||||
deptIndex: "",
|
{ value: 0, label: '中断' },
|
||||||
treeData: [],
|
{ value: 1, label: '正常' }
|
||||||
idArr: [],
|
],
|
||||||
defaultProps: {
|
//终端状态
|
||||||
children: "children",
|
terminalstatus: [
|
||||||
label: "name",
|
{ value: 0, label: '投运' },
|
||||||
},
|
{ value: 1, label: '热备用' },
|
||||||
//统计类型
|
{ value: 2, label: '停运' }
|
||||||
classificationData: [],
|
],
|
||||||
//电压等级
|
classt: 'Power_Network',
|
||||||
voltageleveloption: [],
|
tableData: []
|
||||||
//终端厂家
|
}
|
||||||
terminaloption: [],
|
},
|
||||||
//干扰源类型
|
created() {
|
||||||
interfereoption: [],
|
var info = window.sessionStorage.getItem('Info')
|
||||||
//通讯状态
|
info = eval('(' + info + ')')
|
||||||
communicationstatus: [
|
this.formData.deptIndex = info.deptId
|
||||||
{ value: 0, label: "中断" },
|
this.getAreaDept()
|
||||||
{ value: 1, label: "正常" },
|
this.getclassificationData()
|
||||||
],
|
this.getVoltage()
|
||||||
//终端状态
|
this.getManufacturer()
|
||||||
terminalstatus: [
|
this.getLoadType()
|
||||||
{ value: 0, label: "投运" },
|
},
|
||||||
{ value: 1, label: "热备用" },
|
mounted() {
|
||||||
{ value: 2, label: "停运" },
|
// this.asideheight = getappheight();
|
||||||
],
|
this.queryDataInfo()
|
||||||
classt: "Power_Network",
|
},
|
||||||
tableData: [],
|
methods: {
|
||||||
};
|
guanzhou() {
|
||||||
},
|
var data = {
|
||||||
created() {
|
token: this.$route.query.token
|
||||||
var info = window.sessionStorage.getItem("Info");
|
}
|
||||||
info = eval("(" + info + ")");
|
api1.guanzhou(data).then(res => {
|
||||||
this.formData.deptIndex = info.deptId;
|
if (res.code == 'A0000') {
|
||||||
this.getAreaDept();
|
return
|
||||||
this.getclassificationData();
|
} else {
|
||||||
this.getVoltage();
|
this.$router.push('/error/massege/403')
|
||||||
this.getManufacturer();
|
}
|
||||||
this.getLoadType();
|
})
|
||||||
},
|
},
|
||||||
mounted() {
|
//切换统计类型
|
||||||
// this.asideheight = getappheight();
|
changeclasss(val) {
|
||||||
this.queryDataInfo();
|
this.classt = val.code
|
||||||
},
|
},
|
||||||
methods: {
|
//部门绑定区域触发区域树节点
|
||||||
guanzhou() {
|
handleNodeClick(data, node) {
|
||||||
var data = {
|
this.deptName = data.name
|
||||||
token: this.$route.query.token,
|
this.$refs.selectTree1.blur()
|
||||||
};
|
this.deptId = data.id
|
||||||
api1.guanzhou(data).then((res) => {
|
this.formData.deptIndex = data.id
|
||||||
if (res.code == "A0000") {
|
},
|
||||||
return;
|
//2次组件触发事件
|
||||||
} else {
|
querfromdata(data) {
|
||||||
this.$router.push("/error/massege/403");
|
this.timeValue = data
|
||||||
}
|
// alert("父组件条件查询触发方法" + this.timeValue);
|
||||||
});
|
},
|
||||||
},
|
handleClick(tab, event) {
|
||||||
//切换统计类型
|
this.$nextTick(() => {
|
||||||
changeclasss(val) {
|
this.$refs.child.onlinerateechart()
|
||||||
this.classt = val.code;
|
})
|
||||||
},
|
},
|
||||||
//部门绑定区域触发区域树节点
|
changePageNum(data) {
|
||||||
handleNodeClick(data, node) {
|
this.pageData.pageNum = data
|
||||||
this.deptName = data.name;
|
// alert("父组件当前页" + this.pageData.pageNum);
|
||||||
this.$refs.selectTree1.blur();
|
},
|
||||||
this.deptId = data.id;
|
changePageSize(data) {
|
||||||
this.formData.deptIndex = data.id;
|
this.pageData.pageSize = data
|
||||||
},
|
//alert("父组件当前条数" + this.pageData.pageSize);
|
||||||
//2次组件触发事件
|
},
|
||||||
querfromdata(data) {
|
//查询触发方法
|
||||||
this.timeValue = data;
|
queryDataInfo() {
|
||||||
// alert("父组件条件查询触发方法" + this.timeValue);
|
console.log(123, this.getSearchTimeRange())
|
||||||
},
|
this.formData.searchBeginTime = this.getSearchTimeRange().searchBeginTime
|
||||||
handleClick(tab, event) {
|
this.formData.searchEndTime = this.getSearchTimeRange().searchEndTime
|
||||||
this.$nextTick(() => {
|
this.loading = true
|
||||||
this.$refs.child.onlinerateechart();
|
api.getRuntimeData(this.formData).then(res => {
|
||||||
});
|
if (res.code == 'A0000') {
|
||||||
},
|
if (res.data.length == 0) {
|
||||||
changePageNum(data) {
|
this.tableData = []
|
||||||
this.pageData.pageNum = data;
|
this.loading = false
|
||||||
// alert("父组件当前页" + this.pageData.pageNum);
|
} else {
|
||||||
},
|
this.tableData = res.data
|
||||||
changePageSize(data) {
|
this.loading = false
|
||||||
this.pageData.pageSize = data;
|
}
|
||||||
//alert("父组件当前条数" + this.pageData.pageSize);
|
}
|
||||||
},
|
})
|
||||||
//查询触发方法
|
},
|
||||||
queryDataInfo() {
|
//获取区域
|
||||||
this.loading = true;
|
getAreaDept() {
|
||||||
api.getRuntimeData(this.formData).then((res) => {
|
api.getAreaDept().then(res => {
|
||||||
if (res.code == "A0000") {
|
if (res.code == 'A0000') {
|
||||||
if (res.data.length == 0) {
|
var data = res.data
|
||||||
this.tableData = [];
|
data.forEach(element => {
|
||||||
this.loading = false;
|
this.idArr.push(element.id)
|
||||||
} else {
|
})
|
||||||
this.tableData = res.data;
|
this.treeData = data
|
||||||
this.loading = false;
|
}
|
||||||
}
|
})
|
||||||
}
|
},
|
||||||
});
|
//字典获取数据电压等级
|
||||||
},
|
getVoltage() {
|
||||||
//获取区域
|
var code = 'Dev_Voltage_Stand'
|
||||||
getAreaDept() {
|
this.voltageleveloption = dicData(code, [])
|
||||||
api.getAreaDept().then((res) => {
|
//this.formData.scale = this.voltageleveloption;
|
||||||
if (res.code == "A0000") {
|
},
|
||||||
var data = res.data;
|
//字典获取数据终端厂家
|
||||||
data.forEach((element) => {
|
getManufacturer() {
|
||||||
this.idArr.push(element.id);
|
var code = 'Dev_Manufacturers'
|
||||||
});
|
this.terminaloption = dicData(code, [])
|
||||||
this.treeData = data;
|
this.formData.manufacturer = this.terminaloption
|
||||||
}
|
},
|
||||||
});
|
//字典获取数据干扰源类型
|
||||||
},
|
getLoadType() {
|
||||||
//字典获取数据电压等级
|
var code = 'Interference_Source'
|
||||||
getVoltage() {
|
this.interfereoption = dicData(code, [])
|
||||||
var code = "Dev_Voltage_Stand";
|
this.formData.loadType = this.interfereoption
|
||||||
this.voltageleveloption = dicData(code, []);
|
},
|
||||||
//this.formData.scale = this.voltageleveloption;
|
//获取统计类型
|
||||||
},
|
getclassificationData() {
|
||||||
//字典获取数据终端厂家
|
var code = 'Statistical_Type'
|
||||||
getManufacturer() {
|
this.classificationData = dicData(code, ['Report_Type', 'Voltage_Level', 'Load_Type', 'Manufacturer'])
|
||||||
var code = "Dev_Manufacturers";
|
this.formData.statisticalType = this.classificationData[0]
|
||||||
this.terminaloption = dicData(code, []);
|
},
|
||||||
this.formData.manufacturer = this.terminaloption;
|
getSearchTimeRange() {
|
||||||
},
|
const now = new Date()
|
||||||
//字典获取数据干扰源类型
|
const currentYear = now.getFullYear()
|
||||||
getLoadType() {
|
const currentMonth = now.getMonth() // 0-11
|
||||||
var code = "Interference_Source";
|
const currentDate = now.getDate()
|
||||||
this.interfereoption = dicData(code, []);
|
|
||||||
this.formData.loadType = this.interfereoption;
|
let searchBeginTime, searchEndTime
|
||||||
},
|
|
||||||
//获取统计类型
|
if (currentDate === 1) {
|
||||||
getclassificationData() {
|
// 如果是1号,返回上个月1号到上个月最后一天
|
||||||
var code = "Statistical_Type";
|
// 上个月的第一天
|
||||||
this.classificationData = dicData(code, [
|
const lastMonthFirstDay = new Date(currentYear, currentMonth - 1, 1)
|
||||||
"Report_Type",
|
searchBeginTime = this.formatDate(lastMonthFirstDay)
|
||||||
"Voltage_Level",
|
|
||||||
"Load_Type",
|
// 上个月的最后一天(当前月的第0天就是上个月的最后一天)
|
||||||
"Manufacturer"
|
const lastMonthLastDay = new Date(currentYear, currentMonth, 0)
|
||||||
]);
|
searchEndTime = this.formatDate(lastMonthLastDay)
|
||||||
this.formData.statisticalType = this.classificationData[0];
|
} else {
|
||||||
},
|
// 如果不是1号,返回当月1号到当前时间
|
||||||
},
|
const monthFirstDay = new Date(currentYear, currentMonth, 1)
|
||||||
};
|
searchBeginTime = this.formatDate(monthFirstDay)
|
||||||
</script>
|
searchEndTime = this.formatDate(now)
|
||||||
<style lang="scss" scoped>
|
}
|
||||||
@import url("../../../styles/common.less");
|
|
||||||
|
return {
|
||||||
.main {
|
searchBeginTime,
|
||||||
overflow: hidden;
|
searchEndTime
|
||||||
}
|
}
|
||||||
::v-deep .el-main[data-v-2338f777] {
|
},
|
||||||
/* margin-top: 10px; */
|
|
||||||
padding: 10px 10px 10px 10px;
|
// 辅助函数:格式化日期为 YYYY-MM-DD
|
||||||
background-color: rgba(234, 235, 236, 0.996);
|
formatDate(date) {
|
||||||
color: #333;
|
const year = date.getFullYear()
|
||||||
line-height: 0px;
|
const month = String(date.getMonth() + 1).padStart(2, '0')
|
||||||
}
|
const day = String(date.getDate()).padStart(2, '0')
|
||||||
// ::v-deep .el-table__body-wrapper::-webkit-scrollbar {
|
return `${year}-${month}-${day}`
|
||||||
// width: 8px; /*滚动条宽度*/
|
}
|
||||||
// height: 12px; /*滚动条高度*/
|
}
|
||||||
// }
|
}
|
||||||
// ::v-deep .el-table__body-wrapper::-webkit-scrollbar-track {
|
</script>
|
||||||
// border-radius: 0px; /*滚动条的背景区域的圆角*/
|
<style lang="scss" scoped>
|
||||||
// background-color: rgba(203, 208, 207, 0.286); /*滚动条的背景颜色*/
|
@import url('../../../styles/common.less');
|
||||||
// cursor: pointer;
|
|
||||||
// }
|
.main {
|
||||||
// ::v-deep .el-table__body-wrapper::-webkit-scrollbar-corner {
|
overflow: hidden;
|
||||||
// background-color: rgba(202, 207, 206, 0.286);
|
}
|
||||||
// cursor: pointer;
|
::v-deep .el-main[data-v-2338f777] {
|
||||||
// }
|
/* margin-top: 10px; */
|
||||||
// ::v-deep .el-table__body-wrapper::-webkit-scrollbar-thumb {
|
padding: 10px 10px 10px 10px;
|
||||||
// border-radius: 4px; /*滚动条的圆角*/
|
background-color: rgba(234, 235, 236, 0.996);
|
||||||
// background-color: rgba(144, 148, 148, 0.979); /*滚动条的背景颜色*/
|
color: #333;
|
||||||
// }
|
line-height: 0px;
|
||||||
::v-deep .el-select-dropdown__item,
|
}
|
||||||
.el-select-dropdown__item {
|
// ::v-deep .el-table__body-wrapper::-webkit-scrollbar {
|
||||||
background-color: #fff;
|
// width: 8px; /*滚动条宽度*/
|
||||||
padding: 0 5px !important;
|
// height: 12px; /*滚动条高度*/
|
||||||
}
|
// }
|
||||||
</style>
|
// ::v-deep .el-table__body-wrapper::-webkit-scrollbar-track {
|
||||||
|
// border-radius: 0px; /*滚动条的背景区域的圆角*/
|
||||||
|
// background-color: rgba(203, 208, 207, 0.286); /*滚动条的背景颜色*/
|
||||||
|
// cursor: pointer;
|
||||||
|
// }
|
||||||
|
// ::v-deep .el-table__body-wrapper::-webkit-scrollbar-corner {
|
||||||
|
// background-color: rgba(202, 207, 206, 0.286);
|
||||||
|
// cursor: pointer;
|
||||||
|
// }
|
||||||
|
// ::v-deep .el-table__body-wrapper::-webkit-scrollbar-thumb {
|
||||||
|
// border-radius: 4px; /*滚动条的圆角*/
|
||||||
|
// background-color: rgba(144, 148, 148, 0.979); /*滚动条的背景颜色*/
|
||||||
|
// }
|
||||||
|
::v-deep .el-select-dropdown__item,
|
||||||
|
.el-select-dropdown__item {
|
||||||
|
background-color: #fff;
|
||||||
|
padding: 0 5px !important;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -51,7 +51,9 @@ export default {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.guanzhou()
|
if (process.env.VUE_APP_KEY != 'scqr') {
|
||||||
|
this.guanzhou()
|
||||||
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|
||||||
|
|||||||
@@ -48,7 +48,9 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.guanzhou()
|
if (process.env.VUE_APP_KEY != 'scqr') {
|
||||||
|
this.guanzhou()
|
||||||
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.setHeight()
|
this.setHeight()
|
||||||
|
|||||||
@@ -75,7 +75,9 @@ export default {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.guanzhou();
|
if (process.env.VUE_APP_KEY != 'scqr') {
|
||||||
|
this.guanzhou()
|
||||||
|
}
|
||||||
},
|
},
|
||||||
mounted() {},
|
mounted() {},
|
||||||
methods: {
|
methods: {
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -18,7 +18,7 @@ module.exports = {
|
|||||||
// publicPath: 'https://fuphoenixes.github.io/example/dist/',
|
// publicPath: 'https://fuphoenixes.github.io/example/dist/',
|
||||||
//publicPath: "./",
|
//publicPath: "./",
|
||||||
// publicPath: process.env.VUE_APP_PATH,
|
// publicPath: process.env.VUE_APP_PATH,
|
||||||
publicPath: process.env.NODE_ENV === 'development' ? './' : process.env.VUE_APP_MODE == 'jbqr' ? './' : '/',
|
publicPath: './', //process.env.NODE_ENV === 'development' ? './' : process.env.VUE_APP_MODE == 'jbqr' ? './' : '/',
|
||||||
outputDir: 'dist',
|
outputDir: 'dist',
|
||||||
assetsDir: 'static',
|
assetsDir: 'static',
|
||||||
// lintOnSave: process.env.NODE_ENV === 'development',
|
// lintOnSave: process.env.NODE_ENV === 'development',
|
||||||
@@ -37,9 +37,9 @@ module.exports = {
|
|||||||
'/api': {
|
'/api': {
|
||||||
// target: 'http://18028358809.gnway.cc', //hsw
|
// target: 'http://18028358809.gnway.cc', //hsw
|
||||||
// target: 'http://192.168.120.210:10215', //hsw
|
// target: 'http://192.168.120.210:10215', //hsw
|
||||||
target: 'http://192.168.1.29:10215', //超高压
|
// target: 'http://192.168.1.28:10215', //超高压
|
||||||
// target: "'https://pqmcn.com:8092/api", //治理
|
// target: "'https://pqmcn.com:8092/api", //治理
|
||||||
// target: 'http://192.168.1.24:10215', // 河北
|
target: 'http://192.168.1.67:10215', // 河北
|
||||||
// target: "http://192.168.1.31:10215", // 海南
|
// target: "http://192.168.1.31:10215", // 海南
|
||||||
// target: "http://192.168.1.29:10215", // 冀北
|
// target: "http://192.168.1.29:10215", // 冀北
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
|
|||||||
Reference in New Issue
Block a user