2023-11-16 10:07:36 +08:00
|
|
|
<template>
|
|
|
|
<div class="keyboard-container">
|
|
|
|
<div v-if="keyboardType === 1">
|
|
|
|
<shortcut-view
|
|
|
|
:shortcuts="shortcuts"
|
2023-11-16 12:16:34 +08:00
|
|
|
@enter="$_onEnter"
|
2023-11-16 10:07:36 +08:00
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
<div v-else>
|
|
|
|
<keyboard-view
|
|
|
|
:mixedKeyboard="mixedKeyboard"
|
2023-11-16 12:16:34 +08:00
|
|
|
@enter="$_onEnter"
|
|
|
|
@delete="$_onDelete"
|
|
|
|
@confirm="$_onConfirm"
|
2023-11-16 10:07:36 +08:00
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
import keyboardView from './key-board-view.vue'
|
|
|
|
import shortcutView from './short-cut-view.vue'
|
|
|
|
|
|
|
|
export default {
|
|
|
|
name: 'license-plate-keyboard',
|
|
|
|
|
|
|
|
components: {
|
|
|
|
keyboardView,
|
|
|
|
shortcutView,
|
|
|
|
},
|
|
|
|
|
|
|
|
props: {
|
|
|
|
// 对象是键盘组件的数据对象,用于传递键盘每行的数据
|
|
|
|
keyboard: {
|
|
|
|
type: Object,
|
|
|
|
default: {},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
data() {
|
|
|
|
return {}
|
|
|
|
},
|
|
|
|
|
|
|
|
computed: {
|
|
|
|
shortcuts() {
|
|
|
|
return this.keyboard.shortcuts || []
|
|
|
|
},
|
|
|
|
// 键盘类型
|
|
|
|
keyboardType() {
|
|
|
|
return this.keyboard.keyboardType || 1
|
|
|
|
},
|
|
|
|
// 混合键盘数据
|
|
|
|
mixedKeyboard() {
|
|
|
|
return this.keyboard.mixedKeyboard || []
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
methods: {
|
2023-11-16 12:16:34 +08:00
|
|
|
$_onEnter(value) {
|
|
|
|
this.$emit('enter', value)
|
2023-11-16 10:07:36 +08:00
|
|
|
},
|
2023-11-16 12:16:34 +08:00
|
|
|
$_onDelete() {
|
|
|
|
this.$emit('delete')
|
2023-11-16 10:07:36 +08:00
|
|
|
},
|
2023-11-16 12:16:34 +08:00
|
|
|
$_onConfirm() {
|
|
|
|
this.$emit('confirm')
|
2023-11-16 10:07:36 +08:00
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
</script>
|