@import "../../../../themes/t.cell.scss"; @import "../../../../themes/page.scss"; /* module/order/pages/appointment/appointment.wxss */ .page-scroll__container { flex: 0 1 auto; height: var(--page-container-safeHeight, 100vh); background: #f7f8fa; padding-bottom: 120rpx; } // 服务信息卡片 .service-card { display: flex; align-items: center; background: #fff; margin: 20rpx; padding: 24rpx; border-radius: 16rpx; box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.04); } .service-image { width: 120rpx; height: 120rpx; border-radius: 12rpx; margin-right: 24rpx; flex-shrink: 0; background: #f5f5f5; } .service-placeholder { width: 120rpx; height: 120rpx; border-radius: 12rpx; margin-right: 24rpx; flex-shrink: 0; background: #f5f5f5; display: flex; align-items: center; justify-content: center; font-size: 48rpx; } .service-info { flex: 1; display: flex; // flex-direction: column; align-items: center; justify-content: space-between; gap: 12rpx; } .service-name { font-size: 32rpx; font-weight: 500; color: #333; } .service-duration { font-size: 28rpx; color: #666; } // 时间选择卡片 .time-selection-card { background: #fff; margin: 0 20rpx 20rpx 20rpx; // padding: 32rpx; padding: 20rpx; border-radius: 16rpx; box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.04); } .time-selection-header { display: flex; align-items: center; justify-content: center; position: relative; background: white; border-radius: 12rpx; padding: 24rpx 32rpx; } .time-selection-title { font-size: 30rpx; font-weight: 500; color: black; text-align: center; width: 100%; } .time-selection-icon { position: absolute; right: 32rpx; top: 50%; transform: translateY(-50%); display: flex; align-items: center; } // 日期选择器 .date-selector { display: flex; gap: 12rpx; margin-bottom: 32rpx; overflow-x: auto; padding-bottom: 8rpx; align-items: center; justify-content: space-between; } .date-item { flex-shrink: 0; display: flex; flex-direction: column; align-items: center; padding: 16rpx 18rpx; border-radius: 12rpx; // background: #f7f8fa; background: white; border: 2rpx solid transparent; transition: all 0.3s ease; // min-width: 100rpx; &:active { transform: scale(0.95); } } .date-item--selected { // 选中状态样式在子元素中定义 position: relative; } .date-label { font-size: 24rpx; color: #666; margin-bottom: 6rpx; } .date-item--selected .date-label { color: #4caf50; font-weight: 600; } .date-value { font-size: 26rpx; color: #333; font-weight: 500; } .date-item--selected .date-value { color: #4caf50; font-weight: 600; } // 时间选择网格 - 5行5列表格 .time-grid { display: flex; flex-wrap: wrap; border: 1rpx solid #e0e0e0; border-radius: 0; background: #fff; width: 100%; box-sizing: border-box; } .time-slot { width: 20%; text-align: center; font-size: 28rpx; color: #000; background: #fff; border-right: 1rpx solid #e0e0e0; border-bottom: 1rpx solid #e0e0e0; border-radius: 0; transition: all 0.3s ease; display: flex; align-items: center; justify-content: center; min-height: 88rpx; box-sizing: border-box; padding: 0; flex-shrink: 0; // 每行最后一个去掉右边框 &:nth-child(5n) { border-right: none; } // 最后一行去掉下边框 &:nth-child(n+21) { border-bottom: none; } &:active:not(.time-slot--disabled):not(.time-slot--selected) { background: #fafafa; } } .time-slot--selected { background: #1d6ff6 !important; border-color: #1d6ff6 !important; color: #fff !important; font-weight: 500; z-index: 1; position: relative; } .time-slot--disabled { background: #fff; border-color: #e0e0e0; color: #ccc; opacity: 0.6; } // 底部安全区占位 .safe-bottom-spacer { height: 120rpx; } // 提交按钮 .submit-footer { position: fixed; bottom: 0; left: 0; right: 0; width: 100%; background: #fff; padding: 20rpx; box-shadow: 0 -4rpx 20rpx rgba(0, 0, 0, 0.08); z-index: 100; box-sizing: border-box; } .submit-btn { width: 100%; height: 88rpx; line-height: 88rpx; text-align: center; background: linear-gradient(135deg, #1d6ff6 0%, #4a90ff 100%); color: #fff; font-size: 32rpx; font-weight: 600; border-radius: 44rpx; box-shadow: 0 4rpx 12rpx rgba(29, 111, 246, 0.3); transition: all 0.3s ease; &:active { opacity: 0.9; transform: scale(0.98); box-shadow: 0 2rpx 8rpx rgba(29, 111, 246, 0.4); } }