方案数据添加暂态事件页面
This commit is contained in:
@@ -36,6 +36,10 @@ export default {
|
|||||||
type: [String, Number, Boolean],
|
type: [String, Number, Boolean],
|
||||||
default: 3,
|
default: 3,
|
||||||
},
|
},
|
||||||
|
parentHeight: {
|
||||||
|
type: [String, Number, Boolean],
|
||||||
|
default: 0
|
||||||
|
},
|
||||||
DColor: {
|
DColor: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
default: false,
|
||||||
@@ -103,6 +107,10 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
this.vh = mainHeight(200, 2).height
|
this.vh = mainHeight(200, 2).height
|
||||||
}
|
}
|
||||||
|
if (this.parentHeight != 0) {
|
||||||
|
this.vh = mainHeight(this.parentHeight, 2).height
|
||||||
|
|
||||||
|
}
|
||||||
this.vw = '100%'
|
this.vw = '100%'
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
@@ -210,7 +218,10 @@ export default {
|
|||||||
"s";
|
"s";
|
||||||
} else if (this.boxoList.systemType == 'WX') {
|
} else if (this.boxoList.systemType == 'WX') {
|
||||||
|
|
||||||
|
let featureAmplitude = this.boxoList.featureAmplitude + '' ? this.boxoList.featureAmplitude.toFixed(2) : '/'
|
||||||
|
if (String(this.boxoList.featureAmplitude).split('.')[1] == '00') {
|
||||||
|
this.boxoList.featureAmplitude = String(this.boxoList.featureAmplitude).split('.')[0]
|
||||||
|
}
|
||||||
this.titles =
|
this.titles =
|
||||||
|
|
||||||
' 监测点名称:' +
|
' 监测点名称:' +
|
||||||
@@ -218,7 +229,7 @@ export default {
|
|||||||
' 发生时刻:' +
|
' 发生时刻:' +
|
||||||
this.boxoList.startTime +
|
this.boxoList.startTime +
|
||||||
' 暂降(骤升)幅值:' +
|
' 暂降(骤升)幅值:' +
|
||||||
(this.boxoList.featureAmplitude) +
|
(featureAmplitude) +
|
||||||
'% 持续时间:' +
|
'% 持续时间:' +
|
||||||
(this.boxoList.persistTime ? this.boxoList.persistTime.toFixed(2) : '-') +
|
(this.boxoList.persistTime ? this.boxoList.persistTime.toFixed(2) : '-') +
|
||||||
's'
|
's'
|
||||||
|
|||||||
@@ -28,6 +28,10 @@ export default {
|
|||||||
type: [String, Number, Boolean],
|
type: [String, Number, Boolean],
|
||||||
default: 3
|
default: 3
|
||||||
},
|
},
|
||||||
|
parentHeight: {
|
||||||
|
type: [String, Number, Boolean],
|
||||||
|
default: 0
|
||||||
|
},
|
||||||
DColor: {
|
DColor: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false
|
default: false
|
||||||
@@ -77,6 +81,10 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
this.vh = mainHeight(200, 2).height
|
this.vh = mainHeight(200, 2).height
|
||||||
}
|
}
|
||||||
|
if (this.parentHeight != 0) {
|
||||||
|
this.vh = mainHeight(this.parentHeight, 2).height
|
||||||
|
|
||||||
|
}
|
||||||
this.vw = '100%'
|
this.vw = '100%'
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@@ -166,6 +174,11 @@ export default {
|
|||||||
's'
|
's'
|
||||||
}
|
}
|
||||||
else if (this.boxoList.systemType == 'WX') {
|
else if (this.boxoList.systemType == 'WX') {
|
||||||
|
let featureAmplitude = this.boxoList.featureAmplitude + '' ? this.boxoList.featureAmplitude.toFixed(2) : '/'
|
||||||
|
if (String(this.boxoList.featureAmplitude).split('.')[1] == '00') {
|
||||||
|
this.boxoList.featureAmplitude = String(this.boxoList.featureAmplitude).split('.')[0]
|
||||||
|
}
|
||||||
|
|
||||||
this.titles =
|
this.titles =
|
||||||
|
|
||||||
' 监测点名称:' +
|
' 监测点名称:' +
|
||||||
@@ -173,7 +186,7 @@ export default {
|
|||||||
' 发生时刻:' +
|
' 发生时刻:' +
|
||||||
this.boxoList.startTime +
|
this.boxoList.startTime +
|
||||||
' 暂降(骤升)幅值:' +
|
' 暂降(骤升)幅值:' +
|
||||||
(this.boxoList.featureAmplitude) +
|
(featureAmplitude) +
|
||||||
'% 持续时间:' +
|
'% 持续时间:' +
|
||||||
(this.boxoList.persistTime ? this.boxoList.persistTime.toFixed(2) : '-') +
|
(this.boxoList.persistTime ? this.boxoList.persistTime.toFixed(2) : '-') +
|
||||||
's'
|
's'
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog draggable class="cn-operate-dialog" v-model="dialogVisible" :title="title">
|
<el-dialog draggable class="cn-operate-dialog" v-model="dialogVisible" :title="title">
|
||||||
<el-scrollbar>
|
<el-scrollbar>
|
||||||
<el-form :inline="false" :model="form" label-width="120px">
|
<el-form :inline="false" :model="form" label-width="120px" class="form-two">
|
||||||
<el-form-item label="用户名称:">
|
<el-form-item label="用户名称:">
|
||||||
<el-input v-model="form.name" :disabled="true"></el-input>
|
<el-input v-model="form.name" :disabled="true"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog draggable width="500px" v-model="dialogVisible" :title="title">
|
<el-dialog draggable width="500px" v-model="dialogVisible" :title="title">
|
||||||
<el-scrollbar>
|
<el-scrollbar>
|
||||||
<el-form :inline="false" :model="form" label-width="120px" :rules="rules" ref="formRef">
|
<el-form :inline="false" :model="form" label-width="120px" :rules="rules" class="form-one" ref="formRef">
|
||||||
<el-form-item label="校验密码:" prop="password">
|
<el-form-item label="校验密码:" prop="password">
|
||||||
<el-input v-model="form.password" type="password"
|
<el-input v-model="form.password" type="password"
|
||||||
placeholder="请输入校验密码" show-password />
|
placeholder="请输入校验密码" show-password />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="新密码:" prop="newPwd" style="margin-top: 20px">
|
<el-form-item label="新密码:" prop="newPwd" >
|
||||||
<el-input v-model="form.newPwd" type="password" placeholder="请输入新密码"
|
<el-input v-model="form.newPwd" type="password" placeholder="请输入新密码"
|
||||||
show-password />
|
show-password />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="确认密码:" prop="confirmPwd" style="margin-top: 20px">
|
<el-form-item label="确认密码:" prop="confirmPwd" >
|
||||||
<el-input v-model="form.confirmPwd" type="password"
|
<el-input v-model="form.confirmPwd" type="password"
|
||||||
placeholder="请输入确认密码" show-password />
|
placeholder="请输入确认密码" show-password />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog class='cn-operate-dialog' v-model='dialogVisible' :title='title'>
|
<el-dialog width="600px" v-model='dialogVisible' :title='title'>
|
||||||
<el-scrollbar>
|
<el-scrollbar>
|
||||||
<el-form :inline='false' :model='form' label-width='120px' :rules='rules' ref='formRef'>
|
<el-form :inline='false' :model='form' label-width='auto' class="form-one" :rules='rules' ref='formRef'>
|
||||||
<el-form-item label='角色名称'>
|
<el-form-item label='角色名称'>
|
||||||
<el-input maxlength="32" show-word-limit v-model='form.name' placeholder='请输入菜单名称' />
|
<el-input maxlength="32" show-word-limit v-model='form.name' placeholder='请输入菜单名称' />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
<el-input maxlength="32" show-word-limit v-model='form.code' placeholder='请输入菜单名称' />
|
<el-input maxlength="32" show-word-limit v-model='form.code' placeholder='请输入菜单名称' />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label='角色描述'>
|
<el-form-item label='角色描述'>
|
||||||
<el-input maxlength="32" show-word-limit v-model='form.remark' :rows='2' type='textarea'
|
<el-input maxlength="300" show-word-limit v-model='form.remark' :rows='2' type='textarea'
|
||||||
placeholder='请输入描述' />
|
placeholder='请输入描述' />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog class="cn-operate-dialog" v-model="dialogVisible" :title="title">
|
<el-dialog width="700px" v-model="dialogVisible" :title="title">
|
||||||
<el-scrollbar>
|
<el-scrollbar>
|
||||||
<el-form :mode="form" :inline="false" :model="form" label-width="120px" :rules="rules">
|
<el-form :mode="form" :inline="false" :model="form" label-width="120px" :rules="rules" class="form-one">
|
||||||
<el-form-item prop="name" label="接口/按钮名称">
|
<el-form-item prop="name" label="接口/按钮名称">
|
||||||
<el-input maxlength="32" show-word-limit v-model="form.name" placeholder="请输入接口名称" />
|
<el-input maxlength="32" show-word-limit v-model="form.name" placeholder="请输入接口名称" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog class="cn-operate-dialog" v-model="dialogVisible" title="修改密码">
|
<el-dialog width=“500px” v-model="dialogVisible" title="修改密码">
|
||||||
<el-scrollbar>
|
<el-scrollbar>
|
||||||
<el-form :inline="false" :model="form" label-width="120px" :rules="rules" ref="formRef">
|
<el-form :inline="false" :model="form" label-width="120px" class="form-one" :rules="rules" ref="formRef">
|
||||||
<el-form-item label="新密码" prop="newPwd">
|
<el-form-item label="新密码" prop="newPwd">
|
||||||
<el-input maxlength="32" show-word-limit v-model="form.newPwd" type="password" placeholder="请输入新密码"
|
<el-input maxlength="32" show-word-limit v-model="form.newPwd" type="password" placeholder="请输入新密码"
|
||||||
show-password />
|
show-password />
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div ref="refheader" v-show="view">
|
<div ref="refheader" v-if="!isWaveCharts">
|
||||||
<TableHeader datePicker>
|
<TableHeader datePicker>
|
||||||
<template v-slot:select>
|
<template v-slot:select>
|
||||||
<el-form-item label="数据来源">
|
<el-form-item label="数据来源">
|
||||||
@@ -16,10 +16,14 @@
|
|||||||
</el-form-item> -->
|
</el-form-item> -->
|
||||||
</template>
|
</template>
|
||||||
</TableHeader>
|
</TableHeader>
|
||||||
<!-- <div style="height: 300px;"> -->
|
|
||||||
<Table></Table>
|
<Table></Table>
|
||||||
</div>
|
</div>
|
||||||
<div style="padding: 10px" v-if="!view">
|
<waveFormAnalysis v-loading="loading" v-if="isWaveCharts" ref="waveFormAnalysisRef"
|
||||||
|
@handleHideCharts="isWaveCharts = false" :wp="wp" />
|
||||||
|
<!-- <div style="height: 300px;"> -->
|
||||||
|
|
||||||
|
<!-- <div style="padding: 10px" v-if="!view" v-loading="loading">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<div v-if="view2" style="display: flex">
|
<div v-if="view2" style="display: flex">
|
||||||
@@ -49,24 +53,27 @@
|
|||||||
</rmsboxi>
|
</rmsboxi>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
<!-- <xiebofenxi ref="child" :bxshuju="bxshuju" @backfh="back"></xiebofenxi> -->
|
</div> -->
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, onMounted, provide } from 'vue'
|
import { ref, onMounted, provide, nextTick } from 'vue'
|
||||||
import TableStore from '@/utils/tableStore'
|
import TableStore from '@/utils/tableStore'
|
||||||
import Table from '@/components/table/index.vue'
|
import Table from '@/components/table/index.vue'
|
||||||
import TableHeader from '@/components/table/header/index.vue'
|
import TableHeader from '@/components/table/header/index.vue'
|
||||||
import shushiboxi from '@/components/echarts/shushiboxi.vue'
|
import shushiboxi from '@/components/echarts/shushiboxi.vue'
|
||||||
|
import waveFormAnalysis from '@/views/govern/device/control/tabs/components/waveFormAnalysis.vue';
|
||||||
import rmsboxi from '@/components/echarts/rmsboxi.vue'
|
import rmsboxi from '@/components/echarts/rmsboxi.vue'
|
||||||
import { analyseWave } from '@/api/common'
|
import { analyseWave } from '@/api/common'
|
||||||
import { mainHeight } from '@/utils/layout'
|
import { mainHeight } from '@/utils/layout'
|
||||||
import { ElMessage } from 'element-plus'
|
import { ElMessage } from 'element-plus'
|
||||||
const props = defineProps(['deviceTree'])
|
const props = defineProps(['deviceTree'])
|
||||||
const refheader = ref()
|
const refheader = ref()
|
||||||
|
const waveFormAnalysisRef = ref()
|
||||||
const view = ref(true)
|
const view = ref(true)
|
||||||
|
const isWaveCharts = ref(false)
|
||||||
const view2 = ref(false)
|
const view2 = ref(false)
|
||||||
const showBoxi = ref(true)
|
const showBoxi = ref(true)
|
||||||
|
const loading = ref(false)
|
||||||
const bxactiveName = ref('ssbx')
|
const bxactiveName = ref('ssbx')
|
||||||
const boxoList: any = ref({})
|
const boxoList: any = ref({})
|
||||||
const wp = ref({})
|
const wp = ref({})
|
||||||
@@ -129,22 +136,51 @@ const tableStore = new TableStore({
|
|||||||
},
|
},
|
||||||
click: async row => {
|
click: async row => {
|
||||||
row.loading1 = true
|
row.loading1 = true
|
||||||
boxoList.value = row
|
loading.value = true
|
||||||
boxoList.value.systemType = 'WX'
|
isWaveCharts.value = true
|
||||||
boxoList.value.featureAmplitude = row.evtParamVVaDepth != '-' ? row.evtParamVVaDepth - 0 : null
|
|
||||||
boxoList.value.persistTime = row.evtParamTm != '-' ? row.evtParamTm - 0 : null
|
|
||||||
await analyseWave(row.id)
|
await analyseWave(row.id)
|
||||||
.then(res => {
|
.then(res => {
|
||||||
row.loading1 = false
|
row.loading1 = false
|
||||||
if (res != undefined) {
|
if (res != undefined) {
|
||||||
|
boxoList.value = row
|
||||||
|
boxoList.value.featureAmplitude = row.evtParamVVaDepth != '-' ? row.evtParamVVaDepth - 0 : null
|
||||||
|
boxoList.value.systemType = 'WX'
|
||||||
wp.value = res.data
|
wp.value = res.data
|
||||||
view.value = false
|
|
||||||
view2.value = true
|
|
||||||
}
|
}
|
||||||
|
loading.value = false
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
row.loading1 = false
|
row.loading1 = false
|
||||||
|
loading.value = false
|
||||||
})
|
})
|
||||||
|
|
||||||
|
nextTick(() => {
|
||||||
|
waveFormAnalysisRef.value && waveFormAnalysisRef.value.getWpData(wp.value, boxoList.value, true)
|
||||||
|
// waveFormAnalysisRef.value && waveFormAnalysisRef.value.setHeight(200, 190)
|
||||||
|
})
|
||||||
|
// row.loading1 = true
|
||||||
|
// view.value = false
|
||||||
|
// view2.value = true
|
||||||
|
// loading.value = true
|
||||||
|
// boxoList.value = row
|
||||||
|
// boxoList.value.systemType = 'WX'
|
||||||
|
|
||||||
|
// boxoList.value.persistTime = row.evtParamTm != '-' ? row.evtParamTm - 0 : null
|
||||||
|
// await analyseWave(row.id)
|
||||||
|
// .then(res => {
|
||||||
|
// row.loading1 = false
|
||||||
|
// if (res != undefined) {
|
||||||
|
// wp.value = res.data
|
||||||
|
|
||||||
|
// }
|
||||||
|
// loading.value = false
|
||||||
|
// })
|
||||||
|
// .catch(() => {
|
||||||
|
// row.loading1 = false
|
||||||
|
// loading.value = false
|
||||||
|
// })
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -25,12 +25,12 @@
|
|||||||
|
|
||||||
<el-tab-pane label="瞬时波形" name="ssbx" :style="'height:' + bxecharts + ';overflow-y: scroll;'">
|
<el-tab-pane label="瞬时波形" name="ssbx" :style="'height:' + bxecharts + ';overflow-y: scroll;'">
|
||||||
<shushiboxi v-if="isWp && wp && activeName == 'ssbx' && showBoxi" :value="value" :boxoList="boxoList"
|
<shushiboxi v-if="isWp && wp && activeName == 'ssbx' && showBoxi" :value="value" :boxoList="boxoList"
|
||||||
:wp="wp">
|
:parentHeight="parentHeight" :wp="wp">
|
||||||
</shushiboxi>
|
</shushiboxi>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="RMS波形" name="rmsbx" :style="'height:' + bxecharts + ';overflow-y: scroll;'">
|
<el-tab-pane label="RMS波形" name="rmsbx" :style="'height:' + bxecharts + ';overflow-y: scroll;'">
|
||||||
<rmsboxi v-if="isWp && wp && activeName == 'rmsbx' && showBoxi" :value="value" :boxoList="boxoList"
|
<rmsboxi v-if="isWp && wp && activeName == 'rmsbx' && showBoxi" :value="value" :boxoList="boxoList"
|
||||||
:wp="wp">
|
:parentHeight="parentHeight" :wp="wp">
|
||||||
</rmsboxi>
|
</rmsboxi>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
@@ -50,6 +50,7 @@ const searchForm = ref({
|
|||||||
type: 0
|
type: 0
|
||||||
})
|
})
|
||||||
const emit = defineEmits(['handleHideCharts'])
|
const emit = defineEmits(['handleHideCharts'])
|
||||||
|
const parentHeight = ref(0)
|
||||||
const tableList: any = ref([])
|
const tableList: any = ref([])
|
||||||
for (let i = 0; i < 300; i++) {
|
for (let i = 0; i < 300; i++) {
|
||||||
tableList.value.push({
|
tableList.value.push({
|
||||||
@@ -106,7 +107,8 @@ const getWpData = (val: any, list: any) => {
|
|||||||
wp.value = val
|
wp.value = val
|
||||||
isWp.value = true
|
isWp.value = true
|
||||||
boxoList.value = list
|
boxoList.value = list
|
||||||
// console.log(wp.value, val, 'ggggghhhh')
|
|
||||||
|
console.log(wp.value, val, 'ggggghhhh')
|
||||||
}
|
}
|
||||||
const changeView = () => {
|
const changeView = () => {
|
||||||
showBoxi.value = false
|
showBoxi.value = false
|
||||||
@@ -114,7 +116,7 @@ const changeView = () => {
|
|||||||
showBoxi.value = true
|
showBoxi.value = true
|
||||||
}, 0)
|
}, 0)
|
||||||
}
|
}
|
||||||
const bxecharts = mainHeight(345).height as any
|
const bxecharts: any = ref(mainHeight(190).height as any)
|
||||||
|
|
||||||
const handleClick = (tab: any, event: any) => {
|
const handleClick = (tab: any, event: any) => {
|
||||||
// activeName.value = tab.index
|
// activeName.value = tab.index
|
||||||
@@ -127,22 +129,29 @@ const handleClick = (tab: any, event: any) => {
|
|||||||
const handleBack = () => {
|
const handleBack = () => {
|
||||||
emit('handleHideCharts')
|
emit('handleHideCharts')
|
||||||
}
|
}
|
||||||
|
const setHeight = (h: any,vh: any) => {
|
||||||
|
|
||||||
|
parentHeight.value = h
|
||||||
|
setTimeout(() => {
|
||||||
|
bxecharts.value = mainHeight(vh).height
|
||||||
|
},100)
|
||||||
|
}
|
||||||
onMounted(() => { })
|
onMounted(() => { })
|
||||||
defineExpose({ getWpData })
|
defineExpose({ getWpData, setHeight })
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.tab_info {
|
// .tab_info {
|
||||||
width: 100%;
|
// width: 100%;
|
||||||
height: calc(100vh - 450px);
|
// height: calc(100vh - 450px);
|
||||||
|
|
||||||
// overflow: auto;
|
// // overflow: auto;
|
||||||
// padding-bottom: 20px;
|
// // padding-bottom: 20px;
|
||||||
.charts {
|
// .charts {
|
||||||
width: 100%;
|
// width: 100%;
|
||||||
margin-top: 10px;
|
// margin-top: 10px;
|
||||||
height: calc(100vh - 450px);
|
// height: calc(100vh - 450px);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
.home {
|
.home {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -152,11 +161,7 @@ defineExpose({ getWpData })
|
|||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
.home_header {
|
.home_header {
|
||||||
// position: absolute;
|
|
||||||
// top: -25px;
|
|
||||||
// left: 0;
|
|
||||||
// width: 80%;
|
|
||||||
// height: 40px;
|
|
||||||
height: 50px;
|
height: 50px;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|||||||
@@ -2,12 +2,8 @@
|
|||||||
<div class="view">
|
<div class="view">
|
||||||
<TableHeader datePicker ref="headerRef" v-if="!isWaveCharts" :showReset="false"></TableHeader>
|
<TableHeader datePicker ref="headerRef" v-if="!isWaveCharts" :showReset="false"></TableHeader>
|
||||||
<Table ref="tableRef" v-if="!isWaveCharts" />
|
<Table ref="tableRef" v-if="!isWaveCharts" />
|
||||||
<waveFormAnalysis
|
<waveFormAnalysis v-loading="loading" v-if="isWaveCharts" ref="waveFormAnalysisRef" @handleHideCharts="isWaveCharts = false"
|
||||||
v-if="isWaveCharts"
|
:wp="wp" />
|
||||||
ref="waveFormAnalysisRef"
|
|
||||||
@handleHideCharts="isWaveCharts = false"
|
|
||||||
:wp="wp"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
@@ -24,6 +20,7 @@ const tableParams: any = ref({})
|
|||||||
const refheader = ref()
|
const refheader = ref()
|
||||||
const view = ref(true)
|
const view = ref(true)
|
||||||
const view2 = ref(false)
|
const view2 = ref(false)
|
||||||
|
const loading = ref(false)
|
||||||
const showBoxi = ref(true)
|
const showBoxi = ref(true)
|
||||||
const bxactiveName = ref('ssbx')
|
const bxactiveName = ref('ssbx')
|
||||||
const boxoList: any = ref([])
|
const boxoList: any = ref([])
|
||||||
@@ -37,9 +34,11 @@ const tableStore: any = new TableStore({
|
|||||||
method: 'POST',
|
method: 'POST',
|
||||||
column: [
|
column: [
|
||||||
// { width: '60', type: 'checkbox', fixed: 'left' },
|
// { width: '60', type: 'checkbox', fixed: 'left' },
|
||||||
{ title: '序号', width: 80,formatter: (row: any) => {
|
{
|
||||||
|
title: '序号', width: 80, formatter: (row: any) => {
|
||||||
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
|
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
|
||||||
} },
|
}
|
||||||
|
},
|
||||||
{ field: 'startTime', title: '发生时刻', minWidth: 170 },
|
{ field: 'startTime', title: '发生时刻', minWidth: 170 },
|
||||||
{ field: 'showName', title: '事件描述', minWidth: 170 },
|
{ field: 'showName', title: '事件描述', minWidth: 170 },
|
||||||
{
|
{
|
||||||
@@ -91,7 +90,8 @@ const tableStore: any = new TableStore({
|
|||||||
},
|
},
|
||||||
click: async row => {
|
click: async row => {
|
||||||
row.loading1 = true
|
row.loading1 = true
|
||||||
|
isWaveCharts.value = true
|
||||||
|
loading.value = true
|
||||||
await analyseWave(row.id)
|
await analyseWave(row.id)
|
||||||
.then(res => {
|
.then(res => {
|
||||||
row.loading1 = false
|
row.loading1 = false
|
||||||
@@ -102,13 +102,16 @@ const tableStore: any = new TableStore({
|
|||||||
view.value = false
|
view.value = false
|
||||||
view2.value = true
|
view2.value = true
|
||||||
}
|
}
|
||||||
|
loading.value = false
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
row.loading1 = false
|
row.loading1 = false
|
||||||
|
loading.value = false
|
||||||
})
|
})
|
||||||
isWaveCharts.value = true
|
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
waveFormAnalysisRef.value && waveFormAnalysisRef.value.getWpData(wp.value, boxoList.value)
|
waveFormAnalysisRef.value && waveFormAnalysisRef.value.getWpData(wp.value, boxoList.value)
|
||||||
|
waveFormAnalysisRef.value && waveFormAnalysisRef.value.setHeight(200, 345)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -235,7 +235,7 @@ const init = async () => {
|
|||||||
let obj = {
|
let obj = {
|
||||||
...trendRequestData.value,
|
...trendRequestData.value,
|
||||||
list: lists,
|
list: lists,
|
||||||
valueType: searchForm.value.type,
|
// valueType: searchForm.value.type,
|
||||||
dataLevel: searchForm.value.dataLevel,
|
dataLevel: searchForm.value.dataLevel,
|
||||||
valueType: searchForm.value.valueType,
|
valueType: searchForm.value.valueType,
|
||||||
startTime: datePickerRef.value && datePickerRef.value.timeValue[0],
|
startTime: datePickerRef.value && datePickerRef.value.timeValue[0],
|
||||||
@@ -389,6 +389,7 @@ const init = async () => {
|
|||||||
// console.log("🚀 ~ unitList.forEach ~ unitList:", unitList)
|
// console.log("🚀 ~ unitList.forEach ~ unitList:", unitList)
|
||||||
|
|
||||||
if (chartsList.length > 0) {
|
if (chartsList.length > 0) {
|
||||||
|
let yData: any = []
|
||||||
echartsData.value.yAxis = []
|
echartsData.value.yAxis = []
|
||||||
let setList = [...new Set(unitList)];
|
let setList = [...new Set(unitList)];
|
||||||
|
|
||||||
@@ -396,6 +397,7 @@ const init = async () => {
|
|||||||
if (index > 2) {
|
if (index > 2) {
|
||||||
echartsData.value.grid.right = (index - 1) * 80
|
echartsData.value.grid.right = (index - 1) * 80
|
||||||
}
|
}
|
||||||
|
yData.push([])
|
||||||
let right = {
|
let right = {
|
||||||
position: 'right',
|
position: 'right',
|
||||||
offset: (index - 1) * 80
|
offset: (index - 1) * 80
|
||||||
@@ -446,7 +448,7 @@ const init = async () => {
|
|||||||
let seriesList: any = []
|
let seriesList: any = []
|
||||||
kk.forEach((cc: any) => {
|
kk.forEach((cc: any) => {
|
||||||
if (cc.statisticalData !== null) {
|
if (cc.statisticalData !== null) {
|
||||||
yMethodList.push(cc.statisticalData?.toFixed(2) - 0)
|
yData[setList.indexOf(kk[0].unit)].push(cc.statisticalData?.toFixed(2))
|
||||||
}
|
}
|
||||||
|
|
||||||
seriesList.push([cc.time, cc.statisticalData?.toFixed(2), cc.unit, lineStyle[lineS].type])
|
seriesList.push([cc.time, cc.statisticalData?.toFixed(2), cc.unit, lineStyle[lineS].type])
|
||||||
@@ -466,7 +468,12 @@ const init = async () => {
|
|||||||
yAxisIndex: setList.indexOf(kk[0].unit)
|
yAxisIndex: setList.indexOf(kk[0].unit)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
let [min, max] = yMethod(yMethodList)
|
// let [min, max] = yMethod(yMethodList)
|
||||||
|
// echartsData.value.yAxis[index].min = min
|
||||||
|
// echartsData.value.yAxis[index].max = max
|
||||||
|
})
|
||||||
|
yData.forEach((item: any, index: any) => {
|
||||||
|
let [min, max] = yMethod(item)
|
||||||
echartsData.value.yAxis[index].min = min
|
echartsData.value.yAxis[index].min = min
|
||||||
echartsData.value.yAxis[index].max = max
|
echartsData.value.yAxis[index].max = max
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,25 +1,41 @@
|
|||||||
<template>
|
<template>
|
||||||
|
<div>
|
||||||
|
<Table ref="tableRef" v-if="!isWaveCharts" />
|
||||||
|
<waveFormAnalysis v-loading="loading" v-if="isWaveCharts" ref="waveFormAnalysisRef"
|
||||||
|
@handleHideCharts="isWaveCharts = false" :wp="wp" />
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- <TableHeader :showReset="false">
|
<!-- <TableHeader :showReset="false">
|
||||||
|
|
||||||
</TableHeader> -->
|
</TableHeader> -->
|
||||||
<Table ref="tableRef" />
|
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
<script setup lang='ts'>
|
<script setup lang='ts'>
|
||||||
import { ref, provide, onMounted } from 'vue'
|
import { ref, provide, onMounted, nextTick } from 'vue'
|
||||||
import { getEventByItem } from '@/api/cs-device-boot/planData'
|
import { getEventByItem } from '@/api/cs-device-boot/planData'
|
||||||
import TableStore from '@/utils/tableStore'
|
import TableStore from '@/utils/tableStore'
|
||||||
import Table from '@/components/table/index.vue'
|
import Table from '@/components/table/index.vue'
|
||||||
import TableHeader from '@/components/table/header/index.vue'
|
import TableHeader from '@/components/table/header/index.vue'
|
||||||
|
import { ElMessage } from 'element-plus'
|
||||||
|
import waveFormAnalysis from '@/views/govern/device/control/tabs/components/waveFormAnalysis.vue';
|
||||||
|
import { analyseWave } from '@/api/common'
|
||||||
|
import { mainHeight } from '@/utils/layout'
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
activeName: String
|
activeName: String,
|
||||||
|
activeColName: [Object, String]
|
||||||
})
|
})
|
||||||
|
const loading = ref(false)
|
||||||
|
const waveFormAnalysisRef = ref()
|
||||||
|
const isWaveCharts = ref(false)
|
||||||
|
const boxoList: any = ref([])
|
||||||
|
const wp = ref({})
|
||||||
const tableStore = new TableStore({
|
const tableStore = new TableStore({
|
||||||
url: '/cs-harmonic-boot/data/getEventByItem',
|
url: '/cs-harmonic-boot/data/getEventByItem',
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
paramsPOST: true,
|
paramsPOST: true,
|
||||||
showPage: false,
|
showPage: false,
|
||||||
|
publicHeight: 365,
|
||||||
column: [
|
column: [
|
||||||
// { width: '60', type: 'checkbox', fixed: 'left' },
|
// { width: '60', type: 'checkbox', fixed: 'left' },
|
||||||
{
|
{
|
||||||
@@ -64,73 +80,77 @@ const tableStore = new TableStore({
|
|||||||
width: 180,
|
width: 180,
|
||||||
render: 'buttons',
|
render: 'buttons',
|
||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
// buttons: [
|
buttons: [
|
||||||
// {
|
{
|
||||||
// name: 'edit',
|
name: 'edit',
|
||||||
// title: '波形解析',
|
title: '波形解析',
|
||||||
// type: 'primary',
|
type: 'primary',
|
||||||
// icon: 'el-icon-Check',
|
icon: 'el-icon-Check',
|
||||||
// render: 'basicButton',
|
render: 'basicButton',
|
||||||
// loading: 'loading1',
|
loading: 'loading1',
|
||||||
// disabled: row => {
|
disabled: row => {
|
||||||
// // && row.evtParamTm < 20
|
// && row.evtParamTm < 20
|
||||||
// return !row.wavePath
|
return !row.wavePath
|
||||||
// },
|
},
|
||||||
// click: async row => {
|
click: async row => {
|
||||||
// row.loading1 = true
|
row.loading1 = true
|
||||||
|
loading.value = true
|
||||||
|
isWaveCharts.value = true
|
||||||
|
await analyseWave(row.id)
|
||||||
|
.then(res => {
|
||||||
|
row.loading1 = false
|
||||||
|
if (res != undefined) {
|
||||||
|
boxoList.value = row
|
||||||
|
boxoList.value.systemType = 'WX'
|
||||||
|
wp.value = res.data
|
||||||
|
|
||||||
// await analyseWave(row.id)
|
|
||||||
// .then(res => {
|
}
|
||||||
// row.loading1 = false
|
loading.value = false
|
||||||
// if (res != undefined) {
|
})
|
||||||
// boxoList.value = row
|
.catch(() => {
|
||||||
// boxoList.value.systemType = 'WX'
|
row.loading1 = false
|
||||||
// wp.value = res.data
|
loading.value = false
|
||||||
// view.value = false
|
})
|
||||||
// view2.value = true
|
|
||||||
// }
|
nextTick(() => {
|
||||||
// })
|
waveFormAnalysisRef.value && waveFormAnalysisRef.value.getWpData(wp.value, boxoList.value, true)
|
||||||
// .catch(() => {
|
setHeight()
|
||||||
// row.loading1 = false
|
})
|
||||||
// })
|
}
|
||||||
// isWaveCharts.value = true
|
},
|
||||||
// nextTick(() => {
|
{
|
||||||
// waveFormAnalysisRef.value && waveFormAnalysisRef.value.getWpData(wp.value, boxoList.value)
|
name: 'edit',
|
||||||
// })
|
text: '暂无波形',
|
||||||
// }
|
type: 'info',
|
||||||
// },
|
icon: 'el-icon-DataLine',
|
||||||
// {
|
render: 'basicButton',
|
||||||
// name: 'edit',
|
disabled: row => {
|
||||||
// text: '暂无波形',
|
return row.wavePath
|
||||||
// type: 'info',
|
}
|
||||||
// icon: 'el-icon-DataLine',
|
},
|
||||||
// render: 'basicButton',
|
{
|
||||||
// disabled: row => {
|
name: 'edit',
|
||||||
// return row.wavePath
|
title: '波形下载',
|
||||||
// }
|
type: 'primary',
|
||||||
// },
|
loading: 'loading2',
|
||||||
// {
|
icon: 'el-icon-Check',
|
||||||
// name: 'edit',
|
render: 'basicButton',
|
||||||
// title: '波形下载',
|
disabled: row => {
|
||||||
// type: 'primary',
|
// && row.evtParamTm < 20
|
||||||
// loading: 'loading2',
|
return !row.wavePath
|
||||||
// icon: 'el-icon-Check',
|
},
|
||||||
// render: 'basicButton',
|
click: row => {
|
||||||
// disabled: row => {
|
row.loading2 = true
|
||||||
// // && row.evtParamTm < 20
|
const url = window.location.origin + '/api/cs-harmonic-boot/event/getFileZip?eventId=' + row.id
|
||||||
// return !row.wavePath
|
window.open(url, '_self')
|
||||||
// },
|
setTimeout(() => {
|
||||||
// click: row => {
|
ElMessage.success('波形下载成功!')
|
||||||
// row.loading2 = true
|
row.loading2 = false
|
||||||
// const url = window.location.origin + '/api/cs-harmonic-boot/event/getFileZip?eventId=' + row.id
|
}, 1500)
|
||||||
// window.open(url, '_self')
|
}
|
||||||
// setTimeout(() => {
|
}
|
||||||
// ElMessage.success('波形下载成功!')
|
]
|
||||||
// row.loading2 = false
|
|
||||||
// }, 1500)
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// ]
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
||||||
@@ -138,6 +158,16 @@ const tableStore = new TableStore({
|
|||||||
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
const setHeight = () => {
|
||||||
|
if (props.activeColName == '0') {
|
||||||
|
waveFormAnalysisRef.value && waveFormAnalysisRef.value.setHeight(360, 495)
|
||||||
|
tableStore.table.height = mainHeight(385).height
|
||||||
|
|
||||||
|
} else {
|
||||||
|
waveFormAnalysisRef.value && waveFormAnalysisRef.value.setHeight(360, 360)
|
||||||
|
tableStore.table.height = mainHeight(250).height
|
||||||
|
}
|
||||||
|
}
|
||||||
provide('tableStore', tableStore)
|
provide('tableStore', tableStore)
|
||||||
const init = () => {
|
const init = () => {
|
||||||
tableStore.table.params.id = props.activeName
|
tableStore.table.params.id = props.activeName
|
||||||
@@ -149,7 +179,7 @@ const init = () => {
|
|||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
|
|
||||||
})
|
})
|
||||||
defineExpose({ init })
|
defineExpose({ init, setHeight })
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped></style>
|
<style lang="scss" scoped></style>
|
||||||
|
|||||||
@@ -16,13 +16,13 @@
|
|||||||
{{ deviceData.describe ? deviceData.describe : '/' }}
|
{{ deviceData.describe ? deviceData.describe : '/' }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
<el-collapse v-model="activeColName" @change="handleChange">
|
<el-collapse v-model="activeColName" @change="handleChange" accordion>
|
||||||
<el-collapse-item title="测试项信息" name="0">
|
<el-collapse-item title="测试项信息" name="0">
|
||||||
<div class="monitor_info" v-if="deviceData.records && deviceData.records.length != 0">
|
<div class="monitor_info" v-if="deviceData.records && deviceData.records.length != 0">
|
||||||
<!-- <div class="history_title">
|
<!-- <div class="history_title">
|
||||||
<p>测试项信息</p>
|
<p>测试项信息</p>
|
||||||
</div> -->
|
</div> -->
|
||||||
<el-tabs v-model="activeName" type="border-card" @click="handleClickTabs">
|
<el-tabs v-model="activeName" type="border-card" @tab-change="handleClickTabs">
|
||||||
<el-tab-pane v-for="(item, index) in deviceData?.records" :label="item.itemName"
|
<el-tab-pane v-for="(item, index) in deviceData?.records" :label="item.itemName"
|
||||||
:name="item.id" :key="index">
|
:name="item.id" :key="index">
|
||||||
<template #label>
|
<template #label>
|
||||||
@@ -170,7 +170,7 @@
|
|||||||
<el-empty :style="EcharHeight" v-else description="未绑定数据" />
|
<el-empty :style="EcharHeight" v-else description="未绑定数据" />
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="暂态数据" name="1">
|
<el-tab-pane label="暂态数据" name="1">
|
||||||
<transient :activeName='activeName' ref="transientRef" />
|
<transient :activeName='activeName' ref="transientRef" :activeColName="activeColName"/>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
|
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
@@ -310,6 +310,7 @@ const handleClickTabs = () => {
|
|||||||
schemeTreeRef.value.setCheckedNode(activeName.value)
|
schemeTreeRef.value.setCheckedNode(activeName.value)
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
init(true)
|
init(true)
|
||||||
|
transientRef.value && transientRef.value.init()
|
||||||
}, 100)
|
}, 100)
|
||||||
}
|
}
|
||||||
const nodeClick = async (e: anyObj) => {
|
const nodeClick = async (e: anyObj) => {
|
||||||
@@ -645,12 +646,15 @@ const init = (flag: boolean) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (chartsList.length > 0) {
|
if (chartsList.length > 0) {
|
||||||
|
let yData: any = []
|
||||||
echartsData.value.yAxis = []
|
echartsData.value.yAxis = []
|
||||||
let setList = [...new Set(unitList)];
|
let setList = [...new Set(unitList)];
|
||||||
|
|
||||||
setList.forEach((item: any, index: any) => {
|
setList.forEach((item: any, index: any) => {
|
||||||
if (index > 2) {
|
if (index > 2) {
|
||||||
echartsData.value.grid.right = (index - 1) * 80
|
echartsData.value.grid.right = (index - 1) * 80
|
||||||
}
|
}
|
||||||
|
yData.push([])
|
||||||
let right = {
|
let right = {
|
||||||
position: 'right',
|
position: 'right',
|
||||||
offset: (index - 1) * 80
|
offset: (index - 1) * 80
|
||||||
@@ -667,13 +671,8 @@ const init = (flag: boolean) => {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
// console.log("🚀 ~ result.forEach ~ result:", result)
|
// console.log("🚀 ~ result.forEach ~ result:", result)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
let ABCName = [...new Set(chartsList.map((item: any) => { return item.anotherName == '电压负序分量' ? '电压不平衡' : item.anotherName == '电压正序分量' ? '电压不平衡' : item.anotherName == '电压零序分量' ? '电压不平衡' : item.anotherName }))];
|
let ABCName = [...new Set(chartsList.map((item: any) => { return item.anotherName == '电压负序分量' ? '电压不平衡' : item.anotherName == '电压正序分量' ? '电压不平衡' : item.anotherName == '电压零序分量' ? '电压不平衡' : item.anotherName }))];
|
||||||
// console.log("🚀 ~ result.forEach ~ result:", result)
|
|
||||||
|
|
||||||
result.forEach((item: any, index: any) => {
|
result.forEach((item: any, index: any) => {
|
||||||
let yMethodList: any = []
|
let yMethodList: any = []
|
||||||
@@ -701,20 +700,12 @@ const init = (flag: boolean) => {
|
|||||||
|
|
||||||
|
|
||||||
ABCList.forEach((kk: any) => {
|
ABCList.forEach((kk: any) => {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
let colorName = kk[0].phase?.charAt(0).toUpperCase()
|
let colorName = kk[0].phase?.charAt(0).toUpperCase()
|
||||||
|
|
||||||
|
|
||||||
let lineS = ABCName.findIndex(item => item === (kk[0].anotherName == '电压负序分量' ? '电压不平衡' : kk[0].anotherName == '电压正序分量' ? '电压不平衡' : kk[0].anotherName == '电压零序分量' ? '电压不平衡' : kk[0].anotherName));
|
let lineS = ABCName.findIndex(item => item === (kk[0].anotherName == '电压负序分量' ? '电压不平衡' : kk[0].anotherName == '电压正序分量' ? '电压不平衡' : kk[0].anotherName == '电压零序分量' ? '电压不平衡' : kk[0].anotherName));
|
||||||
|
|
||||||
|
|
||||||
let seriesList: any = []
|
let seriesList: any = []
|
||||||
kk.forEach((cc: any) => {
|
kk.forEach((cc: any) => {
|
||||||
if (cc.statisticalData !== null) {
|
if (cc.statisticalData !== null) {
|
||||||
yMethodList.push(cc.statisticalData?.toFixed(2))
|
yData[setList.indexOf(kk[0].unit)].push(cc.statisticalData?.toFixed(2))
|
||||||
}
|
}
|
||||||
seriesList.push([cc.time, cc.statisticalData?.toFixed(2), cc.unit, lineStyle[lineS].type])
|
seriesList.push([cc.time, cc.statisticalData?.toFixed(2), cc.unit, lineStyle[lineS].type])
|
||||||
})
|
})
|
||||||
@@ -732,12 +723,22 @@ const init = (flag: boolean) => {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
let [min, max] = yMethod(yMethodList)
|
// let [min, max] = yMethod(yMethodList)
|
||||||
|
|
||||||
|
// echartsData.value.yAxis[index].min = min
|
||||||
|
// echartsData.value.yAxis[index].max = max
|
||||||
|
})
|
||||||
|
yData.forEach((item: any, index: any) => {
|
||||||
|
let [min, max] = yMethod(item)
|
||||||
echartsData.value.yAxis[index].min = min
|
echartsData.value.yAxis[index].min = min
|
||||||
echartsData.value.yAxis[index].max = max
|
echartsData.value.yAxis[index].max = max
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
loading.value = false
|
loading.value = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -968,6 +969,7 @@ const selectChange = (e: boolean) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const handleChange = () => {
|
const handleChange = () => {
|
||||||
|
|
||||||
if (activeColName.value == '0') {
|
if (activeColName.value == '0') {
|
||||||
if (flag.value) {
|
if (flag.value) {
|
||||||
EcharHeight.value = mainHeight(495)
|
EcharHeight.value = mainHeight(495)
|
||||||
@@ -981,6 +983,9 @@ const handleChange = () => {
|
|||||||
EcharHeight.value = mainHeight(315)
|
EcharHeight.value = mainHeight(315)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
setTimeout(() => {
|
||||||
|
transientRef.value && transientRef.value.setHeight()
|
||||||
|
}, 100);
|
||||||
}
|
}
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog class='cn-operate-dialog' v-model='dialogVisible' :title='title'>
|
<el-dialog width="600px" v-model='dialogVisible' :title='title'>
|
||||||
<el-scrollbar>
|
<el-scrollbar>
|
||||||
<el-form :inline='false' :model='form' label-width='120px' :rules='rules' ref='formRef'>
|
<el-form :inline='false' :model='form' label-width='auto' class="form-one" :rules='rules' ref='formRef'>
|
||||||
<el-form-item label='名称:' class='top' prop='name'>
|
<el-form-item label='名称:' class='top' prop='name'>
|
||||||
<el-input maxlength="32" show-word-limit v-model='form.name'></el-input>
|
<el-input maxlength="32" show-word-limit v-model='form.name' placeholder='请输入名称'></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label='计算值:' class='top'>
|
<el-form-item label='计算值:' class='top'>
|
||||||
<el-input maxlength="32" show-word-limit v-model='form.value'></el-input>
|
<el-input maxlength="32" show-word-limit v-model='form.value' placeholder="请输入计算值"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item class='top' label='对应算法:' prop='algoDescribe' v-if='form.openDescribe == 1'>
|
<el-form-item class='top' label='对应算法:' prop='algoDescribe' v-if='form.openDescribe == 1'>
|
||||||
<el-input maxlength="32" show-word-limit v-model='form.algoDescribe' placeholder='请输入数字'></el-input>
|
<el-input maxlength="32" show-word-limit v-model='form.algoDescribe' placeholder='请输入数字'></el-input>
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog class='cn-operate-dialog' v-model='dialogVisible' :title='title'>
|
<el-dialog width='600px' v-model='dialogVisible' :title='title'>
|
||||||
<el-scrollbar>
|
<el-scrollbar>
|
||||||
<el-form :inline='false' :model='form' label-width='120px' :rules='rules' ref='formRef'>
|
<el-form :inline='false' :model='form' label-width='auto' class="form-one" :rules='rules' ref='formRef'>
|
||||||
<el-form-item label='名称' prop='name'>
|
<el-form-item label='名称' prop='name'>
|
||||||
<el-input maxlength="32" show-word-limit v-model='form.name'></el-input>
|
<el-input maxlength="32" show-word-limit v-model='form.name' placeholder="请输入字典名称"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label='编码' class='top' prop='code'>
|
<el-form-item label='编码' class='top' prop='code'>
|
||||||
<el-input maxlength="32" show-word-limit v-model='form.code'></el-input>
|
<el-input maxlength="32" show-word-limit v-model='form.code' placeholder="请输入字典编码"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label='排序' class='top' prop='sort'>
|
<el-form-item label='排序' class='top' prop='sort'>
|
||||||
@@ -26,7 +26,8 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label='字典描述' class='top'>
|
<el-form-item label='字典描述' class='top'>
|
||||||
<el-input maxlength="32" show-word-limit v-model='form.remark' type='textarea' :rows='2'></el-input>
|
<el-input maxlength="300" show-word-limit v-model='form.remark' placeholder='请输入字典描述'
|
||||||
|
type='textarea' :rows='2'></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-scrollbar>
|
</el-scrollbar>
|
||||||
|
|||||||
@@ -15,17 +15,17 @@
|
|||||||
<el-input ref="usernameRef" v-model="form.username" type="text" clearable placeholder="用户名"
|
<el-input ref="usernameRef" v-model="form.username" type="text" clearable placeholder="用户名"
|
||||||
autocomplete="off">
|
autocomplete="off">
|
||||||
<template #prefix>
|
<template #prefix>
|
||||||
<!-- <span class="iconfont icon-yonghu" style="color: var(--el-color-primary)"></span> -->
|
<span class="iconfont icon-yonghu" style="color: var(--el-color-primary)"></span>
|
||||||
<Icon name="fa fa-user" style="color: var(--el-color-primary); font-size: 16px" />
|
<!-- <Icon name="fa fa-user" style="color: var(--el-color-primary); font-size: 16px" /> -->
|
||||||
</template>
|
</template>
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="password">
|
<el-form-item prop="password">
|
||||||
<el-input ref="passwordRef" v-model="form.password" type="password" placeholder="密码"
|
<el-input ref="passwordRef" v-model="form.password" type="password" clearable placeholder="密码"
|
||||||
autocomplete="off">
|
autocomplete="off">
|
||||||
<template #prefix>
|
<template #prefix>
|
||||||
<Icon name="local-password" style="color: var(--el-color-primary); font-size: 16px" />
|
<!-- <Icon name="local-password" style="color: var(--el-color-primary); font-size: 16px" /> -->
|
||||||
<!-- <span class="iconfont icon-mima" style="color: var(--el-color-primary)"></span> -->
|
<span class="iconfont icon-mima" style="color: var(--el-color-primary)"></span>
|
||||||
</template>
|
</template>
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -55,6 +55,7 @@ import { ElMessage } from 'element-plus'
|
|||||||
import { gongkey, login, getSysConfig } from '@/api/user-boot/user'
|
import { gongkey, login, getSysConfig } from '@/api/user-boot/user'
|
||||||
import { useAdminInfo } from '@/stores/adminInfo'
|
import { useAdminInfo } from '@/stores/adminInfo'
|
||||||
import type { FormInstance, InputInstance, FormRules } from 'element-plus'
|
import type { FormInstance, InputInstance, FormRules } from 'element-plus'
|
||||||
|
import { UserFilled, Edit, Delete, SetUp } from '@element-plus/icons-vue'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import { ADMIN_INFO } from '@/stores/constant/cacheKey'
|
import { ADMIN_INFO } from '@/stores/constant/cacheKey'
|
||||||
import { Local } from '@/utils/storage'
|
import { Local } from '@/utils/storage'
|
||||||
|
|||||||
Reference in New Issue
Block a user