Files
admin-web/src/modules/appointment-calendar/ReceivingScope.vue
T

16 lines
1.2 KiB
Vue

<script setup lang="ts">
import type { ReceivingMember, ReceivingTransport } from './receivingApi'
defineProps<{ members: ReceivingMember[]; transport?: ReceivingTransport }>()
</script>
<template>
<div aria-label="当前覆盖范围">
<div v-for="(member, index) in members" :key="`${member.batchKey}:${member.customerId}`" class="receiving-member">
<b>{{ member.appointmentNo }} · {{ member.customerName || '—' }} · 范围 {{ index + 1 }}</b>
<p v-for="source in member.sources" :key="`${source.sourceKey}:${source.destinationKey}`">{{ source.inboundCode || '—' }} · {{ source.packageCount }} 箱</p>
</div>
<p v-if="!members.length">当前无可纳入的货物。</p>
<template v-if="transport"><p v-for="(vehicle, index) in transport.vehicles" :key="index">车辆:{{ vehicle.tripNo || '车次未关联' }} · 排车单 {{ vehicle.dispatchNo || '未关联' }} · {{ vehicle.packageCount }} 箱</p><p v-for="reason in transport.blockReasons" :key="reason" role="status">{{ reason }}</p><p v-if="!transport.vehicles.length">当前未关联车辆。</p></template>
</div>
</template>
<style scoped>.receiving-member { border-bottom: 1px solid var(--cc-border); padding-block: var(--admin-space-3); }</style>