This commit is contained in:
BianLzhaoMin 2025-11-25 11:06:29 +08:00
parent c5ad343f61
commit 6b77e1a3f4
2 changed files with 121 additions and 34 deletions

View File

@ -97,6 +97,7 @@ export default {
type,
toType,
publicFolderId,
fileName, //
) {
const params = {
id: fileId,
@ -109,11 +110,24 @@ export default {
}
try {
const res = await copyDocCenterAPI(params)
// 200
if (res.code !== 200) {
throw new Error(res.msg || res.message || '添加副本失败')
const errorMsg = res.msg || res.message || '添加副本失败'
throw new Error(`"${fileName}"添加副本失败:${errorMsg}`)
}
return res
} catch (error) {
// HTTP 500
if (error.response && error.response.status === 500) {
throw new Error(`"${fileName}"添加副本失败:服务器内部错误`)
}
//
if (error.message && !error.message.includes(fileName)) {
throw new Error(
`"${fileName}"添加副本失败:${error.message}`,
)
}
//
throw error
}
},
@ -131,29 +145,60 @@ export default {
}
this.loading = true
let successCount = 0
let failedFile = null
try {
//
const movePromises = this.selectedFiles.map((file) =>
this.moveDocument(
file.id,
this.selectedFolder.id,
file.parentId,
file.parentIds,
file.type,
this.selectedFolder.type,
file.publicFolderId,
),
)
// 使 for...of
for (const file of this.selectedFiles) {
try {
await this.moveDocument(
file.id,
this.selectedFolder.id,
file.parentId,
file.parentIds,
file.type,
this.selectedFolder.type,
file.publicFolderId,
file.name || file.fileName || '未知文件', //
)
successCount++
} catch (error) {
//
failedFile = {
name: file.name || file.fileName || '未知文件',
error: error.message || '添加副本失败',
}
//
break
}
}
await Promise.all(movePromises)
//
if (failedFile) {
this.$message.error(
failedFile.error || `"${failedFile.name}"添加副本失败`,
)
return Promise.reject(
new Error(
failedFile.error ||
`"${failedFile.name}"添加副本失败`,
),
)
}
this.$message.success('添加副本成功')
//
if (successCount > 0) {
this.$message.success(`成功添加 ${successCount} 个副本`)
}
return Promise.resolve({
success: true,
movedCount: this.selectedFiles.length,
movedCount: successCount,
})
} catch (error) {
// this.$message.error(error.message || '')
//
const errorMsg = error.message || '添加副本失败'
this.$message.error(errorMsg)
return Promise.reject(error)
} finally {
this.loading = false

View File

@ -102,6 +102,7 @@ export default {
type,
toType,
publicFolderId,
fileName, //
) {
const params = {
id: fileId,
@ -114,11 +115,22 @@ export default {
}
try {
const res = await moveDocCenterAPI(params)
// 200
if (res.code !== 200) {
throw new Error(res.msg || res.message || '移动失败')
const errorMsg = res.msg || res.message || '移动失败'
throw new Error(`"${fileName}"移动失败:${errorMsg}`)
}
return res
} catch (error) {
// HTTP 500
if (error.response && error.response.status === 500) {
throw new Error(`文"${fileName}"移动失败:服务器内部错误`)
}
//
if (error.message && !error.message.includes(fileName)) {
throw new Error(`"${fileName}"移动失败:${error.message}`)
}
//
throw error
}
},
@ -136,29 +148,59 @@ export default {
}
this.loading = true
let successCount = 0
let failedFile = null
try {
//
const movePromises = this.selectedFiles.map((file) =>
this.moveDocument(
file.id,
this.selectedFolder.id,
file.parentId,
file.parentIds,
file.type,
this.selectedFolder.type,
file.publicFolderId,
),
)
// 使 for...of
for (const file of this.selectedFiles) {
try {
await this.moveDocument(
file.id,
this.selectedFolder.id,
file.parentId,
file.parentIds,
file.type,
this.selectedFolder.type,
file.publicFolderId,
file.name || file.fileName || '未知文件', //
)
successCount++
} catch (error) {
//
failedFile = {
name: file.name || file.fileName || '未知文件',
error: error.message || '移动失败',
}
//
break
}
}
await Promise.all(movePromises)
//
if (failedFile) {
this.$message.error(
failedFile.error || `"${failedFile.name}"移动失败`,
)
return Promise.reject(
new Error(
failedFile.error || `"${failedFile.name}"移动失败`,
),
)
}
this.$message.success('移动成功')
//
if (successCount > 0) {
this.$message.success(`成功移动 ${successCount} 个文件夹`)
}
return Promise.resolve({
success: true,
movedCount: this.selectedFiles.length,
movedCount: successCount,
})
} catch (error) {
// this.$message.error(error.message || '')
//
const errorMsg = error.message || '移动失败'
this.$message.error(errorMsg)
return Promise.reject(error)
} finally {
this.loading = false