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.
78 lines
1.8 KiB
78 lines
1.8 KiB
<template>
|
|
<view class="">
|
|
<u-popup v-model="isShow" mode="bottom">
|
|
<view class="popup_box">
|
|
<view class="pop_title uni-flex space-between">
|
|
<view class=""> 扫描{{ title }} </view>
|
|
<view class="">
|
|
<image class="icons_scan_close" src="/static/icons/icons_scan_close.svg" @click="closeScanPopup()"></image>
|
|
</view>
|
|
</view>
|
|
<view class="">
|
|
<view class="">
|
|
<win-com-scan ref="scan" @getResult="getScanResult" :placeholder="title" :clearResult="false" :isShowHistory="false"> </win-com-scan>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</u-popup>
|
|
</view>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
import { ref, getCurrentInstance } from 'vue'
|
|
import winComScan from '@/mycomponents/scan/winComScan.vue'
|
|
|
|
const props = defineProps({
|
|
title: {
|
|
type: String,
|
|
default: ''
|
|
},
|
|
isShowRecord: {
|
|
type: Boolean,
|
|
default: true
|
|
}
|
|
})
|
|
const code = ref('')
|
|
const isShow = ref(false)
|
|
const expand = ref(false)
|
|
const scanList = ref([])
|
|
const expendIcon = ref('arrow-down')
|
|
const scan = ref()
|
|
const openScanPopup = () => {
|
|
setTimeout((res) => {
|
|
isShow.value = true
|
|
}, 500)
|
|
}
|
|
const closeScanPopup = () => {
|
|
if(scan.value){
|
|
scan.value.losefocus()
|
|
}
|
|
isShow.value = false
|
|
}
|
|
const getfocus = () => {
|
|
if (isShow.value) {
|
|
scan.value.getfocus()
|
|
}
|
|
}
|
|
const scanClick = () => {
|
|
scan.value.handelScanMsg()
|
|
}
|
|
const cancelClick = () => {
|
|
scan.value.clearScanValue()
|
|
}
|
|
const getScanResult = (result) => {
|
|
if (result.label.barType === 'BarCode') {
|
|
code.value = result.label.code
|
|
}
|
|
callBack()
|
|
}
|
|
const callBack = () => {
|
|
scan.value.clear()
|
|
emit('getScanCode', code.value)
|
|
}
|
|
// 传递给父类
|
|
const emit = defineEmits(['getScanCode'])
|
|
defineExpose({ openScanPopup, closeScanPopup })
|
|
</script>
|
|
|
|
<style></style>
|
|
|