@import "../../../../themes/t.cell.scss"; @import "../../../../themes/page.scss"; /* module/order/pages/confirme-order/confirme-order.wxss */ .page-scroll__container { flex: 0 1 auto; height: var(--page-container-safeHeight, 100vh); background: #f7f8fa; padding-bottom: 210rpx; } .bottom { padding-bottom: 0; } .service-package-placeholder { width: 160rpx; height: 160rpx; border-radius: 8rpx; margin-right: 20rpx; background-color: #f5f5f5; border: 1px solid #e8e8e8; display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .goods-list { background: transparent; margin-bottom: 20rpx; padding: 0 20rpx; } .category-title { padding: 28rpx 32rpx 0rpx; font-size: 32rpx; font-weight: 600; color: #333; background: #fff; position: sticky; top: 0; z-index: 10; border-radius: 10rpx 10rpx 0 0; margin-bottom: 0; } .goods-item { display: flex; align-items: center; padding: 32rpx; // margin: 0 20rpx 20rpx; background: #fff; border-radius: 0 0 16rpx 16rpx; box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.04); transition: all 0.3s ease; padding-bottom: 10px; &:active { transform: scale(0.98); box-shadow: 0 1rpx 8rpx rgba(0, 0, 0, 0.06); } } .goods-checkbox { margin-right: 24rpx; margin-top: 8rpx; flex-shrink: 0; } .goods-image { width: 180rpx; height: 180rpx; border-radius: 12rpx; background: #f5f5f5; margin-right: 24rpx; flex-shrink: 0; border: 1rpx solid #f0f0f0; } .goods-info { flex: 1; display: flex; flex-direction: column; min-width: 0; justify-content: space-between; min-height: 180rpx; } .goods-name-row { display: flex; align-items: center; margin-bottom: 12rpx; flex-wrap: wrap; } .goods-name { font-size: 32rpx; font-weight: 600; color: #333; flex: 1; min-width: 0; line-height: 1.4; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; text-overflow: ellipsis; } .goods-desc { font-size: 26rpx; color: #999; margin-bottom: 20rpx; line-height: 1.4; } .goods-price-row { display: flex; align-items: center; justify-content: space-between; margin-top: auto; } .goods-price-info { display: flex; flex-direction: column; align-items: center; // justify-content: center; flex-shrink: 0; height: 160rpx; } .goods-price { font-size: 36rpx; font-weight: 700; color: #ff4444; letter-spacing: -0.5rpx; } .quantity-selector { display: flex; align-items: center; border: 2rpx solid #e8e8e8; border-radius: 12rpx; overflow: hidden; background: #fff; box-shadow: 0 2rpx 4rpx rgba(0, 0, 0, 0.04); } .quantity-btn { width: 64rpx; height: 64rpx; display: flex; align-items: center; justify-content: center; background: #f8f8f8; font-size: 36rpx; font-weight: 500; color: #333; user-select: none; transition: all 0.2s ease; position: relative; &.minus { border-right: 1rpx solid #e8e8e8; } &.plus { border-left: 1rpx solid #e8e8e8; } &:active:not(.disabled) { background: #1d6ff6; color: #fff; transform: scale(0.95); } &.disabled { opacity: 0.4; background: #f5f5f5; color: #ccc; cursor: not-allowed; } } .quantity-input { width: 90rpx; height: 64rpx; text-align: center; font-size: 30rpx; font-weight: 500; color: #333; background: #fff; border: none; padding: 0; &[disabled] { background: #f8f8f8; color: #999; opacity: 0.6; } } .quantity-text { font-size: 26rpx; font-weight: 400; color: #666; } .footer-placeholder { height: 120rpx; } .footer-bar { position: fixed; bottom: 0; left: 0; right: 0; width: 100%; min-height: 100rpx; background: #fff; display: flex; align-items: center; padding: 20rpx 10rpx 0 0; box-shadow: 0 -4rpx 20rpx rgba(0, 0, 0, 0.08); z-index: 100; box-sizing: border-box; border-top: 1rpx solid #f0f0f0; } .footer-left { flex-shrink: 0; margin-right: 32rpx; } .footer-center { flex: 1; display: flex; align-items: baseline; font-size: 28rpx; color: #333; line-height: 1.4; padding-left: 20px; } .footer-text { color: #666; font-size: 26rpx; } .footer-price { color: #ff4444; font-weight: 700; font-size: 36rpx; margin-left: 8rpx; letter-spacing: -0.5rpx; } .footer-right { flex-shrink: 0; padding-right: 10px; } .checkout-btn { line-height: 76rpx; text-align: center; background: linear-gradient(135deg, #1d6ff6 0%, #4a90ff 100%); color: #fff; font-size: 30rpx; font-weight: 600; border-radius: 38rpx; box-shadow: 0 4rpx 12rpx rgba(29, 111, 246, 0.3); transition: all 0.3s ease; padding: 0 20px; user-select: none; &:active:not(.checkout-btn--loading) { opacity: 0.9; transform: scale(0.98); box-shadow: 0 2rpx 8rpx rgba(29, 111, 246, 0.4); } &.checkout-btn--loading { opacity: 0.7; pointer-events: none; cursor: not-allowed; } } .t-checkbox--block { padding: 0 !important; } // 选择地址的css .info-box { padding: 10rpx 20rpx 10rpx 20rpx; background: #f7f8fa; } .show-bttom { padding: 20rpx; } .delivery-address { font-weight: 500; font-size: 30rpx; color: #333; padding: 23rpx 20rpx; } .order-no { font-size: 28rpx; color: black; margin: 24rpx 0 0 0; } .address-card { background: #fff; border-radius: 16rpx; overflow: hidden; box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.04); &.address-card--clickable { cursor: pointer; transition: all 0.3s ease; &:active { opacity: 0.8; transform: scale(0.98); } } &.address-card--disabled { opacity: 0.9; pointer-events: none; } } .address-content { display: flex; align-items: flex-start; padding: 25rpx 24rpx; position: relative; } .address-icon-wrapper { flex-shrink: 0; width: 64rpx; height: 64rpx; display: flex; align-items: center; justify-content: center; margin-right: 10rpx; border-radius: 50%; } .address-icon { width: 36rpx; height: 36rpx; } .address-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 12rpx; } .address-header { display: flex; align-items: center; gap: 24rpx; flex-wrap: wrap; } .address-name { font-weight: 500; font-size: 30rpx; color: #333; line-height: 1.4; margin-right: 20rpx; } .address-phone { font-weight: 400; font-size: 28rpx; color: #333; line-height: 1.4; } .address-detail { color: #666; font-size: 26rpx; line-height: 1.6; word-break: break-all; } .address-actions { flex-shrink: 0; display: flex; align-items: center; gap: 20rpx; margin-left: 16rpx; } .edit-icon { font-size: 32rpx; color: #666; opacity: 0.7; } .arrow-icon { font-size: 40rpx; color: #ccc; margin-left: 10rpx; } .price-total-wrapper { padding: 0 20rpx 24rpx; margin-top: -24rpx; } .price-total { display: flex; justify-content: flex-end; align-items: baseline; background: #fff; border-radius: 10rpx; padding: 32rpx; .price-value { font-size: 40rpx; color: black; font-weight: 600; } } // 价格汇总区域 .price-summary-section { padding: 0 20rpx 20rpx; background: #f7f8fa; } .price-summary-card { background: #fff; border-radius: 10rpx; padding: 32rpx; display: flex; gap: 24rpx; } .price-row { justify-content: flex-end; align-items: baseline; } .price-label { font-size: 30rpx; color: #333; font-weight: 400; } .payable-value { font-size: 40rpx; color: #333; font-weight: 700; } // 订单信息区域 .order-info-section { padding: 0 20rpx 40rpx; background: #f7f8fa; margin-bottom: 40rpx; } .info-card { background: #fff; border-radius: 0; margin-bottom: 0; padding: 0 32rpx; overflow: hidden; margin-top: 20rpx; border-radius: 10rpx; &:first-child { margin-top: 0; } } .info-item { display: flex; align-items: center; justify-content: space-between; padding: 32rpx 0; min-height: 88rpx; box-sizing: border-box; } .info-label { font-size: 28rpx; color: #333; font-weight: 400; flex-shrink: 0; } .info-value { font-size: 28rpx; color: #333; text-align: right; flex: 1; word-break: break-all; margin-left: 24rpx; } .info-value-row { display: flex; align-items: center; justify-content: flex-end; flex: 1; gap: 16rpx; margin-left: 24rpx; } .copy-btn { font-size: 28rpx; color: #1d6ff6; flex-shrink: 0; margin-left: 10px; } .info-divider { height: 1rpx; background: #f0f0f0; margin: 0; width: 100%; } // 备注相关样式 .remark-item { padding: 32rpx 0 40rpx; display: flex; flex-direction: column; } .remark-input-wrapper { margin-top: 20rpx; position: relative; width: 100%; } .remark-textarea { width: 100%; min-height: 160rpx; padding: 20rpx; font-size: 28rpx; color: #333; background: #f7f8fa; border-radius: 8rpx; box-sizing: border-box; line-height: 1.6; border: 1rpx solid #e8e8e8; &:focus { border-color: #1d6ff6; background: #fff; } } .remark-count { display: flex; justify-content: flex-end; margin-top: 12rpx; } .remark-count-text { font-size: 24rpx; color: #999; }