单风机:调整显示逻辑

故障录波:修改无故障时刻时间数据不显示故障事件的问题
This commit is contained in:
高云鹏 2024-12-23 16:47:50 +08:00
parent ac1dd150a8
commit be96fd8409
3 changed files with 106 additions and 57 deletions

View File

@ -60,6 +60,7 @@
</div> </div>
<!--温度--> <!--温度-->
<el-tooltip content="点击打开温度管理">
<div class="temperatureList"> <div class="temperatureList">
<div class="chartPart-item" @click="openTemperature"> <div class="chartPart-item" @click="openTemperature">
<div class="chartParm" ref="temperatureChartRef1"></div> <div class="chartParm" ref="temperatureChartRef1"></div>
@ -71,6 +72,7 @@
<div class="chartParm" ref="temperatureChartRef3"></div> <div class="chartParm" ref="temperatureChartRef3"></div>
</div> </div>
</div> </div>
</el-tooltip>
</div> </div>
</el-col> </el-col>
@ -169,8 +171,10 @@
<div class="summarize-panel-base"> <div class="summarize-panel-base">
<div> <div>
<span class="content-number">{{ realTimeDataForSingle.ikwhthisday }}</span> <span class="content-number">{{ realTimeDataForSingle.ikwhthisday }}</span>
&nbsp;
<span class="content-number">{{ realTimeDataForSingleUnit.ikwhthisday }}</span>
</div> </div>
<div>{{ realTimeDataForSingleUnit.ikwhthisday }}</div> <!-- <div>{{ realTimeDataForSingleUnit.ikwhthisday }}</div> -->
<div>日发电量</div> <div>日发电量</div>
</div> </div>
</div> </div>
@ -181,8 +185,10 @@
<div class="summarize-panel-base"> <div class="summarize-panel-base">
<div> <div>
<span class="content-number">{{ realTimeDataForSingle.monthprodenergy }}</span> <span class="content-number">{{ realTimeDataForSingle.monthprodenergy }}</span>
&nbsp;
<span class="content-number">{{ realTimeDataForSingleUnit.monthprodenergy }}</span>
</div> </div>
<div>{{ realTimeDataForSingleUnit.monthprodenergy }}</div> <!-- <div>{{ realTimeDataForSingleUnit.monthprodenergy }}</div> -->
<div>月发电量</div> <div>月发电量</div>
</div> </div>
</div> </div>
@ -195,8 +201,10 @@
<div class="summarize-panel-base"> <div class="summarize-panel-base">
<div> <div>
<span class="content-number">{{ realTimeDataForSingle.yearprodenergy }}</span> <span class="content-number">{{ realTimeDataForSingle.yearprodenergy }}</span>
&nbsp;
<span class="content-number">{{ realTimeDataForSingleUnit.yearprodenergy }}</span>
</div> </div>
<div>{{ realTimeDataForSingleUnit.yearprodenergy }}</div> <!-- <div>{{ realTimeDataForSingleUnit.yearprodenergy }}</div> -->
<div>年发电量</div> <div>年发电量</div>
</div> </div>
</div> </div>
@ -207,8 +215,10 @@
<div class="summarize-panel-base"> <div class="summarize-panel-base">
<div> <div>
<span class="content-number">{{ realTimeDataForSingle.ikwhoverall }}</span> <span class="content-number">{{ realTimeDataForSingle.ikwhoverall }}</span>
&nbsp;
<span class="content-number">{{ realTimeDataForSingleUnit.ikwhoverall }}</span>
</div> </div>
<div>{{ realTimeDataForSingleUnit.ikwhoverall }}</div> <!-- <div>{{ realTimeDataForSingleUnit.ikwhoverall }}</div> -->
<div>总发电量</div> <div>总发电量</div>
</div> </div>
</div> </div>
@ -1935,7 +1945,7 @@ $labelHeight: 24px;
// min-height: 920px; // min-height: 920px;
.summarize { .summarize {
width: 100%; width: 100%;
height: 40%; height: 35%;
@include cardDefaultStyle; @include cardDefaultStyle;
@include cardlabel; @include cardlabel;
.summarize-panel-list { .summarize-panel-list {
@ -1979,6 +1989,9 @@ $labelHeight: 24px;
color: #333333; color: #333333;
font-size: 16px; font-size: 16px;
font-weight: 600; font-weight: 600;
&:last-child{
font-size: 14px;
}
} }
&:first-child { &:first-child {
height: 40%; height: 40%;
@ -1994,7 +2007,7 @@ $labelHeight: 24px;
margin: 10px 0; margin: 10px 0;
width: 100%; width: 100%;
// min-height: 350px; // min-height: 350px;
height: calc(60% - 20px); height: calc(65% - 20px);
@include cardDefaultStyle; @include cardDefaultStyle;
@include cardlabel; @include cardlabel;
} }

View File

@ -184,7 +184,12 @@
</el-row> </el-row>
</el-dialog> </el-dialog>
<el-dialog v-model="selectPointVisible" title="选择测点" width="1000"> <el-dialog v-model="selectPointVisible" title="选择测点" width="1000">
<SelectPoint ref="selectPointDialogRef" :defaultAttr="defaultAttr" :visible="selectPointVisible" :iot-model-id="selectPointModelId"></SelectPoint> <SelectPoint
ref="selectPointDialogRef"
:defaultAttr="defaultAttr"
:visible="selectPointVisible"
:iot-model-id="selectPointModelId"
></SelectPoint>
<template #footer> <template #footer>
<div class="selectPointDialogFooter"> <div class="selectPointDialogFooter">
<el-button type="primary" @click="saveSelectPoint">保存</el-button> <el-button type="primary" @click="saveSelectPoint">保存</el-button>
@ -226,7 +231,6 @@ import { getRealValueListReq } from '/@/api/backend/deviceModel/request'
import SelectPoint from '/@/views/backend/equipment/airBlower/selectPoint.vue' import SelectPoint from '/@/views/backend/equipment/airBlower/selectPoint.vue'
import RealDataChart from '/@/views/backend/equipment/airBlower/realDataChart.vue' import RealDataChart from '/@/views/backend/equipment/airBlower/realDataChart.vue'
const router = useRouter() const router = useRouter()
const { t } = useI18n() const { t } = useI18n()
const airBlowerSelect = reactive<SelectTypeObjType>({ const airBlowerSelect = reactive<SelectTypeObjType>({
@ -664,7 +668,7 @@ const openWindTurbine = (row: TableDataObjType) => {
iotModelId: row.iotModelId, iotModelId: row.iotModelId,
deviceCode: row.deviceCode, deviceCode: row.deviceCode,
model: row.model, model: row.model,
name:row.name name: row.name,
}, },
}) })
} }
@ -696,7 +700,7 @@ const defaultAttr = computed(() => {
} }
}) })
}) })
const selectPointModelId = computed(()=>{ const selectPointModelId = computed(() => {
return tableData.value[0]?.iotModelId ?? '' return tableData.value[0]?.iotModelId ?? ''
}) })
const openMeasure = () => { const openMeasure = () => {

View File

@ -374,8 +374,6 @@ const getListForAirBlower = () => {
startTime: dayjs(searchData.date[0]).format('YYYY-MM-DD'), startTime: dayjs(searchData.date[0]).format('YYYY-MM-DD'),
endTime: dayjs(searchData.date[1]).format('YYYY-MM-DD'), endTime: dayjs(searchData.date[1]).format('YYYY-MM-DD'),
} }
console.log('🚀 ~ getListForAirBlower ~ data:', data)
if (activeName.value === 'malFunction') { if (activeName.value === 'malFunction') {
getMalFunctionListReq(data).then((res) => { getMalFunctionListReq(data).then((res) => {
if (res.success) { if (res.success) {
@ -520,15 +518,27 @@ const readFile = (data: tableItemData) => {
getFileKeyEnum().finally(() => { getFileKeyEnum().finally(() => {
getFileData(data.path) getFileData(data.path)
.then((res) => { .then((res) => {
warningInfo.value = res.data.faultTime ? dayjs(res.data.faultTime).format('YYYY-MM-DD HH:mm:ss.SSS') : '' // warningInfo.value = res.data.faultTime ? dayjs(res.data.faultTime).format('YYYY-MM-DD HH:mm:ss.SSS') : ''
previewChartData = res.data.dataCurve previewChartData = res.data.dataCurve
const attrName = Object.keys(res.data.dataCurve) const attrName = Object.keys(res.data.dataCurve)
const data: any = [] const data: any = []
let hasAddFaultTime = false
attrName.forEach((item) => { attrName.forEach((item) => {
if (item === 'TimeStamp') { if (item === 'TimeStamp') {
let timeStamp: any = []
previewChartData.TimeStamp = previewChartData.TimeStamp.map((item: any) => { previewChartData.TimeStamp = previewChartData.TimeStamp.map((item: any) => {
return dayjs(item).format('YYYY-MM-DD HH:mm:ss.SSS') const parseTime = dayjs(item).format('YYYY-MM-DD HH:mm:ss.SSS')
if (!hasAddFaultTime && res.data?.faultTime && item > res.data.faultTime) {
const parseFaultTime = dayjs(res.data.faultTime).format('YYYY-MM-DD HH:mm:ss.SSS')
warningInfo.value = parseFaultTime
timeStamp.push(parseFaultTime)
hasAddFaultTime = true
}
timeStamp.push(parseTime)
return parseTime
}) })
warningChartData.TimeStamp = timeStamp
} else if (item === 'TimeStampUTC') { } else if (item === 'TimeStampUTC') {
previewChartData.TimeStamp = previewChartData.TimeStampUTC.map((item: any) => { previewChartData.TimeStamp = previewChartData.TimeStampUTC.map((item: any) => {
return dayjs(item).format('YYYY-MM-DD HH:mm:ss.SSS') return dayjs(item).format('YYYY-MM-DD HH:mm:ss.SSS')
@ -541,6 +551,7 @@ const readFile = (data: tableItemData) => {
}) })
} }
}) })
previewTreeData.value = data previewTreeData.value = data
originPreviewTreeData = data originPreviewTreeData = data
}) })
@ -636,6 +647,7 @@ const handleCheckChange = (data: any, state: { checkedKeys: string[] }) => {
// } // }
// } // }
let previewChartData: any = {} let previewChartData: any = {}
let warningChartData: any = {}
let curSeries: any = [] let curSeries: any = []
let previewChartInstance: any = null let previewChartInstance: any = null
const previewChartRef = ref() const previewChartRef = ref()
@ -670,14 +682,7 @@ const createSeriresData = () => {
}, },
smooth: 0.6, smooth: 0.6,
symbol: 'none', symbol: 'none',
markLine: { xAxisIndex: 0,
symbol: 'none',
data: [
{
xAxis: warningInfo.value,
},
],
},
data: previewChartData[item], data: previewChartData[item],
} }
seriesData.push(data) seriesData.push(data)
@ -703,7 +708,8 @@ const initPreviewChart = () => {
type: 'line', type: 'line',
}, },
}, },
xAxis: { xAxis: [
{
type: 'category', type: 'category',
axisLine: { axisLine: {
show: true, show: true,
@ -732,6 +738,12 @@ const initPreviewChart = () => {
}, },
data: previewChartData['TimeStamp'], data: previewChartData['TimeStamp'],
}, },
{
type: 'category',
show: false,
data: warningChartData.TimeStamp,
},
],
yAxis: [ yAxis: [
{ {
type: 'value', type: 'value',
@ -779,7 +791,27 @@ const initPreviewChart = () => {
color: '#73767a', color: '#73767a',
}, },
}, },
series: series, series: [
...series,
{
type: 'line',
name: '报警值',
data: [],
xAxisIndex: 1,
tooltip: {
show: false,
},
markLine: {
symbol: 'none',
data: [
{
xAxis: warningInfo.value,
},
],
animation: false,
},
},
],
} }
chart.setOption(option) chart.setOption(option)
previewChartInstance = chart previewChartInstance = chart