shish 4 лет назад
Родитель
Сommit
f1d4bb9a4b
1 измененных файлов с 29 добавлено и 4 удалено
  1. 29 4
      hdPad/src/pages/home/components/nav.vue

+ 29 - 4
hdPad/src/pages/home/components/nav.vue

@@ -3,14 +3,15 @@
     <view :class="['item-list',navType==s.flag ?'selected':'']" v-for="(s, idx) in nav" @tap="goTo(s)" :key="idx">
       <view class="name">{{s.name}}</view>
      </view>
+    <keyboard-listener v-if="device == 'PAD'" @keyup="getScan"></keyboard-listener>
   </view>
 </template>
 <script>
-import scanMins from "@/mixins/scan";
+import keyboardListener from "@/components/keyboard-listener/keyboard-listener.vue";
 export default {
   name: "navComponet",
-  mixins: [scanMins],
-  components: { },
+  mixins: [],
+  components: { keyboardListener },
 	props: {
 		navType: {
 			type: String,
@@ -24,10 +25,34 @@ export default {
         { name: "制作单", page: "/pages/home/work",flag:'work' },
         { name: "选品建单", page: "/pages/home/selectMake",flag:'selGoods' },
         { name: "选材建单", page: "/pages/home/make",flag:'selItem' }
-      ]
+      ],
+      device:'',
     };
   },
+  created(){
+    // #ifdef APP-PLUS
+    this.device = 'PAD'
+    console.log('扫码监听...')   
+    // #endif
+  },
   methods: {
+		getScan(item){
+      let hasScanCode = uni.getStorageSync('hasScanCode')
+      let val = item.key || ''
+      let code = item.code || ''
+      let that = this
+
+      if(!this.$util.isEmpty(val) && code != 'Minus' && val != 'Unidentified'){
+        if(val != 'Enter'){
+          uni.setStorageSync('hasScanCode', hasScanCode+val)
+        }
+        if(val == 'Enter'){
+          that.$msg(hasScanCode)
+          uni.$emit('listenGetScanCode',{code:hasScanCode})
+          uni.removeStorageSync('hasScanCode')
+        }
+      }
+		},
     goTo(item) {
       this.$util.hitVoice();
       this.$util.pageTo({ url: item.page, type: 2 });