修改郊县管网检测指标折线图:温度指标折线图 - 动态取值

This commit is contained in:
1378012178@qq.com 2025-08-28 11:04:19 +08:00
parent e28f1bd987
commit b6b184c2a1
2 changed files with 30 additions and 21 deletions

View File

@ -72,12 +72,12 @@
<template v-if="column.dataIndex === 'view005'"> <template v-if="column.dataIndex === 'view005'">
<span v-if="record.fromFlow == 0">{{ record.view005 }}</span> <span v-if="record.fromFlow == 0">{{ record.view005 }}</span>
<span v-else-if="record.fromFlow == 1">{{ record.view035 }}</span> <span v-else-if="record.fromFlow == 1">{{ record.view035 }}</span>
<span v-else>{{ record.view005 || record.view035 || 0 }}</span> <span v-else>{{ 0 }}</span>
</template> </template>
<template v-if="column.dataIndex === 'view006'"> <template v-if="column.dataIndex === 'view006'">
<span v-if="record.fromFlow == 0">{{ record.view006 }}</span> <span v-if="record.fromFlow == 0">{{ record.view006 }}</span>
<span v-else-if="record.fromFlow == 1">{{ record.view036 }}</span> <span v-else-if="record.fromFlow == 1">{{ record.view036 }}</span>
<span v-else>{{ record.view005 || record.view035 || 0 }}</span> <span v-else>{{ 0 }}</span>
</template> </template>
</template> </template>
</BasicTable> </BasicTable>

View File

@ -76,20 +76,31 @@ function initChartsOptions(records: any[]) {
return (isNaN(ta) ? 0 : ta) - (isNaN(tb) ? 0 : tb); return (isNaN(ta) ? 0 : ta) - (isNaN(tb) ? 0 : tb);
}); });
// 使 view032 datatime
const xAxis = records.map((r: any) => r.view032 || r.datatime || ''); const xAxis = records.map((r: any) => r.view032 || r.datatime || '');
// fromFlow
const tempSeries = [ const tempSeries = [
{ name: '供水温度', key: 'view005' }, {
{ name: '回水温度', key: 'view006' }, name: '供水温度',
].map(s => ({ type: 'line',
name: s.name, showSymbol: false,
type: 'line', connectNulls: false,
showSymbol: false, data: records.map((r: any) => {
connectNulls: false, return safeNum(r.fromFlow == 1 ? r.view035 : r.view005);
data: records.map((r: any) => safeNum(r[s.key])), }),
})); },
{
name: '回水温度',
type: 'line',
showSymbol: false,
connectNulls: false,
data: records.map((r: any) => {
return safeNum(r.fromFlow == 1 ? r.view036 : r.view006);
}),
},
];
//
const pressSeries = [ const pressSeries = [
{ name: '供水压力', key: 'view007' }, { name: '供水压力', key: 'view007' },
{ name: '回水压力', key: 'view008' }, { name: '回水压力', key: 'view008' },
@ -101,7 +112,7 @@ function initChartsOptions(records: any[]) {
data: records.map((r: any) => safeNum(r[s.key])), data: records.map((r: any) => safeNum(r[s.key])),
})); }));
// view041 view042 //
const heatSeries = [ const heatSeries = [
{ name: '瞬时热量', key: 'view041' }, { name: '瞬时热量', key: 'view041' },
{ name: '正累积热量', key: 'view042' }, { name: '正累积热量', key: 'view042' },
@ -113,7 +124,7 @@ function initChartsOptions(records: any[]) {
data: records.map((r: any) => safeNum(r[s.key])), data: records.map((r: any) => safeNum(r[s.key])),
})); }));
// view037 view038 //
const flowSeries = [ const flowSeries = [
{ name: '瞬时流量', key: 'view037' }, { name: '瞬时流量', key: 'view037' },
{ name: '正累积流量', key: 'view038' }, { name: '正累积流量', key: 'view038' },
@ -133,20 +144,18 @@ function initChartsOptions(records: any[]) {
type: 'category', type: 'category',
data: xAxis, data: xAxis,
boundaryGap: false, boundaryGap: false,
axisLabel: { axisLabel: { interval: 0, formatter: (v: string) => (v ? v.replace(' ', '\n') : v) },
interval: 0,
formatter: (val: string) => val ? val.replace(' ', '\n') : val,
},
}, },
yAxis: { type: 'value', scale: true }, yAxis: { type: 'value', scale: true },
}; };
tempOption = { ...baseOption, title: { text: '温度指标', left: 'center', top: 8 }, series: tempSeries }; tempOption = { ...baseOption, title: { text: '温度指标', left: 'center', top: 8 }, series: tempSeries };
pressOption = { ...baseOption, title: { text: '压力指标', left: 'center', top: 8 }, series: pressSeries }; pressOption = { ...baseOption, title: { text: '压力指标', left: 'center', top: 8 }, series: pressSeries };
heatOption = { ...baseOption, title: { text: '热量指标', left: 'center', top: 8 }, series: heatSeries }; heatOption = { ...baseOption, title: { text: '热量指标', left: 'center', top: 8 }, series: heatSeries };
flowOption = { ...baseOption, title: { text: '流量指标', left: 'center', top: 8 }, series: flowSeries }; flowOption = { ...baseOption, title: { text: '流量指标', left: 'center', top: 8 }, series: flowSeries };
} }
let resizeAdded = false; let resizeAdded = false;
function ensureResizeListener() { function ensureResizeListener() {
if (resizeAdded) return; if (resizeAdded) return;