廖杰:预览模式当风机离线(不在online下)会显示红色

This commit is contained in:
Hcat
2024-02-28 21:23:57 +08:00
parent 5e24845abb
commit 70364c8e10
4 changed files with 45 additions and 6 deletions

View File

@@ -8,14 +8,14 @@ import EquipmentTag from "../utils/EquipmentTag";
//formInfo需要的信息这里包括了
//equipmentType
function addEquipment(targetPoint, formInfo) {
function addEquipment(targetPoint, formInfo, fanData) {
if (targetPoint.hasDevice) {
return;
}
switch (formInfo.equipmentType) {
case "frequency":
handleFanEqu.call(this, targetPoint, formInfo);
handleFanEqu.call(this, targetPoint, formInfo, fanData);
break;
// 还没有风压阀的模型,所以先用其他设备传感器实现
// case "valve":
@@ -177,6 +177,7 @@ function handleOtherEqu(targetPoint, equipmentInfo) {
function handleFanEqu(
targetPoint,
equipmentInfo,
fanData,
speed = Math.random().toFixed(1) * 1000
) {
// 由于风机比较多,每个风机转速不一直,保存在一个数中遍历
@@ -196,6 +197,41 @@ function handleFanEqu(
id: equMesh.id, //模型在场景id
...equipmentInfo,
};
// console.log(targetPoint.info);
//风机颜色重新命名
let fan1 = fanData[0].equipmentType
let fan2 = fanData[1].equipmentType
if (targetPoint.info.typeKey == fan1) {
if (fanData[0].online == false) {
this.scene.traverse(function (child) {
if (child.id === 1005) {
child.traverse(function (obj) {
// console.log(obj);
// 判断子对象是否是物体,如果是,更改其颜色
if (obj.isMesh) {
obj.material.color.set(0xFF0000)
}
})
}
});
}
} else {
if (fanData[1].online == false) {
this.scene.traverse(function (child) {
if (child.id === 1005) {
child.traverse(function (obj) {
// console.log(obj);
// 判断子对象是否是物体,如果是,更改其颜色
if (obj.isMesh) {
obj.material.color.set(0xFF0000)
}
})
}
});
}
}
// console.log(fanData);
// 定义风机旋转
const fanLeaf = equMesh.getObjectByName("fan_leafs");