Procházet zdrojové kódy

feat:updateC_绑定数据点

ananzhusen před 1 rokem
rodič
revize
962f3e504a
1 změnil soubory, kde provedl 33 přidání a 1 odebrání
  1. 33 1
      src/services/updateC.ts

+ 33 - 1
src/services/updateC.ts

@@ -81,7 +81,23 @@ export async function updateC() {
             }
           }
           pen.connectedLines = deepClone(matchPen.connectedLines);
-        //  pen.originId = matchPen.originId;
+          //  pen.originId = matchPen.originId;
+
+          //已经绑定了数据点
+          if(matchPen.realTimes&&matchPen.realTimes.length){
+            let bindPts =  matchPen.realTimes.filter((item)=>item.bind);
+            if( bindPts.length ){
+              bindPts.forEach((item)=>{
+                  let idx = pen.realTimes?.findIndex((f)=>f.key===item.key);
+                  if(idx!==-1){
+                    // pen.form[idx].dataIds = item.dataIds;
+                    pen.realTimes.splice(idx,1,deepClone(item)); //更新
+                  }else{
+                    pen.realTimes.push(deepClone(item)); //新增
+                  }
+              })
+            }
+          }
         }
       });
       meta2d.changePenId(componentDatas[0].id, beforeP.id);
@@ -91,6 +107,21 @@ export async function updateC() {
           return childrenMap[item];
         }else return item;
       });
+
+      //父节点绑定了数据点
+      if(beforeP.realTimes&&beforeP.realTimes.length){
+        let bindPts =  beforeP.realTimes?.filter((item)=>item.bind);
+        if( bindPts.length ){
+          bindPts.forEach((item)=>{
+              let idx = componentDatas[0].realTimes.findIndex((f)=>f.key===item.key);
+              if(idx!==-1){
+                componentDatas[0].realTimes.splice(idx,1,deepClone(item)); //更新
+              }else{
+                componentDatas[0].realTimes.push(deepClone(item)); //新增
+              }
+          })
+        }
+      }
      // componentDatas[0].originId = beforeP.originId;
       //componentDatas[0].componentId = beforeP.componentId;
       // meta2d.addPens(deepClone(componentDatas));
@@ -100,5 +131,6 @@ export async function updateC() {
   // meta2d.delete(deletePens);
   meta2d.inactive(); // dropPens默认会选中新添加的图元,这里取消选中
   meta2d.render(true);
+  meta2d.initBinds(); //初始化绑定
   // MessagePlugin.closeAll();
 }