Browse Source

直接翻包--缓存库位功能

hella_online_20240829
wangyufei 5 months ago
parent
commit
5ae6174b2a
  1. 1
      src/api/httpRequest3.js
  2. 15
      src/mycomponents/scan/winScanLocation.vue
  3. 35
      src/mycomponents/scan/winScanPackAndLocation.vue
  4. 20
      src/pages/package/record/overPackageRecord.vue
  5. 1
      src/store/modules/user.js

1
src/api/httpRequest3.js

@ -36,6 +36,7 @@ function service(options = {}) {
}else { }else {
if(res.data.code==401){ if(res.data.code==401){
uni.clearStorageSync() uni.clearStorageSync()
uni.removeStorageSync('overPackageRecord') // 删除直接翻包中缓存的来源库位
removeToken(); removeToken();
uni.reLaunch({ uni.reLaunch({
url: '/pages/login/index' url: '/pages/login/index'

15
src/mycomponents/scan/winScanLocation.vue

@ -19,6 +19,8 @@
</view> </view>
</view> </view>
</uni-popup> </uni-popup>
<!-- 模拟扫描功能 -->
<win-com-scan v-show="false" ref="comscansimulate" @getResult="getScanResult" :clearResult="true" :boxFocus="true" :isShowHistory="false" headerType=""></win-com-scan>
<comMessage ref="comMessage"></comMessage> <comMessage ref="comMessage"></comMessage>
</template> </template>
@ -67,8 +69,15 @@
this.$refs.popup.open('bottom') this.$refs.popup.open('bottom')
}, 500) }, 500)
}, },
openScanPopupSimulate(location) {
this.$refs.comscansimulate.setItemCodeSimulate(location)
this.$refs.comscansimulate.clickScanMsg();
},
closeScanPopup() { closeScanPopup() {
if(this.$refs.popup){
this.$refs.popup.close() this.$refs.popup.close()
}
}, },
scanClick() { scanClick() {
this.$refs.scan.clickScanMsg(); this.$refs.scan.clickScanMsg();
@ -77,6 +86,7 @@
this.$refs.scan.clearScanValue(); this.$refs.scan.clearScanValue();
}, },
getScanResult(result) { getScanResult(result) {
uni.showLoading({ uni.showLoading({
title: '扫描中...', title: '扫描中...',
mask: true mask: true
@ -94,6 +104,7 @@
} }
getBasicLocationByCode(this.code).then(res => { getBasicLocationByCode(this.code).then(res => {
uni.hideLoading(); uni.hideLoading();
if (res.data.total > 0) { if (res.data.total > 0) {
let result = res.data.list[0]; let result = res.data.list[0];
@ -142,10 +153,14 @@
return isPass return isPass
}, },
getfocus() { getfocus() {
if(this.$refs.scan){
this.$refs.scan.getfocus(); this.$refs.scan.getfocus();
}
}, },
losefocus() { losefocus() {
if(this.$refs.scan){
this.$refs.scan.losefocus(); this.$refs.scan.losefocus();
}
}, },
showErrorMessage(message) { showErrorMessage(message) {
setTimeout(r => { setTimeout(r => {

35
src/mycomponents/scan/winScanPackAndLocation.vue

@ -1,6 +1,6 @@
<template> <template>
<view> <view>
<uni-popup ref="popup" @change="change" :mask-click="false"> <uni-popup ref="popup" @change="change" :mask-click="false" >
<view class="popup_box"> <view class="popup_box">
<view class="pop_title uni-flex space-between"> <view class="pop_title uni-flex space-between">
<view class="" style="font-size: 35rpx;"> <view class="" style="font-size: 35rpx;">
@ -28,7 +28,7 @@
<view v-if='allowModifyLocation'> <view v-if='allowModifyLocation'>
<uni-combox :candidates="fromLocationList" v-model="fromLocationCode" placeholder="请扫描来源库位" <uni-combox :candidates="fromLocationList" v-model="fromLocationCode" placeholder="请扫描来源库位"
@confirm="" style='height: 30rpx;border:1px solid #fff ;'></uni-combox> @confirm="handleConfirm" style='height: 30rpx;border:1px solid #fff ;'></uni-combox>
</view> </view>
<view v-else> <view v-else>
<text style="padding: 5px"> <text style="padding: 5px">
@ -47,7 +47,8 @@
</uni-popup> </uni-popup>
<balance-select ref="balanceSelect" @onSelectItem='selectBalanceItem'></balance-select> <balance-select ref="balanceSelect" @onSelectItem='selectBalanceItem'></balance-select>
<!-- 模拟扫描功能 --> <!-- 模拟扫描功能 -->
<win-com-scan v-show="false" ref="comscansimulate" @getResult="getScanResult" :headerType="headerType" :isShowHistory="false" :clearResult="true"></win-com-scan> <win-com-scan v-show="false" ref="comscansimulate" @getResult="getScanResult" :headerType="headerType"
:isShowHistory="false" :clearResult="true"></win-com-scan>
</view> </view>
<comMessage ref="comMessage"></comMessage> <comMessage ref="comMessage"></comMessage>
@ -73,7 +74,7 @@
} from '@/common/directory.js'; } from '@/common/directory.js';
export default { export default {
name: 'winScanPack', name: 'winScanPack',
emits: ["getResult", "close", "getCountScanResult"], emits: ["getResult", "close", "getCountScanResult", "confirm"],
components: { components: {
winComScan, winComScan,
balanceSelect balanceSelect
@ -109,7 +110,7 @@
type: Boolean, type: Boolean,
default: true default: true
}, },
balanceFromInventoryStatuses:{//fromInventoryStatuses balanceFromInventoryStatuses: { //fromInventoryStatuses
type: Boolean, type: Boolean,
default: true default: true
} }
@ -131,15 +132,20 @@
inventoryStatus: [], inventoryStatus: [],
managementPrecision: '', managementPrecision: '',
fromInventoryStatuses: "", fromInventoryStatuses: "",
isCheck: false isCheck: false,
} }
}, },
created() { created() {
}, },
methods: { methods: {
handleConfirm() {
this.$emit('confirm', this.fromLocationCode)
},
// //
openScanPopupForType(fromLocationCode, businessType) { openScanPopupForType(fromLocationCode, businessType) {
this.businessType = businessType; this.businessType = businessType;
this.fromLocationCode = fromLocationCode; this.fromLocationCode = fromLocationCode;
if (fromLocationCode != '') { if (fromLocationCode != '') {
@ -150,9 +156,11 @@
this.fromInventoryStatuses = getDirectoryItemArray(this.businessType.outInventoryStatuses) this.fromInventoryStatuses = getDirectoryItemArray(this.businessType.outInventoryStatuses)
this.inventoryStatus = getDirectoryItemArray(this.businessType.outInventoryStatuses); // this.inventoryStatus = getDirectoryItemArray(this.businessType.outInventoryStatuses); //
this.fromLocationAreaTypeList = getDirectoryItemArray(this.businessType.fromLocationAreaTypeList); // this.fromLocationAreaTypeList = getDirectoryItemArray(this.businessType.fromLocationAreaTypeList); //
if (!this.show) {
setTimeout(res => { setTimeout(res => {
this.$refs.popup.open('bottom') this.$refs.popup.open('bottom')
}, 500) }, 500)
}
}, },
// //
@ -176,7 +184,7 @@
this.fromLocationAreaTypeList = getDirectoryItemArray(jobContent.fromAreaTypes); // this.fromLocationAreaTypeList = getDirectoryItemArray(jobContent.fromAreaTypes); //
}, },
// //
openScanPopupForJobSimulate(fromLocationCode, fromLocationList, jobContent,item) { openScanPopupForJobSimulate(fromLocationCode, fromLocationList, jobContent, item) {
this.fromLocationCode = fromLocationCode; this.fromLocationCode = fromLocationCode;
this.fromLocationList = fromLocationList; this.fromLocationList = fromLocationList;
if (fromLocationCode != '') { if (fromLocationCode != '') {
@ -198,7 +206,7 @@
this.inventoryStatus = getDirectoryItemArray(jobContent.outInventoryStatuses); //; // this.inventoryStatus = getDirectoryItemArray(jobContent.outInventoryStatuses); //; //
this.fromLocationAreaTypeList = getDirectoryItemArray(jobContent.fromAreaTypes); // this.fromLocationAreaTypeList = getDirectoryItemArray(jobContent.fromAreaTypes); //
let timer = setTimeout(res => { let timer = setTimeout(res => {
if(timer){ if (timer) {
clearTimeout(timer) clearTimeout(timer)
} }
this.$refs.comscansimulate.setItemCodeSimulate(item.copyContent) this.$refs.comscansimulate.setItemCodeSimulate(item.copyContent)
@ -295,7 +303,8 @@
// mask: true // mask: true
// }) // })
// -- fromInventoryStatuses // -- fromInventoryStatuses
getBalanceByManagementPrecision(result.label, this.fromLocationCode, this.balanceFromInventoryStatuses?this.fromInventoryStatuses:undefined, getBalanceByManagementPrecision(result.label, this.fromLocationCode, this
.balanceFromInventoryStatuses ? this.fromInventoryStatuses : undefined,
res => { res => {
uni.hideLoading(); uni.hideLoading();
if (res.success) { if (res.success) {
@ -319,9 +328,9 @@
if (this.allowNullBalance) { if (this.allowNullBalance) {
this.allowNoneBalance(datas); this.allowNoneBalance(datas);
} else if (this.noShowBalanceMessage) { } else if (this.noShowBalanceMessage) {
if(Array.isArray(datas)){ if (Array.isArray(datas)) {
this.countCallBack(datas[0]); this.countCallBack(datas[0]);
}else{ } else {
this.countCallBack(datas); this.countCallBack(datas);
} }
} else { } else {
@ -385,7 +394,7 @@
// //
countCallBack(datas) { countCallBack(datas) {
if(this.$refs.comscan){ if (this.$refs.comscan) {
this.$refs.comscan.clear(); this.$refs.comscan.clear();
} }
// //
@ -401,7 +410,7 @@
}, },
packCallBack(item) { packCallBack(item) {
if(this.$refs.comscan){ if (this.$refs.comscan) {
this.$refs.comscan.clear(); this.$refs.comscan.clear();
} }
// //

20
src/pages/package/record/overPackageRecord.vue

@ -60,8 +60,8 @@
<win-scan-button @goScan='openScanPopup'></win-scan-button> <win-scan-button @goScan='openScanPopup'></win-scan-button>
</view> </view>
<win-scan-pack-and-location ref="scanPopup" @getResult='getScanResult' :allowModifyLocation="false"> <win-scan-pack-and-location ref="scanPopup" @getResult='getScanResult' :allowModifyLocation="true" @confirm="handleConfirm">
</win-scan-pack-and-location> </win-scan-pack-and-location >
<win-scan-location ref="scanLocationCode" title="来源库位" @getLocation='getLocation' <win-scan-location ref="scanLocationCode" title="来源库位" @getLocation='getLocation'
:locationAreaTypeList="fromLocationAreaTypeList"></win-scan-location> :locationAreaTypeList="fromLocationAreaTypeList"></win-scan-location>
<comMessage ref="comMessage"></comMessage> <comMessage ref="comMessage"></comMessage>
@ -139,7 +139,7 @@
itemCode: "" itemCode: ""
}; };
}, },
onLoad(option) { onShow(){
var typeCode = "OverPackage" var typeCode = "OverPackage"
getBusinessType(typeCode, res => { getBusinessType(typeCode, res => {
if (res.success) { if (res.success) {
@ -209,7 +209,10 @@
this.toPackQty = pack.packQty; this.toPackQty = pack.packQty;
this.toPackUnitShow = e[0].label this.toPackUnitShow = e[0].label
}, },
//
handleConfirm(fromLocationCode){
this.$refs.scanLocationCode.openScanPopupSimulate(fromLocationCode)
},
getScanResult(result) { getScanResult(result) {
let balance = result.balance; let balance = result.balance;
let label = result.label; let label = result.label;
@ -289,7 +292,13 @@
}, },
showFromLocationPopup() { showFromLocationPopup() {
this.$nextTick(() => { this.$nextTick(() => {
let overPackageRecord = uni.getStorageSync('overPackageRecord')
if(overPackageRecord){
this.$refs.scanLocationCode.openScanPopupSimulate(overPackageRecord)
}else{
this.$refs.scanLocationCode.openScanPopup(); this.$refs.scanLocationCode.openScanPopup();
}
}) })
}, },
@ -429,6 +438,9 @@
this.scanPopupGetFocus(); this.scanPopupGetFocus();
}, },
getLocation(location, code) { getLocation(location, code) {
if(code){
uni.setStorageSync('overPackageRecord', code)
}
this.getFromLocationCode(location, code) this.getFromLocationCode(location, code)
}, },
getFromLocationCode(location, code) { getFromLocationCode(location, code) {

1
src/store/modules/user.js

@ -118,6 +118,7 @@ const user = {
commit('SET_ID',[]) commit('SET_ID',[])
storage.removeStorage(storage.constant.token) storage.removeStorage(storage.constant.token)
storage.clearStorage() storage.clearStorage()
uni.removeStorageSync('overPackageRecord') // 删除直接翻包中缓存的来源库位
resolve() resolve()
}).catch(error => { }).catch(error => {
reject(error) reject(error)

Loading…
Cancel
Save