|
@@ -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>
|