[fix] 办理页隐藏「业务表单数据」:formDataJson 是托管模式条件路由入参,只留管理面办件详情
build / build (push) Successful in 3m59s

- TaskHandle 移除该区块与 formRows 计算(保留 formValueText 供业务信息回退行复用)
- 管理面 InstanceBody full 不变
This commit is contained in:
chenxing
2026-10-19 20:33:50 +08:00
parent 8853c0faa3
commit 4849b53541
+6 -28
View File
@@ -1,6 +1,7 @@
<script setup lang="ts">
// 办理页(概览 §9.4):biz_snapshot 业务摘要区块 + formData 业务表单数据只读渲染(§3.4,
// 非表单引擎——只读展示,原文留在业务方)+ "查看业务详情"跳 biz_url + 历史意见 + 同意/拒绝。
// 办理页(概览 §9.4):biz_snapshot 业务信息区块(只认 summaryFields)+ "查看业务详情"跳 bizUrl
// + 历史意见 + 同意/拒绝/退回/移交。业务表单数据(formDataJson)不在办理页渲染——托管模式下它是
// 条件路由入参,只进管理面办件详情。
// 一切审批入口的收敛点都是后端同一套 /api/flow/task API。
import { ref, computed, onMounted, onBeforeUnmount, nextTick, watch } from "vue";
import { useRoute, useRouter } from "vue-router";
@@ -86,22 +87,7 @@ const snapshotRows = computed(() => {
.map(([key, label]) => ({ k: label, v: formValueText(obj[key]) }));
});
/** 业务表单数据(§3.4):formDataJson 逐键值只读渲染;数组值按文件名/项连接;解析失败降级一行原文 */
const formRows = computed(() => {
const raw = detail.value?.formDataJson;
if (raw === null || raw === undefined || raw === "") return [];
let obj: any = null;
try {
obj = typeof raw === "string" ? JSON.parse(raw) : raw;
} catch {
return [{ k: "表单原文", v: String(raw) }];
}
if (obj && typeof obj === "object" && !Array.isArray(obj)) {
return Object.entries(obj).map(([k, v]) => ({ k, v: formValueText(v) }));
}
return [{ k: "表单原文", v: String(raw) }];
});
/** 值 → 展示文本(业务信息回退行共用):数组按文件名/项连接,对象降级 JSON */
function formValueText(v: any): string {
if (v === null || v === undefined) return "-";
if (Array.isArray(v)) {
@@ -329,16 +315,8 @@ onBeforeUnmount(() => {
</Button>
</Card>
<!-- 业务表单数据(§3.4 只读渲染,非表单引擎;无 formData 时整块隐藏) -->
<Card class="block" :bordered="false" dis-hover v-if="formRows.length">
<template #title>业务表单数据</template>
<div class="snapshot">
<div v-for="row in formRows" :key="row.k" class="row">
<span class="k">{{ row.k }}</span>
<span class="v">{{ row.v }}</span>
</div>
</div>
</Card>
<!-- 业务表单数据不在此渲染(§3.4):formDataJson 是托管模式的条件路由入参(deptId/deptName 之类),
对办理人是内部噪音;原始表单只在管理面办件详情(InstanceBody full)看 -->
<!-- 办理区 -->
<Card class="block" :bordered="false" dis-hover>