feat(detail): 列表详情改为抽屉弹出+业务信息只认 summaryFields
build / build (push) Successful in 3m11s

- 新增 InstanceDrawer.vue(Drawer 740px + InstanceBody full 口径,非 iframe)
- Workbench/MyInstances/admin.Instances 详情按钮改为打开抽屉
- InstanceBody 移除 snapshotRows 回落,业务信息只显示子应用传递的
  summaryFields(中文 label),无值整块隐藏不再平铺英文 key
This commit is contained in:
chenxing
2026-10-11 12:01:43 +08:00
parent ecd4b9f4ea
commit 8506ad80d7
5 changed files with 137 additions and 31 deletions
+10 -3
View File
@@ -1,17 +1,18 @@
<script setup lang="ts">
// 办件记录(管理端):全校办件查询;CONDITION 判断失败挂起的办件在此"重跑路由"恢复
import { ref } from "vue";
import { useRouter } from "vue-router";
import { Message, Tag } from "view-ui-plus";
import MyConfirm from "@/components/MyConfirm";
import { OperatorEnum } from "@/types";
import TablePageAlovaNew from "@/components/TablePageAlovaNew.vue";
import InstanceDrawer from "@/views/flow/components/InstanceDrawer.vue";
import { flowApi, INSTANCE_STATUS, INSTANCE_STATUS_COLOR } from "@/api/module/flow";
import { actionColumn } from "@/utils/tableActions";
const router = useRouter();
const tableRef = ref<InstanceType<typeof TablePageAlovaNew> | null>(null);
const dataParams = ref<{ status?: number; keyword?: string }>({ status: undefined, keyword: "" });
const drawerVisible = ref(false);
const drawerInstanceId = ref<string | number>("");
const columns = [
{ title: "序号", type: "index", width: 70, align: "center" },
@@ -23,7 +24,7 @@ const columns = [
{ title: "提交时间", width: 160, render: (h: any, p: any) => h("span", (p.row.submitTime || "").replace("T", " ")) },
actionColumn(
[
{ key: "detail", label: "详情", icon: "icon-browse", on: (r: any) => router.push(`/instance/${r.id}?pid=102`) },
{ key: "detail", label: "详情", icon: "icon-browse", on: (r: any) => openDetail(r.id) },
// 仅审批中的办件可挂条件分支节点;其余行置灰保位(重跑入口对非挂起办件是业务错提示)
{ key: "reroute", label: "重跑路由", icon: "icon-play", on: (r: any) => onReroute(r), disabledWhen: (r: any) => r.status !== 10 },
],
@@ -31,6 +32,11 @@ const columns = [
),
];
function openDetail(instanceId: string | number) {
drawerInstanceId.value = instanceId;
drawerVisible.value = true;
}
/** 重跑路由(2026-09-24 §4.4):重新调判断服务,成功即按出口续走;仍失败回业务错(办件继续挂起) */
function onReroute(row: any) {
MyConfirm({
@@ -73,5 +79,6 @@ function onSearch() {
</div>
<TablePageAlovaNew ref="tableRef" :dataApi="tableApi" :columns="columns" />
</div>
<InstanceDrawer v-model="drawerVisible" :instance-id="drawerInstanceId" />
</div>
</template>