/* pages/sjdingdan/sjdingdan.wxss */ /* 页面容器:禁止整体滚动 */ page { height: 100%; overflow: hidden; } .sj-page { height: 100vh; display: flex; flex-direction: column; background: #f5f6fa; } /* ========== 商品类型区 ========== */ .leixing-area { background: #fff; padding: 24rpx 0; border-bottom: 1rpx solid #f0f0f0; flex-shrink: 0; } .leixing-scroll { white-space: nowrap; } .leixing-container { display: inline-flex; padding: 0 24rpx; } .leixing-item { display: inline-flex; flex-direction: column; align-items: center; margin-right: 32rpx; padding: 12rpx 20rpx; border-radius: 28rpx; transition: all 0.2s; } .leixing-item.leixing-active { background: linear-gradient(135deg, #e8f0fe, #d4e4ff); box-shadow: 0 4rpx 12rpx rgba(33,150,243,0.15); } .leixing-img { width: 72rpx; height: 72rpx; border-radius: 50%; background: #f0f0f0; margin-bottom: 8rpx; } .leixing-name { font-size: 24rpx; color: #333; max-width: 100rpx; text-align: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } /* ========== 搜索行 ========== */ .filter-row { display: flex; align-items: center; padding: 20rpx 24rpx; background: #fff; border-bottom: 1rpx solid #f0f0f0; flex-shrink: 0; } .search-box { flex: 1; display: flex; align-items: center; background: #f0f2f5; border-radius: 36rpx; padding: 0 20rpx; height: 68rpx; } .search-icon { width: 32rpx; height: 32rpx; margin-right: 12rpx; opacity: 0.5; } .search-input { flex: 1; font-size: 26rpx; color: #333; } .search-clear { width: 40rpx; height: 40rpx; display: flex; align-items: center; justify-content: center; background: #ccc; border-radius: 50%; margin-left: 8rpx; } .search-clear text { font-size: 24rpx; color: #fff; font-weight: bold; } /* ========== 待结算提示条(保留原样式) ========== */ .sj-pending-tip { margin: 20rpx 24rpx; padding: 16rpx 24rpx; background: linear-gradient(145deg, #ffe8cc, #ffdbb5); border-left: 8rpx solid #ffaa00; border-radius: 16rpx; display: flex; align-items: center; gap: 16rpx; box-shadow: 0 8rpx 20rpx rgba(255,170,0,0.3); flex-shrink: 0; } .sj-pending-icon { font-size: 36rpx; color: #ffaa00; } .sj-pending-text { font-size: 28rpx; color: #b25700; font-weight: 600; } .sj-pending-badge { min-width: 44rpx; height: 44rpx; padding: 0 12rpx; background: linear-gradient(145deg, #ff3b3b, #d10000); color: #fff; font-size: 26rpx; font-weight: 700; line-height: 44rpx; text-align: center; border-radius: 22rpx; margin-left: auto; box-shadow: 0 4rpx 12rpx rgba(255,0,0,0.5); } /* ========== 主体布局 ========== */ .main-container { flex: 1; display: flex; overflow: hidden; } /* 左侧状态栏 */ .left-status { width: 180rpx; background: #fff; border-right: 1rpx solid #f0f0f0; padding: 28rpx 0; flex-shrink: 0; } .status-item { padding: 28rpx 20rpx; display: flex; align-items: center; justify-content: space-between; position: relative; } .status-item.status-active { background: linear-gradient(to right, #e3f2fd, #fff); } .status-name { font-size: 28rpx; color: #555; } .status-active .status-name { color: #1976D2; font-weight: 600; } .status-dot { width: 14rpx; height: 14rpx; border-radius: 50%; background: #1976D2; } /* 结算中状态的小红点数字 */ .sj-status-badge { min-width: 36rpx; height: 36rpx; padding: 0 8rpx; background: linear-gradient(145deg, #ff4d4f, #d10000); color: #fff; font-size: 22rpx; font-weight: 700; line-height: 36rpx; text-align: center; border-radius: 18rpx; margin-left: 8rpx; box-shadow: 0 4rpx 8rpx rgba(255,0,0,0.4); } /* 右侧包裹 */ .right-wrapper { flex: 1; padding-right: 30rpx; box-sizing: border-box; overflow: hidden; } .right-list { width: 100%; height: 100%; background: #f5f6fa; } .refresher-slot { text-align: center; padding: 14rpx 0; font-size: 24rpx; color: #999; } /* 内容容器 */ .list-inner { padding: 24rpx 0 200rpx 20rpx; box-sizing: border-box; } /* ========== 订单卡片 ========== */ .order-card { background: #fff; border-radius: 24rpx; padding: 24rpx; margin-bottom: 24rpx; box-shadow: 0 6rpx 20rpx rgba(0,0,0,0.04); box-sizing: border-box; width: 100%; display: flex; flex-direction: column; } /* 结算中卡片特殊边框 */ .sj-card-jiesuan { border: 2rpx solid #ff5722; box-shadow: 0 6rpx 20rpx rgba(255,87,34,0.15); } .order-card:active { transform: scale(0.98); } /* 创建时间 */ .card-time { font-size: 24rpx; color: #999; margin-bottom: 12rpx; padding-bottom: 8rpx; border-bottom: 1rpx dashed rgba(0,120,255,0.15); } /* 内容行 */ .card-content-row { display: flex; align-items: flex-start; } /* 商品图片 */ .card-img { width: 130rpx; height: 130rpx; border-radius: 18rpx; background: #f0f0f0; margin-right: 24rpx; flex-shrink: 0; } /* 中间信息区 */ .card-info { flex: 1; min-height: 130rpx; display: flex; flex-direction: column; justify-content: space-between; min-width: 0; } .card-title { font-size: 28rpx; color: #222; line-height: 1.5; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; } .card-id { font-size: 22rpx; color: #999; margin-top: 6rpx; } .card-nicheng { font-size: 22rpx; color: #666; margin-top: 4rpx; } /* 右侧状态和价格 */ .card-right { display: flex; flex-direction: column; align-items: flex-end; justify-content: center; min-height: 130rpx; margin-left: 20rpx; flex-shrink: 0; max-width: 160rpx; } .card-status { font-size: 24rpx; font-weight: 500; padding: 4rpx 12rpx; background: #f5f5f5; border-radius: 20rpx; margin-bottom: 8rpx; white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; } /* 结算中状态红色高亮(保留原样式) */ .sj-status-jiesuan { background: linear-gradient(145deg, #ff4d4f, #d10000) !important; color: #fff !important; border-color: #ffaa00; box-shadow: 0 0 15rpx #ff4d4f; } .card-price { display: flex; align-items: baseline; white-space: nowrap; } .price-symbol { font-size: 28rpx; color: #ffaa00; font-weight: 700; margin-right: 4rpx; } .price-number { font-size: 36rpx; font-weight: 700; color: #333; } /* ========== 加载与空状态 ========== */ .loading-state, .empty-state { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 120rpx 0; } .loading-spinner { width: 52rpx; height: 52rpx; border: 4rpx solid #e0e0e0; border-top-color: #1976D2; border-radius: 50%; animation: spin 0.8s linear infinite; margin-bottom: 24rpx; } @keyframes spin { to { transform: rotate(360deg); } } .empty-img { width: 200rpx; height: 200rpx; opacity: 0.4; margin-bottom: 24rpx; } .empty-text, .loading-tip { font-size: 28rpx; color: #999; } .empty-subtext { font-size: 26rpx; color: #b0b0b0; margin-top: 10rpx; } .load-more { text-align: center; padding: 36rpx 0 20rpx 0; font-size: 26rpx; color: #999; } .loading-more-state { display: flex; align-items: center; justify-content: center; padding: 20rpx 0; font-size: 26rpx; color: #999; } .mini-spinner { display: inline-block; width: 26rpx; height: 26rpx; border: 3rpx solid #ccc; border-top-color: #1976D2; border-radius: 50%; animation: spin 0.6s linear infinite; vertical-align: middle; margin-right: 10rpx; } .manual-load-more { display: flex; justify-content: center; padding: 30rpx 0 10rpx 0; } .load-more-btn { background: #ffffff; color: #1976D2; font-size: 28rpx; font-weight: 500; border: 2rpx solid #1976D2; border-radius: 40rpx; padding: 16rpx 60rpx; text-align: center; box-shadow: 0 4rpx 12rpx rgba(33,150,243,0.1); } .load-more-btn::after { border: none; } .no-more { text-align: center; padding: 40rpx 0; font-size: 26rpx; color: #999; }