/* 页面容器:禁止整体滚动 */ page { height: 100%; overflow: hidden; } .ds-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; } .type-switch { display: flex; background: #f0f2f5; border-radius: 36rpx; padding: 4rpx; margin-right: 24rpx; } .type-btn { padding: 12rpx 32rpx; font-size: 26rpx; color: #666; border-radius: 32rpx; transition: all 0.2s; } .type-btn.type-active { background: #fff; color: #1976D2; font-weight: 600; box-shadow: 0 2rpx 10rpx rgba(0,0,0,0.06); } .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; } /* 主体布局 */ .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; } .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; } /* ✅ 右侧包裹:通过 padding-right 制造右侧间距 */ .right-wrapper { flex: 1; padding-right: 30rpx; /* 卡片距离屏幕右侧 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; } /* 内容容器:仅左侧 padding,右侧间距由 wrapper 负责 */ .list-inner { padding: 24rpx 0 200rpx 20rpx; /* 上、右、下、左 —— 右边无 padding */ box-sizing: border-box; } /* 订单卡片(严格限制宽度) */ .order-card { display: flex; align-items: center; 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%; /* 占满父容器宽度 */ } .order-card:active { transform: scale(0.98); } .card-img { width: 130rpx; height: 130rpx; border-radius: 18rpx; background: #f0f0f0; margin-right: 24rpx; flex-shrink: 0; } .card-info { flex: 1; 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: 8rpx; } /* ✅ 状态和价格区:压缩宽度,强制不换行 */ .card-right { display: flex; flex-direction: column; align-items: flex-end; justify-content: center; 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; } .card-price { font-size: 34rpx; font-weight: 700; color: #333; white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; } /* 加载与空状态 */ .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; } .empty-img { width: 200rpx; height: 200rpx; opacity: 0.4; margin-bottom: 24rpx; } .empty-text, .loading-tip { font-size: 28rpx; color: #999; } .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; } @import '../../styles/dashou-xym-orders-theme.wxss'; @import '../../styles/dashou-xym-orders-page.wxss';