|
|
@@ -1,9 +1,10 @@
|
|
|
<template>
|
|
|
<div class="wave">
|
|
|
- <template v-for="(wave,index) in bindList">
|
|
|
+ <template v-for="(wave,index) in bindList" >
|
|
|
<div class="wave-item" v-if="index < number || (index >= number && isFold)">
|
|
|
<div>{{ wave.waveNo }}</div>
|
|
|
- <div>波次格口:{{ props.waveNoJson[wave.waveNo] }},数量:{{ wave.quantity }}</div>
|
|
|
+ <div v-if="length>1">波次格口:{{ props.waveNoJson[wave.waveNo] }},数量:{{ wave.quantity }}</div>
|
|
|
+ <div v-else>格口:{{ wave.bin}},数量:{{ wave.quantity }}</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
<div v-if="size > number">
|
|
|
@@ -25,19 +26,26 @@ const props = defineProps({
|
|
|
binds: Array,
|
|
|
waveNoJson:Object
|
|
|
})
|
|
|
+const length = computed(()=>{
|
|
|
+ return Object.keys(props.waveNoJson).length
|
|
|
+})
|
|
|
const bindList = computed(() => {
|
|
|
if (!props.binds) return []
|
|
|
- const mergedWave = new Map()
|
|
|
- for (const item of props.binds) {
|
|
|
- const existing = mergedWave.get(item.waveNo)
|
|
|
- if (existing) {
|
|
|
- existing.quantity += item.quantity
|
|
|
- } else {
|
|
|
- mergedWave.set(item.waveNo, { waveNo: item.waveNo, quantity: item.quantity })
|
|
|
+ if(length.value>1){
|
|
|
+ const mergedWave = new Map()
|
|
|
+ for (const item of props.binds) {
|
|
|
+ const existing = mergedWave.get(item.waveNo)
|
|
|
+ if (existing) {
|
|
|
+ existing.quantity += item.quantity
|
|
|
+ } else {
|
|
|
+ mergedWave.set(item.waveNo, { waveNo: item.waveNo, quantity: item.quantity })
|
|
|
+ }
|
|
|
}
|
|
|
+ const bins = Array.from(mergedWave.values());
|
|
|
+ return bins.sort((a, b) => a.waveNo.localeCompare(b.waveNo))
|
|
|
+ }else {
|
|
|
+ return props.binds
|
|
|
}
|
|
|
- const bins = Array.from(mergedWave.values());
|
|
|
- return bins.sort((a, b) => a.waveNo.localeCompare(b.waveNo))
|
|
|
});
|
|
|
onMounted(()=>{
|
|
|
_initSize()
|