Kaynağa Gözat

refactor(文件管理): 新增批量删除文件功能;对话框的确认按钮之间新增缝隙

fxs 21 saat önce
ebeveyn
işleme
92e0381e3a
2 değiştirilmiş dosya ile 16 ekleme ve 23 silme
  1. 4 0
      src/assets/base.css
  2. 12 23
      src/views/FileManage/FileList.vue

+ 4 - 0
src/assets/base.css

@@ -30,6 +30,10 @@ img {
   margin-left: 0 !important;
 }
 
+.el-message-box__btns > .el-button +.el-button{
+  margin-left: 16px !important;
+}
+
 body {
   font-family: PingFang SC, Microsoft YaHei UI, Microsoft YaHei, Helvetica Neue, Helvetica, Hiragino Sans GB, Arial, sans-serif;
 

+ 12 - 23
src/views/FileManage/FileList.vue

@@ -344,28 +344,15 @@ const handleClose = () => {
  * 删除选中的文件或文件夹
  */
 const handleDel = async () => {
-  let fileId = -1
+  const fileIDList = []
   for (let [k, v] of Object.entries(selectedRecord.value)) {
-    if (v && fileId === -1) {
-      fileId = parseInt(k) ?? -1
+    if (v) {
+      const intId = parseInt(k)
+      if (!isNaN(intId)) fileIDList.push(intId)
     }
   }
 
-  if (isNaN(fileId)) {
-    ElMessage.warning('删除错误,请重试')
-    return
-  }
-  const fileItem = fileListData.value.find((item) => item.id === fileId)
-  if (!fileItem) {
-    console.log(fileItem)
-    ElMessage.warning('删除错误,请重试')
-    return
-  }
-  const type = fileItem.type
-  const tipText =
-    type === 1
-      ? '确定删除该文件吗'
-      : '确定删除该文件夹吗<br/><strong>删除文件夹会导致该文件夹下所有文件都被删除</strong>'
+  const tipText = `确定删除吗?<br/><strong>删除文件夹会导致该文件夹下所有文件都被删除</strong>`
 
   const confirm = await ElMessageBox.confirm(tipText, '提示', {
     confirmButtonText: '确定',
@@ -375,15 +362,17 @@ const handleDel = async () => {
   })
   if (!confirm) return
   const res = (await axiosInstance.post(AllApi.fileManageDeleteFile, {
-    fileId
+    fileId: fileIDList
   })) as { code: number }
   if (res.code !== 0) {
     ElMessage.error('删除失败')
     return
   }
-  selectedRecord.value[fileId] = false
+  fileIDList.forEach((item) => {
+    selectedRecord.value[item] = false
+  })
   ElMessage.success('删除成功')
-
+  selectedAble.value = false
   await getFileList()
 }
 
@@ -512,7 +501,7 @@ const downloadFiles = async (singleFileDownloadUrl?: string) => {
         })
       )
     })
-    const folderDownloadPaths = await Promise.allSettled(downloadQueue).then((res) => {
+    const folderDownloadPaths = await Promise.all(downloadQueue).then((res) => {
       return res.map((item) => item.data)
     })
 
@@ -598,7 +587,7 @@ onMounted(async () => {
             <el-button
               class="toolBtn delBtn"
               color="#F56C6C"
-              :disabled="Object.values(selectedRecord).filter((item) => item).length !== 1"
+              :disabled="Object.values(selectedRecord).filter((item) => item).length < 1"
               @click="handleDel"
               >删除
             </el-button>