You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
127 lines
2.9 KiB
127 lines
2.9 KiB
<template>
|
|
<view>
|
|
<uni-popup ref="popup" @change="change" @maskClick="closeScanPopup()" :mask-close-able="false">
|
|
<view class="popup_box">
|
|
<view class="pop_title uni-flex space-between">
|
|
<view class="" style="font-size: 35rpx"> 扫描 : {{ title }} </view>
|
|
|
|
<view class="">
|
|
<image class="fr icons_scan_close" src="/static/icons/icons_scan_close.svg" @click="closeScanPopup()"></image>
|
|
</view>
|
|
</view>
|
|
<view class="">
|
|
<view class="">
|
|
<win-com-scan ref="comscan" :placeholder="title" @getResult="getScanResult" :headerType="headerType" :isShowHistory="isShowHistory" :clearResult="true"></win-com-scan>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</uni-popup>
|
|
|
|
<comMessage ref="comMessage" @afterClose="getfocus"></comMessage>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import winComScan from '@/mycomponents/scan/winComScan.vue'
|
|
import { getContainerByNumber } from '@/api/request2.js'
|
|
|
|
export default {
|
|
name: 'winScanPack',
|
|
components: {
|
|
winComScan
|
|
},
|
|
props: {
|
|
title: {
|
|
type: String,
|
|
default: '箱标签或托标签'
|
|
},
|
|
isShowHistory: {
|
|
type: Boolean,
|
|
default: true
|
|
},
|
|
headerType: {
|
|
type: String,
|
|
default: 'HPQ,HMQ,HCQ'
|
|
}
|
|
},
|
|
data() {
|
|
return {
|
|
show: false
|
|
}
|
|
},
|
|
created() {},
|
|
methods: {
|
|
openScanPopup() {
|
|
setTimeout((res) => {
|
|
this.$refs.popup.open('bottom')
|
|
}, 500)
|
|
},
|
|
|
|
closeScanPopup() {
|
|
this.losefocus()
|
|
this.$refs.popup.close()
|
|
this.$emit('close', '')
|
|
},
|
|
|
|
scanClick() {
|
|
this.$refs.comscan.clickScanMsg()
|
|
},
|
|
|
|
cancelClick() {
|
|
this.$refs.comscan.clearScanValue()
|
|
},
|
|
|
|
getScanResult(result) {
|
|
if (result.success) {
|
|
if (result.label.labelType == 'ContainerLabel') {
|
|
this.getContainerByNumber(result)
|
|
} else {
|
|
this.$emit('getResult', result)
|
|
}
|
|
} else {
|
|
this.showMessage(result.message)
|
|
}
|
|
},
|
|
|
|
getContainerByNumber(result) {
|
|
getContainerByNumber(result.label.container)
|
|
.then((res) => {
|
|
if (res.data.list.length > 0) {
|
|
this.$emit('getResult', result)
|
|
} else {
|
|
this.showMessage(`未查找到托码【${result.label.container}】`)
|
|
}
|
|
})
|
|
.catch((error) => {
|
|
this.showMessage(error)
|
|
})
|
|
},
|
|
|
|
getfocus() {
|
|
if (this.$refs.comscan != undefined) {
|
|
this.$refs.comscan.getfocus()
|
|
}
|
|
},
|
|
|
|
losefocus() {
|
|
if (this.$refs.comscan != undefined) {
|
|
this.$refs.comscan.losefocus()
|
|
}
|
|
},
|
|
showMessage(message) {
|
|
this.$refs.comMessage.showMessage(message)
|
|
},
|
|
change(e) {
|
|
this.show = e.show
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss">
|
|
.scroll-view {
|
|
overflow-y: scroll;
|
|
height: auto;
|
|
max-height: 300rpx;
|
|
}
|
|
</style>
|
|
|