.wle-page { padding: 16px 20px 24px; } .wle-header { margin-bottom: 14px; } .wle-header .ant-typography { margin-bottom: 4px; } /* 口径说明:页面顶部是深色渐变,直接放浅色小字看不清,给一块浅底 */ .wle-note { display: block; max-width: 1180px; margin-top: 8px; padding: 10px 14px; background: var(--sycm-bg-container); border: 1px solid var(--sycm-border-color); border-radius: 8px; font-size: 12px; line-height: 1.75; } /* ============ 批次状态条 ============ */ .wle-status { margin-bottom: 12px; } .wle-status__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; } .wle-status__batch { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; } .wle-status__badge { padding: 1px 8px; border-radius: 4px; background: rgba(22, 119, 255, 0.12); color: #0958d9; font-size: 12px; font-weight: 600; line-height: 20px; } .wle-status__badge--idle { background: rgba(136, 135, 128, 0.14); color: var(--sycm-text-tertiary); } .wle-status__label { font-size: 13px; color: var(--sycm-text-primary); } .wle-status__window, .wle-status__time { font-size: 12px; color: var(--sycm-text-tertiary); } .wle-alert { margin-bottom: 12px; } /* ============ 统计卡 ============ */ .wle-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 12px; } @media (max-width: 1200px) { .wle-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } } .wle-stat { height: 100%; } .wle-stat__sub { display: block; margin-top: 4px; font-size: 12px; } /* ============ 异常类型筛选 ============ */ .wle-types { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; } .wle-type { display: inline-flex; align-items: center; gap: 4px; padding: 2px 10px 2px 2px; border: 1px solid var(--sycm-border-color); border-radius: 16px; background: var(--sycm-bg-container); cursor: pointer; transition: border-color 0.15s, background 0.15s; } .wle-type:hover { border-color: rgba(22, 119, 255, 0.45); } .wle-type.is-active { border-color: rgba(22, 119, 255, 0.6); background: rgba(22, 119, 255, 0.08); } .wle-type.is-empty { opacity: 0.55; } .wle-type__count { font-size: 12px; font-weight: 600; color: var(--sycm-text-primary); font-variant-numeric: tabular-nums; } .wle-type__clear { padding: 0; border: none; background: transparent; font-size: 12px; color: #1677ff; cursor: pointer; } /* ============ 主从两栏 ============ */ .wle-body { display: flex; align-items: flex-start; gap: 14px; } .wle-centers { flex: none; width: 272px; } .wle-centers__hint { font-size: 11px; } .wle-centers__list { margin: 0; padding: 0; list-style: none; } .wle-center { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; padding: 6px 8px; margin-bottom: 2px; border: 1px solid transparent; border-radius: 6px; background: transparent; font-size: 13px; text-align: left; color: var(--sycm-text-primary); cursor: pointer; transition: background 0.12s ease; } .wle-center:hover { background: var(--sycm-bg-subtle); } .wle-center.is-active { border-color: rgba(22, 119, 255, 0.45); background: rgba(22, 119, 255, 0.08); } .wle-center.is-clean .wle-center__name { color: var(--sycm-text-tertiary); } .wle-center__name { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .wle-center__badge { flex: none; min-width: 24px; padding: 0 6px; border-radius: 9px; background: rgba(136, 135, 128, 0.12); font-size: 11px; font-weight: 600; line-height: 17px; text-align: center; color: var(--sycm-text-tertiary); font-variant-numeric: tabular-nums; } .wle-center__badge.is-warn { background: rgba(255, 77, 79, 0.16); color: #cf1322; } .wle-detail { flex: 1 1 auto; min-width: 0; } .wle-detail__scope { margin-left: 8px; font-size: 12px; font-weight: 400; color: var(--sycm-text-tertiary); } .wle-detail__clear { padding: 0; border: none; background: transparent; font-size: 12px; color: #1677ff; cursor: pointer; } .wle-detail__hours { color: #cf1322; font-variant-numeric: tabular-nums; } .wle-detail__soid { font-variant-numeric: tabular-nums; } .wle-foot { display: block; margin-top: 12px; font-size: 12px; color: var(--sycm-text-tertiary); } /* 窄屏:仓库列表改两列网格,明细整行下移 */ @media (max-width: 1200px) { .wle-body { flex-direction: column; } .wle-centers { width: 100%; } .wle-centers__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 10px; } } /* ── 异常通知(每天推 Excel 到钉钉群)───────────────────────────── */ .wle-notify__row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; } .wle-notify__label { flex: 0 0 88px; font-size: 13px; color: var(--sycm-text-secondary); } .wle-notify__last { padding: 8px 10px; border-radius: 6px; background: var(--sycm-fill-quaternary, rgba(0, 0, 0, 0.02)); font-size: 12px; } .wle-notify__error { margin-top: 4px; } .wle-notify__help { font-size: 12px; line-height: 1.8; color: var(--sycm-text-secondary); } .wle-notify__help code { padding: 0 4px; border-radius: 3px; background: var(--sycm-fill-quaternary, rgba(0, 0, 0, 0.04)); } .wle-notify__preview { padding: 10px 12px; border: 1px solid var(--sycm-border, rgba(0, 0, 0, 0.08)); border-radius: 8px; background: var(--sycm-fill-quaternary, rgba(0, 0, 0, 0.02)); font-size: 12px; line-height: 1.8; } .wle-notify__preview-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; } .wle-notify__preview pre { margin: 8px 0 0; padding: 8px 10px; border-radius: 6px; background: var(--sycm-bg-container, #fff); white-space: pre-wrap; word-break: break-all; font-size: 12px; line-height: 1.7; /* 30 条明细大概 40 行,别把整个弹窗撑爆;内部滚动看全 */ max-height: 280px; overflow: auto; }