Files
zkxw/docs/qc-card-separation-demos/_shared.css
T
2026-06-16 12:36:29 +08:00

462 lines
8.2 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* 质检工单 / 我的质检任务 · 卡片间距 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;
}
}