@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; 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: #999; } // 时间选择卡片 .time-selection-card { background: #fff; margin: 0 20rpx 20rpx 20rpx; 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: #333; 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: 24rpx 0 32rpx 0; overflow-x: auto; padding-bottom: 8rpx; align-items: center; } .date-item { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; padding: 16rpx 18rpx; border-radius: 12rpx; background: white; border: 2rpx solid transparent; transition: all 0.3s ease; &:active { transform: scale(0.95); } } .date-item--selected { background: #f0faf0; border-color: #4caf50; border-radius: 12rpx; } .date-label { font-size: 24rpx; color: #999; 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列 // 用背景色+gap实现网格线,避免border导致rpx舍入溢出 .time-grid { display: flex; flex-wrap: wrap; background: #e8e8e8; gap: 1rpx; width: 100%; box-sizing: border-box; border: 1rpx solid #e8e8e8; border-bottom: none; } .time-slot { width: calc((100% - 4rpx) / 5); text-align: center; font-size: 26rpx; color: #333; background: #fff; border-bottom: 1rpx solid #e8e8e8; border-radius: 0; transition: all 0.3s ease; display: flex; align-items: center; justify-content: center; min-height: 96rpx; box-sizing: border-box; padding: 0; &:active:not(.time-slot--disabled):not(.time-slot--selected) { background: #fafafa; } } .time-slot--selected { background: #1d6ff6 !important; color: #fff !important; font-weight: 500; z-index: 1; position: relative; } .time-slot--disabled { background: #fff; 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 20rpx calc(20rpx + env(safe-area-inset-bottom)); 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: #1d6ff6; color: #fff; font-size: 32rpx; font-weight: 600; border-radius: 44rpx; transition: all 0.3s ease; &:active { opacity: 0.9; transform: scale(0.98); } } // ======================================== // TDesign Calendar Skyline 兼容性覆盖 // Skyline 不支持 CSS Grid,用 flexbox 替代 // 利用组件 styleIsolation: apply-shared 注入样式 // ======================================== .t-calendar__days { display: flex !important; flex-wrap: wrap !important; } .t-calendar__days-item { width: 14.2857% !important; box-sizing: border-box !important; text-align: center !important; } .t-calendar__dates { display: flex !important; flex-wrap: wrap !important; } .t-calendar__dates-item { width: 14.2857% !important; box-sizing: border-box !important; }