diff --git a/src/views/notice/NoticeApproval.vue b/src/views/notice/NoticeApproval.vue index 83587e1..8f583c5 100644 --- a/src/views/notice/NoticeApproval.vue +++ b/src/views/notice/NoticeApproval.vue @@ -14,10 +14,9 @@ {{ row._opinion }} @@ -71,7 +70,7 @@ - +
@@ -121,7 +120,7 @@ const todoCols = [ { title: "摘要", key: "_summary", minWidth: 200, ellipsis: true, tooltip: true }, { title: "当前节点", key: "nodeName", width: 110 }, { title: "到达时间", key: "arriveTime", width: 170, render: fmtTime }, - { title: "操作", slot: "action", width: 150 }, + { title: "操作", slot: "action", width: 190, align: "center" }, ]; const instCols = [ @@ -138,7 +137,7 @@ const instCols = [ const embedVisible = ref(false); const embedPageUrl = ref(""); -async function openEmbed(row: ApprovalInstance) { +async function openEmbed(row: ApprovalInstance | ApprovalTodoTask) { try { const res = await noticeApi.flowEmbed(Number(row.bizId)).send(); embedPageUrl.value = res?.pageUrl || ""; @@ -207,6 +206,7 @@ function load() { } async function approve(row: ApprovalTodoTask) { + if (acting.value) return; // 链接式操作无 :loading 反馈,用 acting 拦截连点重复提交 acting.value = true; try { await approvalApi.approve(row.taskId).send(); diff --git a/src/views/notice/NoticeDetails.vue b/src/views/notice/NoticeDetails.vue index 911e89e..fbc4559 100644 --- a/src/views/notice/NoticeDetails.vue +++ b/src/views/notice/NoticeDetails.vue @@ -209,7 +209,7 @@ function downAll() { function displayName(item: { name?: string; filename?: string }) { return item.name || item.filename || ""; } -/* 附件图标(按扩展名,图标名对齐旧版 matchSuffix → icon-word/excel/ppt/pdf1/txt/tupian1/yasuo/weizhi) */ +/* 附件图标(按扩展名,图标名对齐旧版 matchSuffix → icon-word/excel/ppt/pdf1/txt/tupian/yasuo/weizhi) */ function getFileIcon(name: string) { const suffix = String(name || "").split(".").pop()?.toLowerCase() || ""; if (["doc", "docx", "wps"].includes(suffix)) return "icon-word"; @@ -217,7 +217,8 @@ function getFileIcon(name: string) { if (["ppt", "pptx"].includes(suffix)) return "icon-ppt"; if (["pdf"].includes(suffix)) return "icon-pdf1"; if (["txt"].includes(suffix)) return "icon-txt"; - if (["jpg", "jpeg", "png", "gif", "bmp"].includes(suffix)) return "icon-tupian1"; + // 平台 icons.css 的 icon-tupian 是线性「图片」图标;icon-tupian1 是旧彩色图转单色,看不出是图片 + if (["jpg", "jpeg", "png", "gif", "bmp"].includes(suffix)) return "icon-tupian"; if (["zip", "rar"].includes(suffix)) return "icon-yasuo"; return "icon-weizhi"; } @@ -352,7 +353,7 @@ function openPreview(item: { name?: string; filename?: string; fileid?: number; - +
@@ -418,6 +419,19 @@ function openPreview(item: { name?: string; filename?: string; fileid?: number;