Przeglądaj źródła

手持-拣货页面-多波次显示波次格口、单波次显示订单格口

zhaohuanhuan 1 rok temu
rodzic
commit
8a0726ca90
1 zmienionych plików z 19 dodań i 11 usunięć
  1. 19 11
      src/views/outbound/picking/components/WaveInfo.vue

+ 19 - 11
src/views/outbound/picking/components/WaveInfo.vue

@@ -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()