Files
admin-web/src/modules/container-loading/components/SmartLoadingCandidateInbounds.vue
T

27 lines
1.0 KiB
Vue
Raw Normal View History

2026-09-15 18:17:17 +08:00
<script setup lang="ts">
2026-09-16 11:06:36 +08:00
import { computed } from 'vue'
import type { SmartLoadingCandidate, SmartLoadingCandidateGroupMember } from '../types'
2026-09-15 18:17:17 +08:00
2026-09-16 11:06:36 +08:00
const props = defineProps<{
candidate?: SmartLoadingCandidate
members?: SmartLoadingCandidateGroupMember[]
sealedPallet?: boolean
fallbackInboundCode?: string | null
}>()
const displayedMembers = computed(() => props.members || props.candidate?.groupMembers || [])
const isSealedPallet = computed(() => props.candidate
? props.candidate.unitType === 'SEALED_PALLET'
: props.sealedPallet === true)
const inboundCode = computed(() => props.fallbackInboundCode ?? props.candidate?.inboundCode)
2026-09-15 18:17:17 +08:00
</script>
<template>
2026-09-16 11:06:36 +08:00
<details v-if="isSealedPallet && displayedMembers.length">
<summary>{{ displayedMembers.length }} 个入仓码 · 展开</summary>
<div v-for="member in displayedMembers" :key="`${member.accountId}:${member.inboundId}`">
2026-09-15 18:17:17 +08:00
{{ member.inboundCode || '—' }}:{{ member.availablePackageCount }} 箱
</div>
</details>
2026-09-16 11:06:36 +08:00
<span v-else>{{ inboundCode || '—' }}</span>
2026-09-15 18:17:17 +08:00
</template>