Pārlūkot izejas kodu

文件夹的单选操作删除

“yueshang” 2 gadi atpakaļ
vecāks
revīzija
0d1a05d9d9
1 mainītis faili ar 27 papildinājumiem un 11 dzēšanām
  1. 27 11
      src/views/myfile/MyFile.vue

+ 27 - 11
src/views/myfile/MyFile.vue

@@ -94,7 +94,7 @@
                         </div>
                         <template v-for="(item, index) in useMenu" :key="index">
                             <div :class="{ 'isCheck': haveCheck }"
-                                style="display: flex;width: 82px;opacity:0.5;height: 32px;justify-content: flex-start;align-items: center;line-height: 18px;"
+                                style="display: flex;width: 82px;opacity:0.5;height: 32px;justify-content: flex-start;align-items: center;line-height: 18px;cursor: pointer;"
                                 @click="getMenu(item, index)"  >
                                 <div style="margin-left: 5px;">
                                     <img :src="item.img" style="width: 24px;height: 24px;" alt="">
@@ -129,11 +129,11 @@
                 </div>
                 <!-- 展示文件夹盒子 -->
                 <!-- 文件夹 -->
-                <div class="detailBox" @click="mouseClick">
+                <div class="detailBox file-jia" @click="mouseClick">
                     <el-collapse v-model="folder" accordion class="collapseSell">
                         <el-collapse-item title="文件夹" name="1" class="custom-collapse-item">
                             <el-table :data="folderList" style="width: 100%" @selection-change="handleSelectionChange1"
-                                :single-select="true" @row-click="folderClick" @row-contextmenu="folderRClick">
+                                :single-select="true" @row-click="folderClick" @row-contextmenu="folderRClick" ref="taskTableRef">
                                 <el-table-column type="selection" width="55" />
                                 <el-table-column label="名称" width="180">
                                     <template #default="scope">
@@ -365,8 +365,10 @@ import { listVersion } from "@/api/biz/version";
 import useUserStore from "@/store/modules/user";
 import { useRouter, useRoute } from "vue-router";
 import { canPreviewFile } from "@/utils/index.js"
+
 export default {
     setup() {
+        const { proxy } = getCurrentInstance();
         let fileTrees = ref(false)//filetree父传子
         let thanks = ref(false)//transfer父传子
         let collects = ref(false)//文件收藏父传子
@@ -826,12 +828,14 @@ export default {
             }
         }
         // 文件夹
+        
         function handleSelectionChange1(val) {  
             delMoreFile.value=val   //删除多项的数据
-            // if (val.length > 1) {
-            //     // 如果选择了多项,只保留最后一项
-            //     val.shift();
-            // }
+            if (val.length > 1) {
+                // 如果选择了多项,只保留最后一项
+                val.shift();
+                 proxy.$refs.taskTableRef.toggleRowSelection(val.shift(), false);//单选操作
+            }
             if (val.length === 1) {
                 folderId.value = val[0].dirId
             }
@@ -856,15 +860,17 @@ export default {
         function getMenu(row, num) {
             if (row.name === '删除') {
                 const datas=[]
+                const isFile=ref(false)
                 delMoreFile.value.map(i=>{//多选删除
                     if(i.parentId){//文件
-                        datas.push(i.dirId)
+                        isFile.value=true
                     }else{//文件夹
                         datas.push(i.docId)
                     }
                 })
                 // 文件夹删除
-                documents.delDocument(datas).then(res => {
+                if(isFile.value){//文件
+                documents.delDocument( folderId.value).then(res => {
                     if (res.code === 200) {
                         ElMessage({
                             message: "删除成功",
@@ -877,8 +883,9 @@ export default {
                             type: "error"
                         })
                     }
+                    isFile.value=false
                 })
-             
+            }else{
                 myfile.delMenu(datas.toString()).then(res => {
                     if (res.code === 200) {
                         ElMessage({
@@ -889,6 +896,7 @@ export default {
                     }
                 })
             }
+            }
         }
         function delName(row, num) {
             documents.delDocument(row.dirId).then(res => {
@@ -1490,4 +1498,12 @@ p {
 
 :deep(.el-collapse-item__wrap) {
     height: 300px;
-}</style>
+}
+// 隐藏全选按钮
+.file-jia{
+:deep(.el-table th.el-table__cell:nth-child(1) .cell) {
+visibility: hidden;
+}
+}
+
+</style>