feat(M08-B): 接入保洁任务端基础流程

This commit is contained in:
Codex
2026-06-25 23:19:04 +08:00
parent 9f7c2e4be7
commit 2a4dcd0fd8
19 changed files with 1081 additions and 10 deletions
+57
View File
@@ -0,0 +1,57 @@
<scroll-view class="scrollarea" scroll-y type="list">
<view class="page">
<view class="header">
<view>
<view class="title">保洁任务</view>
<view class="muted">待结算 {{stats.pendingSettlementText}}</view>
</view>
<button size="mini" loading="{{loading}}" bindtap="refreshAll">刷新</button>
</view>
<view class="tabs">
<button class="{{activeTab === 'hall' ? 'tab active' : 'tab'}}" data-tab="hall" bindtap="switchTab">大厅</button>
<button class="{{activeTab === 'mine' ? 'tab active' : 'tab'}}" data-tab="mine" bindtap="switchTab">我的</button>
</view>
<view class="stats">
<text>已抢 {{stats.byStatus.CLAIMED || 0}}</text>
<text>进行 {{stats.byStatus.STARTED || 0}}</text>
<text>待验 {{stats.byStatus.SUBMITTED || 0}}</text>
<text>完成 {{stats.byStatus.COMPLETED || 0}}</text>
</view>
<view wx:if="{{errorMessage}}" class="error">{{errorMessage}}</view>
<block wx:if="{{activeTab === 'hall'}}">
<view wx:if="{{!loading && hallTasks.length === 0}}" class="empty">暂无可接任务</view>
<view wx:for="{{hallTasks}}" wx:key="id" class="task-card">
<view class="task-title">{{item.storeName}} · {{item.roomName}}</view>
<view class="muted">任务号 {{item.taskNo}}</view>
<view class="muted">{{item.requirement || '常规保洁'}}</view>
<view class="row">
<text class="status">{{item.status}}</text>
<text class="amount">{{item.rewardText}}</text>
</view>
<button wx:if="{{item.canClaim}}" data-task-id="{{item.id}}" bindtap="claimTask">接单</button>
</view>
</block>
<block wx:if="{{activeTab === 'mine'}}">
<view wx:if="{{!loading && myTasks.length === 0}}" class="empty">暂无我的任务</view>
<view wx:for="{{myTasks}}" wx:key="id" class="task-card">
<view class="task-title">{{item.storeName}} · {{item.roomName}}</view>
<view class="muted">任务号 {{item.taskNo}}</view>
<view class="muted">{{item.timeText}}</view>
<view class="row">
<text class="status">{{item.status}}</text>
<text class="amount">{{item.rewardText}}</text>
</view>
<button wx:if="{{item.canStart}}" data-task-id="{{item.id}}" bindtap="startTask">开始</button>
<view wx:if="{{item.canSubmit}}" class="submit-box">
<textarea value="{{submitPhotoText}}" bindinput="onPhotoTextInput" placeholder="每行一个照片 URL" />
<button data-task-id="{{item.id}}" bindtap="submitTask">提交验收</button>
</view>
</view>
</block>
</view>
</scroll-view>