Selaa lähdekoodia

Merge branch 'edb_dev' into debug

Karsa 5 kuukautta sitten
vanhempi
commit
41b70d95c3

+ 10 - 0
src/api/modules/chartApi.js

@@ -1432,6 +1432,16 @@ const edbCollectInterface = {
 			return http.post('/datamanage/edb_collect/move',params)
 		},
 
+		/**
+		 * 移动收藏分类
+		 * @param {*} params ClassifyId
+		 * PrevClassifyId NextClassifyId
+		 * @returns 
+		 */
+		moveCollectClassify: params => {
+			return http.post('/datamanage/edb_collect/classify/move',params)
+		},
+
 		/**
 		 * 收藏指标
 		 * @param {*} params ClassifyId EdbInfoId

+ 38 - 0
src/views/dataEntry_manage/databaseComponents/collectEdbMenu.vue

@@ -4,9 +4,12 @@
         class="catalog-tree other-tree"
         empty-text="暂无图库"
         :data="data"
+        :allow-drop="canDropHandle"
+        draggable
         node-key="ClassifyId"
         :expand-on-click-node="false"
         @current-change="(data,node)=>{$parent.nodeChange(data,node)}"
+        @node-drop="handleDropClassify"
         >
         <div class="custom-tree-node" slot-scope="{ data }">
             <span class="tree-label">{{ data.ClassifyName }}</span>
@@ -61,6 +64,41 @@ export default {
       
     },
 
+    async handleDropClassify(dragNode,dropNode,type) {
+      console.log(dragNode,dropNode,type)
+      let PrevClassifyId,NextClassifyId;
+
+      let list = dropNode.parent.childNodes;
+      let targetIndex = list.findIndex(_ => _.data.ClassifyId===dragNode.data.ClassifyId)
+
+      if(targetIndex===0){
+        const data=list[targetIndex+1].data
+        NextClassifyId = data.ClassifyId
+        PrevClassifyId = 0
+      }else if(targetIndex===list.length-1){
+        const data=list[targetIndex-1].data
+        PrevClassifyId = data.ClassifyId
+        NextClassifyId = 0
+      }else{
+        PrevClassifyId=list[targetIndex-1].data.ClassifyId
+        NextClassifyId=list[targetIndex+1].data.ClassifyId
+      }
+
+      let params = {
+        ClassifyId: dragNode.data.ClassifyId,
+        PrevClassifyId,
+        NextClassifyId
+      }
+
+      const res = await edbCollectInterface.moveCollectClassify(params)
+      if(res.Ret !== 200) return 
+      this.$message.success('移动成功')
+    },
+
+    canDropHandle(draggingNode, dropNode, type) {
+      return dropNode.level===draggingNode.level&&type!=='inner'
+    },
+
     initSelect(id) {
       console.log(id)
       this.$nextTick(() => {