Browse Source

perf(views): 优化暖通图元绑定设备的逻辑

1. 对设备 id 去重
2. 保存为方案时才记录绑定的设备 id
wangcong 1 week ago
parent
commit
edf94fcd9b
1 changed files with 11 additions and 7 deletions
  1. 11 7
      src/services/common.ts

+ 11 - 7
src/services/common.ts

@@ -460,16 +460,20 @@ export const save = async (
   }
 
   notice && MessagePlugin.success($t('保存成功!'));
-  
-  const msg: IframeMsg = {
-    msgType: getVisual2DMsgType(Visual2DMsgType.SendDeviceIds),
-    deviceIds: data.pens
+
+  // 保存为方案时才记录当前画面所绑定设备的 id
+  if (vType === '') {
+    const deviceIds = data.pens
       .filter((item) => (item as HvacDevicePen).hvacDeviceInfo?.id)
       .map((item) => (item as HvacDevicePen).hvacDeviceInfo.id)
-      .join(","),
-  };
+    
+    const msg: IframeMsg = {
+      msgType: getVisual2DMsgType(Visual2DMsgType.SendDeviceIds),
+      deviceIds: [...new Set(deviceIds)].join(","),
+    };
 
-  window.parent.postMessage(msg, "*");
+    window.parent.postMessage(msg, "*");
+  }
 
   meta2d.emit('business-save', vType);
   dot.value = false;