Files
2026-02-25 13:28:17 +08:00

225 lines
3.7 KiB
Plaintext

page {
background: #F4F6F0;
}
.orders-page {
height: 100vh;
display: flex;
flex-direction: column;
overflow: hidden;
}
.page-scroll {
flex: 1;
height: 0;
}
/* ========== Status Tabs ========== */
.status-tabs-wrap {
flex-shrink: 0;
background: #F4F6F0;
padding: 20rpx 0 12rpx;
}
.status-tabs {
display: flex;
white-space: nowrap;
padding-left: 32rpx;
height: 88rpx;
width: 100%;
box-sizing: border-box;
}
.status-tab {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0 28rpx;
height: 72rpx;
background: #fff;
border-radius: 36rpx;
margin-right: 16rpx;
font-size: 26rpx;
color: #546E7A;
font-weight: 600;
box-shadow: 0 4rpx 12rpx rgba(0,0,0,0.04);
transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
flex-shrink: 0;
border: 2rpx solid transparent;
}
.status-tab:active {
transform: scale(0.95);
}
.status-tab.active {
background: #558B2F;
color: #fff;
font-weight: 700;
box-shadow: 0 8rpx 20rpx rgba(85, 139, 47, 0.3);
border-color: #558B2F;
}
/* ========== Orders List ========== */
.orders-list {
padding: 12rpx 32rpx;
}
.order-card {
background: #fff;
border-radius: 20rpx;
padding: 28rpx;
margin-bottom: 16rpx;
box-shadow: 0 4rpx 12rpx rgba(0,0,0,0.03);
}
.order-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20rpx;
padding-bottom: 16rpx;
border-bottom: 1rpx solid #F3F4F6;
}
.order-time {
font-size: 24rpx;
color: #9CA3AF;
font-weight: 500;
}
.order-body {
display: flex;
gap: 20rpx;
}
.order-img-wrap {
width: 120rpx;
height: 120rpx;
border-radius: 16rpx;
overflow: hidden;
flex-shrink: 0;
background: #F8FAF5;
}
.order-img {
width: 100%;
height: 100%;
}
.order-img-placeholder {
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, #F1F8E9, #E8F5E9);
}
.order-info {
flex: 1;
min-width: 0;
display: flex;
flex-direction: column;
justify-content: center;
gap: 8rpx;
}
.order-item-name {
font-size: 28rpx;
font-weight: 600;
color: #1F2937;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.order-type-tag {
display: inline-block;
width: fit-content;
font-size: 20rpx;
color: #6B7280;
background: #F3F4F6;
padding: 2rpx 14rpx;
border-radius: 10rpx;
font-weight: 500;
}
.order-cost-row {
display: flex;
align-items: center;
gap: 6rpx;
}
.order-cost-sun {
font-size: 22rpx;
}
.order-cost-val {
font-size: 28rpx;
font-weight: 800;
color: #E65100;
}
.order-qty {
font-size: 22rpx;
color: #9CA3AF;
margin-left: 4rpx;
}
/* Shipping */
.order-shipping {
margin-top: 16rpx;
padding-top: 16rpx;
border-top: 1rpx solid #F3F4F6;
display: flex;
align-items: center;
gap: 8rpx;
}
.tracking-text {
font-size: 24rpx;
color: #558B2F;
font-weight: 600;
}
/* ========== Empty & Footer States ========== */
.empty-state {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 120rpx 40rpx 80rpx;
}
.empty-icon {
font-size: 100rpx;
margin-bottom: 24rpx;
}
.empty-title {
font-size: 30rpx;
font-weight: 700;
color: #374151;
margin-bottom: 12rpx;
}
.empty-desc {
font-size: 24rpx;
color: #9CA3AF;
font-weight: 500;
}
.state-footer {
padding: 40rpx;
display: flex;
justify-content: center;
align-items: center;
}
.no-more {
font-size: 24rpx;
color: #D1D5DB;
font-weight: 500;
}