diff --git a/apps/web/src/features/gov-blueprint/internal/panel.tsx b/apps/web/src/features/gov-blueprint/internal/panel.tsx index 16b9b81..6430afa 100644 --- a/apps/web/src/features/gov-blueprint/internal/panel.tsx +++ b/apps/web/src/features/gov-blueprint/internal/panel.tsx @@ -109,6 +109,14 @@ export function BlueprintHome({ nav }: HomeProps) { } acts={[ { label: '去编排', ico: 'route', onClick: () => nav.push({ k: 'pkg', id: `${p.id}@${p.version}` }) }, + { + label: '看边映射', + ico: 'git-merge', + onClick: () => { + nav.push({ k: 'pkg', id: `${p.id}@${p.version}` }); + nav.push({ k: 'edges', id: `${p.id}@${p.version}` }); + }, + }, ]} /> ))} diff --git a/apps/web/src/features/gov-process/internal/panel.tsx b/apps/web/src/features/gov-process/internal/panel.tsx index 1e9c871..7088940 100644 --- a/apps/web/src/features/gov-process/internal/panel.tsx +++ b/apps/web/src/features/gov-process/internal/panel.tsx @@ -18,7 +18,6 @@ import { Acts, Card, Chip, - Clear, Entry, Field, Kpi, @@ -32,7 +31,6 @@ import { Sec, Seg, St, - Todo, } from '@web-shared/gov/primitives.tsx'; import type { Nav } from '@web-shared/gov/gov-route.ts'; import { useGovActivities, useGovPackages, useGovPkgReports, useGovStaff, useGovTriggers } from '@web-shared/gov/gov-api.ts'; @@ -133,40 +131,6 @@ function PackagesHome({ tab, nav }: HomeProps) { ); } - if (tab === 'todo') { - const drafts = packages.filter((p) => p.state !== 'published' && reportOf(p)?.publishable === false); - return ( - -
- {drafts.map((p) => { - const ec = edgeCheckOf(p, reportOf(p)); - return ( - nav.push({ k: 'pkg', id: `${p.id}@${p.version}` }) }, - { - label: '看边映射', - ico: 'git-merge', - onClick: () => { - nav.push({ k: 'pkg', id: `${p.id}@${p.version}` }); - nav.push({ k: 'edges', id: `${p.id}@${p.version}` }); - }, - }, - ]} - /> - ); - })} - {drafts.length === 0 && 无待处置 —— 全部流程包闭合校验通过。} -
-
- ); - } - const published = packages.filter((p) => p.state === 'published').length; const totalEdges = packages.reduce((a, p) => a + p.edges.length, 0); const closedEdges = packages.reduce((a, p) => a + edgeCheckOf(p, reportOf(p)).closed, 0); diff --git a/apps/web/src/shared/gov/gov-route.ts b/apps/web/src/shared/gov/gov-route.ts index 3c1898b..38cab25 100644 --- a/apps/web/src/shared/gov/gov-route.ts +++ b/apps/web/src/shared/gov/gov-route.ts @@ -140,7 +140,6 @@ export const TABS: Readonly 落地实测:域的实际粒度是**活动域**(`quote_intake` / `quote_pricing` / `quote_sourcing` / +> `quote_negotiate` / `quote_alternative`)+ `shared`,不是本文起初设想的「报价域 / 共享域」。 +> 决策不变(域 = 导航项),只是数量比示意图多。域名是复合键,左轨按下划线断行呈现。 + ### 驾驶舱(首页) 经营第一屏,从现"记忆 · 度量仪表"升格而来: - **度量八指标**(OS 8.3,零埋点):自主率 / 纠正率 / 有效自主率 / 打扰率 / 断点率 / - DMN 覆盖率 / 单位成本 / 终态分布; -- **异常面**:异常工作流、死信、需处置件数 —— 点数字直达处置页。 + DMN 覆盖率 / 单位成本 / 终态分布 —— 走 report 模块,**与工作台汇报同源同口径**; +- **异常面**:异常工作流、未闭合草稿、在途任务 —— 点数字直达处置页。 + +> 落地偏差:**死信卡不做**。死信目前只以治理者消息要素送出,没有按 kind 计数的查询面 —— +> 与其摆一个查不出数的卡位,不如记进 `docs/debt.md` 等查询面补上再加。 ### 固定位 @@ -143,8 +152,8 @@ 2. 网页标签:`tab-identity` 从两章扩为三章; 3. 新页两张:企业蓝图(设计首页)、驾驶舱(运营首页)—— 数据全部来自既有接口的再聚合; 4. 新界面一处:工作组管理(员工位内;`org.saveWorkGroup` 已在出口,缺的只是界面); -5. 触发器编辑面:从独立区改为流程包详情内的可编辑段(启停路由已有;规则与装配的 - 编辑需补一条 upsert 路由 —— `trigger.upsert` 用例已在模块出口,只缺 HTTP 面)。 +5. 触发器编辑面:从独立区改为**流程包区的「调起规则」页签**(包详情内只留一枚「改规则」入口, + 不重复摆表单);已补 `PUT /api/gov/triggers`(`trigger.upsert` 用例本就在模块出口,只缺 HTTP 面)。 ## 六、权限