/* 质检工单 / 我的质检任务 · 卡片间距 Demo 共享样式(Fresh Mint Token) */ :root { --primary: #10b981; --primary-dark: #059669; --primary-bg: #ecfdf5; --text: #1e293b; --text-muted: #64748b; --border: #e2e8f0; --border-soft: #d9e8e2; --bg-page: #f8fafc; --surface: #fff; --radius: 10px; --radius-sm: 8px; } * { box-sizing: border-box; } body { margin: 0; min-height: 100vh; font-family: Inter, -apple-system, BlinkMacSystemFont, sans-serif; font-size: 14px; line-height: 1.5; color: var(--text); background: var(--bg-page); } .demo-banner { position: sticky; top: 0; z-index: 200; padding: 12px 24px; background: var(--surface); border-bottom: 1px solid var(--border); display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04); } .demo-banner h1 { margin: 0; font-size: 15px; font-weight: 600; } .demo-banner p { margin: 4px 0 0; font-size: 12px; color: var(--text-muted); max-width: 720px; line-height: 1.55; } .demo-banner strong { color: var(--primary-dark); } .demo-banner__actions { display: flex; gap: 8px; flex-wrap: wrap; flex-shrink: 0; } .demo-link { display: inline-flex; align-items: center; height: 32px; padding: 0 12px; border-radius: var(--radius-sm); border: 1px solid var(--border); background: var(--surface); font-size: 12px; font-weight: 500; color: var(--text); text-decoration: none; transition: border-color 0.15s, background 0.15s; } .demo-link:hover { border-color: #a7f3d0; background: var(--primary-bg); color: var(--primary-dark); } .demo-link--primary { background: var(--primary); border-color: var(--primary); color: #fff; } .demo-link--primary:hover { background: var(--primary-dark); border-color: var(--primary-dark); color: #fff; } .page-container { max-width: 1120px; margin: 0 auto; padding: 20px 24px 48px; } .panel { background: var(--surface); border: 1px solid var(--border-soft); border-radius: var(--radius); overflow: hidden; } .panel-top { padding: 16px 20px 0; } .title-bar-heading { font-size: 15px; font-weight: 600; padding-left: 10px; border-left: 3px solid var(--primary); margin: 0 0 12px; } .mode-tabs { display: flex; gap: 0; padding: 0 20px; border-bottom: 1px solid var(--border); } .mode-tab { padding: 10px 16px; font-size: 13px; color: var(--text-muted); border-bottom: 2px solid transparent; margin-bottom: -1px; cursor: pointer; user-select: none; } .mode-tab.active { color: var(--primary-dark); border-bottom-color: var(--primary); font-weight: 600; } .variant-note { margin: 12px 20px 0; padding: 10px 12px; background: var(--primary-bg); border-radius: var(--radius-sm); font-size: 12px; color: var(--text-muted); line-height: 1.55; } .variant-note code { font-size: 11px; padding: 1px 5px; border-radius: 4px; background: #fff; border: 1px solid #a7f3d0; color: var(--primary-dark); } /* ── 列表容器(各 demo 覆盖 .qc-work-order-cards-wrap) ── */ .qc-work-order-cards-body { border-top: 1px solid var(--border); } .qc-work-order-cards-wrap { display: flex; flex-direction: column; gap: 14px; min-height: 120px; padding: 16px; } /* ── 工单卡片结构(对齐 QcWorkOrderSingleCard) ── */ .qc-work-order-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); overflow: hidden; transition: border-color 0.15s ease, box-shadow 0.15s ease; } .qc-work-order-card:hover { border-color: #a8d4c4; box-shadow: 0 2px 8px rgba(4, 120, 87, 0.08); } .qc-work-order-card__head { display: flex; flex-direction: column; gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--border); background: #fafafa; } .qc-work-order-card__head-inner { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 12px 20px; } .qc-work-order-card__head-main { flex: 1; min-width: 280px; } .qc-work-order-card__title-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 10px; } .qc-work-order-card__index { flex-shrink: 0; font-size: 12px; color: #94a3b8; min-width: 20px; } .qc-work-order-card__no { font-size: 15px; font-weight: 600; color: #1e293b; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; word-break: break-all; } .qc-work-order-card__meta { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 8px 12px; margin: 0; } .qc-work-order-card__meta-item dt { margin: 0; font-size: 11px; line-height: 1.35; color: #94a3b8; } .qc-work-order-card__meta-item dd { margin: 0; font-size: 13px; line-height: 1.4; color: #334155; word-break: break-word; } .qc-work-order-card__ops { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; flex-shrink: 0; align-self: flex-end; } .qc-work-order-card__tasks { background: #f8fafc; padding: 10px 14px 12px; } .el-tag { display: inline-block; font-size: 11px; padding: 2px 7px; border-radius: 4px; font-weight: 500; line-height: 1.35; } .el-tag--success { background: var(--primary-bg); color: var(--primary-dark); } .el-tag--warning { background: #fffbeb; color: #d97706; } .el-tag--info { background: #f1f5f9; color: #64748b; } .el-tag--primary { background: #eff6ff; color: #2563eb; } .btn-op-item { display: inline-flex; align-items: center; gap: 4px; height: 32px; padding: 0 12px; border-radius: var(--radius-sm); font-size: 13px; border: 1px solid var(--border); background: var(--surface); cursor: default; color: var(--text); } .btn-op-item.primary { background: var(--primary); border-color: var(--primary); color: #fff; } .btn-op-item.sm { height: 26px; font-size: 11px; padding: 0 8px; } /* ── 任务子卡片(对齐 QcWorkOrderTaskSubList compact) ── */ .qc-work-order-task-sublist__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; } .qc-work-order-task-sublist__head-title { padding-left: 10px; border-left: 3px solid #047857; font-size: 12px; font-weight: 600; color: #64748b; } .qc-work-order-task-sublist__count { font-size: 12px; color: #94a3b8; } .qc-task-cards-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; } .qc-task-card { display: flex; flex-direction: column; gap: 5px; min-height: 68px; padding: 7px 10px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); transition: border-color 0.15s ease, box-shadow 0.15s ease; min-width: 0; } .qc-task-card:hover { border-color: #a8d4c4; box-shadow: 0 2px 6px rgba(4, 120, 87, 0.1); } .qc-task-card__line { display: flex; align-items: center; gap: 6px; min-width: 0; } .qc-task-card__line--top { flex-wrap: wrap; row-gap: 4px; justify-content: space-between; } .qc-task-card__line--bottom { flex-wrap: wrap; row-gap: 4px; } .qc-task-card__name { flex: 1; min-width: 0; font-size: 13px; font-weight: 600; color: #1e293b; line-height: 1.35; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .qc-task-card__tags { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px; flex-shrink: 0; } .qc-task-card__code { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 11px; color: #475569; flex-shrink: 0; } .qc-task-card__sep { flex-shrink: 0; color: #cbd5e1; font-size: 11px; } .qc-task-card__assignees { font-size: 11px; color: #64748b; flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .qc-work-order-task-sublist__ops { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px; margin-left: auto; } @media (max-width: 900px) { .qc-task-cards-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 520px) { .qc-task-cards-grid { grid-template-columns: 1fr; } }