Преглед на файлове

编辑器-导航-场景导航:一级分组调整顺序功能

任一存 преди 3 години
родител
ревизия
8503b1d2a8
променени са 1 файла, в които са добавени 27 реда и са изтрити 6 реда
  1. 27 6
      packages/code/src/components/insertPositionTipInEditor.vue

+ 27 - 6
packages/code/src/components/insertPositionTipInEditor.vue

@@ -251,18 +251,39 @@ export default {
               })
               originalParentGroup.children.splice(toDeleteIndex, 1)
             })
-
-            break;
           } else if (this.topologyLevel === 3) {
-              console.log('情况7:被拖拽的是拓扑结构中二级分组,拖拽到隐藏的默认二级分组中');
+            // console.log('情况7:被拖拽的是拓扑结构中二级分组,拖拽到隐藏的默认二级分组中');
+            
           }
           break;
         case 'topologyGroupLevel1': // 被拖拽的是拓扑结构中一级分组
           if (this.topologyLevel === 1) {
-            console.log('情况10:被拖拽的是拓扑结构中一级分组,拖拽到一级分组列表');
-          } else if (this.topologyLevel === 2) { // 拖拽到一级分组中
+            // console.log('情况10:被拖拽的是拓扑结构中一级分组,拖拽到一级分组列表');
+
+            // 在一级分组列表中找到这个一级分组条目
+            let originalGroupIndex = this.info.catalogRoot.findIndex((item) => {
+              return item.id === this.dragInfo.node.id
+            })
+            
+            // 复制这个一级分组条目
+            const groupCopy = deepClone(this.info.catalogRoot[originalGroupIndex])
+
+            // 旧的一级分组条目加上待删除标记
+            this.info.catalogRoot[originalGroupIndex].__need__delete__ = true
+
+            // 插入新的一级分组条目
+            this.info.catalogRoot.splice(this.index, 0 , groupCopy)
+
+            // 在一级分组列表中再次找到要删除的一级分组条目
+            originalGroupIndex = this.info.catalogRoot.findIndex((item) => {
+              return item.__need__delete__
+            })
+
+            // 删除旧的一级分组条目
+            this.info.catalogRoot.splice(originalGroupIndex, 1)
+          } else if (this.topologyLevel === 2) {
             console.log('情况11:被拖拽的一级分组只有一个隐藏的默认二级分组,拖拽到一级分组中');
-          } else if (this.topologyLevel === 3) { // 拖拽到二级分组中
+          } else if (this.topologyLevel === 3) {
             console.log('情况14:被拖拽的一级分组只有一个隐藏的默认二级分组,拖拽到另一个一级分组中隐藏的默认二级分组中');
           }
           break;