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