{ "$schema": "iAOP-cockpit-layout-v1", "title": "吸附树脂车间驾驶舱", "theme": "light", "themeTokens": { "--cockpit-bg": "#f0f2f5", "--cockpit-surface": "#ffffff", "--cockpit-fg": "rgba(0,0,0,0.88)", "--cockpit-fg-muted": "rgba(0,0,0,0.45)", "--cockpit-accent": "#1677ff", "--cockpit-warn": "#faad14", "--cockpit-grid-line": "rgba(5,5,5,0.06)" }, "grid": { "columns": 12 }, "widgets": [ { "id": "process_view-0", "component": "ProcessView", "type": "process_view", "grid": { "columnStart": 1, "columnSpan": 12, "rowStart": 1, "rowSpan": 4, "widthPct": 100.0, "style": "grid-column: 1 / span 12; grid-row: 1 / span 4;" }, "description": "四状态工艺流程(合成 → 交联 → 洗涤 → 干燥)", "props": { "src": "resin_four_state.svg", "states": [ "running", "warning", "alarm", "offline" ] }, "perf": { "virtualScroll": false, "downsample": false, "worker": false } }, { "id": "trend-1", "component": "TrendChart", "type": "trend", "grid": { "columnStart": 1, "columnSpan": 6, "rowStart": 5, "rowSpan": 2, "widthPct": 50.0, "style": "grid-column: 1 / span 6; grid-row: 5 / span 2;" }, "description": "反应釜温度实时趋势", "props": { "series": "R-801.TEMP", "window": "PT30M" }, "perf": { "virtualScroll": false, "downsample": false, "worker": false } }, { "id": "trend-2", "component": "TrendChart", "type": "trend", "grid": { "columnStart": 7, "columnSpan": 6, "rowStart": 5, "rowSpan": 2, "widthPct": 50.0, "style": "grid-column: 7 / span 6; grid-row: 5 / span 2;" }, "description": "搅拌转速实时趋势", "props": { "series": "R-801.AGIT", "window": "PT30M" }, "perf": { "virtualScroll": false, "downsample": false, "worker": false } }, { "id": "kpi_card-3", "component": "KpiCard", "type": "kpi_card", "grid": { "columnStart": 1, "columnSpan": 3, "rowStart": 7, "rowSpan": 2, "widthPct": 25.0, "style": "grid-column: 1 / span 3; grid-row: 7 / span 2;" }, "description": "当批平均交换容量(mmol/g)", "props": { "metric": "resin_exchange_capacity", "label": "交换容量" }, "perf": { "virtualScroll": false, "downsample": false, "worker": false } }, { "id": "kpi_card-4", "component": "KpiCard", "type": "kpi_card", "grid": { "columnStart": 4, "columnSpan": 3, "rowStart": 7, "rowSpan": 2, "widthPct": 25.0, "style": "grid-column: 4 / span 3; grid-row: 7 / span 2;" }, "description": "当批平均交联度(%)", "props": { "metric": "resin_crosslink_degree", "label": "交联度" }, "perf": { "virtualScroll": false, "downsample": false, "worker": false } }, { "id": "kpi_card-5", "component": "KpiCard", "type": "kpi_card", "grid": { "columnStart": 7, "columnSpan": 3, "rowStart": 7, "rowSpan": 2, "widthPct": 25.0, "style": "grid-column: 7 / span 3; grid-row: 7 / span 2;" }, "description": "当批产率(%)", "props": { "metric": "batch_yield", "label": "批产率" }, "perf": { "virtualScroll": false, "downsample": false, "worker": false } }, { "id": "kpi_card-6", "component": "KpiCard", "type": "kpi_card", "grid": { "columnStart": 10, "columnSpan": 3, "rowStart": 7, "rowSpan": 2, "widthPct": 25.0, "style": "grid-column: 10 / span 3; grid-row: 7 / span 2;" }, "description": "单吨树脂综合能耗(kWh/t)", "props": { "metric": "energy_per_ton", "label": "单吨能耗" }, "perf": { "virtualScroll": false, "downsample": false, "worker": false } }, { "id": "alarm_panel-7", "component": "AlarmPanel", "type": "alarm_panel", "grid": { "columnStart": 1, "columnSpan": 9, "rowStart": 9, "rowSpan": 3, "widthPct": 75.0, "style": "grid-column: 1 / span 9; grid-row: 9 / span 3;" }, "description": "告警面板(温度/交联度/质量预测异常)", "props": { "subscribe": "alarm_stream" }, "perf": { "virtualScroll": false, "downsample": false, "worker": false } }, { "id": "nl_query-8", "component": "NlQuery", "type": "nl_query", "grid": { "columnStart": 10, "columnSpan": 3, "rowStart": 9, "rowSpan": 3, "widthPct": 25.0, "style": "grid-column: 10 / span 3; grid-row: 9 / span 3;" }, "description": "自然语言查询入口(配方/质量/能耗问答)", "props": { "placeholder": "输入自然语言查询(配方 / 质量 / 能耗)" }, "perf": { "virtualScroll": false, "downsample": false, "worker": false } } ], "widgetCount": 9, "perfFlags": { "virtualScroll": false, "downsample": false, "worker": false }, "perfHint": null }