作品 02 · 案例研究Work 02 · Case study
Gate 是阶段评审关口。PM Gate 把项目状态、交付物和评审放在同一处。A gate is a stage review. PM Gate brings project status, files and reviews together.
≈ 1 分钟速览 · ≈ 7 分钟上手 · 数据全部虚构,刷新即重置≈ 1 min skim · ≈ 7 min hands-on · all data fictional, resets on refresh
这颗点不是谁涂上去的。它是算出来的。Nobody painted this dot. It was computed.
1 分钟速览ONE-MINUTE OVERVIEW
让项目状态有据可查Make project status explainable
把计划、评审和交付放在一起,让每个状态都能找到原因。
Bring plans, reviews and deliverables together, with a reason behind every status.
已投入使用,项目经理和部门可在同一处核对交付状态。
In use: project managers and departments can check delivery status in one place.
- ① 颜色现算1 · Derive the colour健康变了,当前 Gate 和看板一起变。Health, the current gate and the dashboard stay in sync.
- ② 改动留痕2 · Keep the reason改评级先写原因,再滑动确认。Record a reason, then slide to confirm a rating change.
- ③ 一个交付口径3 · Share one definition两种身份看同一份数据,权限各有边界。Two roles share data with distinct editing permissions.
- ④ 日期有锚点4 · Anchor the dates关键日期一改,依赖它的计划随之更新。Move a milestone date and its dependent plan dates follow.
一颗黄点,背后是什么What is behind a yellow dot?
日期、评审结论和文件分散在不同地方。PM Gate 把它们连起来,让状态有据可查。
Dates, review verdicts and files live in different places. PM Gate connects them so each status can be traced to its cause.
汇报页上的黄:只有一个颜色
PM Gate 的黄:点开就是来龙去脉
Yellow on a slide: just a colour
Yellow in PM Gate: click it for the whole story
整个产品,装在一扇窗里The whole product, in one window
六个页面、两种角色,共用一份项目数据。可以查看评审、交付物和计划,也可切换到部门视角。
Six pages and two roles share one set of project data. Explore reviews, deliverables and plans, or switch to the department view.
项目仪表盘
前四块按每个项目「当前 Gate 的显示评级」分档:通过算健康,有条件算关注,未通过算阻塞,还没评审算待评审;四块相加 = 当前筛选下的 6 个项目。「逾期项目」是横切统计:有逾期交付格的项目数,会和前四块重叠,不参与相加。卡片墙列出有完整档案的虚构项目;业务数据看板另含只有汇总字段的演示行。
Aurora EV (1)
Corvina (1)
Halcyon Motors (2)
Nordfjell (1)
Solis Vanta (1)
Programs
The first four tiles sort each program by the rating its current gate shows: Passed counts as healthy, Conditional as watch, Not passed as blocked, not reviewed yet as to review. Together they add up to the 6 programs in the current filter. Overdue cuts across them: programs with at least one overdue file cell, so it overlaps the other four and is not added in. The wall lists the fictional programs with full records; the business data board also has summary-only demo rows.
Aurora EV (1)
Corvina (1)
Halcyon Motors (2)
Nordfjell (1)
Solis Vanta (1)
查看业务规则Explore the business rules
决策 ①Decision 1
健康变,当前 Gate 跟着变Health changes. The current gate follows.
当前 Gate 的颜色由七项健康与评审结论实时计算,卡片、彩条和看板共用这条规则。保留评审结论,也能反映今天的风险。
The current gate’s colour is derived from seven health checks and the review verdict. Cards, the gate bar and the dashboard share the rule, keeping the verdict while reflecting today’s risk.
跨职能健康点一下切换:绿 → 黄 → 红 → 不适用
Gate 评级
由跨职能健康推得(进度、供应链)
仪表盘卡片
Cross-functional healthClick to cycle: G → Y → R → N/A
Gate ratings
Derived from cross-functional health (Timing, Supply chain)
Dashboard card
最差 = 七项健康里最差的(红 > 黄 > 其它)
如果 这是当前 Gate 且 最差 是红或黄:
显示 最差,并注明由哪几项推得
否则:
显示 评审结论(包括手改)worst = the worst of the seven health checks (red > yellow > anything else)
if this is the current gate and worst is red or yellow:
show worst, and name the checks it came from
else:
show the review verdict (manual verdicts included)决策 ②Decision 2
改评级,先留原因Change a rating, record why.
修改已有评级需要填写原因,并滑动确认。修改人、时间和前后状态一起留在记录里。
Changing an existing rating requires a reason and a slide to confirm. The record keeps who changed it, when, and the before-and-after states.
由跨职能健康推得(进度、供应链)
颜色变更总览悬浮或聚焦箭头看原因
对照小实验
快速双击左边的按钮试试
Derived from cross-functional health (Timing, Supply chain)
Colour change overviewHover or focus an arrow for the reason
Side-by-side test
Try double-clicking the left button quickly
可以确认 = 选的颜色 ≠ 当前评审结论
且(原因去掉空白后不为空 或 这是首次设定)
首次设定 = 这道 Gate 在变更链里还没有记录,且当前是未评审
原因 ≤ 100 字(按字素计,一个 emoji 算 1 个)
确认 = 滑块拖到 100%;中途松手弹回,双击不会触发
写入 = 这道 Gate 的手改结论 + 变更链头部一条(第几次、从什么到什么、谁、精确到秒)can confirm = the picked colour ≠ the current verdict
and (the trimmed reason is not empty or this is a first setting)
first setting = the gate has no entry in the chain yet and is not reviewed
reason ≤ 100 characters (graphemes: one emoji counts as 1)
confirm = slide to 100%; letting go early springs back, a double-click does nothing
write = the gate’s manual verdict + one entry at the head of the chain (which change, from, to, who, to the second)决策 ③Decision 3
两种角色,一份交付状态Two roles, one delivery status.
项目经理与部门负责人共用一份数据。上传和反馈同步到矩阵,逾期与交齐按统一规则判定。
The PM and department leads share one set of data. Uploads and feedback update the matrix, with shared rules for overdue and complete.
-
供应商 PPAP 资料◆ 关键期限 10.05已逾期 5 天⏸ 已反馈,暂停催办,等项目经理处理
反馈原文
期限赶不上 · 供应商 PPAP 资料下周才能齐,申请顺延一周。
-
供应商产能评估◆ 关键期限 10.12还剩 2 天 5 小时
只列派给你的条目。你交一份,项目经理那一格立刻变。
- 长周期物料清单.pdfG2 投资 · v1 · 66 天前
- 模具订单.pdfG2 投资 · v1 · 66 天前
- 供应商定点清单.pdfG1 立项 · v1 · 141 天前
- 关键物料询价.pdfG0 报价 · v1 · 216 天前
-
Supplier PPAP documents◆ criticalDue Oct 55 days overdue⏸ Feedback sent — reminders paused until the PM reads it
What you wrote
Can't make the date · Supplier PPAP documents won't be complete until next week; asking for a one-week extension.
-
Supplier capacity assessment◆ criticalDue Oct 122 d 5 h left
Only what is assigned to you. Deliver one and the PM’s cell changes at once.
- Long-lead parts list.pdfG2 Investment · v1 · 66 d ago
- Tooling purchase order.pdfG2 Investment · v1 · 66 d ago
- Supplier nomination list.pdfG1 Approval · v1 · 141 d ago
- Key material RFQ.pdfG0 Quote · v1 · 216 d ago
演示简化:按自然日算,格子期限取未交条目里最早的一条。
格子状态
不需提交的格 → 不需提交
池 = 按关键件 且 有关键件 ? 关键件 : 全部件
N = 池的条数,M = 其中交了的条数
N = 0 → 待定条目(0/0 不算交齐)
M ≥ N → 交齐
M > 0 → 2M ≥ N ? 过半 : 不到一半
这道 Gate 已通过 → 已通过 · 不再催
最早的期限 < 今天 → 逾期
最早的期限 = 今天 → 今日到期(当天不算逾期)
其余 → 未到
催办(蚂蚁线)
项目暂停 / 完成 / 归档,或 Gate 已通过 → 不催
每条「有负责人、没交、有期限」的条目:
有没处理的「期限赶不上 / 这项不适用」反馈 → 跳过(暂停催办)
期限 − 今天 ≤ 1 → 催;期限 < 今天 → 逾期(红),否则即将到期(蓝)
项目经理点「已阅」= 反馈处理完,恢复催办Demo simplification: calendar days; a cell’s due date is the earliest open one.
Cell state
cell not required → not required
pool = critical basis and any critical file ? critical files : all files
N = files in the pool, M = delivered among them
N = 0 → to define (0/0 is not complete)
M ≥ N → complete
M > 0 → 2M ≥ N ? over half : under half
gate already passed → passed · no reminders
earliest due < today → overdue
earliest due = today → due today (the due day is not overdue)
otherwise → not yet
Reminders (marching ants)
program on hold / closed / archived, or gate passed → none
for each file with an owner, not delivered, with a due date:
unread “can’t make the date / not applicable” feedback → skip (paused)
due − today ≤ 1 → remind; due < today → overdue (red), else due soon (blue)
the PM marks the feedback as read → reminders resume决策 ④Decision 4
改一个日期,计划自动重排Move one date. The plan follows.
计划保存「锚点+偏移」。关键日期改变,相关任务自动重排;拖动任务只调整偏移,之后仍跟随锚点。
The plan stores an anchor plus an offset. Moving a milestone date updates dependent tasks; dragging a task changes its offset, so it still follows the anchor.
OTS = 工装样件;PPAP = 生产件批准;SOP = 量产开始。
排期为演示用的示例模板。
端点 = 锚点日期 + 偏移天数 锚点:OTS / PPAP / SOP
锚点没有日期 → 这一行不画,列进「缺数据源」
拖整条 → 两端偏移一起 +d;拖手柄 → 只改这一端
结束 − 开始 ≥ 1 天(拖手柄时夹住)
被拖的端点离相邻行端点 ≤ 3 天 → 接上去;接上会破坏「≥ 1 天」就不接
OTS ∈ [−30, PPAP − 90] PPAP ∈ [OTS + 90, SOP − 60] SOP ∈ [PPAP + 60, PPAP + 460]OTS = off-tool sample; PPAP = production part approval; SOP = start of production.
The schedule is a sample template for this demo.
end = anchor date + offset in days anchors: OTS / PPAP / SOP
anchor has no date → the row is not drawn; it is listed under "Missing source"
drag the bar → both offsets + d; drag a handle → that end only
end − start ≥ 1 day (handles are clamped)
dragged end within 3 days of a neighbour's end → snap to it, unless that breaks "≥ 1 day"
OTS ∈ [−30, PPAP − 90] PPAP ∈ [OTS + 90, SOP − 60] SOP ∈ [PPAP + 60, PPAP + 460]汇流Convergence
一次改动,视图同步One change, shared views.
前面的改动会同步到这块看板。项目状态、逾期数和图表都从同一份数据计算。
Your changes above reach this dashboard. Project status, overdue counts and charts are all derived from the same data.
数据表 · 23 行
| 项目 | 客户 | PM | 级别 | 状态 | 当前 Gate | 当前评级 | SOP 年 |
|---|---|---|---|---|---|---|---|
| HV Junction Box P2 | Solis Vanta | Sophie Zhang | L3 | 进行中 | G0 报价 | 有条件 | 2028 |
| Fan Shroud | Corvina | Kevin Park | L2 | 进行中 | G0 报价 | 未评审 | 2029 |
| Coolant Manifold | Tessaro | Sophie Zhang | L3 | 进行中 | G0 报价 | 未评审 | 未定 |
| ZR305 | Nordfjell | Sophie Zhang | L3 | 进行中 | G1 立项 | 未通过 | 2028 |
| Pump Controller | Halcyon Motors | Daniel Wu | L2 | 进行中 | G1 立项 | 通过 | 2028 |
| DC Link Busbar | Solis Vanta | Sophie Zhang | L2 | 进行中 | G1 立项 | 有条件 | 2028 |
| Gear Damper | Kestrel Mobility | Kevin Park | L2 | 进行中 | G1 立项 | 未评审 | 2029 |
| Wren Hybrid | Corvina | Kevin Park | L2 | 进行中 | G2 投资 | 有条件 | 2027 |
| Gear Set Pack | Brightwater | Daniel Wu | L3 | 暂停 | G2 投资 | 有条件 | 2028 |
| Oil Cooler Kit | Aurora EV | Sophie Zhang | L3 | 进行中 | G2 投资 | 有条件 | 2028 |
| Pump Housing L | Helvor | Kevin Park | L3 | 暂停 | G2 投资 | 有条件 | 未定 |
| Thermal Plate | Lumen Drive | Grace Lin | L1 | 进行中 | G2 投资 | 通过 | 2028 |
| Inverter Lid | Tessaro | Grace Lin | L2 | 进行中 | G2 投资 | 未通过 | 2028 |
| AX10-B2 | Halcyon Motors | Daniel Wu | L2 | 进行中 | G3 工装样件 | 有条件 | 2028 |
| Inverter Busbar | Halcyon Motors | Grace Lin | L2 | 进行中 | G3 工装样件 | 有条件 | 2027 |
| E-Drive Cover | Nordfjell | Grace Lin | L1 | 进行中 | G3 工装样件 | 未通过 | 2027 |
| Rotor Shaft | Brightwater | Daniel Wu | L2 | 进行中 | G3 工装样件 | 通过 | 2027 |
| M-Line Gen2 | Aurora EV | Daniel Wu | L2 | 进行中 | G4 量产准备 | 有条件 | 2026 |
| Valve Body S | Aurora EV | Kevin Park | L3 | 进行中 | G4 量产准备 | 通过 | 2027 |
| Filter Housing Mini | Kestrel Mobility | Daniel Wu | L3 | 进行中 | G4 量产准备 | 有条件 | 2026 |
| Motor Housing S3 | Helvor | Kevin Park | L3 | 已完成 | 全部通过 | 通过 | 2026 |
| Sensor Bracket | Corvina | Daniel Wu | L3 | 已完成 | 全部通过 | 通过 | 2025 |
| Seal Carrier | Lumen Drive | Sophie Zhang | L3 | 已完成 | 全部通过 | 通过 | 2025 |
Data table · 23 rows
| Program | Customer | PM | Level | Status | Current gate | Current rating | SOP year |
|---|---|---|---|---|---|---|---|
| HV Junction Box P2 | Solis Vanta | Sophie Zhang | L3 | Active | G0 Quote | Conditional | 2028 |
| Fan Shroud | Corvina | Kevin Park | L2 | Active | G0 Quote | Not reviewed | 2029 |
| Coolant Manifold | Tessaro | Sophie Zhang | L3 | Active | G0 Quote | Not reviewed | TBD |
| ZR305 | Nordfjell | Sophie Zhang | L3 | Active | G1 Approval | Not passed | 2028 |
| Pump Controller | Halcyon Motors | Daniel Wu | L2 | Active | G1 Approval | Passed | 2028 |
| DC Link Busbar | Solis Vanta | Sophie Zhang | L2 | Active | G1 Approval | Conditional | 2028 |
| Gear Damper | Kestrel Mobility | Kevin Park | L2 | Active | G1 Approval | Not reviewed | 2029 |
| Wren Hybrid | Corvina | Kevin Park | L2 | Active | G2 Investment | Conditional | 2027 |
| Gear Set Pack | Brightwater | Daniel Wu | L3 | On hold | G2 Investment | Conditional | 2028 |
| Oil Cooler Kit | Aurora EV | Sophie Zhang | L3 | Active | G2 Investment | Conditional | 2028 |
| Pump Housing L | Helvor | Kevin Park | L3 | On hold | G2 Investment | Conditional | TBD |
| Thermal Plate | Lumen Drive | Grace Lin | L1 | Active | G2 Investment | Passed | 2028 |
| Inverter Lid | Tessaro | Grace Lin | L2 | Active | G2 Investment | Not passed | 2028 |
| AX10-B2 | Halcyon Motors | Daniel Wu | L2 | Active | G3 Off-tool | Conditional | 2028 |
| Inverter Busbar | Halcyon Motors | Grace Lin | L2 | Active | G3 Off-tool | Conditional | 2027 |
| E-Drive Cover | Nordfjell | Grace Lin | L1 | Active | G3 Off-tool | Not passed | 2027 |
| Rotor Shaft | Brightwater | Daniel Wu | L2 | Active | G3 Off-tool | Passed | 2027 |
| M-Line Gen2 | Aurora EV | Daniel Wu | L2 | Active | G4 Launch | Conditional | 2026 |
| Valve Body S | Aurora EV | Kevin Park | L3 | Active | G4 Launch | Passed | 2027 |
| Filter Housing Mini | Kestrel Mobility | Daniel Wu | L3 | Active | G4 Launch | Conditional | 2026 |
| Motor Housing S3 | Helvor | Kevin Park | L3 | Closed | All passed | Passed | 2026 |
| Sensor Bracket | Corvina | Daniel Wu | L3 | Closed | All passed | Passed | 2025 |
| Seal Carrier | Lumen Drive | Sophie Zhang | L3 | Closed | All passed | Passed | 2025 |
行 = 未归档的完整项目(现算)+ 轻量行(自带结论)
当前评级 = 完整项目走决策 ① 的勾连规则,和别处同一份
逾期交付格 = 决策 ③ 的矩阵规则,按真实的今天算
筛选 = 状态 并且 预设
外圈 = 按状态计数
内圈 = 只数「进行中」,按当前评级细分;其余位置画占位
六柱 = 停在这道 Gate 的项目,按当前评级堆叠
横幅 = 对比 聚合(演示种子)与 聚合(现在)rows = unarchived full programs (derived live) + light rows (carry their own verdict)
rating = full programs use the Decision 1 link rule, the same one used everywhere
overdue file cells = the Decision 3 matrix rule, on the real today
filter = status AND preset
outer = count by status
inner = active only, split by current rating; placeholders elsewhere
bars = programs sitting at each gate, stacked by current rating
banner = compare aggregate(demo seed) with aggregate(now)你的改动Your changes
演示数据预置Preset in the demo data
你You 0
试着改一处,这里会留下记录。Try changing something above. Its record will appear here.
这些改动只在你的浏览器里,刷新就没了。These changes live only in your browser and vanish on refresh.
技术与演示说明Technical and demo notes
- PM Gate:Next.js 14 · React 18 · TypeScript · Prisma · Tailwind · SSE · SVG 图表。PM Gate: Next.js 14 · React 18 · TypeScript · Prisma · Tailwind · SSE · SVG charts.
- 展示页:原生 ES 模块,构建时预渲染,零第三方请求;无 JavaScript 也可查看界面。Showcase: native ES modules, pre-rendered at build time, with no third-party requests. The interface is readable without JavaScript.
- 人名、客户、项目与日期均为虚构。操作仅在浏览器中生效,刷新即重置;演示规则与排期模板有简化。Names, customers, projects and dates are fictional. Changes stay in your browser and reset on refresh; demo rules and schedule templates are simplified.
- 源自我在一家汽车零部件制造企业实习期间的 PM 流程数字化实践。Built during my internship work on digitising PM processes at an automotive parts manufacturer.