2026-05-09 16:19:37 +08:00

164 lines
2.6 KiB
Plaintext

/* ===== 页面 ===== */
.order-page {
min-height: 100vh;
background: #f5f7fa;
}
.list {
padding: 24rpx 32rpx 40rpx;
box-sizing: border-box;
}
/* ===== 订单卡片 ===== */
.order-card {
background: #ffffff;
border-radius: 20rpx;
padding: 36rpx 40rpx;
margin-bottom: 24rpx;
}
.card-row {
display: flex;
align-items: center;
margin-bottom: 12rpx;
}
.card-row:last-child {
margin-bottom: 0;
}
.card-row--top {
justify-content: space-between;
align-items: flex-start;
margin-bottom: 16rpx;
}
.card-row--amount {
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 6rpx;
margin-top: 4rpx;
}
.event-name {
flex: 1;
font-size: 30rpx;
color: #1a1a1a;
font-weight: 600;
padding-right: 24rpx;
line-height: 1.4;
}
/* 状态文字颜色 */
.order-status {
flex-shrink: 0;
font-size: 26rpx;
font-weight: 500;
}
.status-success {
color: #07c160;
}
.status-cancelled {
color: #ff4d4f;
}
.status-pending {
color: #fa8c16;
}
.pay-time {
font-size: 24rpx;
color: #999;
}
.amount-item {
font-size: 24rpx;
color: #999;
}
.amount-val {
color: #333;
font-weight: 500;
}
/* ===== 空状态 ===== */
.empty {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding-top: 240rpx;
padding-bottom: 240rpx;
}
.empty-icon {
display: flex;
flex-direction: column;
align-items: center;
width: 60%;
/* margin-bottom: 32rpx; */
}
.empty-text {
font-size: 28rpx;
color: #999;
margin-top: 24rpx;
}
/* ===== 列表底部 ===== */
.list-footer {
text-align: center;
padding: 24rpx 0 40rpx;
}
.footer-text {
font-size: 24rpx;
color: #c0c4cc;
}
/* ===== 底部加载动画 ===== */
.loading-more {
display: flex;
align-items: center;
justify-content: center;
gap: 12rpx;
}
.loading-spinner {
width: 32rpx;
height: 32rpx;
border: 4rpx solid #e0e0e0;
border-top-color: #07c160;
border-radius: 50%;
animation: spin 0.8s linear infinite;
}
@keyframes spin {
to { transform: rotate(360deg); }
}
/* ===== 骨架屏 ===== */
.skeleton-card {
overflow: hidden;
}
.skeleton-line {
height: 28rpx;
border-radius: 8rpx;
background: linear-gradient(90deg, #f0f0f0 25%, #e8e8e8 50%, #f0f0f0 75%);
background-size: 400% 100%;
animation: skeleton-shimmer 1.4s ease infinite;
}
@keyframes skeleton-shimmer {
0% { background-position: 100% 50%; }
100% { background-position: 0% 50%; }
}
.skeleton-title { width: 62%; }
.skeleton-status { width: 16%; height: 24rpx; }
.skeleton-time { width: 52%; height: 24rpx; }
.skeleton-amount { width: 38%; height: 24rpx; align-self: flex-end; }