fix: 曲线图数据切换时抖动问题修复。
This commit is contained in:
@@ -967,104 +967,14 @@ function fullscreenChart() {
|
||||
// 切换检测指标
|
||||
function selectCharts(e) {
|
||||
prDev.value = e;
|
||||
const id = props.modelValue;
|
||||
// 不再需要 dataTypeId,一次查询返回所有数据
|
||||
if (!id) {
|
||||
return;
|
||||
|
||||
// 直接使用已有的图表数据重新绘制,避免重复请求和抖动
|
||||
if (chartsDatas.value && chartsDatas.value.length > 0) {
|
||||
// 使用 updateCharts 而不是 drawCharts,避免重新创建图表实例
|
||||
setTimeout(() => {
|
||||
drawCharts(2);
|
||||
}, 50);
|
||||
}
|
||||
getDeviceHistory();
|
||||
pondDeviceInfo({ id }).then((res: any) => {
|
||||
if (res.code == 200) {
|
||||
const oxyIds = [];
|
||||
// setTimeout(() => {
|
||||
// showTour.value = res.data.length == 0 ? true : false;
|
||||
// steps.value = [
|
||||
// {
|
||||
// content: "请添加设备",
|
||||
// target: "addDevice",
|
||||
// },
|
||||
// ];
|
||||
// }, 500);
|
||||
res.data.listDetector.forEach((item: any) => {
|
||||
oxyIds.push(item.id);
|
||||
let num = 3;
|
||||
const msg = item.warnCodeInfo?.warnDescription || '';
|
||||
const showPh = !alarmJudgeCode(item.warnCodeInfo?.warnCode, 1);
|
||||
const showSa = !alarmJudgeCode(item.warnCodeInfo?.warnCode, 2);
|
||||
if (msg) {
|
||||
item.isPh = showPh;
|
||||
item.isSa = showSa;
|
||||
} else {
|
||||
item.isPh = showPh == false ? false : item.valuePH ? item.valuePH : false;
|
||||
item.isSa =
|
||||
showSa == false ? false : item.valueSalinity ? item.valueSalinity : false;
|
||||
}
|
||||
if (item.isPh) {
|
||||
num += 1;
|
||||
}
|
||||
if (item.isSa) {
|
||||
num += 1;
|
||||
}
|
||||
item.num = num;
|
||||
item.status = Number(item.deviceCount) == 0 ? 0 : msg ? 2 : 1;
|
||||
// if(item.warnCodeInfo.warnCode==6){
|
||||
// item.status = 2
|
||||
// item.warnCodeInfo.warnDescription = ""
|
||||
// }
|
||||
|
||||
// 判断设备是否离线,异常、断电 0 6 11
|
||||
const code0 = alarmJudgeCode(item.warnCodeInfo?.warnCode, 0);
|
||||
const code6 = alarmJudgeCode(item.warnCodeInfo?.warnCode, 6);
|
||||
const code11 = alarmJudgeCode(item.warnCodeInfo?.warnCode, 15);
|
||||
const code17 = alarmJudgeCode(item.warnCodeInfo?.warnCode, 17);
|
||||
item.up = true;
|
||||
if (code0 || code6 || code11 || code17) {
|
||||
item.up = false;
|
||||
}
|
||||
});
|
||||
pondDeviceRes.value = res.data;
|
||||
keepNightOpen.value = res.data.keepNightOpen === 1; // 将后端的 0/1 转换为布尔值
|
||||
doList.value = res.data.listDetector;
|
||||
if (res.data.listDetector && res.data.listDetector.length > 0) {
|
||||
firstDoId.value = res.data.listDetector[0].id
|
||||
? res.data.listDetector[0].id
|
||||
: undefined;
|
||||
doDev.value = doDev.value
|
||||
? doDev.value
|
||||
: res.data.listDetector[0].id
|
||||
? res.data.listDetector[0].id
|
||||
: undefined;
|
||||
if (doDev.value) {
|
||||
if (!oxyIds.includes(doDev.value)) {
|
||||
doDev.value = res.data.listDetector[0].id
|
||||
? res.data.listDetector[0].id
|
||||
: undefined;
|
||||
oxyWarnLower.value = res.data.listDetector[0].oxyWarnLower
|
||||
? res.data.listDetector[0].oxyWarnLower
|
||||
: undefined;
|
||||
tempWarnUpper.value = res.data.listDetector[0].tempWarnUpper
|
||||
? res.data.listDetector[0].tempWarnUpper
|
||||
: undefined;
|
||||
tempWarnLower.value = res.data.listDetector[0].tempWarnLower
|
||||
? res.data.listDetector[0].tempWarnLower
|
||||
: undefined;
|
||||
} else {
|
||||
res.data.listDetector.forEach((r) => {
|
||||
if (r.id == doDev.value) {
|
||||
oxyWarnLower.value = r.oxyWarnLower ? r.oxyWarnLower : undefined;
|
||||
tempWarnUpper.value = r.tempWarnUpper ? r.tempWarnUpper : undefined;
|
||||
tempWarnLower.value = r.tempWarnLower ? r.tempWarnLower : undefined;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
emit("getPondInfo", { res: res.data });
|
||||
setTimeout(() => {
|
||||
drawCharts(2);
|
||||
}, 200);
|
||||
}
|
||||
});
|
||||
}
|
||||
// 参数设置
|
||||
function setParams(id: number, name: string, type: number) {
|
||||
|
||||
Reference in New Issue
Block a user