diff --git a/src/api/documentReview/DocumentTasks/index.ts b/src/api/documentReview/DocumentTasks/index.ts index bb62b52..94c4ef2 100644 --- a/src/api/documentReview/DocumentTasks/index.ts +++ b/src/api/documentReview/DocumentTasks/index.ts @@ -92,3 +92,7 @@ export function uploadDocument( params, ); } + +export function DocumentTasksDeleteFile(ossId: string) { + return defHttp.deleteWithMsg({ url: '/productManagement/DocumentTasks/ossRemoveById/' + ossId }); +} diff --git a/src/views/contractReview/ContractualTasks/index.vue b/src/views/contractReview/ContractualTasks/index.vue index 2bb9c44..34cf95f 100644 --- a/src/views/contractReview/ContractualTasks/index.vue +++ b/src/views/contractReview/ContractualTasks/index.vue @@ -90,6 +90,13 @@ + @@ -113,10 +120,19 @@ import { DocumentTaskResultsInfoByTaskId, DocumentTaskResultDownload, + getDetailResultsByTaskId, } from '@/api/documentReview/DocumentTaskResults'; + import { onMounted, ref } from 'vue'; + import ResultDetailDrawer from '@/views/documentReview/DocumentTasks/ResultDetailDrawer.vue'; + import { DocumentTasksPermissionsVO } from '@/api/taskPermissions/DocumentTasksPermissions/model'; + import { DocumentTaskResultDetailVO } from '@/api/documentReview/DocumentTaskResults/model'; const [registerDrawer, { openDrawer }] = useDrawer(); - + const documentData = ref(); + const resultDetailDrawerVisible = ref(false); + const childTableData = ref([]); + const taskResultDetail = ref([]); + const currentTaskInfo = ref({}); defineOptions({ name: 'ContractualTasks' }); const [registerTable, { reload, multipleRemove, selected, getForm }] = useTable({ @@ -147,18 +163,52 @@ }); const [registerModal, { openModal }] = useModal(); - + const handleResultDetailDrawerClose = () => { + resultDetailDrawerVisible.value = false; + }; async function handleDetail(record: Recordable) { try { let res = await DocumentTaskResultsInfoByTaskId(record.id); - - openDrawer(true, { value: res.result, type: 'markdown' }); - - console.log('res', res); + console.info("resresres",res,res.result,!res,!res.result) + if (!res || !res.result) { + try { + const detailRes = await getDetailResultsByTaskId(record.id); + if (detailRes && detailRes.length > 0) { + taskResultDetail.value = detailRes; + currentTaskInfo.value = record; + resultDetailDrawerVisible.value = true; + return; + } + } catch (detailEx) { + console.error('获取详细结果失败', detailEx); + } + } + + if (record.taskName == 'schemEvaluation') { + const updatedHtmlText = res.result?.replace( + /文件名称:\S+/g, + `文件名称:${record.documentName}`, + ); + openDrawer(true, { value: updatedHtmlText, type: 'markdown' }); + } else if (record.taskName == 'checkDocumentError') { + openDrawer(true, { value: res.result, type: 'markdown' }); + } else { + openDrawer(true, { value: res.result, type: 'markdown' }); + } } catch (ex) { - openDrawer(true, { value: '加载失败,请刷新页面', type: 'markdown' }); + try { + const detailRes = await getDetailResultsByTaskId(record.id); + if (detailRes && detailRes.length > 0) { + taskResultDetail.value = detailRes; + currentTaskInfo.value = record; + resultDetailDrawerVisible.value = true; + return; + } + } catch (detailEx) { + console.error('获取详细结果也失败', detailEx); + openDrawer(true, { value: '加载失败,请刷新页面', type: 'markdown' }); + } } - //根据record.id查询结果详情 } async function handleStop(record: Recordable) { diff --git a/src/views/documentReview/DocumentTasks/DocumentTasksTable.vue b/src/views/documentReview/DocumentTasks/DocumentTasksTable.vue index 8b1716d..edcb97b 100644 --- a/src/views/documentReview/DocumentTasks/DocumentTasksTable.vue +++ b/src/views/documentReview/DocumentTasks/DocumentTasksTable.vue @@ -32,6 +32,24 @@ }, onClick: handleDownload.bind(null, record), }, + { + label: '删文件', + icon: IconEnum.DOWNLOAD, + type: 'primary', + color: 'error', + ghost: true, + ifShow: () => { + if (record.progress.includes('100%')) { + if(record.delFile=='Y'){ + return false; + } + return true; + } else { + return false; + } + }, + onClick: handleDeleteFile.bind(null, record), + }, ]" /> @@ -119,7 +137,7 @@