|
@@ -110,6 +110,7 @@ export default {
|
|
|
"ADDEQUIP",
|
|
|
"REMOVEEQUIP",
|
|
|
"ADDZONE",
|
|
|
+ "REMOVEZONE",
|
|
|
"DELETEITEM",
|
|
|
"INITSTYLE",
|
|
|
"INITRULELIST",
|
|
@@ -326,14 +327,19 @@ export default {
|
|
|
});
|
|
|
// 手动删除设备实例
|
|
|
bus.$off("removeEquipment");
|
|
|
- bus.$on("removeEquipment", (equipList) => {
|
|
|
- this.removeEquipment(equipList);
|
|
|
+ bus.$on("removeEquipment", (classCode) => {
|
|
|
+ this.removeEquipment(classCode);
|
|
|
});
|
|
|
// 手动添加空间实例
|
|
|
bus.$off("addZone");
|
|
|
bus.$on("addZone", (zoneList) => {
|
|
|
this.mergeZoneData(zoneList);
|
|
|
});
|
|
|
+ // 手动删除空间实例
|
|
|
+ bus.$off("removeZone");
|
|
|
+ bus.$on("removeZone", (classCode) => {
|
|
|
+ this.removeZone(classCode);
|
|
|
+ });
|
|
|
// 更改设备信息点
|
|
|
bus.$off("changeEquipMsgPoint");
|
|
|
bus.$on("changeEquipMsgPoint", (val) => {
|
|
@@ -400,6 +406,7 @@ export default {
|
|
|
// 同步执行规则,进行设备/设备组/空间的添加,删除
|
|
|
for (let index = 0; index < ruleList.length; index++) {
|
|
|
const rule = ruleList[index];
|
|
|
+ // 查询规则
|
|
|
if (rule.commond && rule.commond === "query") {
|
|
|
const params = { ...rule.params, buildingId: this.buildingId, floorId: this.floorId };
|
|
|
if (rule?.returnType === "equip") {
|
|
@@ -413,16 +420,20 @@ export default {
|
|
|
this.loadedRuleNum++;
|
|
|
if (this.ruleNum === this.loadedRuleNum) this.loadMarkRelation();
|
|
|
}
|
|
|
- } else if (rule.commond && rule.commond === "delete") {
|
|
|
+ } else if (rule.commond && rule.commond === "delete") { // 删除规则
|
|
|
// console.error("删除命令!!!", rule);
|
|
|
+ // 删除设备实例
|
|
|
if (rule?.returnType === "equip") {
|
|
|
const classCode = rule?.params?.classCode
|
|
|
if (classCode) {
|
|
|
this.removeEquipment(classCode)
|
|
|
}
|
|
|
- } else if (rule?.returnType === "zone") {
|
|
|
- //
|
|
|
- } else if (rule?.returnType === "equipGroup") {
|
|
|
+ } else if (rule?.returnType === "zone") { // 删除空间实例
|
|
|
+ const classCode = rule?.params?.classCode
|
|
|
+ if (classCode) {
|
|
|
+ this.removeZone(classCode)
|
|
|
+ }
|
|
|
+ } else if (rule?.returnType === "equipGroup") { // 删除设备组
|
|
|
//
|
|
|
this.loadedRuleNum++;
|
|
|
if (this.ruleNum === this.loadedRuleNum) this.loadMarkRelation();
|
|
@@ -474,6 +485,7 @@ export default {
|
|
|
},
|
|
|
/**
|
|
|
* 删除设备实例
|
|
|
+ *
|
|
|
* @param { string } classCode 删除的设备类code值
|
|
|
*/
|
|
|
removeEquipment(classCode) {
|
|
@@ -517,6 +529,25 @@ export default {
|
|
|
this.loadedRuleNum++;
|
|
|
if (this.ruleNum === this.loadedRuleNum) this.loadMarkRelation();
|
|
|
},
|
|
|
+ /**
|
|
|
+ * 删除设备实例
|
|
|
+ *
|
|
|
+ * @param { string } classCode 删除的设备类code值
|
|
|
+ */
|
|
|
+ removeZone(classCode) {
|
|
|
+ for (const key in this.zoneIteMap) {
|
|
|
+ const zoneItem = this.zoneIteMap[key]
|
|
|
+ if (zoneItem?.legendData?.classCode === classCode) {
|
|
|
+ // 删除vuex中保存的空间实例
|
|
|
+ this.REMOVEZONE(zoneItem);
|
|
|
+ // 删除图上的空间实例
|
|
|
+ this.scene.removeItem(zoneItem)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.view.update();
|
|
|
+ this.loadedRuleNum++;
|
|
|
+ if (this.ruleNum === this.loadedRuleNum) this.loadMarkRelation();
|
|
|
+ },
|
|
|
// 加载通用元素和管线元素
|
|
|
loadMarkRelation() {
|
|
|
const anchorList = []; //保存锚点对象
|