appointment-detail.wxml
6 KB
<view class="container"><block wx:if="{{loading}}"><view class="loading"><text>正在加载详情...</text></view></block><block wx:else><block wx:if="{{error}}"><view class="error-state"><text>{{error}}</text><button data-event-opts="{{[['tap',[['retryLoad',['$event']]]]]}}" class="retry-btn" bindtap="__e">重试</button></view></block><block wx:else><block wx:if="{{appointmentDetail}}"><view class="detail-card"><view class="detail-header"><view class="customer-name">{{appointmentDetail.gkxm}}</view><view class="customer-phone">{{$root.m0}}</view></view><view class="detail-content"><view class="detail-section"><view class="section-title">基本信息</view><view class="detail-row"><text class="detail-label">门店</text><text class="detail-value">{{appointmentDetail.djmdName}}</text></view><view class="detail-row"><text class="detail-label">项目名称</text><text class="detail-value">{{$root.m1}}</text></view><view class="detail-row"><text class="detail-label">客户姓名</text><text class="detail-value">{{appointmentDetail.gkxm}}</text></view><view class="detail-row"><text class="detail-label">客户类型</text><text class="detail-value">{{appointmentDetail.gklx}}</text></view><view class="detail-row"><text class="detail-label">预约健康师</text><text class="detail-value">{{appointmentDetail.yyjksName}}</text></view><block wx:if="{{appointmentDetail.InviteId}}"><view class="detail-row"><text class="detail-label">关联邀约号:</text><text data-event-opts="{{[['tap',[['goToInvite',['$0'],['appointmentDetail.InviteId']]]]]}}" class="detail-value" style="color:#43a047;" catchtap="__e">{{appointmentDetail.InviteId||'无'}}</text></view></block></view><view class="detail-section"><view class="section-title">预约信息</view><view class="detail-row"><text class="detail-label">预约时间</text><text class="detail-value">{{$root.m2}}</text></view><view class="detail-row"><text class="detail-label">操作时间</text><text class="detail-value">{{$root.g0}}</text></view><view class="detail-row"><text class="detail-label">预约人</text><text class="detail-value">{{appointmentDetail.yyrName}}</text></view><view class="detail-row"><text class="detail-label">预约状态</text><text class="detail-value"><text class="{{['status-badge',appointmentDetail.F_Status=='已确认'?'success':appointmentDetail.F_Status=='已取消'?'failed':appointmentDetail.F_Status=='已预约'?'pending':'pending']}}">{{''+$root.m3+''}}</text></text></view></view><block wx:if="{{appointmentDetail.NoDealRemark}}"><view class="detail-section"><view class="section-title">说明信息</view><view class="detail-row"><text class="detail-label">说明内容</text><text class="detail-value">{{appointmentDetail.NoDealRemark}}</text></view></view></block><block wx:if="{{appointmentDetail.F_Status==='已预约'}}"><view class="action-buttons"><button data-event-opts="{{[['tap',[['cancelAppointment',['$event']]]]]}}" class="action-btn secondary" bindtap="__e">取消预约</button><button data-event-opts="{{[['tap',[['confirmAppointment',['$event']]]]]}}" class="action-btn primary" bindtap="__e">确认预约</button></view></block><block wx:if="{{appointmentDetail.F_Status==='已确认'}}"><view class="action-buttons"><button data-event-opts="{{[['tap',[['open',['/pages/member-consume/member-consume']]]]]}}" class="action-btn primary" bindtap="__e">耗卡</button><button data-event-opts="{{[['tap',[['open',['/pages/lx/lx']]]]]}}" class="action-btn primary" bindtap="__e">开单</button><button data-event-opts="{{[['tap',[['open',['/pages/lx/lx','1']]]]]}}" class="action-btn primary" bindtap="__e">活动开单</button></view></block><block wx:if="{{appointmentDetail.F_Status==='已取消'}}"><view class="action-buttons"><button data-event-opts="{{[['tap',[['openRemarkDialog',['$event']]]]]}}" class="action-btn primary" bindtap="__e">补充说明</button></view></block></view></view></block></block></block><block wx:if="{{showAlert}}"><view data-event-opts="{{[['tap',[['hideAlert',['$event']]]]]}}" class="custom-alert" bindtap="__e"><view data-event-opts="{{[['tap',[['',['$event']]]]]}}" class="alert-content" catchtap="__e"><view class="{{['alert-icon',alertConfig.type]}}"><text>{{$root.m4}}</text></view><view class="alert-title">{{alertConfig.title}}</view><view class="alert-message">{{alertConfig.message}}</view><view class="alert-buttons"><block wx:if="{{alertConfig.showCancel}}"><button data-event-opts="{{[['tap',[['handleAlertCancel',['$event']]]]]}}" class="alert-btn secondary" bindtap="__e">{{''+alertConfig.cancelText+''}}</button></block><button data-event-opts="{{[['tap',[['handleAlertConfirm',['$event']]]]]}}" class="alert-btn primary" bindtap="__e">{{''+alertConfig.confirmText+''}}</button></view></view></view></block><block wx:if="{{showLoadingOverlay}}"><view class="loading-overlay"><view class="loading-spinner"></view></view></block><block wx:if="{{showRemarkDialog}}"><view data-event-opts="{{[['tap',[['closeRemarkDialog',['$event']]]]]}}" class="dialog-overlay" bindtap="__e"><view data-event-opts="{{[['tap',[['',['$event']]]]]}}" class="remark-dialog" catchtap="__e"><view class="dialog-header"><text class="dialog-title">补充说明</text><view data-event-opts="{{[['tap',[['closeRemarkDialog',['$event']]]]]}}" class="dialog-close" bindtap="__e"><text class="close-icon">✕</text></view></view><view class="dialog-content"><view class="remark-section"><text class="remark-label">说明内容:</text><textarea class="remark-input" placeholder="请输入补充说明..." maxlength="500" show-count="{{true}}" data-event-opts="{{[['input',[['__set_model',['','remarkContent','$event',[]]]]]]}}" value="{{remarkContent}}" bindinput="__e"></textarea></view></view><view class="dialog-buttons"><button data-event-opts="{{[['tap',[['closeRemarkDialog',['$event']]]]]}}" class="dialog-btn cancel-dialog-btn" bindtap="__e">取消</button><button class="dialog-btn confirm-dialog-btn" disabled="{{$root.g1}}" loading="{{remarkSubmitting}}" data-event-opts="{{[['tap',[['submitRemark',['$event']]]]]}}" bindtap="__e"> 确定 </button></view></view></view></block></view>