64 lines
2.9 KiB
Plaintext
64 lines
2.9 KiB
Plaintext
<!-- ===== 多狗选择 ===== -->
|
|
<view wx:if="{{status==='selecting'}}" class="select-wrap">
|
|
<view class="select-title">今天遛哪只?</view>
|
|
<view class="select-sub">可多选,一起遛</view>
|
|
<view class="select-list">
|
|
<view wx:for="{{dogs}}" wx:key="_id"
|
|
class="card sel-row {{selectedMap[item._id]?'on':''}}"
|
|
data-id="{{item._id}}" bindtap="toggleSelect">
|
|
<view class="sel-avatar">🐶</view>
|
|
<view class="sel-meta">
|
|
<view class="sel-name">{{item.name}}</view>
|
|
<view class="sel-breed">{{item.breed}}<text class="sel-days">· 连续 {{item.stats.currentStreak || 0}} 天</text></view>
|
|
</view>
|
|
<view class="sel-check">{{selectedMap[item._id] ? '✓' : ''}}</view>
|
|
</view>
|
|
</view>
|
|
<button class="btn primary" bindtap="confirmSelect"><text class="btn-ico">🐾</text>开始遛狗</button>
|
|
</view>
|
|
|
|
<!-- ===== 遛狗中 / 暂停 ===== -->
|
|
<view wx:else class="walk {{status==='paused'?'paused':''}}">
|
|
<view class="status-pill {{status}}">
|
|
<text class="dot"></text>{{status==='paused' ? '已暂停' : '遛狗中'}}
|
|
</view>
|
|
|
|
<view class="map">{{status==='paused' ? '计时已停止' : (gps==='on' ? '定位中 · 累计距离' : '地图轨迹(首版可后置)')}}</view>
|
|
|
|
<view class="timer-block">
|
|
<view class="timer-label">已遛时长</view>
|
|
<view class="timer">{{timeText}}</view>
|
|
</view>
|
|
|
|
<view class="stat-grid">
|
|
<view class="stat"><view class="stat-v">{{distanceText}}<text wx:if="{{gps==='on'}}" class="stat-u"> km</text></view><view class="stat-k">距离</view></view>
|
|
<view class="stat"><view class="stat-v">{{stepsText}}</view><view class="stat-k">狗步</view></view>
|
|
</view>
|
|
<view wx:if="{{gps==='denied'}}" class="degrade-tip">未开启定位,仅记录时长(距离/狗步不计)</view>
|
|
|
|
<view class="poop-row">
|
|
<text class="poop-label">💩 便便打卡</text>
|
|
<view class="toggle {{pooped?'on':''}}" bindtap="togglePoop"><view class="knob"></view></view>
|
|
</view>
|
|
|
|
<view class="actions">
|
|
<button wx:if="{{status==='walking'}}" class="btn ghost" bindtap="pause"><text class="btn-ico">‖</text>暂停</button>
|
|
<button wx:else class="btn primary" bindtap="resume"><text class="btn-ico">▶</text>继续</button>
|
|
<button class="btn danger" bindtap="askEnd"><text class="btn-ico">■</text>结束</button>
|
|
</view>
|
|
|
|
<view class="active-dog">🐶 {{activeDogNames}}</view>
|
|
</view>
|
|
|
|
<!-- ===== 结束二次确认 ===== -->
|
|
<view wx:if="{{showEndConfirm}}" class="mask" bindtap="cancelEnd">
|
|
<view class="confirm" catchtap="">
|
|
<view class="confirm-title">结束这次遛狗?</view>
|
|
<view class="confirm-text">已遛 {{timeText}},确认结束并生成成果卡。</view>
|
|
<view class="confirm-btns">
|
|
<button class="btn ghost" bindtap="cancelEnd">再遛会</button>
|
|
<button class="btn primary" bindtap="confirmEnd">结束</button>
|
|
</view>
|
|
</view>
|
|
</view>
|