- 新增 web/shared:pro.css(AntD 5 设计系统,旧 CSS 变量统一映射 AntD 色板)、 session.js(后端优先+本地账号降级双轨会话,IAOP_AUTH 兼容层)、 pro-header.js(全站统一 Pro 导航条:logo/页题/用户角色 Tag/退出) - 门户 web/index.html:未登录跳登录页(next 回跳),登录后按角色过滤 可见模块(readonly→驾驶舱/助手/移动端;engineer→+配置台;admin→全部) - 登录页 auth/login.html 重写为 Ant Design Pro 风格,本地降级模式自动 播种演示账号(admin/engineer/viewer),保留 OIDC SSO 双轨入口 - user_store.js 新增 verify() + seedDefaults() 默认账号播种 - 六模块页统一接入 pro.css + 统一导航条 + 登录守卫(PRD 8.2) - 驾驶舱主题 dark→light(Ant Design 5 色板):renderer.py THEME_TOKENS、 ti-cl4/resin 模板 theme、告警三级配色对齐 AntD(P0 #ff4d4f/P1 #faad14/ P2 #1677ff),渲染计划已重编(build_plans.py) - 验证:core/cockpit 86 单测通过;JS 语法检查通过;静态冒烟全 200
72 lines
2.5 KiB
HTML
72 lines
2.5 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="zh-CN">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<!-- 移动端视口:iOS14+/Android 10+(PRD 9);viewport-fit 适配刘海屏 -->
|
||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
|
||
<title>iAOP 移动端驾驶舱</title>
|
||
<link rel="stylesheet" href="mobile.css">
|
||
<link rel="stylesheet" href="../shared/pro.css">
|
||
</head>
|
||
<body>
|
||
<!-- iAOP 移动端只读驾驶舱 + 交接班摘要(issue #136 / PRD 2.2 场景C、7.5)
|
||
纯静态(无构建链),与 Web 驾驶舱共享布局资产(../cockpit/plans/*.json),
|
||
只读展示:工艺四状态 / KPI / 告警;交接班摘要按 handover_brief 章节渲染。 -->
|
||
<header id="topbar">
|
||
<h1 id="page-title">iAOP 移动驾驶舱</h1>
|
||
<div>
|
||
<button id="btn-refresh" class="ghost-btn">刷新</button>
|
||
<span id="ro-badge">只读</span>
|
||
</div>
|
||
</header>
|
||
|
||
<!-- 只读驾驶舱视图 -->
|
||
<main id="view-cockpit" class="view active">
|
||
<div id="m-stages" class="card"></div>
|
||
<div id="m-kpis" class="kpi-grid"></div>
|
||
<div class="card">
|
||
<div class="card-title">告警(只读)</div>
|
||
<div id="m-alarms"></div>
|
||
</div>
|
||
</main>
|
||
|
||
<!-- 交接班摘要视图 -->
|
||
<main id="view-handover" class="view">
|
||
<div class="card">
|
||
<div class="row">
|
||
<select id="shift-select">
|
||
<option value="早班 08:00-16:00">早班 08:00-16:00</option>
|
||
<option value="中班 16:00-24:00">中班 16:00-24:00</option>
|
||
<option value="夜班 00:00-08:00">夜班 00:00-08:00</option>
|
||
</select>
|
||
<button id="btn-gen" class="primary">生成摘要</button>
|
||
</div>
|
||
<!-- issue #158:历史摘要查看(最近 10 次生成,本地保存) -->
|
||
<div class="row" id="brief-history-row" hidden>
|
||
<select id="brief-history"></select>
|
||
</div>
|
||
<div id="gen-status" class="hint"></div>
|
||
</div>
|
||
<div id="brief"></div>
|
||
<div class="card" id="push-card" hidden>
|
||
<button id="btn-push" class="primary">推送下一班</button>
|
||
<span id="push-status" class="hint"></span>
|
||
</div>
|
||
</main>
|
||
|
||
<!-- 底部页签(移动端惯用) -->
|
||
<nav id="tabbar">
|
||
<button class="tab active" data-view="cockpit">驾驶舱</button>
|
||
<button class="tab" data-view="handover">交接班</button>
|
||
</nav>
|
||
|
||
<script src="../auth/user_store.js"></script>
|
||
<script src="../shared/session.js"></script>
|
||
<script>
|
||
// 登录守卫(PRD 8.2):未登录跳登录页(移动端不加 Pro 桌面导航条,仅守卫)
|
||
IAOP_SESSION.requireLoginElseRedirect("../auth/login.html");
|
||
</script>
|
||
<script src="mobile.js"></script>
|
||
</body>
|
||
</html>
|