shish 3 ani în urmă
părinte
comite
e29ca1fbdb

+ 25 - 2
ghsApp/src/admin/home/workbench.vue

@@ -1,5 +1,6 @@
 <template>
 <view>
+  <keyboard-listener @keyup="onKeyup" @keydown="onKeydown"></keyboard-listener>
   <block v-if="loginStyle  == 0">
 	<!-- #ifdef MP-WEIXIN -->
     <view style="width:100vw;height:400upx;display:flex;align-items:center;justify-content:center;position:relative;">
@@ -165,6 +166,7 @@
 </template>
 
 <script>
+import keyboardListener from "@/components/keyboard-listener/keyboard-listener";
 const Uhf53Helper = uni.requireNativePlugin("Uhf53Helper");
 import { mapGetters,mapActions } from "vuex";
 import { getShopInfo } from "@/utils/auth";
@@ -180,7 +182,7 @@ import { getErrorPrice } from "@/api/item"
 import { getStaffInfo } from "@/api/shop-admin"
 export default {
 	name: "admin-workbench",
-	components: { },
+	components: { keyboardListener },
 	mixins: [productMins,autoUpdateMixins],
 	data() {
 		return {
@@ -220,7 +222,8 @@ export default {
 			loginStyle :0,
 			errorPirceList:[],
 			lookMoney:1,
-			notifyNum:0
+			notifyNum:0,
+			switch:0
 		};
 	},
 	onShareAppMessage(res) {
@@ -275,6 +278,26 @@ export default {
 	},
 	methods: {
 		...mapActions(['setUserShopAll']),
+		onKeydown(event) {
+			if(this.switch == 1){
+				return false
+			}
+			if (event.keyCode == 115 && event.type == 'keydown') {
+				console.log('已开启')
+				this.switch = 1
+				Uhf53Helper.startScan();
+			}
+		},
+		onKeyup(event) {
+			if(this.switch == 0){
+				return false
+			}
+			if (event.keyCode == 115 && event.type == 'keyup') {
+				console.log('已关闭')
+				this.switch = 0
+				Uhf53Helper.stopScan();
+			}
+		},
 		start() {
 			Uhf53Helper.startScan();
 		},

+ 40 - 0
ghsApp/src/components/keyboard-listener/keyboard-listener.vue

@@ -0,0 +1,40 @@
+<template>
+  <view></view>
+</template>
+
+<script>
+export default {
+  methods: {
+    onEvent(event) {
+      this.$emit(event.type, event)
+    },
+  },
+}
+</script>
+
+<script module="keyboard" lang="renderjs">
+export default {
+  mounted () {
+    const onKey = (event) => {
+      const keys1 = ['type', 'timeStamp']
+      const keys2 = ['altKey', 'code', 'ctrlKey', 'isComposing', 'key', 'location', 'metaKey', 'repeat', 'shiftKey']
+      const keys3 = ['char', 'charCode', 'keyCode', 'keyIdentifier', 'keyLocation', 'which']
+      const data = {}
+      keys1.concat(keys2, keys3).forEach(key => data[key] = event[key])
+      this.$ownerInstance.callMethod('onEvent', data)
+    }
+    const names = ['keydown', 'keyup']
+    names.forEach(name => {
+      document.addEventListener(name, onKey, false)
+    })
+    this.$on('hook:beforeDestroy', () => {
+      names.forEach(name => {
+        document.removeEventListener(name, onKey, false)
+      })
+    })
+  }
+}
+</script>
+
+<style>
+</style>