修改itic点击波形图
This commit is contained in:
@@ -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 () {
|
||||
|
||||
@@ -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
1498
src/components/echarts/gaoji.js
Normal file
1498
src/components/echarts/gaoji.js
Normal file
File diff suppressed because it is too large
Load Diff
@@ -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);
|
||||
|
||||
@@ -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
@@ -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)
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -157,7 +157,7 @@ defineExpose({ open })
|
||||
<style lang="scss" scoped>
|
||||
.formBox{
|
||||
display: flex;
|
||||
justify-content: end;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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([])
|
||||
|
||||
@@ -613,7 +613,7 @@ onMounted(() => {
|
||||
.harmonicButton {
|
||||
height: 42px;
|
||||
display: flex;
|
||||
justify-content: end;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
}
|
||||
:deep(.el-tabs__content) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -363,7 +363,7 @@ defineExpose({
|
||||
|
||||
.actionButtons {
|
||||
display: flex;
|
||||
justify-content: end;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.loading-container {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -235,7 +235,7 @@ defineExpose({ open })
|
||||
}
|
||||
.form {
|
||||
// display: flex;
|
||||
// justify-content: end;
|
||||
// justify-content: flex-end;
|
||||
// position: relative;
|
||||
// .form_but {
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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) => {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user