Explorar el Código

文件修改位置

zhaohuanhuan hace 1 año
padre
commit
f2ee8a58b7

+ 0 - 0
src/views/outbound/components/BarcodeCombine.vue → src/views/outbound/picking/components/BarcodeCombine.vue


+ 13 - 26
src/views/outbound/components/BigPicking.vue → src/views/outbound/picking/components/BigPicking.vue

@@ -9,13 +9,13 @@
       <div class="big-task-item" v-for="(item,index) in props.taskDetailList" :key="index" >
         <div class="big-task-content"  >
           <div class="big-content" :style="item.hours>=2?'color:#ee0a24;font-weight: 500':''">{{item.orderNo}}</div>
-          <div  class="big-carrier"><van-notice-bar :background="'none'" :speed="10" color="#333" :text="item.carrierName" /></div>
+          <div  class="big-carrier" v-if="item.availableQty===item.totalItemNum" ><van-notice-bar :background="'none'" :speed="10" color="#333" :text="item.carrierName" /></div>
           <div class="big-content">{{item.totalItemNum}}<span style="font-size: 12px">件</span></div>
-<!--          <div class="big-content" v-if="item.availableQty!==item.totalItemNum"><span style="font-size: 12px">剩</span>{{item.availableQty || 0}}<span style="font-size: 12px">件</span></div>-->
+          <div class="big-content" v-if="item.availableQty!==item.totalItemNum"><span style="font-size: 12px">剩</span>{{item.availableQty || 0}}<span style="font-size: 12px">件</span></div>
+        </div>
+        <div style="margin-top: -5px" v-if="item.availableQty!==item.totalItemNum">
+          <van-notice-bar :background="'none'" color="#000" :speed="10" :text="item.carrierName" />
         </div>
-<!--        <div style="margin-top: -5px" v-if="item.availableQty!==item.totalItemNum">-->
-<!--          <van-notice-bar :background="'none'" style="font-size: 12px" color="#333" :speed="10" :text="item.carrierName" />-->
-<!--        </div>-->
         <div class="big-task-button">
           <div class="big-button" @click="onTypeOrder(item,'LOCATION_PICK')">按库位查看</div>
           <div class="big-button" @click="onTypeOrder(item,'AISLE_PICK')">按巷道查看</div>
@@ -64,7 +64,6 @@
               <div >排序:{{item.spu}}</div>
             </div>
           </div>
-
         </van-checkbox>
       </van-checkbox-group>
     </div>
@@ -72,13 +71,8 @@
 </template>
 <script setup>
 import { ref } from 'vue'
-import {
-  getBigPickingAisleNo,
-  getBigPickingGoods,
-  getBigPickingList,
-  getBigPickingLocation,
-} from '@/api/picking/index'
-import { closeLoading, showLoading } from '@/utils/loading'
+import { getBigPickingAisleNo, getBigPickingGoods, getBigPickingList, getBigPickingLocation} from '@/api/picking/index.ts'
+import { closeLoading, showLoading } from '@/utils/loading.ts'
 import { showToast } from 'vant'
 import { useRouter } from 'vue-router'
 const router = useRouter()
@@ -208,19 +202,12 @@ const onBuildTask=(action)=>
 
 const onSort = (val) => {
   sortType.value = val;
-  // 提取排序条件的字段
-  const sortField = val === 'sql' ? 'sqlIndex' : 'locationNum';
-  // 过滤出 status 为 40 的任务并排序
-  const sorted = typeTaskList.value
-    .filter(item => item.status === 40)
-    .sort((a, b) => b[sortField] - a[sortField]);
-  // 合并排序后的数组和 status 不等于 40 的任务
-  typeTaskList.value = [
-    ...sorted,
-    ...typeTaskList.value.filter(item => item.status !== 40)
-  ]
-}
-
+    if(val==='sql'){
+      typeTaskList.value=typeTaskList.value.sort((a, b) => a.sqlIndex - b.sqlIndex);
+    }else {
+      typeTaskList.value=typeTaskList.value.sort((a, b) => b.locationNum - a.locationNum);
+    }
+  }
 defineExpose({show})
 </script>
 <style lang="sass" scoped>

+ 0 - 0
src/views/outbound/components/ContainerNoInput.vue → src/views/outbound/picking/components/ContainerNoInput.vue


+ 0 - 0
src/views/outbound/components/InputBarcode.vue → src/views/outbound/picking/components/InputBarcode.vue


+ 0 - 0
src/views/outbound/components/PickingNoInput.vue → src/views/outbound/picking/components/PickingNoInput.vue


+ 0 - 0
src/views/outbound/components/SelectOwner.vue → src/views/outbound/picking/components/SelectOwner.vue


+ 0 - 0
src/views/outbound/components/lotAtt.vue → src/views/outbound/picking/components/lotAtt.vue


+ 1 - 2
src/views/outbound/picking/list/hooks/barcodeCombine.js

