/* pages/companion-orders/companion-orders.wxss */ .container { min-height: 100vh; background: linear-gradient(180deg, #E8C3D4 0%, #F5E6EC 100%); padding-bottom: 40rpx; } /* 统计卡片 */ .stats-card { display: flex; justify-content: space-around; background: linear-gradient(135deg, #b06ab3 0%, #d4a5d6 100%); padding: 40rpx 20rpx; margin: 20rpx; border-radius: 20rpx; box-shadow: 0 4rpx 20rpx rgba(176, 106, 179, 0.3); } .stat-item { display: flex; flex-direction: column; align-items: center; } .stat-value { font-size: 40rpx; font-weight: 700; color: #fff; margin-bottom: 8rpx; } .stat-label { font-size: 24rpx; color: rgba(255, 255, 255, 0.8); } /* 筛选标签 */ .filter-tabs { display: flex; background: #fff; margin: 0 20rpx 20rpx; border-radius: 16rpx; padding: 8rpx; box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.05); } .tab { flex: 1; text-align: center; padding: 20rpx 0; font-size: 28rpx; color: #666; border-radius: 12rpx; transition: all 0.3s; } .tab.active { background: linear-gradient(135deg, #b06ab3 0%, #d4a5d6 100%); color: #fff; } /* 订单列表 */ .order-list { padding: 0 20rpx; } .order-item { background: #fff; border-radius: 20rpx; padding: 24rpx; margin-bottom: 20rpx; box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.05); } .order-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20rpx; } .user-info { display: flex; align-items: center; } .user-avatar { width: 80rpx; height: 80rpx; border-radius: 50%; margin-right: 16rpx; } .user-name { font-size: 30rpx; font-weight: 500; color: #333; } .order-status { padding: 8rpx 20rpx; border-radius: 20rpx; font-size: 24rpx; } .order-status.pending { background: #fff3e0; color: #ff9800; } .order-status.in_progress { background: #e3f2fd; color: #2196f3; } .order-status.completed { background: #e8f5e9; color: #4caf50; } .order-status.cancelled { background: #f5f5f5; color: #9e9e9e; } .order-content { display: flex; justify-content: space-between; align-items: center; padding: 16rpx 0; border-top: 1rpx solid #f5f5f5; border-bottom: 1rpx solid #f5f5f5; } .order-info { display: flex; align-items: center; gap: 16rpx; } .service-type { background: #e8c3d4; color: #b06ab3; padding: 6rpx 16rpx; border-radius: 8rpx; font-size: 24rpx; } .service-duration { font-size: 26rpx; color: #666; } .order-price { font-size: 36rpx; font-weight: 600; color: #b06ab3; } .order-footer { display: flex; justify-content: space-between; align-items: center; margin-top: 16rpx; } .order-time { font-size: 24rpx; color: #999; } .order-actions { display: flex; gap: 16rpx; } .btn-action { background: linear-gradient(135deg, #b06ab3 0%, #d4a5d6 100%); color: #fff; font-size: 24rpx; padding: 12rpx 24rpx; border-radius: 30rpx; border: none; } .btn-action.secondary { background: #f5f5f5; color: #666; } /* 空状态 */ .empty-state { display: flex; flex-direction: column; align-items: center; padding: 120rpx 0; } .empty-state image { width: 240rpx; height: 240rpx; margin-bottom: 30rpx; opacity: 0.5; } .empty-state text { font-size: 30rpx; color: #999; } /* 加载更多 */ .load-more { text-align: center; padding: 30rpx 0; } .load-more text { font-size: 26rpx; color: #999; } /* ========== 订单评价展示样式 ========== */ .order-review { background: #faf5ff; border-radius: 16rpx; padding: 20rpx; margin-top: 16rpx; } .review-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12rpx; } .review-label { font-size: 24rpx; color: #6a7282; } .review-rating { display: flex; gap: 4rpx; } .review-rating .star { font-size: 24rpx; } .review-content { font-size: 26rpx; color: #364153; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .review-reply { margin-top: 12rpx; padding-top: 12rpx; border-top: 1rpx solid #e5e7eb; } .reply-label { font-size: 22rpx; color: #6a7282; } .reply-text { font-size: 24rpx; color: #4a5565; margin-left: 8rpx; } .reply-btn { display: inline-block; margin-top: 12rpx; font-size: 24rpx; color: #b06ab3; } /* ========== 回复评价弹窗样式 ========== */ .reply-modal-mask { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); z-index: 1000; } .reply-modal { position: fixed; left: 0; right: 0; bottom: 0; background: #fff; border-radius: 32rpx 32rpx 0 0; z-index: 1001; max-height: 80vh; display: flex; flex-direction: column; animation: slideUp 0.3s ease; } @keyframes slideUp { from { transform: translateY(100%); } to { transform: translateY(0); } } .reply-modal.show { transform: translateY(0); } .reply-modal-header { display: flex; justify-content: space-between; align-items: center; padding: 32rpx; border-bottom: 2rpx solid #f3f4f6; } .reply-modal-title { font-size: 36rpx; font-weight: 700; color: #101828; } .reply-modal-close { width: 48rpx; height: 48rpx; display: flex; align-items: center; justify-content: center; } .close-icon { font-size: 48rpx; color: #6a7282; line-height: 1; } .reply-modal-content { flex: 1; padding: 32rpx; overflow-y: auto; } /* 评价信息 */ .review-info { background: #f9fafb; border-radius: 16rpx; padding: 24rpx; margin-bottom: 24rpx; } .review-rating-row { display: flex; align-items: center; gap: 12rpx; margin-bottom: 12rpx; } .rating-label { font-size: 26rpx; color: #6a7282; } .rating-stars { display: flex; gap: 4rpx; } .rating-stars .star { font-size: 28rpx; } .review-tags { display: flex; flex-wrap: wrap; gap: 12rpx; margin-bottom: 12rpx; } .review-tags .tag { background: #fff0f3; color: #b06ab3; padding: 6rpx 16rpx; border-radius: 100rpx; font-size: 22rpx; } .review-text { font-size: 28rpx; color: #364153; line-height: 1.6; } /* 已有回复 */ .existing-reply { background: #ecfdf5; border-radius: 16rpx; padding: 24rpx; margin-bottom: 24rpx; } .existing-reply-label { font-size: 24rpx; color: #059669; display: block; margin-bottom: 8rpx; } .existing-reply-text { font-size: 28rpx; color: #065f46; line-height: 1.6; } /* 回复输入 */ .reply-input-section { margin-bottom: 24rpx; } .input-label { font-size: 28rpx; font-weight: 600; color: #101828; margin-bottom: 12rpx; display: block; } .reply-textarea { width: 100%; height: 200rpx; padding: 24rpx; background: #f9fafb; border-radius: 16rpx; font-size: 28rpx; color: #101828; box-sizing: border-box; } .char-count { display: block; text-align: right; font-size: 24rpx; color: #99a1af; margin-top: 8rpx; } /* 提交按钮 */ .reply-modal-footer { padding: 24rpx 32rpx; padding-bottom: calc(24rpx + env(safe-area-inset-bottom)); border-top: 2rpx solid #f3f4f6; } .submit-btn { width: 100%; height: 96rpx; background: linear-gradient(135deg, #b06ab3 0%, #d4a5d6 100%); color: #fff; font-size: 32rpx; font-weight: 600; border-radius: 48rpx; border: none; display: flex; align-items: center; justify-content: center; } .submit-btn.disabled { opacity: 0.6; } .submit-btn::after { border: none; }