扫描仪:实现扫描输入框事件,输入框用来接收扫描条形码的值,并通过条形码的值自动获取查询的内容
其实扫描枪就相当于一个键盘+Enter事件`在这里插入代码片
在这里插入代码片
<template>
<div >
<el-input ref="searchInput" v-model="searchData" placeholder="请输入菌种号"
@keyup.enter.native="searchJz" />
<el-button type="primary" size="small" @click="searchJz">查询</el-button>`
</div>
</template>
<script>
export default {
data() {
return {
searchData: '' "
}
},
methods: {
searchJz() {
const no = this.searchData
if (!no) {
this.$message.warning('请输入菌种编号')
} else {
getSweepingCodeGunSearch({ no: no }).then((res) => {
if (res.code == 200) {
if (res.data) {
const item = res.data
this.form.wswStockInMList.push({
wswDataId: item.id, // 菌种id
wswDataName: item.name, // 菌种名称
wswTypeId: item.wswTypeId, // 菌种类型id
wswTypeName: item.wswTypeName, // 类型名称
wswDataNo: item.no, // 菌种编码
wswDataLatinName: item.latinName,
wswStockInNo: this.form.no,
num: 0
})
// 清除输入框的数据
this.searchData = ''
// 将光标放回输入框,输入框的 placeholder 为菌种编号
this.$nextTick(() => {
this.$refs.searchInput.focus()
this.$refs.searchInput.$el.querySelector('input').placeholder = no
})
}
} else if (res.code == 501) {
// 查询结果为空,提示菌种编号不存在,请重新输入
this.$message.warning('菌种编号不存在,请重新输入')
this.searchData = ''
this.$nextTick(() => {
this.$refs.searchInput.focus()
this.$refs.searchInput.$el.querySelector('input').placeholder = no
})
}
}).catch((error) => {
console.log(error)
})
}
}
},
}
</script>