diff --git a/apps/web/src/app/styles/console.css b/apps/web/src/app/styles/console.css index fc39907..3e8f4b3 100644 --- a/apps/web/src/app/styles/console.css +++ b/apps/web/src/app/styles/console.css @@ -564,24 +564,29 @@ .g-ex .msg { flex: 1; min-width: 0; font-size: 10.5px; line-height: 1.55; letter-spacing: 0; text-transform: none; color: #3a4452; } .g-exfacet { display: flex; align-items: center; gap: 6px; padding: 6px 2px 2px; font: 600 9.5px/1 var(--mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--sh-steel, #46586a); } .g-exfacet.ok { color: #2e7d4f; } -.g-maprow { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; } -.g-maprow .g-input, .g-maprow .g-select { flex: 1 1 90px; min-width: 70px; } +.g-maprow { display: flex; align-items: center; gap: 6px; flex-wrap: nowrap; } +.g-maprow .g-input { flex: 1 1 0; min-width: 0; } +.g-maprow .g-select { flex: 0 0 112px; min-width: 0; } +.g-maprow .g-btn { flex: none; padding: 4px 7px; } .g-maparr { color: var(--sh-steel, #46586a); font-weight: 700; } .g-exboard-empty { padding: 16px 18px; font-family: var(--sh-mono); font-size: 10px; line-height: 1.9; color: var(--sh-muted); } -/* 异常板高度随内容走,不被右侧属性卡拉高 —— 三条异常配 900px 空板才是脏 */ -.g-exboard { align-self: start; } +/* 激活判据卡与节点属性卡**同排等高**(560px 定高):行高由属性卡定,看板拉伸补齐; + 清单超高在卡内滚,不把页面撑长 —— 定高卡片才是台面件,不是随内容乱长的段落 */ +.g-exboard { min-height: 0; } /* 节点属性卡:图纸卡(外壳复用 g-vercard),与流程图同宽;题头右侧是状态字 + 保存芯片 */ -.g-nodecard { min-height: 0; } +.g-nodecard { height: 560px; min-height: 0; } .g-nodecard .g-vercard-h { height: auto; padding: 13px 18px 10px; } .g-nodecard .g-vercard-h .n { margin-left: auto; } .g-nodecard .g-vercard-h .g-ver-new { margin-left: 10px; } /* 内部三段(提示/节点条/属性格)统一 12px 呼吸 —— 从前是裸兄弟,三处贴死 */ -.g-nodecard-b { display: flex; flex-direction: column; gap: 12px; padding: 14px 18px 16px; } +.g-nodecard-b { flex: 1; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; gap: 12px; padding: 14px 18px 16px; } /* 小卡与节点条也入图纸语言:方角细线;等高 250,超高的内容自己滚 */ .g-nodecard .g-pick { border-radius: 0; border-color: var(--sh-line); } -.g-nodecard .g-props { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); align-items: stretch; gap: 12px; } +.g-nodecard .g-props { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 12px; } +/* 边属性:整宽单列 —— 条件与映射各占满一行,映射行才有地方一行排开 */ +.g-nodecard .g-props.g-eprops { grid-template-columns: minmax(0, 1fr); } .g-nodecard .g-prop { height: 250px; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--sh-line); border-radius: 0; box-shadow: none; } .g-nodecard .g-prop-h { font-family: var(--sh-mono); font-size: 9.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--sh-steel); border-bottom: 1px solid var(--sh-line); } .g-nodecard .g-prop-b { flex: 1; min-height: 0; overflow-y: auto; } diff --git a/apps/web/src/features/gov-process/internal/panel.tsx b/apps/web/src/features/gov-process/internal/panel.tsx index ac31018..9e4a931 100644 --- a/apps/web/src/features/gov-process/internal/panel.tsx +++ b/apps/web/src/features/gov-process/internal/panel.tsx @@ -82,7 +82,7 @@ function EdgeProps({ edge, onPatch }: { edge: FlowEdge; onPatch: (f: (e: FlowEdg const setRows = (next: MapRow[]) => onPatch((e) => ({ ...e, mapping: next })); const patchRow = (i: number, f: (r: MapRow) => MapRow) => setRows(rows.map((r, j) => (j === i ? f(r) : r))); return ( -