fix: 曲线图数据切换时抖动问题修复。
This commit is contained in:
@@ -967,104 +967,14 @@ function fullscreenChart() {
|
|||||||
// 切换检测指标
|
// 切换检测指标
|
||||||
function selectCharts(e) {
|
function selectCharts(e) {
|
||||||
prDev.value = e;
|
prDev.value = e;
|
||||||
const id = props.modelValue;
|
|
||||||
// 不再需要 dataTypeId,一次查询返回所有数据
|
// 直接使用已有的图表数据重新绘制,避免重复请求和抖动
|
||||||
if (!id) {
|
if (chartsDatas.value && chartsDatas.value.length > 0) {
|
||||||
return;
|
// 使用 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) {
|
function setParams(id: number, name: string, type: number) {
|
||||||
|
|||||||
Reference in New Issue
Block a user