三面拆分⑪:收口 —— 走查通过,删掉与蓝图重复的需处置页签,文档对账
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KeDBx2PHLavbURXB8LJJ7m
This commit is contained in:
@@ -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}` });
|
||||
},
|
||||
},
|
||||
]}
|
||||
/>
|
||||
))}
|
||||
|
||||
@@ -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 (
|
||||
<QueryGate query={q}>
|
||||
<div className="g-todo">
|
||||
{drafts.map((p) => {
|
||||
const ec = edgeCheckOf(p, reportOf(p));
|
||||
return (
|
||||
<Todo
|
||||
key={`${p.id}@${p.version}`}
|
||||
tone="warn"
|
||||
ico="git-merge"
|
||||
title={`${p.name} v${p.version} · 未闭合(边 ${ec.closed}/${ec.total})`}
|
||||
desc={ec.issue ?? '存在未通过闭合校验的声明'}
|
||||
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}` });
|
||||
},
|
||||
},
|
||||
]}
|
||||
/>
|
||||
);
|
||||
})}
|
||||
{drafts.length === 0 && <Clear>无待处置 —— 全部流程包闭合校验通过。</Clear>}
|
||||
</div>
|
||||
</QueryGate>
|
||||
);
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
@@ -140,7 +140,6 @@ export const TABS: Readonly<Record<GovZone, ReadonlyArray<{ key: string; label:
|
||||
{ key: 'overview', label: '总览', ico: 'gauge' },
|
||||
{ key: 'pkgs', label: '流程包', ico: 'boxes' },
|
||||
{ key: 'rules', label: '调起规则', ico: 'zap' },
|
||||
{ key: 'todo', label: '需处置', ico: 'flag' },
|
||||
],
|
||||
library: [{ key: 'shelf', label: '活动货架', ico: 'boxes' }],
|
||||
tools: [{ key: 'catalog', label: '能力目录', ico: 'wrench' }],
|
||||
|
||||
+17
-8
@@ -47,8 +47,9 @@
|
||||
```
|
||||
|
||||
- 每库一张卡:总数、健康度、最近变更;点卡即入库。
|
||||
- 下方是**待补清单**:闭合校验未过、契约缺口、名称未匹配的活动引用 —— 全部聚在这里,
|
||||
点进即改。设计者的"需处置"不散落在四库里。
|
||||
- 下方是**待补清单**:闭合校验未过、编排引用了未安装的活动、没有任何调起规则的流程包 ——
|
||||
全部聚在这里,点进即改。设计者的"需处置"不散落在四库里
|
||||
(为此流程包区原有的「需处置」页签已删除:同一件事两处显示,就是散落)。
|
||||
|
||||
### 四库
|
||||
|
||||
@@ -75,21 +76,29 @@
|
||||
任务
|
||||
员工
|
||||
── 台账(动态,随数据域长) ──
|
||||
报价域
|
||||
共享域
|
||||
quote_intake
|
||||
quote_pricing
|
||||
…
|
||||
shared
|
||||
── 固定 ──
|
||||
知识库
|
||||
系统
|
||||
```
|
||||
|
||||
> 落地实测:域的实际粒度是**活动域**(`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 面)。
|
||||
|
||||
## 六、权限
|
||||
|
||||
|
||||
Reference in New Issue
Block a user