修改现场问题
This commit is contained in:
20941
package-lock.json
generated
Normal file
20941
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
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/dictTree/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/dictTree/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/dictTree/delete',
|
url: '/system-boot/dictTree/delete',
|
||||||
method: 'delete',
|
method: 'delete',
|
||||||
params: data
|
params: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
3906
src/router/index.js
3906
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
@@ -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>
|
||||||
|
|||||||
@@ -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
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
@@ -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
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -39,7 +39,7 @@ module.exports = {
|
|||||||
// target: 'http://192.168.120.210:10215', //hsw
|
// target: 'http://192.168.120.210:10215', //hsw
|
||||||
// target: 'http://192.168.1.28: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