feat: add batch-delete API endpoint, replace N+1 frontend calls
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -223,15 +223,15 @@ async function batchDownload() {
|
||||
async function batchDelete() {
|
||||
try {
|
||||
await ElMessageBox.confirm(`确定删除选中的 ${selected.value.length} 个文件?`, '确认')
|
||||
for (const row of selected.value) {
|
||||
if (row.result_purchase) {
|
||||
await api.delete(`/files/result/${encodeURIComponent(row.result_purchase)}`)
|
||||
}
|
||||
if (row.id) {
|
||||
await api.delete('/files/relations', { data: { ids: [row.id] } })
|
||||
}
|
||||
const files = selected.value
|
||||
.filter(r => r.result_purchase)
|
||||
.map(r => ({ directory: 'result', filename: r.result_purchase }))
|
||||
const res = await api.post('/files/batch-delete', { files })
|
||||
if (res.data.errors?.length) {
|
||||
ElMessage.warning(`删除完成,${res.data.errors.length} 个文件失败`)
|
||||
} else {
|
||||
ElMessage.success('批量删除完成')
|
||||
}
|
||||
ElMessage.success('批量删除完成')
|
||||
loadData()
|
||||
} catch (err: any) {
|
||||
if (err !== 'cancel') ElMessage.error('批量删除失败')
|
||||
|
||||
Reference in New Issue
Block a user