修改itic点击波形图

This commit is contained in:
guanj
2026-03-26 14:53:34 +08:00
parent 93ee7e4034
commit fafc5f82c4
28 changed files with 24966 additions and 24719 deletions

View File

@@ -1504,7 +1504,7 @@ window.BMAP_AUTHENTIC_KEY = "Yp57V71dkOPiXjiN8VdcFRsVELzlVNKK";
for (d in b) c = c + "&" + d + "=" + encodeURIComponent(b[d]);
var e = function (a) {
a && (rb = o, setTimeout(function () {
sb.src = B.oc + "images/blank.gif?" + a.src
// sb.src = B.oc + "images/blank.gif?" + a.src
}, 50))
},
f = function () {

View File

@@ -1536,7 +1536,7 @@ window.BMAP_AUTHENTIC_KEY = ''
a &&
((ob = q),
setTimeout(function () {
pb.src = B.Wc + 'images/blank.gif?' + a.src
// pb.src = B.Wc + 'images/blank.gif?' + a.src
}, 50))
},
g = function () {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -972,7 +972,7 @@ export default {
align: "left",
},
textStyle: {
fontSize: "0.8rem",
fontSize: "16",
color: _this.DColor ? "#fff" : echartsColor.WordColor,
},
},
@@ -983,7 +983,7 @@ export default {
enabled: true,
itemDistance: 5,
textStyle: {
fontSize: "0.7rem",
fontSize: "12",
color: _this.DColor ? "#fff" : echartsColor.WordColor,
rich: {
a: {
@@ -1019,14 +1019,14 @@ export default {
title: {
text: "ms",
textStyle: {
fontSize: "0.6rem",
fontSize: "12",
color: _this.DColor ? "#fff" : echartsColor.WordColor,
},
enabled: true,
align: "high",
},
nameTextStyle: {
fontSize: "0.6rem",
fontSize: "12",
},
labels: {
formatter: function () {
@@ -1046,7 +1046,7 @@ export default {
onZero: false, //-----------重点
},
axisLabel: {
fontSize: "0.6rem",
fontSize: "12",
color: _this.DColor ? "#fff" : echartsColor.WordColor,
// interval: 50,
formatter: function (value, index) {
@@ -1077,7 +1077,7 @@ export default {
// min: min.toFixed(2),
opposite: false,
nameTextStyle: {
fontSize: "0.6rem",
fontSize: "12",
color: _this.DColor ? "#fff" : echartsColor.WordColor,
},
//minInterval: 1,
@@ -1090,7 +1090,7 @@ export default {
onZero: false, //-----------重点
},
axisLabel: {
fontSize: "0.6rem",
fontSize: "12",
color: _this.DColor ? "#fff" : echartsColor.WordColor,
formatter: function (value, index) {
return (value - 0).toFixed(2);
@@ -1395,7 +1395,7 @@ export default {
left: "center",
text: titlename,
textStyle: {
fontSize: "0.8rem",
fontSize: "16",
color: _this.DColor ? "#fff" : echartsColor.WordColor,
},
},
@@ -1406,7 +1406,7 @@ export default {
enabled: true,
itemDistance: 5,
textStyle: {
fontSize: "0.7rem",
fontSize: "12",
color: _this.DColor ? "#fff" : echartsColor.WordColor,
rich: {
a: {
@@ -1437,7 +1437,7 @@ export default {
title: {
text: "ms",
textStyle: {
fontSize: "0.6rem",
fontSize: "12",
color: _this.DColor ? "#fff" : echartsColor.WordColor,
},
enabled: true,
@@ -1449,7 +1449,7 @@ export default {
},
},
nameTextStyle: {
fontSize: "0.6rem",
fontSize: "12",
},
splitLine: {
show: false,
@@ -1464,7 +1464,7 @@ export default {
onZero: false, //-----------重点
},
axisLabel: {
fontSize: "0.6rem",
fontSize: "12",
color: _this.DColor ? "#fff" : echartsColor.WordColor,
// interval: 50,
formatter: function (value, index) {
@@ -1498,7 +1498,7 @@ export default {
// formatter: "{value}",
// },
nameTextStyle: {
fontSize: "0.6rem",
fontSize: "12",
color: _this.DColor ? "#fff" : echartsColor.WordColor,
},
//minInterval: 1,
@@ -1511,7 +1511,7 @@ export default {
onZero: false, //-----------重点
},
axisLabel: {
fontSize: "0.6rem",
fontSize: "12",
color: _this.DColor ? "#fff" : echartsColor.WordColor,
formatter: function (value, index) {
return (value - 0).toFixed(2);

View File

@@ -634,7 +634,7 @@ export default {
left: 'center',
text: title,
textStyle: {
fontSize: '0.8rem',
fontSize: '16',
color: _this.DColor ? '#fff' : echartsColor.WordColor
}
},
@@ -645,7 +645,7 @@ export default {
enabled: true,
itemDistance: 5,
textStyle: {
fontSize: '0.6rem',
fontSize: '12',
color: _this.DColor ? '#fff' : echartsColor.WordColor,
rich: {
a: {
@@ -681,7 +681,7 @@ export default {
title: {
text: 'ms',
textStyle: {
fontSize: '0.6rem',
fontSize: '12',
color: _this.DColor ? '#fff' : echartsColor.WordColor
},
enabled: true,
@@ -691,7 +691,7 @@ export default {
show: false
},
nameTextStyle: {
fontSize: '0.6rem'
fontSize: '12'
},
axisTick: {
alignWithLabel: true
@@ -703,7 +703,7 @@ export default {
onZero: false //-----------重点
},
axisLabel: {
fontSize: '0.6rem',
fontSize: '12',
color: _this.DColor ? '#fff' : echartsColor.WordColor,
formatter: function (value, index) {
if (_this.valA != (value - 0).toFixed(0)) {
@@ -732,7 +732,7 @@ export default {
min: min.toFixed(2) > 0 ? min.toFixed(2) - min.toFixed(2) * 0.1 : min.toFixed(2) * 1.1,
opposite: false,
nameTextStyle: {
fontSize: '0.6rem',
fontSize: '12',
color: _this.DColor ? '#fff' : echartsColor.WordColor
},
//minInterval: 1,
@@ -745,7 +745,7 @@ export default {
onZero: false //-----------重点
},
axisLabel: {
fontSize: '0.6rem',
fontSize: '12',
color: _this.DColor ? '#fff' : echartsColor.WordColor,
formatter: function (value, index) {
return (value - 0).toFixed(2)
@@ -1000,7 +1000,7 @@ export default {
left: 'center',
text: titlename,
textStyle: {
fontSize: '0.8rem',
fontSize: '16',
color: _this.DColor ? '#fff' : echartsColor.WordColor
}
},
@@ -1011,7 +1011,7 @@ export default {
enabled: true,
itemDistance: 5,
textStyle: {
fontSize: '0.6rem',
fontSize: '12',
color: _this.DColor ? '#fff' : echartsColor.WordColor,
rich: {
a: {
@@ -1042,7 +1042,7 @@ export default {
title: {
text: 'ms',
textStyle: {
fontSize: '0.6rem',
fontSize: '12',
color: _this.DColor ? '#fff' : echartsColor.WordColor
},
enabled: true,
@@ -1061,10 +1061,10 @@ export default {
onZero: false //-----------重点
},
nameTextStyle: {
fontSize: '0.6rem'
fontSize: '12'
},
axisLabel: {
fontSize: '0.6rem',
fontSize: '12',
color: _this.DColor ? '#fff' : echartsColor.WordColor,
formatter: function (value, index) {
if (_this.valB != (value - 0).toFixed(0)) {
@@ -1095,7 +1095,7 @@ export default {
// formatter: "{value}",
// },
nameTextStyle: {
fontSize: '0.6rem',
fontSize: '12',
color: _this.DColor ? '#fff' : echartsColor.WordColor
},
//minInterval: 1,
@@ -1108,7 +1108,7 @@ export default {
onZero: false //-----------重点
},
axisLabel: {
fontSize: '0.6rem',
fontSize: '12',
color: _this.DColor ? '#fff' : echartsColor.WordColor,
formatter: function (value, index) {
return (value - 0).toFixed(2)

File diff suppressed because it is too large Load Diff

View File

@@ -152,6 +152,7 @@ function createAxios<Data = any, T = ApiPromise<Data>>(
return Axios(response.config)
})
.catch(err => {
window.location.reload()
adminInfo.removeToken()
router.push({ name: 'login' })
return Promise.reject(err)

View File

@@ -844,7 +844,7 @@ onMounted(() => {
}
.btnBox {
display: flex;
justify-content: end;
justify-content: flex-end;
}
:deep(.vxe-table--header thead tr:first-of-type th:first-of-type) {

View File

@@ -157,7 +157,7 @@ defineExpose({ open })
<style lang="scss" scoped>
.formBox{
display: flex;
justify-content: end;
justify-content: flex-end;
}
</style>

View File

@@ -40,7 +40,14 @@
></Table>
</div>
<div class="pd10" style="width: 400px" v-loading="loading">
<el-input v-model="filterText" placeholder="请输入内容" clearable maxlength="32" show-word-limit @input="change">
<el-input
v-model="filterText"
placeholder="请输入内容"
clearable
maxlength="32"
show-word-limit
@input="change"
>
<template #prefix>
<Icon name="el-icon-Search" style="font-size: 16px" />
</template>
@@ -317,7 +324,8 @@ const tableStore = new TableStore({
{ title: '描述', field: 'remark' },
{
title: '操作',fixed: 'right',
title: '操作',
fixed: 'right',
align: 'center',
width: '180',
render: 'buttons',
@@ -376,8 +384,8 @@ const tableStore = new TableStore({
},
click: row => {
if (hasDevices.value) {
ElMessage.warning('此前置机绑定了设备,无法删除!');
return;
ElMessage.warning('此前置机绑定了设备,无法删除!')
return
}
delNode(row.id).then(res => {
@@ -399,10 +407,10 @@ const tableStore = new TableStore({
title: '确定分配终端吗?'
},
click: row => {
if (!hasDevices.value) {
ElMessage.warning('此前置机下无设备,无法分配终端!');
return;
}
// if (!hasDevices.value) {
// ElMessage.warning('此前置机下无设备,无法分配终端!')
// return
// }
allotTerminal({
nodeId: row.id
}).then(res => {
@@ -410,7 +418,7 @@ const tableStore = new TableStore({
tableStore.index()
})
}
},
}
]
}
],
@@ -448,26 +456,25 @@ const currentChangeEvent = () => {
// 检查返回的数据是否存在且不为空
if (res.data && res.data.processDeviceList) {
// 检查是否有设备绑定
const hasAnyDevices = res.data.processDeviceList.some(item =>
item.deviceInfoList && item.deviceInfoList.length > 0
);
hasDevices.value = hasAnyDevices;
const hasAnyDevices = res.data.processDeviceList.some(
item => item.deviceInfoList && item.deviceInfoList.length > 0
)
hasDevices.value = hasAnyDevices
dataSource.value = res.data.processDeviceList.filter(item => {
item.name = item.processNo + '';
return true; // 保持原有的过滤逻辑
});
item.name = item.processNo + ''
return true // 保持原有的过滤逻辑
})
} else {
dataSource.value = []
hasDevices.value = false;
hasDevices.value = false
}
loading.value = false
})
.catch(() => {
// 添加错误处理,确保 loading 状态也能关闭
dataSource.value = []
hasDevices.value = false;
hasDevices.value = false
loading.value = false
})
@@ -518,7 +525,7 @@ const filterNode = (value: string, data: any, node: any) => {
// 过滤父节点 / 子节点 (如果输入的参数是父节点且能匹配则返回该节点以及其下的所有子节点如果参数是子节点则返回该节点的父节点。name是中文字符enName是英文字符.
const chooseNode = (value: string, data: any, node: any) => {
if (data.name.indexOf(value) !== -1) {
if ((data.subName + data.name).indexOf(value) !== -1) {
return true
}
const level = node.level

View File

@@ -1740,8 +1740,8 @@ const optionarr = ref([
])
/**母线类型 */
const busBarType = ref([
{ name: '实际母线', value: 0 },
{ name: '虚拟母线', value: 1 }
{ name: '实际母线', value: 1 },
{ name: '虚拟母线', value: 0 }
])
const bigList: any = ref([])
const smallList: any = ref([])

View File

@@ -613,7 +613,7 @@ onMounted(() => {
.harmonicButton {
height: 42px;
display: flex;
justify-content: end;
justify-content: flex-end;
align-items: center;
}
:deep(.el-tabs__content) {

View File

@@ -158,7 +158,7 @@ onMounted(() => {
<style lang="scss" scoped>
.title {
display: flex;
justify-content: end;
justify-content: flex-end;
align-items: center;
padding: 10px;
font-size: 16px;

View File

@@ -363,7 +363,7 @@ defineExpose({
.actionButtons {
display: flex;
justify-content: end;
justify-content: flex-end;
}
.loading-container {

View File

@@ -454,7 +454,7 @@ onMounted(() => {
<style lang="scss" scoped>
.actionButtons {
display: flex;
justify-content: end;
justify-content: flex-end;
}
:deep(.el-collapse-item__header) {
// font-family: AlimamaDongFangDaKai;

View File

@@ -184,7 +184,7 @@ defineExpose({
<style lang="scss" scoped>
.btnsBox {
display: flex;
justify-content: end;
justify-content: flex-end;
}
::v-deep .el-radio-button__inner {
padding: 8px 18px;

View File

@@ -235,7 +235,7 @@ defineExpose({ open })
}
.form {
// display: flex;
// justify-content: end;
// justify-content: flex-end;
// position: relative;
// .form_but {

View File

@@ -1,23 +1,37 @@
<template>
<div class="flex">
<span style="width: 100px; margin-top: 3px">电压等级:</span>
<el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange"
style="margin-right: 28px">
<el-checkbox
:indeterminate="isIndeterminate"
v-model="checkAll"
@change="handleCheckAllChange"
style="margin-right: 28px"
>
全选
</el-checkbox>
<el-checkbox-group v-model="checkedVoltage" @change="handleCheckedVoltageChange"
style="height: 72px; overflow-y: auto; flex: 1">
<el-checkbox-group
v-model="checkedVoltage"
@change="handleCheckedVoltageChange"
style="height: 72px; overflow-y: auto; flex: 1"
>
<el-checkbox v-for="(item, index) in grade" :label="item" :key="index">{{ item.name }}</el-checkbox>
</el-checkbox-group>
</div>
<div class="flex">
<span style="width: 100px; margin-top: 3px">干扰源类型:</span>
<el-checkbox :indeterminate="isIndeterminate1" v-model="checkAll1" @change="handleCheckAllChange1"
style="margin-right: 28px">
<el-checkbox
:indeterminate="isIndeterminate1"
v-model="checkAll1"
@change="handleCheckAllChange1"
style="margin-right: 28px"
>
全选
</el-checkbox>
<el-checkbox-group v-model="checkedSource" @change="handleCheckedSourceChange"
style="height: 72px; overflow-y: auto; flex: 1">
<el-checkbox-group
v-model="checkedSource"
@change="handleCheckedSourceChange"
style="height: 72px; overflow-y: auto; flex: 1"
>
<el-checkbox v-for="(item, index) in type" :label="item" :key="index">{{ item.name }}</el-checkbox>
</el-checkbox-group>
</div>
@@ -28,7 +42,7 @@
<el-radio label="F47">F47</el-radio>
</el-radio-group>
</div>
<my-echart class="bars_w" :options="echartList" />
<my-echart class="bars_w" :options="echartList" @echartClick="echartClick" />
<vxe-table class="dw" :data="TableData" height="50px" v-bind="defaultAttribute">
<vxe-column field="name" title="名称" width="100px"></vxe-column>
@@ -43,7 +57,7 @@ import MyEchart from '@/components/echarts/MyEchart.vue'
import { mainHeight } from '@/utils/layout'
import { defaultAttribute } from '@/components/table/defaultAttribute'
import { ref, reactive } from 'vue'
import { Bottom } from '@element-plus/icons-vue/dist/types'
const emit = defineEmits(['viewWave'])
const dictData = useDictData()
const isIndeterminate = ref(false)
const isIndeterminate1 = ref(false)
@@ -340,7 +354,7 @@ const gongfunction = () => {
var index = datalist.value[i].lineId
var eventId = datalist.value[i].eventId
var lineName = datalist.value[i].lineName
point = [xx, yy, time, company, substation, index, eventId, lineName]
point = [xx, yy, time, company, substation, index, eventId, lineName, datalist.value[i]]
if (xx <= 0.003) {
var line = 0
@@ -468,6 +482,10 @@ const gongfunction = () => {
}
}
}
const echartClick = (params: any) => {
emit('viewWave', params.value[8])
}
defineExpose({ checkedVoltage, checkedSource, info })
const layout = mainHeight(320) as any

View File

@@ -1,17 +1,27 @@
<template>
<div class="default-main">
<div v-show="view">
<TableHeader date-picker area>
<template v-slot:select></template>
</TableHeader>
<el-tabs v-model="activeName" type="border-card" @tab-change="handleClick" v-loading="tableStore.table.loading">
<el-tabs
v-model="activeName"
type="border-card"
@tab-change="handleClick"
v-loading="tableStore.table.loading"
>
<el-tab-pane label="暂降原因及类型统计" name="1">
<TypeStatistics ref="Statistics" />
</el-tab-pane>
<el-tab-pane label="电压容忍度曲线兼容性统计" name="2">
<Compatibility ref="compatibility" />
<Compatibility ref="compatibility" @viewWave="viewWave" />
</el-tab-pane>
</el-tabs>
</div>
<div :style="{ height: pageHeight.height }" style="padding: 10px; overflow: hidden" v-if="!view">
<waveForm ref="waveFormRef" senior :boxoList="boxoList" :wp="wp" @backbxlb="backbxlb" />
</div>
</div>
</template>
<!-- "area": "",
@@ -24,7 +34,7 @@
"voltage": "" -->
<script setup lang="ts">
import TableHeader from '@/components/table/header/index.vue'
import waveForm from '@/components/echarts/waveForm.vue'
import { useDictData } from '@/stores/dictData'
import TableStore from '@/utils/tableStore'
import { onMounted, reactive, ref, provide } from 'vue'
@@ -34,11 +44,15 @@ import { mainHeight } from '@/utils/layout'
defineOptions({
name: 'Region/overview'
})
const pageHeight = mainHeight(20)
const activeName = ref('1')
const Statistics = ref()
const compatibility = ref()
const dictData = useDictData()
const view = ref(true)
const view2 = ref(false)
const boxoList = ref({})
const wp = ref({})
const tableStore = new TableStore({
url: '/event-boot/areaAnalysis/getEventReason',
method: 'POST',
@@ -53,8 +67,6 @@ const tableStore = new TableStore({
}
},
loadCallback: () => {
if (activeName.value == '1') {
Statistics.value.info(tableStore.table.data)
} else {
@@ -84,6 +96,21 @@ const handleClick = async (e: any) => {
await tableStore.onTableAction('search', {})
}
const layout = mainHeight(123) as any
const backbxlb = () => {
view.value = true
view2.value = false
}
const waveFormRef = ref()
// 查看波形
const viewWave = (row: any) => {
view.value = false
setTimeout(() => {
waveFormRef.value.open({ ...row, startTime: row.time,
featureAmplitude:row.eventValue,
duration:row.persistTime
})
}, 100)
}
</script>
<style lang="scss" scoped>

View File

@@ -15,7 +15,7 @@
<el-descriptions-item align="center" label="不可容忍">{{ data.bkrr }}</el-descriptions-item>
</el-descriptions>
<div style="flex: 1" class="mt10">
<my-echart :options="options" />
<my-echart :options="options" @echartClick="echartClick" />
</div>
</div>
</template>
@@ -186,7 +186,7 @@ function gongfunction(arr: any) {
let time = arr[i].time
let eventId = arr[i].eventId
// let index =arr[i].eventDetailIndex;
point = [xx, yy, time, eventId]
point = [xx, yy, time, eventId, arr[i]]
if (xx <= 0.003) {
let line = 0
@@ -324,6 +324,10 @@ function gongfunction(arr: any) {
pointFun
}
}
const emit = defineEmits(['viewWave'])
const echartClick = (params: any) => {
emit('viewWave', params.value[4])
}
onMounted(() => {
datePickerRef.value.setTheDate(1)

View File

@@ -15,7 +15,7 @@
<el-descriptions-item align="center" label="不可容忍">{{ data.bkrr }}</el-descriptions-item>
</el-descriptions>
<div style="flex: 1" class="mt10">
<my-echart :options="options" />
<my-echart :options="options" @echartClick="echartClick" />
</div>
</div>
</template>
@@ -172,7 +172,7 @@ function gongfunction(arr: any) {
let time = arr[i].time
let eventId = arr[i].eventId
// let index =arr[i].eventDetailIndex;
point = [xx, yy, time, eventId]
point = [xx, yy, time, eventId, arr[i]]
if (xx <= 0.003) {
let line = 0
@@ -205,8 +205,6 @@ function gongfunction(arr: any) {
})
}
} else if (xx <= 0.5) {
if (yy > 120 || yy < 70) {
unstandI++
pointIun.push({
@@ -251,14 +249,12 @@ function gongfunction(arr: any) {
}
if (xx < 0.05) {
standF++
pointF.push({
value: point,
itemStyle: { normal: { color: 'green' } }
})
} else if (xx < 0.2) {
if (yy > 50) {
standF++
pointF.push({
@@ -274,7 +270,6 @@ function gongfunction(arr: any) {
}
} else if (xx < 0.5) {
if (yy > 70) {
standF++
pointF.push({
value: point,
@@ -289,7 +284,6 @@ function gongfunction(arr: any) {
}
} else {
if (yy > 80) {
standF++
pointF.push({
value: point,
@@ -316,7 +310,10 @@ function gongfunction(arr: any) {
pointFun
}
}
const emit = defineEmits(['viewWave'])
const echartClick = (params: any) => {
emit('viewWave', params.value[4])
}
onMounted(() => {
datePickerRef.value.setTheDate(1)
init()

View File

@@ -1,10 +1,10 @@
<template>
<el-tabs v-model="activeName" type="border-card" class="event-statistics" tab-position="left" :style="height">
<el-tab-pane lazy label="ITIC曲线分析" name="1">
<ITICquxianfenxi />
<ITICquxianfenxi @viewWave="viewWave"/>
</el-tab-pane>
<el-tab-pane lazy label="SEMI F47 分析" name="2">
<SEMIF47fenxi />
<SEMIF47fenxi @viewWave="viewWave"/>
</el-tab-pane>
<el-tab-pane lazy label="电压暂降表及密度" name="3">
<Dianyazanjiangbiaojimidu />
@@ -35,12 +35,16 @@ const props = defineProps({
default: 0
}
})
const emit = defineEmits(['viewWave'])
const activeName = ref('1')
const height = ref(mainHeight(84 + props.externalHeight))
// onMounted(() => {
// height.value = mainHeight(84 + props.externalHeight)
// console.log("🚀 ~ 84 + props.externalHeight:", 84 + props.externalHeight)
// })
const viewWave=(row:any)=>{
emit('viewWave',row)
}
</script>
<style lang="scss">
.event-statistics {

View File

@@ -1,12 +1,12 @@
<template>
<div class="default-main" style="position: relative">
<div v-show="view">
<el-tabs v-model="activeName" type="border-card" class="demo-tabs">
<el-tab-pane label="导航" name="1" :style="height" lazy>
<Navigation @changeTab="changeTab" ref="navigationRef" />
</el-tab-pane>
<el-tab-pane label="事件统计" name="2" lazy v-if="!isReload">
<EventStatistics />
<EventStatistics @viewWave="viewWave" />
</el-tab-pane>
<el-tab-pane label="事件分析" name="3" lazy v-if="!isReload">
<EventStudy />
@@ -20,15 +20,20 @@
</el-tabs>
<div class="monitoring-point">当前位置{{ monitoringPoint.state.lineName }}</div>
</div>
<div :style="{ height: pageHeight.height }" style="padding: 10px; overflow: hidden" v-if="!view">
<waveForm ref="waveFormRef" senior :boxoList="boxoList" :wp="wp" @backbxlb="backbxlb" />
</div>
</div>
</template>
<script setup lang="ts">
import { defineOptions, nextTick, ref, watch } from 'vue'
import { nextTick, ref, watch } from 'vue'
import Navigation from './navigation/index.vue'
import EventStatistics from './eventStatistics/index.vue'
import EventStudy from './eventStudy/index.vue'
import RunningCondition from './runningCondition/index.vue'
import TransientReport from './transientReport/index.vue'
import { mainHeight } from '@/utils/layout'
import waveForm from '@/components/echarts/waveForm.vue'
import router from '@/router'
import { useMonitoringPoint } from '@/stores/monitoringPoint'
const VITE_FLAG = import.meta.env.VITE_NAME == 'jibei'
@@ -37,14 +42,17 @@ defineOptions({
})
const isReload = ref(false)
const navigationRef = ref()
const pageHeight = mainHeight(20)
const monitoringPoint = useMonitoringPoint()
const height = mainHeight(82)
const activeName = ref('1')
const view = ref(true)
const view2 = ref(false)
const boxoList = ref({})
const wp = ref({})
watch(
() => router.currentRoute.value.query.lineId,
(newLineId, oldLineId) => {
if (!newLineId) return
// 在这里处理 lineId 的变化
console.log('newLineId')
@@ -62,7 +70,6 @@ watch(
watch(
() => monitoringPoint.state.lineId,
() => {
// 刷新页面
isReload.value = true
nextTick(() => {
@@ -70,8 +77,27 @@ watch(
})
}
)
const changeTab = (e: string,) => {
const backbxlb = () => {
view.value = true
view2.value = false
}
const waveFormRef = ref()
// 查看波形
const viewWave = (row: any) => {
view.value = false
setTimeout(() => {
console.log(123, monitoringPoint.state)
waveFormRef.value.open({
...row,
lineName: monitoringPoint.state.lineName.split('>').pop(),
startTime: row.time,
featureAmplitude: row.eventValue / 100,
duration: row.persistTime
})
}, 100)
}
const changeTab = (e: string) => {
activeName.value = e
}
</script>

View File

@@ -242,7 +242,7 @@ const handler = async ({ BMap, map }: any) => {
siteList.value = list
center.value.lng = list[0]?.lng || 0
center.value.lat = list[0]?.lat + 0.01 || 0
center.value.lat = list[0]?.lat
watch(
() => monitoringPoint.state.lineId,
(newLineId, oldLineId) => {
@@ -251,7 +251,7 @@ const handler = async ({ BMap, map }: any) => {
if (value == undefined) return
center.value.lng = value.lng
center.value.lat = value.lat + 0.01
center.value.lat = value.lat
infoWindowPoint.value = value
infoWindowPoint.value.show = true
@@ -274,7 +274,6 @@ const syncCenterAndZoom = (e: any) => {
const markerClick = (e: any) => {
//console.log("🚀 ~ markerClick ~ e:", e)
infoWindowPoint.value = e
monitoringPoint.setValue('lineId', e.lineId)
infoWindowPoint.value.show = true
}
const changeTab = (e: string) => {

View File

@@ -91,14 +91,10 @@
@click="markerClick(path)"
></bm-marker>
</BmlMarkerClusterer>
<BmlMarkerClusterer maxZoom="12">
<bm-marker :position="infoWindowPoint" :icon="{ url: '1', size: { width: 0, height: 0 } }">
<bm-info-window :show="infoWindowPoint.show" @close="infoWindowPoint.show = false">
<el-descriptions
:title="infoWindowPoint.lineName"
:column="1"
v-if="infoWindowPoint.lineId"
>
<el-descriptions :title="infoWindowPoint.lineName" :column="1" v-if="infoWindowPoint.lineId">
<el-descriptions-item label="供电公司">
{{ infoWindowPoint.gdName }}
</el-descriptions-item>
@@ -147,7 +143,6 @@
></el-descriptions>
</bm-info-window>
</bm-marker>
</BmlMarkerClusterer>
</baidu-map>
</div>
<div style="width: 600px; height: 100%">
@@ -302,7 +297,7 @@ const pointChange = (val: string) => {
let data = areaLineInfo.value.find((item: any) => item.lineId == val)
center.value.lng = data.lng
center.value.lat = data.lat + 0.04
center.value.lat = data.lat
infoWindowPoint.value = data
infoWindowPoint.value.show = true
zoom.value = 13

View File

@@ -1,5 +1,5 @@
<template>
<div class="strategy-manage pd10" :style="height">
<div class="strategy-manage pd10" :style="height" style="overflow-y: auto;">
<!-- 折叠面板 -->
<el-collapse v-model="activeNames" >
@@ -194,7 +194,7 @@ import { ElMessageBox } from 'element-plus'
// 页面缓存
defineOptions({
name: 'system-boot/sysConfig/timer'
name: 'system-boot/strategyManage'
})
const height = mainHeight(20)