@@ -2,7 +2,7 @@
 export function barcodeCombine(goodsList, combineSkuMap){
   const result = goodsList.map(item => {
       const barcode = item.barcode || item.barcodeAs;
-      // 如果有匹配数据,将 matchedJson 添加到 item 中
+      // 如果有匹配数据添加到 item 中
       if (combineSkuMap[barcode] && item.expectedQuantity >= combineSkuMap[barcode].quantity ) {
         return {
           ...item,
@@ -12,6 +12,5 @@ export function barcodeCombine(goodsList, combineSkuMap){
       return null
     })
     .filter(item => item !== null) // 过滤掉 null 元素,保留匹配到的项
-  // 如果 result 数组为空,返回空数组,否则返回 result
   return result.length > 0 ? result : []
 }

+ 1 - 1
src/views/outbound/picking/list/hooks/list.ts

@@ -37,7 +37,7 @@ export const getPickingTask = async (warehouse: string,pickingCode:any) => {
         code: pickingCode
       });
       closeToast()
-      // 更新拣货详情F
+      // 更新拣货详情
         taskList.value = pickingDetails
         if(pickingDetails.length>0){
           expectedQuantity.value= pickingDetails.reduce((sum:number, item:any) => {

+ 9 - 10
src/views/outbound/picking/list/index.vue

@@ -110,7 +110,7 @@
   </div>
 </template>
 <script lang="ts" setup>
-import { computed, nextTick, onMounted, onUnmounted, ref, watch } from 'vue'
+import { computed, defineAsyncComponent, nextTick, onMounted, onUnmounted, ref, watch } from 'vue'
 import { showConfirmDialog, showDialog, showFailToast, showToast } from 'vant'
 import { fetchPickingData, getPickingTask } from '@/views/outbound/picking/list/hooks/list'
 import { getOwnerList } from '@/hooks/basic'
@@ -118,23 +118,23 @@ import { useRouter,useRoute } from 'vue-router'
 import { getListCombineSku, setPickingDetail } from '@/api/picking'
 const router = useRouter()
 const route = useRoute()
-import { useStore } from '@/store/modules/user'
 const store = useStore()
 const basic = basicStore()
+import { useStore } from '@/store/modules/user'
 import { goBack, getHeader, playVoicePickNum, scanError, scanSuccess } from '@/utils/android'
 import { closeListener, openListener, scanInit } from '@/utils/keydownListener'
-import PickingNoInput from '@/views/outbound/components/PickingNoInput.vue'
-import ContainerNoInput from '@/views/outbound/components/ContainerNoInput.vue'
-import BarcodeCombine from '@/views/outbound/components/BarcodeCombine.vue'
+import BarcodeCombine from '@/views/outbound/picking/components/BarcodeCombine.vue'
+const PickingNoInput = defineAsyncComponent(() => import('@/views/outbound/picking/components/PickingNoInput.vue'))
+const ContainerNoInput = defineAsyncComponent(() => import('@/views/outbound/picking/components/ContainerNoInput.vue'))
+const InputBarcode = defineAsyncComponent(() => import('@/views/outbound/picking/components/InputBarcode.vue'))
+const LotAtt = defineAsyncComponent(() => import('@/views/outbound/picking/components/LotAtt.vue'))
+import { barcodeCombine } from '@/views/outbound/picking/list/hooks/barcodeCombine'
 import { formatDateTime } from '@/utils/date'
 import { isLot } from '@/views/outbound/picking/list/hooks/lotNum'
 import { barcodeToUpperCase, toMap } from '@/utils/dataType'
 import { containerDef } from '@/views/outbound/picking/list/hooks/containerDef'
 import { getCarrierList } from '@/hooks/basic/carrier'
 import { basicStore } from '@/store/modules/basic'
-import InputBarcode from '@/views/outbound/components/InputBarcode.vue'
-import LotAtt from '@/views/outbound/components/lotAtt.vue'
-import { barcodeCombine } from '@/views/outbound/picking/list/hooks/barcodeCombine'
 import { closeLoading, showLoading } from '@/utils/loading'
 onUnmounted(() => {
   closeListener()
@@ -374,7 +374,6 @@ const _handlerScan=(code)=> {
         if(res.data.length>0){
           const combineSkuMap=toMap(res.data,'barcode')
           const matchedSkuList=barcodeCombine(modelLocative.list,combineSkuMap)
-          console.log(matchedSkuList,"matchedSkuList")
           if(matchedSkuList.length>0){
             if(matchedSkuList.length==res.data.length){
               matchedSku.value=matchedSkuList
@@ -383,7 +382,7 @@ const _handlerScan=(code)=> {
               scanError()
               showDialog({
                 title:'温馨提示',
-                message:'组合商品与拣货任务匹配,请检查组合商品配置!'
+                message:'组合商品与拣货任务匹配,请检查组合商品配置!'
               })
             }
           }else {

+ 4 - 7
src/views/outbound/picking/task/index.vue

@@ -148,20 +148,17 @@
 <script lang="ts" setup>
 import { useRoute, useRouter } from 'vue-router'
 import { getTaskList } from '@/views/outbound/picking/task/hooks/task'
-import { computed, nextTick, ref } from 'vue'
+import { computed, defineAsyncComponent, nextTick, ref } from 'vue'
 import { showDialog, showFailToast, showToast } from 'vant'
 import { basicStore } from '@/store/modules/basic'
 import { createPickingTask, getBigPickingTaskDetail, getPickingTaskDetail } from '@/api/picking'
 import { useStore } from '@/store/modules/user'
 import { goBack } from '@/utils/android'
-import PickingNoInput from '@/views/outbound/components/PickingNoInput.vue'
-import BigPicking from '@/views/outbound/components/BigPicking.vue'
-import SelectOwner from '@/views/outbound/components/SelectOwner.vue'
+const PickingNoInput = defineAsyncComponent(() => import('@/views/outbound/picking/components/PickingNoInput.vue'))
+const BigPicking = defineAsyncComponent(() => import('@/views/outbound/picking/components/BigPicking.vue'))
+const SelectOwner = defineAsyncComponent(() => import('@/views/outbound/picking/components/SelectOwner.vue'))
 import { closeLoading, showLoading } from '@/utils/loading'
-import { toMap } from '@/utils/dataType'
-import { getCarrierList } from '@/hooks/basic/carrier'
 import { getTimeHours } from '@/utils/date'
-
 const router = useRouter()
 const store = basicStore()
 const storeUser = useStore()