fix(dispatch): surface departure gate

This commit is contained in:
2026-09-02 14:01:08 +08:00
parent b1afe904e6
commit f26c0ff0a0
3 changed files with 10 additions and 4 deletions
+2
View File
@@ -24,6 +24,8 @@ export function normalizeDispatchTask(value) {
dispatchNo: String(value?.dispatchNo || ''),
vehiclePlate: String(value?.vehiclePlate || ''),
status: String(value?.status || ''),
canDepart: value?.canDepart === true,
departBlockReason: String(value?.departBlockReason || ''),
items: asList(value?.items).map((item) => ({
...item,
dispatchItemId: String(item?.dispatchItemId || ''),
+3 -2
View File
@@ -69,7 +69,8 @@
<text class="card-title">发车门禁</text>
<text v-if="!allPicked" class="gate-warning">服务端仍显示 {{ remainingPackages }} 箱未拣,不允许发车。</text>
<text v-else-if="departed" class="gate-success">该排车任务已执行发车,不可重复提交。</text>
<text v-else class="gate-note">拣货已完成且全部箱数核平,服务端将再次校验出库单和托盘门禁。</text>
<text v-else-if="!current.canDepart" class="gate-warning">{{ current.departBlockReason || '当前排车暂不满足发车条件,请刷新后重试。' }}</text>
<text v-else class="gate-note">拣货已完成且全部箱数核平,可以发车。</text>
<button v-if="!departed" class="depart-button" :disabled="!canDepart || busy" @tap="depart">{{ busyAction === 'depart' ? '发车中…' : '确认发车' }}</button>
</view>
</template>
@@ -108,7 +109,7 @@
canPick() { return this.selectedPosition && Number(this.packages) > 0 && Number(this.packages) <= this.selectedRemaining && !this.pickingCompleted },
canCompleteStage() { return Boolean(this.current) && !this.pickingCompleted },
canComplete() { return this.plannedPackages > 0 && this.remainingPackages === 0 },
canDepart() { return this.pickingCompleted && this.allPicked && !this.departed }
canDepart() { return this.pickingCompleted && this.allPicked && this.current?.canDepart === true && !this.departed }
},
onShow() {
if (!requireSession()) return