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