feat: 知识库审批

This commit is contained in:
JiangSheng
2025-11-07 17:57:09 +08:00
parent d2fcac8657
commit 4c78f7b22e

View File

@@ -60,11 +60,7 @@
<el-link type="primary" @click="previewFileFun(row)">{{ $t('知识库.预览') }}</el-link>
<UploadFile v-model="row.id" :name="$t('知识库.下载')" />
<el-link type="primary" @click="editFileFun(row)">{{ $t('知识库.编辑') }}</el-link>
<el-popconfirm :title="$t('知识库.确认删除')" @confirm="delFileFun(row)">
<template #reference>
<el-link type="danger">{{ $t('工况库.删除') }}</el-link>
</template>
</el-popconfirm>
<el-link type="danger" @click="delFileFun(row)">{{ $t('工况库.删除') }}</el-link>
</div>
</template>
</BaseTable>
@@ -82,20 +78,21 @@
</template>
<script lang="ts" setup>
import { ref, watchEffect, type Ref } from 'vue';
import { h, ref, watchEffect, type Ref } from 'vue';
import { DArrowLeft, Plus } from '@element-plus/icons-vue';
import BaseTable from '@/components/common/table/baseTable.vue';
import FileTree from '@/components/common/fileTree/index.vue';
import knowledgeDetailModal from './components/knowledgeDetailModal.vue';
import folderModal from './components/folderDetailModal.vue';
import { dataCreateDirApi, dataListDirApi, dataRenameDirApi, dataUploadFilesApi, dataDelDirApi, dataQueryDirApi, dataFileSearchApi, dataDelFileApi, dataUpdateFileApi } from '@/api/data/data';
import { ElMessage } from 'element-plus';
import { ElMessage, ElMessageBox } from 'element-plus';
import type { RenderContentContext } from 'element-plus';
import { formatFileSize } from '@/utils/file';
import UploadFile from '@/components/common/uploadFile/index.vue';
import TableSearch from '@/components/common/table/tableSearch.vue';
import { cloneDeep } from 'lodash-es';
import { DIR_TYPE } from '@/utils/enum/data.ts';
import ApproveList from '@/components/common/approveList/index.vue';
type Data = RenderContentContext['data']
const fileTreeRef = ref<any>();
@@ -263,17 +260,42 @@ const editFileFun = (row:any ) => {
currentRow.value = row;
visible.value = true;
};
const delFileFun = async (row:any ) => {
const req = {
delFileId: row.id,
};
const res:any = await dataDelFileApi(req);
if (res.code === 200) {
refreshTableFun();
ElMessage.success(res.message);
} else {
ElMessage.error(res.message);
}
const delFileFun = async (row: any) => {
const templateId = ref('');
const templateName = ref('');
ElMessageBox({
title: '审核模版',
showCancelButton: true,
showConfirmButton: true,
confirmButtonText: '确认',
cancelButtonText: '取消',
message: () =>
h(ApproveList, {
modelValue: templateId.value,
'onChange': (val: any) => {
templateName.value = val.label;
templateId.value = val.value;
},
}),
}).then(async () => {
if (!templateId.value) {
ElMessage.error('请选择审核模版');
return;
}
const req = {
templateId: templateId.value,
templateName: templateName.value,
delFileId: row.id,
};
const res:any = await dataDelFileApi(req);
if (res.code === 200) {
refreshTableFun();
ElMessage.success(res.message);
} else {
ElMessage.error(res.message);
}
});
};
const onCellDblclickFun = (e:any) => {
if (e.row.dataType === 1) {