153 lines
3.7 KiB
Vue
153 lines
3.7 KiB
Vue
<template>
|
||
<view>
|
||
<van-nav-bar
|
||
title="扫码入库"
|
||
left-text="返回"
|
||
left-arrow
|
||
right-text="扫一扫"
|
||
@click-left="onClickLeft"
|
||
@click-right="onClickRight"
|
||
/>
|
||
<view style="text-align: center;margin-top: 20px;">请扫描库位码</view>
|
||
<cshaptx4869-scancode
|
||
v-if="h5ScanCode"
|
||
@success="handleSuccess"
|
||
@fail="handleFail"
|
||
@close="handleClose"
|
||
></cshaptx4869-scancode>
|
||
</view>
|
||
</template>
|
||
|
||
<script setup lang="ts">
|
||
import { showConfirmDialog, showToast } from 'vant';
|
||
import { onMounted, ref } from 'vue';
|
||
import { putAction } from '../../common/http';
|
||
|
||
onMounted(()=>{
|
||
})
|
||
|
||
const onClickLeft = () =>{
|
||
uni.navigateBack()
|
||
}
|
||
const onClickRight=()=>{
|
||
scanCode()
|
||
}
|
||
const h5ScanCode = ref(false);
|
||
function scanCode() {
|
||
// #ifdef H5
|
||
h5ScanCode.value = true;
|
||
// #endif
|
||
// #ifndef H5
|
||
uni.scanCode({
|
||
success: (res) => {
|
||
uni.showToast({
|
||
icon: "none",
|
||
title: res.result,
|
||
});
|
||
},
|
||
faile: (err) => {
|
||
console.log("err", err);
|
||
location.value=''
|
||
barcode.value=''
|
||
},
|
||
});
|
||
// #endif
|
||
}
|
||
const barcode = ref()
|
||
const location = ref()
|
||
function handleSuccess(res:any) {
|
||
h5ScanCode.value = false;
|
||
if(location.value){
|
||
barcode.value=res
|
||
putAction('/rawFabric/sign',{barcode:barcode.value,location:location.value},{'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'}).then((res1:any)=>{
|
||
if(res1.code===7778){//已经入库
|
||
let data=JSON.parse(res1.msg)
|
||
console.log(data);
|
||
showConfirmDialog({
|
||
title: `面料编号为${barcode.value}的${data.category}已放置在${data.location},是否将面料移动到${location.value}?`,
|
||
confirmButtonText:'确认',
|
||
})
|
||
.then(() => {
|
||
putAction('/rawFabric/sign',{barcode:barcode.value,location:location.value,force:true},{'Content-Type':'application/x-www-form-urlencoded;charset=UTF-8'}).then((res2:any)=>{
|
||
if(res2.code===200){
|
||
showToast('入货架成功!')
|
||
}else{
|
||
showToast(res2.msg)
|
||
}
|
||
})
|
||
})
|
||
.catch(() => {
|
||
location.value=''
|
||
barcode.value=''
|
||
});
|
||
}else if(res1.code===7777){//暂存
|
||
let data=JSON.parse(res1.msg)
|
||
showConfirmDialog({
|
||
title: `面料编号为${barcode.value}的${data.category}被暂存在检验室,是否确认移动到${location.value}?`,
|
||
confirmButtonText:'确认',
|
||
})
|
||
.then(() => {
|
||
putAction('/rawFabric/sign',{barcode:barcode.value,location:location.value,force:true},{'Content-Type':'application/x-www-form-urlencoded;charset=UTF-8'}).then((res2:any)=>{
|
||
if(res2.code===200){
|
||
showToast('入货架成功!')
|
||
}else{
|
||
showToast(res2.msg)
|
||
}
|
||
})
|
||
})
|
||
.catch(() => {
|
||
location.value=''
|
||
barcode.value=''
|
||
});
|
||
}else if(res1.code===200) {
|
||
showConfirmDialog({
|
||
title: '扫码成功,请扫描面料编号',
|
||
confirmButtonText:'扫一扫',
|
||
})
|
||
.then(() => {
|
||
scanCode()
|
||
})
|
||
.catch(() => {
|
||
location.value=''
|
||
barcode.value=''
|
||
});
|
||
}else{
|
||
showToast(res1.msg)
|
||
}
|
||
})
|
||
}else{
|
||
location.value=res
|
||
showConfirmDialog({
|
||
title: '扫码成功,请扫描面料编号',
|
||
confirmButtonText:'扫一扫',
|
||
})
|
||
.then(() => {
|
||
scanCode()
|
||
})
|
||
.catch(() => {
|
||
location.value=''
|
||
barcode.value=''
|
||
});
|
||
}
|
||
}
|
||
function handleFail(err) {
|
||
uni.showModal({
|
||
title: err.errName,
|
||
content: err.errMsg,
|
||
complete: () => {
|
||
h5ScanCode.value = false;
|
||
},
|
||
});
|
||
// TODO
|
||
|
||
}
|
||
function handleClose() {
|
||
h5ScanCode.value = false;
|
||
}
|
||
|
||
</script>
|
||
|
||
<style lang="scss" scoped>
|
||
|
||
</style>
|