chore(docs): add OOM cross-apply analysis and agent work plan, clean up obsolete artifacts
Add OOM/cache cross-tool gap analysis and structured agent work plan for Material Trace, Query Tool, and Mid-Section Defect hardening. Remove obsolete migration blueprint and portal-no-iframe baseline artifacts. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,20 +0,0 @@
|
||||
{
|
||||
"in_scope_required_assets": {
|
||||
"/wip-overview": ["wip-overview.js"],
|
||||
"/wip-detail": ["wip-detail.js"],
|
||||
"/hold-overview": ["hold-overview.js"],
|
||||
"/hold-detail": ["hold-detail.js"],
|
||||
"/hold-history": ["hold-history.js"],
|
||||
"/reject-history": ["reject-history.js"],
|
||||
"/resource": ["resource-status.js"],
|
||||
"/resource-history": ["resource-history.js"],
|
||||
"/qc-gate": ["qc-gate.js"],
|
||||
"/job-query": ["job-query.js"],
|
||||
"/admin/performance": ["admin-performance.js"],
|
||||
"/tables": ["tables.js"],
|
||||
"/excel-query": ["excel-query.js"],
|
||||
"/query-tool": ["query-tool.js"],
|
||||
"/mid-section-defect": ["mid-section-defect.js"]
|
||||
},
|
||||
"deferred_routes": []
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"records": []
|
||||
}
|
||||
@@ -1,116 +0,0 @@
|
||||
{
|
||||
"entries": [
|
||||
{
|
||||
"id": "style-legacy-wip-overview",
|
||||
"scope": "/wip-overview",
|
||||
"owner": "frontend-mes-reporting",
|
||||
"milestone": "full-modernization-phase2",
|
||||
"reason": "Legacy styles pending full token and scope migration"
|
||||
},
|
||||
{
|
||||
"id": "style-legacy-wip-detail",
|
||||
"scope": "/wip-detail",
|
||||
"owner": "frontend-mes-reporting",
|
||||
"milestone": "full-modernization-phase2",
|
||||
"reason": "Legacy styles pending full token and scope migration"
|
||||
},
|
||||
{
|
||||
"id": "style-legacy-hold-overview",
|
||||
"scope": "/hold-overview",
|
||||
"owner": "frontend-mes-reporting",
|
||||
"milestone": "full-modernization-phase2",
|
||||
"reason": "Legacy styles pending full token and scope migration"
|
||||
},
|
||||
{
|
||||
"id": "style-legacy-hold-detail",
|
||||
"scope": "/hold-detail",
|
||||
"owner": "frontend-mes-reporting",
|
||||
"milestone": "full-modernization-phase2",
|
||||
"reason": "Legacy styles pending full token and scope migration"
|
||||
},
|
||||
{
|
||||
"id": "style-legacy-hold-history",
|
||||
"scope": "/hold-history",
|
||||
"owner": "frontend-mes-reporting",
|
||||
"milestone": "full-modernization-phase2",
|
||||
"reason": "Legacy styles pending full token and scope migration"
|
||||
},
|
||||
{
|
||||
"id": "style-legacy-reject-history",
|
||||
"scope": "/reject-history",
|
||||
"owner": "frontend-mes-reporting",
|
||||
"milestone": "full-modernization-phase2",
|
||||
"reason": "Legacy styles pending full token and scope migration"
|
||||
},
|
||||
{
|
||||
"id": "style-legacy-resource",
|
||||
"scope": "/resource",
|
||||
"owner": "frontend-mes-reporting",
|
||||
"milestone": "full-modernization-phase2",
|
||||
"reason": "Legacy styles pending full token and scope migration"
|
||||
},
|
||||
{
|
||||
"id": "style-legacy-resource-history",
|
||||
"scope": "/resource-history",
|
||||
"owner": "frontend-mes-reporting",
|
||||
"milestone": "full-modernization-phase2",
|
||||
"reason": "Legacy styles pending full token and scope migration"
|
||||
},
|
||||
{
|
||||
"id": "style-legacy-qc-gate",
|
||||
"scope": "/qc-gate",
|
||||
"owner": "frontend-mes-reporting",
|
||||
"milestone": "full-modernization-phase2",
|
||||
"reason": "Legacy styles pending full token and scope migration"
|
||||
},
|
||||
{
|
||||
"id": "style-legacy-job-query",
|
||||
"scope": "/job-query",
|
||||
"owner": "frontend-mes-reporting",
|
||||
"milestone": "full-modernization-phase2",
|
||||
"reason": "Legacy styles pending full token and scope migration"
|
||||
},
|
||||
{
|
||||
"id": "style-legacy-admin-pages",
|
||||
"scope": "/admin/pages",
|
||||
"owner": "frontend-platform-admin",
|
||||
"milestone": "full-modernization-phase2",
|
||||
"reason": "Legacy styles pending full token and scope migration"
|
||||
},
|
||||
{
|
||||
"id": "style-legacy-admin-performance",
|
||||
"scope": "/admin/performance",
|
||||
"owner": "frontend-platform-admin",
|
||||
"milestone": "full-modernization-phase2",
|
||||
"reason": "Legacy styles pending full token and scope migration"
|
||||
},
|
||||
{
|
||||
"id": "style-legacy-tables",
|
||||
"scope": "/tables",
|
||||
"owner": "frontend-mes-reporting",
|
||||
"milestone": "full-modernization-phase2",
|
||||
"reason": "Legacy styles pending full token and scope migration"
|
||||
},
|
||||
{
|
||||
"id": "style-legacy-excel-query",
|
||||
"scope": "/excel-query",
|
||||
"owner": "frontend-mes-reporting",
|
||||
"milestone": "full-modernization-phase2",
|
||||
"reason": "Legacy styles pending full token and scope migration"
|
||||
},
|
||||
{
|
||||
"id": "style-legacy-query-tool",
|
||||
"scope": "/query-tool",
|
||||
"owner": "frontend-mes-reporting",
|
||||
"milestone": "full-modernization-phase2",
|
||||
"reason": "Legacy styles pending full token and scope migration"
|
||||
},
|
||||
{
|
||||
"id": "style-legacy-mid-section-defect",
|
||||
"scope": "/mid-section-defect",
|
||||
"owner": "frontend-mes-reporting",
|
||||
"milestone": "full-modernization-phase2",
|
||||
"reason": "Legacy styles pending full token and scope migration"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
{
|
||||
"routes": {
|
||||
"/wip-overview": { "known_issues": [] },
|
||||
"/wip-detail": { "known_issues": [] },
|
||||
"/hold-overview": { "known_issues": [] },
|
||||
"/hold-detail": { "known_issues": [] },
|
||||
"/hold-history": { "known_issues": [] },
|
||||
"/reject-history": { "known_issues": [] },
|
||||
"/resource": { "known_issues": [] },
|
||||
"/resource-history": { "known_issues": [] },
|
||||
"/qc-gate": { "known_issues": [] },
|
||||
"/job-query": { "known_issues": [] },
|
||||
"/tables": { "known_issues": [] },
|
||||
"/excel-query": { "known_issues": [] },
|
||||
"/query-tool": { "known_issues": [] },
|
||||
"/mid-section-defect": { "known_issues": [] },
|
||||
"/admin/pages": { "known_issues": [] },
|
||||
"/admin/performance": { "known_issues": [] }
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"records": []
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"severity_mode": {
|
||||
"current": "block"
|
||||
},
|
||||
"deferred_routes_excluded": []
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"mode": "block",
|
||||
"errors": [],
|
||||
"warnings": [
|
||||
"/excel-query uses shell tokens without fallback ['--portal-shadow-panel'] in frontend/src/excel-query/style.css with approved exception"
|
||||
],
|
||||
"info": [],
|
||||
"passed": true
|
||||
}
|
||||
@@ -1,208 +0,0 @@
|
||||
{
|
||||
"routes": [
|
||||
{
|
||||
"route": "/wip-overview",
|
||||
"route_id": "wip-overview",
|
||||
"title": "WIP Overview",
|
||||
"scope": "in-scope",
|
||||
"render_mode": "native",
|
||||
"owner": "frontend-mes-reporting",
|
||||
"visibility_policy": "released_or_admin",
|
||||
"canonical_shell_path": "/portal-shell/wip-overview",
|
||||
"rollback_strategy": "fallback_to_legacy_route",
|
||||
"compatibility_policy": "redirect_to_shell_when_spa_enabled"
|
||||
},
|
||||
{
|
||||
"route": "/wip-detail",
|
||||
"route_id": "wip-detail",
|
||||
"title": "WIP Detail",
|
||||
"scope": "in-scope",
|
||||
"render_mode": "native",
|
||||
"owner": "frontend-mes-reporting",
|
||||
"visibility_policy": "released_or_admin",
|
||||
"canonical_shell_path": "/portal-shell/wip-detail",
|
||||
"rollback_strategy": "fallback_to_legacy_route",
|
||||
"compatibility_policy": "redirect_to_shell_when_spa_enabled"
|
||||
},
|
||||
{
|
||||
"route": "/hold-overview",
|
||||
"route_id": "hold-overview",
|
||||
"title": "Hold Overview",
|
||||
"scope": "in-scope",
|
||||
"render_mode": "native",
|
||||
"owner": "frontend-mes-reporting",
|
||||
"visibility_policy": "released_or_admin",
|
||||
"canonical_shell_path": "/portal-shell/hold-overview",
|
||||
"rollback_strategy": "fallback_to_legacy_route",
|
||||
"compatibility_policy": "redirect_to_shell_when_spa_enabled"
|
||||
},
|
||||
{
|
||||
"route": "/hold-detail",
|
||||
"route_id": "hold-detail",
|
||||
"title": "Hold Detail",
|
||||
"scope": "in-scope",
|
||||
"render_mode": "native",
|
||||
"owner": "frontend-mes-reporting",
|
||||
"visibility_policy": "released_or_admin",
|
||||
"canonical_shell_path": "/portal-shell/hold-detail",
|
||||
"rollback_strategy": "fallback_to_legacy_route",
|
||||
"compatibility_policy": "redirect_to_shell_when_spa_enabled"
|
||||
},
|
||||
{
|
||||
"route": "/hold-history",
|
||||
"route_id": "hold-history",
|
||||
"title": "Hold History",
|
||||
"scope": "in-scope",
|
||||
"render_mode": "native",
|
||||
"owner": "frontend-mes-reporting",
|
||||
"visibility_policy": "released_or_admin",
|
||||
"canonical_shell_path": "/portal-shell/hold-history",
|
||||
"rollback_strategy": "fallback_to_legacy_route",
|
||||
"compatibility_policy": "redirect_to_shell_when_spa_enabled"
|
||||
},
|
||||
{
|
||||
"route": "/reject-history",
|
||||
"route_id": "reject-history",
|
||||
"title": "Reject History",
|
||||
"scope": "in-scope",
|
||||
"render_mode": "native",
|
||||
"owner": "frontend-mes-reporting",
|
||||
"visibility_policy": "released_or_admin",
|
||||
"canonical_shell_path": "/portal-shell/reject-history",
|
||||
"rollback_strategy": "fallback_to_legacy_route",
|
||||
"compatibility_policy": "redirect_to_shell_when_spa_enabled"
|
||||
},
|
||||
{
|
||||
"route": "/resource",
|
||||
"route_id": "resource",
|
||||
"title": "Resource",
|
||||
"scope": "in-scope",
|
||||
"render_mode": "native",
|
||||
"owner": "frontend-mes-reporting",
|
||||
"visibility_policy": "released_or_admin",
|
||||
"canonical_shell_path": "/portal-shell/resource",
|
||||
"rollback_strategy": "fallback_to_legacy_route",
|
||||
"compatibility_policy": "redirect_to_shell_when_spa_enabled"
|
||||
},
|
||||
{
|
||||
"route": "/resource-history",
|
||||
"route_id": "resource-history",
|
||||
"title": "Resource History",
|
||||
"scope": "in-scope",
|
||||
"render_mode": "native",
|
||||
"owner": "frontend-mes-reporting",
|
||||
"visibility_policy": "released_or_admin",
|
||||
"canonical_shell_path": "/portal-shell/resource-history",
|
||||
"rollback_strategy": "fallback_to_legacy_route",
|
||||
"compatibility_policy": "redirect_to_shell_when_spa_enabled"
|
||||
},
|
||||
{
|
||||
"route": "/qc-gate",
|
||||
"route_id": "qc-gate",
|
||||
"title": "QC Gate",
|
||||
"scope": "in-scope",
|
||||
"render_mode": "native",
|
||||
"owner": "frontend-mes-reporting",
|
||||
"visibility_policy": "released_or_admin",
|
||||
"canonical_shell_path": "/portal-shell/qc-gate",
|
||||
"rollback_strategy": "fallback_to_legacy_route",
|
||||
"compatibility_policy": "redirect_to_shell_when_spa_enabled"
|
||||
},
|
||||
{
|
||||
"route": "/job-query",
|
||||
"route_id": "job-query",
|
||||
"title": "Job Query",
|
||||
"scope": "in-scope",
|
||||
"render_mode": "native",
|
||||
"owner": "frontend-mes-reporting",
|
||||
"visibility_policy": "released_or_admin",
|
||||
"canonical_shell_path": "/portal-shell/job-query",
|
||||
"rollback_strategy": "fallback_to_legacy_route",
|
||||
"compatibility_policy": "redirect_to_shell_when_spa_enabled"
|
||||
},
|
||||
{
|
||||
"route": "/admin/pages",
|
||||
"route_id": "admin-pages",
|
||||
"title": "Admin Pages",
|
||||
"scope": "in-scope",
|
||||
"render_mode": "external",
|
||||
"owner": "frontend-platform-admin",
|
||||
"visibility_policy": "admin_only",
|
||||
"canonical_shell_path": "/portal-shell/admin/pages",
|
||||
"rollback_strategy": "external_route_reversion",
|
||||
"compatibility_policy": "external_target_redirect"
|
||||
},
|
||||
{
|
||||
"route": "/admin/performance",
|
||||
"route_id": "admin-performance",
|
||||
"title": "Admin Performance",
|
||||
"scope": "in-scope",
|
||||
"render_mode": "native",
|
||||
"owner": "frontend-platform-admin",
|
||||
"visibility_policy": "admin_only",
|
||||
"canonical_shell_path": "/portal-shell/admin/performance",
|
||||
"rollback_strategy": "fallback_to_legacy_route",
|
||||
"compatibility_policy": "redirect_to_shell_when_spa_enabled"
|
||||
},
|
||||
{
|
||||
"route": "/tables",
|
||||
"route_id": "tables",
|
||||
"title": "Tables",
|
||||
"scope": "in-scope",
|
||||
"render_mode": "native",
|
||||
"owner": "frontend-mes-reporting",
|
||||
"visibility_policy": "released_or_admin",
|
||||
"canonical_shell_path": "/portal-shell/tables",
|
||||
"rollback_strategy": "fallback_to_legacy_route",
|
||||
"compatibility_policy": "redirect_to_shell_when_spa_enabled"
|
||||
},
|
||||
{
|
||||
"route": "/excel-query",
|
||||
"route_id": "excel-query",
|
||||
"title": "Excel Query",
|
||||
"scope": "in-scope",
|
||||
"render_mode": "native",
|
||||
"owner": "frontend-mes-reporting",
|
||||
"visibility_policy": "released_or_admin",
|
||||
"canonical_shell_path": "/portal-shell/excel-query",
|
||||
"rollback_strategy": "fallback_to_legacy_route",
|
||||
"compatibility_policy": "redirect_to_shell_when_spa_enabled"
|
||||
},
|
||||
{
|
||||
"route": "/query-tool",
|
||||
"route_id": "query-tool",
|
||||
"title": "Query Tool",
|
||||
"scope": "in-scope",
|
||||
"render_mode": "native",
|
||||
"owner": "frontend-mes-reporting",
|
||||
"visibility_policy": "released_or_admin",
|
||||
"canonical_shell_path": "/portal-shell/query-tool",
|
||||
"rollback_strategy": "fallback_to_legacy_route",
|
||||
"compatibility_policy": "redirect_to_shell_when_spa_enabled"
|
||||
},
|
||||
{
|
||||
"route": "/mid-section-defect",
|
||||
"route_id": "mid-section-defect",
|
||||
"title": "Mid Section Defect",
|
||||
"scope": "in-scope",
|
||||
"render_mode": "native",
|
||||
"owner": "frontend-mes-reporting",
|
||||
"visibility_policy": "released_or_admin",
|
||||
"canonical_shell_path": "/portal-shell/mid-section-defect",
|
||||
"rollback_strategy": "fallback_to_legacy_route",
|
||||
"compatibility_policy": "redirect_to_shell_when_spa_enabled"
|
||||
},
|
||||
{
|
||||
"route": "/material-trace",
|
||||
"route_id": "material-trace",
|
||||
"title": "Material Trace",
|
||||
"scope": "in-scope",
|
||||
"render_mode": "native",
|
||||
"owner": "frontend-mes-reporting",
|
||||
"visibility_policy": "released_or_admin",
|
||||
"canonical_shell_path": "/portal-shell/material-trace",
|
||||
"rollback_strategy": "fallback_to_legacy_route",
|
||||
"compatibility_policy": "redirect_to_shell_when_spa_enabled"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
{
|
||||
"in_scope": [
|
||||
{ "route": "/wip-overview", "category": "report" },
|
||||
{ "route": "/wip-detail", "category": "report" },
|
||||
{ "route": "/hold-overview", "category": "report" },
|
||||
{ "route": "/hold-detail", "category": "report" },
|
||||
{ "route": "/hold-history", "category": "report" },
|
||||
{ "route": "/reject-history", "category": "report" },
|
||||
{ "route": "/resource", "category": "report" },
|
||||
{ "route": "/resource-history", "category": "report" },
|
||||
{ "route": "/qc-gate", "category": "report" },
|
||||
{ "route": "/job-query", "category": "report" },
|
||||
{ "route": "/tables", "category": "report" },
|
||||
{ "route": "/excel-query", "category": "report" },
|
||||
{ "route": "/query-tool", "category": "report" },
|
||||
{ "route": "/mid-section-defect", "category": "report" },
|
||||
{ "route": "/admin/pages", "category": "admin" },
|
||||
{ "route": "/admin/performance", "category": "admin" }
|
||||
],
|
||||
"deferred": []
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"routes": {},
|
||||
"notes": "Baseline placeholder inventory"
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
{
|
||||
"source": "current frontend API consumption contracts",
|
||||
"apis": {
|
||||
"/api/wip/overview/summary": {
|
||||
"required_keys": [
|
||||
"dataUpdateDate",
|
||||
"runLots",
|
||||
"queueLots",
|
||||
"holdLots"
|
||||
],
|
||||
"notes": "summary header and cards depend on these fields"
|
||||
},
|
||||
"/api/wip/overview/matrix": {
|
||||
"required_keys": [
|
||||
"workcenters",
|
||||
"packages",
|
||||
"matrix",
|
||||
"workcenter_totals"
|
||||
],
|
||||
"notes": "matrix table rendering contract"
|
||||
},
|
||||
"/api/wip/hold-detail/summary": {
|
||||
"required_keys": [
|
||||
"workcenterCount",
|
||||
"packageCount",
|
||||
"lotCount"
|
||||
],
|
||||
"notes": "hold detail summary cards contract"
|
||||
},
|
||||
"/api/resource/history/summary": {
|
||||
"required_keys": [
|
||||
"kpi",
|
||||
"trend",
|
||||
"heatmap",
|
||||
"workcenter_comparison"
|
||||
],
|
||||
"notes": "resource history chart summary contract"
|
||||
},
|
||||
"/api/resource/history/detail": {
|
||||
"required_keys": [
|
||||
"data"
|
||||
],
|
||||
"notes": "detail table contract (plus truncated/max_records metadata when present)"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"source": "data/page_status.json",
|
||||
"errors": []
|
||||
}
|
||||
@@ -1,207 +0,0 @@
|
||||
{
|
||||
"source": "data/page_status.json",
|
||||
"admin": [
|
||||
{
|
||||
"id": "reports",
|
||||
"name": "即時報表",
|
||||
"order": 1,
|
||||
"admin_only": false,
|
||||
"pages": [
|
||||
{
|
||||
"route": "/wip-overview",
|
||||
"name": "WIP 即時概況",
|
||||
"status": "released",
|
||||
"order": 1
|
||||
},
|
||||
{
|
||||
"route": "/hold-overview",
|
||||
"name": "Hold 即時概況",
|
||||
"status": "released",
|
||||
"order": 2
|
||||
},
|
||||
{
|
||||
"route": "/resource",
|
||||
"name": "設備即時概況",
|
||||
"status": "released",
|
||||
"order": 4
|
||||
},
|
||||
{
|
||||
"route": "/qc-gate",
|
||||
"name": "QC-GATE 狀態",
|
||||
"status": "released",
|
||||
"order": 6
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "drawer-2",
|
||||
"name": "歷史報表",
|
||||
"order": 2,
|
||||
"admin_only": false,
|
||||
"pages": [
|
||||
{
|
||||
"route": "/hold-history",
|
||||
"name": "Hold 歷史績效",
|
||||
"status": "released",
|
||||
"order": 3
|
||||
},
|
||||
{
|
||||
"route": "/reject-history",
|
||||
"name": "報廢歷史查詢",
|
||||
"status": "released",
|
||||
"order": 4
|
||||
},
|
||||
{
|
||||
"route": "/resource-history",
|
||||
"name": "設備歷史績效",
|
||||
"status": "released",
|
||||
"order": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "drawer",
|
||||
"name": "查詢工具",
|
||||
"order": 3,
|
||||
"admin_only": false,
|
||||
"pages": [
|
||||
{
|
||||
"route": "/job-query",
|
||||
"name": "設備維修查詢",
|
||||
"status": "released",
|
||||
"order": 1
|
||||
},
|
||||
{
|
||||
"route": "/query-tool",
|
||||
"name": "批次追蹤工具",
|
||||
"status": "released",
|
||||
"order": 2
|
||||
},
|
||||
{
|
||||
"route": "/mid-section-defect",
|
||||
"name": "製程不良追溯分析",
|
||||
"status": "released",
|
||||
"order": 3
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "dev-tools",
|
||||
"name": "開發工具",
|
||||
"order": 4,
|
||||
"admin_only": true,
|
||||
"pages": [
|
||||
{
|
||||
"route": "/tables",
|
||||
"name": "表格總覽",
|
||||
"status": "dev",
|
||||
"order": 1
|
||||
},
|
||||
{
|
||||
"route": "/admin/pages",
|
||||
"name": "頁面管理",
|
||||
"status": "released",
|
||||
"order": 1
|
||||
},
|
||||
{
|
||||
"route": "/excel-query",
|
||||
"name": "Excel 批次查詢",
|
||||
"status": "dev",
|
||||
"order": 2
|
||||
},
|
||||
{
|
||||
"route": "/admin/performance",
|
||||
"name": "效能監控",
|
||||
"status": "dev",
|
||||
"order": 2
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"non_admin": [
|
||||
{
|
||||
"id": "reports",
|
||||
"name": "即時報表",
|
||||
"order": 1,
|
||||
"admin_only": false,
|
||||
"pages": [
|
||||
{
|
||||
"route": "/wip-overview",
|
||||
"name": "WIP 即時概況",
|
||||
"status": "released",
|
||||
"order": 1
|
||||
},
|
||||
{
|
||||
"route": "/hold-overview",
|
||||
"name": "Hold 即時概況",
|
||||
"status": "released",
|
||||
"order": 2
|
||||
},
|
||||
{
|
||||
"route": "/resource",
|
||||
"name": "設備即時概況",
|
||||
"status": "released",
|
||||
"order": 4
|
||||
},
|
||||
{
|
||||
"route": "/qc-gate",
|
||||
"name": "QC-GATE 狀態",
|
||||
"status": "released",
|
||||
"order": 6
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "drawer-2",
|
||||
"name": "歷史報表",
|
||||
"order": 2,
|
||||
"admin_only": false,
|
||||
"pages": [
|
||||
{
|
||||
"route": "/hold-history",
|
||||
"name": "Hold 歷史績效",
|
||||
"status": "released",
|
||||
"order": 3
|
||||
},
|
||||
{
|
||||
"route": "/reject-history",
|
||||
"name": "報廢歷史查詢",
|
||||
"status": "released",
|
||||
"order": 4
|
||||
},
|
||||
{
|
||||
"route": "/resource-history",
|
||||
"name": "設備歷史績效",
|
||||
"status": "released",
|
||||
"order": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "drawer",
|
||||
"name": "查詢工具",
|
||||
"order": 3,
|
||||
"admin_only": false,
|
||||
"pages": [
|
||||
{
|
||||
"route": "/job-query",
|
||||
"name": "設備維修查詢",
|
||||
"status": "released",
|
||||
"order": 1
|
||||
},
|
||||
{
|
||||
"route": "/query-tool",
|
||||
"name": "批次追蹤工具",
|
||||
"status": "released",
|
||||
"order": 2
|
||||
},
|
||||
{
|
||||
"route": "/mid-section-defect",
|
||||
"name": "製程不良追溯分析",
|
||||
"status": "released",
|
||||
"order": 3
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
{
|
||||
"source": "frontend route parsing and current parity matrix",
|
||||
"routes": {
|
||||
"/wip-overview": {
|
||||
"query_keys": [
|
||||
"workorder",
|
||||
"lotid",
|
||||
"package",
|
||||
"type",
|
||||
"status"
|
||||
],
|
||||
"notes": "filters + status URL state must remain compatible"
|
||||
},
|
||||
"/wip-detail": {
|
||||
"query_keys": [
|
||||
"workcenter",
|
||||
"workorder",
|
||||
"lotid",
|
||||
"package",
|
||||
"type",
|
||||
"status"
|
||||
],
|
||||
"notes": "workcenter deep-link and back-link query continuity"
|
||||
},
|
||||
"/hold-detail": {
|
||||
"query_keys": [
|
||||
"reason"
|
||||
],
|
||||
"notes": "reason required for normal access flow"
|
||||
},
|
||||
"/resource-history": {
|
||||
"query_keys": [
|
||||
"start_date",
|
||||
"end_date",
|
||||
"granularity",
|
||||
"workcenter_groups",
|
||||
"families",
|
||||
"resource_ids",
|
||||
"is_production",
|
||||
"is_key",
|
||||
"is_monitor"
|
||||
],
|
||||
"notes": "query/export params must remain compatible"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user