修改bug

This commit is contained in:
zhujiyan
2024-11-01 11:21:12 +08:00
parent 9217ae0ae1
commit f12fafd0f2
8 changed files with 145 additions and 101 deletions

View File

@@ -4,18 +4,33 @@
<div class="harmonic_select" v-if="!loading">
<el-form :model="searchForm" id="history_select">
<el-form-item label="稳态指标">
<el-select multiple collapse-tags collapse-tags-tooltip v-model="searchForm.index"
placeholder="请选择统计指标" :multiple-limit="3" value-key="id">
<el-option v-for="(item, index) in indexOptions" :label="item.name" :key="index"
:value="item"></el-option>
<el-select
multiple
collapse-tags
collapse-tags-tooltip
v-model="searchForm.index"
placeholder="请选择统计指标"
:multiple-limit="3"
value-key="id"
>
<el-option
v-for="(item, index) in indexOptions"
:label="item.name"
:key="index"
:value="item"
></el-option>
</el-select>
</el-form-item>
<!-- <el-button type="primary" :loading="loading" @click="init">查询</el-button> -->
</el-form>
</div>
<div class="harmonic_body">
<div class="harmonic_body_charts" :style="{ height: height }" v-for="(item, index) in searchForm.index"
:key="index">
<div
class="harmonic_body_charts"
:style="{ height: height }"
v-for="(item, index) in searchForm.index"
:key="index"
>
<MyEchart :ref="setChildRef(index)" :options="item.echartsData" :isInterVal="true"></MyEchart>
</div>
</div>
@@ -143,6 +158,7 @@ let height: any = mainHeight(275).height
const loading = ref(false)
const allDataList: any = ref([])
const xAixsTimeList: any = ref([])
const resetData = () => {
loading.value = true
indexOptions.value = [
@@ -252,11 +268,11 @@ const resetData = () => {
searchForm.value.index = []
searchForm.value.index[0] = indexOptions.value[0]
allDataList.value = []
xAixsTimeList.value = []
}
resetData()
const mqttMessage: any = ref()
const setHarmonicSpectrumData = (val: any) => {
console.log(val,"来了来了来了");
mqttMessage.value = val
init()
}
@@ -271,36 +287,30 @@ const init = () => {
item?.children.map((vv: any, vvs: any) => {
if (mqttMessage.value[vv.name]) {
item.data.push({
time: mqttMessage.value.dataTime,
// time: mqttMessage.value.dataTime,
value: mqttMessage.value[vv.name],
key: vv.name
})
allDataList.value.push(mqttMessage.value[vv.name])
vv.data.push(mqttMessage.value[vv.name])
vv.yMethodList.push([mqttMessage.value.dataTime, mqttMessage.value[vv.name] + '', vv.phase])
vv.yMethodList.push([mqttMessage.value.dataTime.split(" ")[1], mqttMessage.value[vv.name] + '', vv.phase])
}
})
})
//循环渲染图表
let timeList: any = []
xAixsTimeList.value.push(mqttMessage.value.dataTime.split(" ")[1])
searchForm.value.index.map((item: any, index: any) => {
timeList = Array.from(
new Set(
item.data.map((vv: any) => {
return vv.time
})
)
)
//循环渲染图表
const refName = setChildRef(index)
childRefs[refName] = ref(null) // 初始化ref
item.echartsData = {
title:
{
title: {
text: item.name
}
,
},
// grid: {
// top: '16%',
// bottom: '15%', //也可设置left和right设置距离来控制图表的大小
@@ -326,21 +336,22 @@ const init = () => {
},
xAxis: {
name: '时间',
type: 'time',
axisLabel: {
formatter: {
day: '{MM}-{dd}',
month: '{MM}',
year: '{yyyy}'
}
}
// data: timeList
type: 'category',
// axisLabel: {
// formatter: {
// day: '{MM}-{dd}',
// month: '{MM}',
// year: '{yyyy}'
// }
// },
boundaryGap: false,
data: xAixsTimeList.value
},
yAxis: {
// type: 'value',
name: item.unit,
splitNumber: 5,
minInterval: 1,
minInterval: 1
},
series: []
}
@@ -349,8 +360,6 @@ const init = () => {
? (height = mainHeight(275, 3).height)
: (height = mainHeight(275, searchForm.value.index.length).height)
item.children.map((zz: any, zzIndex: any) => {
item.echartsData.series.push({
name: zz.phase,
type: 'line',
@@ -363,9 +372,8 @@ const init = () => {
smooth: true, // 这里设置平滑曲线
symbol: 'none' // 设置为 'none' 去掉折点小圆
})
})
let arrList = item.children?.map(item => item.yMethodList.map(val => val[1])).flat()
let arrList = item.children?.map((item: any) => item.yMethodList.map((val: any) => val[1])).flat()
let [min, max] = yMethod(arrList.length == 0 ? [0] : arrList)
item.echartsData.yAxis.max = max
item.echartsData.yAxis.min = min
@@ -374,7 +382,7 @@ const init = () => {
loading.value = false
}
onMounted(() => { })
onMounted(() => {})
defineExpose({ resetData, setHarmonicSpectrumData })
</script>
<style lang="scss" scoped>