OfficeSystem/styles/task-card.scss
2025-11-24 09:36:33 +08:00

181 lines
2.6 KiB
SCSS

// 任务卡片公共样式
.task-card {
background: #fff;
border-radius: 12px;
padding: 16px;
display: flex;
flex-direction: column;
position: relative;
cursor: pointer;
transition: all 0.3s ease;
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
&:active {
transform: scale(0.98);
opacity: 0.9;
}
// 即将逾期卡片样式
&.task-card-imminent {
border-left: 4px solid #ff9800;
}
// 待完成卡片样式
&.task-card-pending {
border-left: 4px solid #2885ff;
}
// 已完成卡片样式
&.task-card-completed {
border-left: 4px solid #909399;
opacity: 0.85;
}
// 逾期卡片样式
&.task-card-overdue {
background: linear-gradient(135deg, #fff5f5 0%, #ffe6e6 100%);
border-left: 4px solid #f56c6c;
box-shadow: 0 2px 12px rgba(255, 68, 68, 0.1);
}
// 已取消卡片样式 - 优先级高于逾期
&.task-card-cancelled {
border-left: 4px solid #909399;
opacity: 0.75;
background: #f5f5f5;
}
}
.task-header {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 12px;
justify-content: space-between;
}
.task-badge-wrapper {
flex-shrink: 0;
display: flex;
align-items: center;
gap: 8px;
}
.task-date-wrapper {
background: rgba(0, 0, 0, 0.04);
border-radius: 4px;
padding: 4px 8px;
}
.task-date {
font-size: 14px;
color: #333;
font-weight: 500;
}
.task-content {
flex: 1;
display: flex;
flex-direction: column;
gap: 8px;
}
.task-project {
font-size: 12px;
color: #666;
line-height: 1.5;
}
.task-description {
font-size: 14px;
color: #333;
line-height: 1.5;
margin-bottom: 4px;
}
.task-meta {
display: flex;
flex-direction: column;
gap: 4px;
}
.task-owner {
font-size: 12px;
color: #666;
}
.task-time-row {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
}
.task-time {
font-size: 12px;
color: #666;
}
.task-countdown {
display: flex;
align-items: center;
gap: 4px;
}
.countdown-icon {
font-size: 14px;
}
.countdown-text {
font-size: 12px;
font-weight: 500;
&.countdown-warning {
color: #ff9800;
}
&.countdown-primary {
color: #2885ff;
}
&.countdown-error {
color: #f56c6c;
}
}
.task-action {
display: flex;
justify-content: flex-end;
}
// 任务容器样式
.task-container {
padding: 16px;
display: flex;
flex-direction: column;
gap: 12px;
}
// 空状态样式
.empty-state {
padding: 60px 20px;
text-align: center;
}
.empty-text {
font-size: 14px;
color: #999;
}
// 加载更多提示样式
.load-more-tip {
padding: 20px;
text-align: center;
}
.load-more-text {
font-size: 12px;
color: #999;
}