Преглед изворни кода

编辑器-导航:一级分组里新增二级分组功能

任一存 пре 3 година
родитељ
комит
bf20f4d9ff
2 измењених фајлова са 24 додато и 0 уклоњено
  1. 5 0
      src/components/sceneGroupInEditor.vue
  2. 19 0
      src/views/navigation/groupSettings.vue

+ 5 - 0
src/components/sceneGroupInEditor.vue

@@ -16,6 +16,7 @@
         <i v-show="level === 1"
         <i v-show="level === 1"
           class="iconfont icon-editor_list_add icon-add"
           class="iconfont icon-editor_list_add icon-add"
           v-tool-tip-wrapper
           v-tool-tip-wrapper
+          @click="onRequestForAddGroup"
         >
         >
           <TooltipInEditor
           <TooltipInEditor
             :text="'新增二级分组'"
             :text="'新增二级分组'"
@@ -168,6 +169,10 @@ export default {
       this.$emit('deleteScene', ...params)
       this.$emit('deleteScene', ...params)
     },
     },
 
 
+    onRequestForAddGroup() {
+      this.$emit('addGroup', this.groupNode.id)
+    },
+
     onClickForRename() {
     onClickForRename() {
       this.isRenaming = true
       this.isRenaming = true
       this.newName = this.groupNode.name
       this.newName = this.groupNode.name

+ 19 - 0
src/views/navigation/groupSettings.vue

@@ -24,6 +24,7 @@
         :key=item.id
         :key=item.id
         :groupNode="item"
         :groupNode="item"
         :level="1"
         :level="1"
+        @addGroup="onRequestForAddGroupLevel2"
         @renameScene="onRenameScene"
         @renameScene="onRenameScene"
         @deleteScene="onDeleteScene"
         @deleteScene="onDeleteScene"
         @renameGroup="onRenameGroup"
         @renameGroup="onRenameGroup"
@@ -219,6 +220,7 @@ export default {
 
 
       addGroupLevel: 0, // 0: 没有在新增分组;1:在新增一级分组;2:在新增二级分组
       addGroupLevel: 0, // 0: 没有在新增分组;1:在新增一级分组;2:在新增二级分组
       newGroupName: '',
       newGroupName: '',
+      parentGroupId: '',
     };
     };
   },
   },
   watch: {
   watch: {
@@ -308,10 +310,27 @@ export default {
           newGroupLevel2Id,
           newGroupLevel2Id,
           name: '默认二级分组',
           name: '默认二级分组',
         })
         })
+      } else if (this.addGroupLevel === 2) {
+        let id = 'c_' + this.$randomWord(true, 8, 8)
+        let parent = this.info.catalogRoot.find((item) => {
+          return item.id === this.parentGroupId
+        })
+        parent.children.push(id);
+        const newGroupLevel2 = {
+          id,
+          name: this.newGroupName,
+        }
+        this.info.catalogs.push(newGroupLevel2);
       }
       }
       this.$msg.success("操作成功")
       this.$msg.success("操作成功")
+      this.newGroupName = ''
+      this.parentGroupId = ''
       this.addGroupLevel = 0
       this.addGroupLevel = 0
     },
     },
+    onRequestForAddGroupLevel2(parentGroupId) {
+      this.addGroupLevel = 2
+      this.parentGroupId = parentGroupId
+    },
     onRenameScene(sceneId, newName) {
     onRenameScene(sceneId, newName) {
       const renameTarget = this.info.scenes.find((item) => {
       const renameTarget = this.info.scenes.find((item) => {
         return item.id === sceneId
         return item.id === sceneId