Quellcode durchsuchen

立库-解绑料箱编码为选填

zhaohuanhuan vor 1 Monat
Ursprung
Commit
25ecf63d48
1 geänderte Dateien mit 26 neuen und 9 gelöschten Zeilen
  1. 26 9
      src/views/haikang/boxReturn/boxReturn/index.vue

+ 26 - 9
src/views/haikang/boxReturn/boxReturn/index.vue

@@ -20,7 +20,7 @@
         <van-tab title="解绑站点" name="2"  ></van-tab>
       </van-tabs>
         <div class="content-code">
-          <div class="barcode-input" v-if="!(mode=='asrs' && active=='2')">
+          <div class="barcode-input">
             <van-search
               ref="boxRef"
               v-model.lazy="scanBox"
@@ -87,11 +87,24 @@ const mode=ref(route.query.type)
 // 扫描条码监听
 const _handlerScan = (code) => {
   if(!code) return
-  // 当 mode=='asrs' 且是解绑站点功能时,直接扫描站点
+  // 当 mode=='asrs' 且是解绑站点功能时,根据扫描类型处理
   if(mode.value=='asrs' && active.value=='2'){
-    if(code){
-      scanStation.value = barcodeToUpperCase(code)
-      onConfirm()
+    if(scanType.value == 1){
+      // 扫描料箱编码(选填)
+      let searchKey = barcodeToUpperCase(code);
+      const gridMatch = searchKey.match(/^([A-Z]+\d+)(?:-[AB]\d*)?$/);
+      if (gridMatch) {
+        searchKey = gridMatch[1]
+      }
+      scanBox.value = searchKey
+      scanType.value=2
+      tips.value='请扫描工作站台'
+    }else if(scanType.value == 2){
+      // 扫描工作站点(必填)
+      if(code){
+        scanStation.value = barcodeToUpperCase(code)
+        onConfirm()
+      }
     }
     return
   }
@@ -120,11 +133,12 @@ const _handlerScan = (code) => {
   }
 }
 const onActive=(type)=>{
-  // 切换到解绑站点且是asrs模式时,直接聚焦到站点输入框
+  //
   if(mode.value=='asrs' && type=='2'){
     scanType.value=2
     tips.value='请扫描工作站台'
     scanBox.value=''
+    scanStation.value=''
   }else if(type=='1'){
     scanType.value=1
     tips.value='请扫描料箱'
@@ -133,7 +147,7 @@ const onActive=(type)=>{
   }
 }
 const onConfirm=()=>{
-  // 当 mode=='asrs' 且是解绑站点功能时,不需要校验料箱编码
+  // 当 mode=='asrs' 且是解绑站点功能时,料箱编码为选填,只校验工作站点
   if(!(mode.value=='asrs' && active.value=='2')){
     if(!scanBox.value  ){
       tips.value='请先扫描料箱编号'
@@ -143,6 +157,7 @@ const onConfirm=()=>{
       return
     }
   }
+  // 工作站点为必填
   if(!scanStation.value){
     tips.value='请先扫描站点'
     scanType.value=2
@@ -234,8 +249,10 @@ const _boxAndStationUnbindTask=()=>{
 }
 //立库解绑
 const _asrsBoxAndStationUnbindTask=()=>{
-  const data={warehouse, stationCode:scanStation.value}
-  if(active.value!='2'){
+  const data: any = {warehouse, stationCode:scanStation.value}
+  if(active.value=='2' && scanBox.value){
+    data.containerCode = scanBox.value
+  }else if(active.value!='2'){
     data.containerCode = scanBox.value
   }
   showLoading()