资料档案库添加删除文件功能

This commit is contained in:
2026-10-13 10:48:05 +08:00
parent 842f7f0941
commit 91536b193c
2 changed files with 229 additions and 182 deletions
+8
View File
@@ -66,6 +66,14 @@ export function docHistoryListApi(doc_id:number) {
});
}
// 删除资料
export function deleteDocApi(id: number) {
return request({
url: `/api/knowledge/${id}`,
method: 'delete',
});
}
// 归档目录树
export function docArchiveTreeListApi(params: {from:string | number | null,to:string | number | null,org_id: number,type: number | string,change_no?:string}) {
return request({
+45 -6
View File
@@ -13,7 +13,8 @@ import {
docListApi,
uploadDocApi,
updateDocApi,
docHistoryListApi
docHistoryListApi,
deleteDocApi
} from '@/service/api/doc';
const themeStore = useThemeStore();
@@ -315,6 +316,7 @@ const searchHandle = () => {
if(!keyword.value) {
// 搜索框为空时,显示树状列表
showTree.value = true;
getFileList(currentNode.value.id);
}else{
// 搜索框不为空时,显示搜索结果
showTree.value = false;
@@ -464,6 +466,20 @@ const viewHistory = async (d:any) => {
}
historyLoading.value = false;
}
// 删除资料
const deleteFile = async (d:any) => {
loading.value = true;
const {error} = await deleteDocApi(d.id);
if(!error){
window.$message?.success('删除成功');
if(showTree.value){
getFileList(currentNode.value.id);
}else{
getFileList(0);
}
}
loading.value = false;
}
onMounted(() => {
getDocList();
@@ -471,8 +487,8 @@ onMounted(() => {
</script>
<template>
<NSpace vertical :size="16">
<NSpin :show="loading" size="small">
<NSpace vertical :size="16">
<NSpin :show="loading" size="small">
<!-- 上传资料 -->
<input ref="uploadDocRef" type="file" accept="image/*,.pdf,.docx,.xlsx" class="hidden" @change="uploadFiles" />
<!-- 更新资料 -->
@@ -519,6 +535,17 @@ onMounted(() => {
<NButton type="primary" text class="hover:underline text-xs" @click="updateFile(d)">更新</NButton>
<NButton type="primary" text class="hover:underline text-xs" @click="preview(d)">预览</NButton>
<NButton type="primary" text class="hover:underline text-xs" @click="download(d)">下载</NButton>
<NPopconfirm
positive-text="确定"
:positive-button-props="{ size: 'tiny' }"
:negative-button-props="{ size: 'tiny' }"
@positive-click="deleteFile(d)"
>
<template #trigger>
<NButton type="error" text class="hover:underline text-xs">删除</NButton>
</template>
确定删除吗?
</NPopconfirm>
</div>
</div>
<div v-if="queryList.length === 0" class="h-100% flex items-center justify-center">
@@ -598,6 +625,17 @@ onMounted(() => {
<NButton type="primary" text class="hover:underline text-xs" @click="updateFile(d)">更新</NButton>
<NButton type="primary" text class="hover:underline text-xs" @click="preview(d)">预览</NButton>
<NButton type="primary" text class="hover:underline text-xs" @click="download(d)">下载</NButton>
<NPopconfirm
positive-text="确定"
:positive-button-props="{ size: 'tiny' }"
:negative-button-props="{ size: 'tiny' }"
@positive-click="deleteFile(d)"
>
<template #trigger>
<NButton type="error" text class="hover:underline text-xs">删除</NButton>
</template>
确定删除吗?
</NPopconfirm>
</div>
</div>
<div v-if="fileList.length===0" class="h-100% flex items-center justify-center">
@@ -681,17 +719,18 @@ onMounted(() => {
<span>上传时间:{{ previewFile?.created_at?.slice(0, 16) }}</span>
<span v-if="previewFile?.version">{{ `版本:${previewFile?.version}(受控)` }}</span>
</div>
<previewComponent v-if="previewFile" :previewFile="previewFile" />
<PreviewComponent v-if="previewFile" :preview-file="previewFile" />
</div>
</template>
</NModal>
</NSpin>
</NSpace>
</NSpin>
</NSpace>
</template>
<style scoped>
</style>
<style scoped lang="scss">
.scroll-left {
height: calc(100vh - 276px);