From efb28eeff9cd7c081343bc69b425f8987287a807 Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期二, 11 七月 2023 16:00:03 +0800
Subject: [PATCH] 1

---
 src/views/datamanage/catalogueManage.vue |  131 +++++++++++++++++++++++++++++++++++++++----
 1 files changed, 117 insertions(+), 14 deletions(-)

diff --git a/src/views/datamanage/catalogueManage.vue b/src/views/datamanage/catalogueManage.vue
index 77f16aa..19efd9e 100644
--- a/src/views/datamanage/catalogueManage.vue
+++ b/src/views/datamanage/catalogueManage.vue
@@ -21,8 +21,19 @@
             :expand-on-click-node="false"
             :default-expanded-keys="expandData"
             @node-click="handleNodeClick"
+            @node-contextmenu="openTreeMenu"
           >
           </el-tree>
+          <div
+            class="right_menu box_divm"
+            id="menu"
+            v-show="showRightMenu"
+          >
+            <ul>
+              <li @click="setMenuDataCopy">澶嶅埗</li>
+              <li @click="setMenuDataPaste">绮樿创</li>
+            </ul>
+          </div>
         </div>
       </div>
       <div class="cataLog_rightContent right subpage_Div">
@@ -399,6 +410,7 @@
         >{{ $t("common.preservation") }}</el-button>
       </div>
     </el-dialog>
+
     <iframe
       id="Iframe1"
       src=""
@@ -525,9 +537,82 @@
 
       ],
       currentData: null,
+      showRightMenu: false,
+      checksData: null,
+      checksCopyData: null,
     };
   },
   methods: {
+    // 澶嶅埗
+    setMenuDataCopy() {
+      this.checksCopyData = this.checksData;
+    },
+    //绮樿创
+    setMenuDataPaste() {
+      if (!this.checksCopyData) {
+        return this.$message('鏈�変腑瑕佸鍒剁殑鑺傜偣');
+      }
+      var val = this.$refs.tree.getNode(this.checksCopyData).data;
+
+      var level = this.$refs.tree.getNode(this.checksData).data.level + 1;
+      this.setInsertCopyData([val], this.checksData, level);
+    },
+    setInsertCopyData(val, pid, level) {
+      for (var i in val) {
+        var data = val[i];
+        var pchildNodes = [];
+
+        if (this.$refs.tree.getNode(pid) && this.$refs.tree.getNode(pid).childNodes) {
+          pchildNodes = this.$refs.tree.getNode(pid).childNodes
+        }
+        var orderNum = this.getMaxOrderNum(pchildNodes);
+        var obj = {
+          bak: data.bak,
+          level: level,
+          orderNum: orderNum + 1,
+          pid: pid,
+          checks: data.checks,
+          name: data.name,
+          descr: data.descr,
+          exts: data.exts,
+        }
+        insertDir(obj).then((res) => {
+          if (res.code == 200) {
+            this.getDirTree();
+            if (data.children && data.children.length > 0) {
+              debugger
+              this.setInsertCopyData(data.children, res.result, level + 1)
+            }
+          }
+        })
+      }
+    },
+
+
+
+
+
+    handleNodeClick(data, node) {
+      this.showRightMenu = false;
+      document.removeEventListener('click', this.closeRightMenu)
+      this.layerFormInline(data)
+
+    },
+    //鍙抽敭鑿滃崟
+    openTreeMenu(event, data, node, obj) {
+      this.showRightMenu = true;
+      let menu = document.getElementById('menu')
+      menu.style.left = event.clientX + 20 + 'px'
+      menu.style.top = event.clientY + 'px'
+      document.addEventListener('click', this.closeRightMenu)
+      this.checksData = data.id;
+      console.log(this.checksData)
+    },
+    closeRightMenu() {
+      this.showRightMenu = false;
+      document.removeEventListener('click', this.closeRightMenu)
+
+    },
     setTemplateDownload() {
       var url = window.location.href;
       var testurl = window.location.origin + "/";
@@ -595,8 +680,6 @@
 
       this.tableData = arr;
       this.setInsertData(this.tableData);
-
-
     },
     getNameAndPname(res, result, flag) {
       var chLevel = null;
@@ -622,26 +705,21 @@
       }
     },
     setInsertData(res) {
-
       var list = this.excelData(res);
-
       if (list.length != 0) {
         if (list[0].pname != null) {
           return this.$message.error("涓婁紶鏁版嵁閿欒锛岀涓�鏉℃暟鎹笉涓虹┖");
         }
-
         this.getAllNodeId(res);
       }
     },
     async getAllNodeId(res) {
       for (let i = 0; i < res.length; i++) {
         var val = res[i];
-
         if (val.pname == null) {
           val.orderNum = this.dirList[this.dirList.length - 1].orderNum + 1;
           val.pid = 0;
         } else {
-
           this.tableData.filter((child) => {
             if (child.tid == val.sid) {
               val.pid = child.id;
@@ -1137,7 +1215,7 @@
       var val = this.$refs.tree.getNode(data.id).data;
       this.itemdetail = val;
       this.currentData = JSON.stringify(data)
-      debugger
+
       var checks = [];
       if (val.checks) {
         if (val.checks.indexOf(',') > -1) {
@@ -1156,12 +1234,7 @@
       }
     },
 
-    handleNodeClick(data, node) {
-      this.layerFormInline(data)
-      // console.log(data);
 
-
-    },
     async updCata(formName) {
       this.fullscreenLoading = true;
       var val = JSON.parse(JSON.stringify(this.itemdetail));
@@ -1191,7 +1264,7 @@
       //       var val = this.itemdetail
       //       var value = this.itemdetail.checks.toString()
       //       val.checks = value;
-      //       debugger
+      //       
       //       let res = JSON.parse(JSON.stringify(this.itemdetail));
       //       this.itemdetail = res;
       //       
@@ -1341,6 +1414,36 @@
       }
     }
   }
+  .right_menu {
+    position: fixed;
+    display: block;
+    z-index: 10000;
+    padding: 10px;
+    border: 1px solid #ebeef5;
+    border-radius: 4px;
+    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+    ul {
+      width: 100%;
+      height: 100%;
+      list-style: none;
+      margin: 0;
+      padding: 0;
+      border-radius: 2%;
+      li {
+        margin: 0 0 1px 0;
+        color: rgb(77, 77, 73);
+        text-align: center;
+        font-size: 14px;
+        padding: 4%;
+        width: 100%;
+        height: 9.7%;
+        float: left;
+      }
+      li:hover {
+        color: #409eff !important;
+      }
+    }
+  }
 }
 .btnBox {
   position: absolute;

--
Gitblit v1.9.3