| | |
| | | const outboundInputRef = ref(null); |
| | | const purchaseInputRef = ref(null); |
| | | |
| | | const successAudioSrc = require('@/assets/audio/success.mp3'); |
| | | const errorAudioSrc = require('@/assets/audio/error.mp3'); |
| | | |
| | | // ========== ä»
æ°å¢ï¼é³é¢ææ¾å½æ°ï¼æ å
¶ä»ä»£ç æ¹å¨ï¼ ========== |
| | | const playAudio = (audioSrc, volume = 0.8) => { |
| | | try { |
| | | const audio = new Audio(audioSrc); |
| | | audio.volume = volume; |
| | | audio.play().catch(() => {}); |
| | | } catch (e) {} |
| | | }; |
| | | const playSuccess = () => playAudio(successAudioSrc); |
| | | const playError = () => playAudio(errorAudioSrc); |
| | | // ========== é³é¢å½æ°ç»æ ========== |
| | | |
| | | // ç»ä»¶æè½½æ¶èç¦å°åºåºåè¾å
¥æ¡ |
| | | onMounted(() => { |
| | | nextTick(() => { |
| | |
| | | // æ ¸å¿æ°å¢ï¼åç½®æ ¡éªï¼ç¡®ä¿åºåºåå·²éªè¯ |
| | | if (!isOutboundVerified.value) { |
| | | ElMessage.warning("请å
éªè¯ææçåºåºåæ®å·ååæ«ææ¡ç "); |
| | | playError(); // ========== ä»
æ°å¢è¿ä¸è¡ ========== |
| | | nextTick(() => { |
| | | outboundInputRef.value?.focus(); |
| | | }); |
| | |
| | | const isDuplicate = scannedBarcodes.value.some(item => item.barcode === barcode); |
| | | if (isDuplicate) { |
| | | ElMessage.warning(`æ¡ç ã${barcode}ãå·²åå¨ï¼æ éé夿«æ`); |
| | | playError(); // ========== ä»
æ°å¢è¿ä¸è¡ ========== |
| | | formData.barcode = ""; |
| | | nextTick(() => barcodeInputRef.value?.focus()); // å»éåä»èç¦æ¡ç æ¡ |
| | | return; |
| | |
| | | loading.value = true; |
| | | |
| | | // æ¥éª¤1ï¼æ¥è¯¢éè´åå· |
| | | const purchaseOrderNo = await getPurchaseOrderByBarcode(barcode); |
| | | if (purchaseOrderNo) { |
| | | orderForm.purchaseOrderNo = purchaseOrderNo; |
| | | } else { |
| | | ElMessage.info("æªæ¥è¯¢å°è¯¥æ¡ç 对åºçéè´åå·ï¼ç»§ç»éªè¯æ¡ç æææ§"); |
| | | formData.barcode = ""; |
| | | nextTick(() => barcodeInputRef.value?.focus()); |
| | | let purchaseOrderNo = ''; |
| | | try { |
| | | purchaseOrderNo = await getPurchaseOrderByBarcode(barcode); |
| | | if (purchaseOrderNo) { |
| | | orderForm.purchaseOrderNo = purchaseOrderNo; |
| | | } else { |
| | | ElMessage.info("æªæ¥è¯¢å°è¯¥æ¡ç 对åºçéè´åå·ï¼ç»§ç»éªè¯æ¡ç æææ§"); |
| | | playError(); // ========== ä»
æ°å¢è¿ä¸è¡ ========== |
| | | } |
| | | } catch (error) { |
| | | ElMessage.info("æªæ¥è¯¢å°è¯¥æ¡ç 对åºçéè´åå·ï¼ç»§ç»éªè¯æ¡ç æææ§ï¼" + error.message); |
| | | playError(); // ========== ä»
æ°å¢è¿ä¸è¡ ========== |
| | | } |
| | | |
| | | // æ¥éª¤2ï¼éªè¯æ¡ç å¹¶è·åç©æä¿¡æ¯ |
| | |
| | | if (validateRes.status === true) { |
| | | if (!Array.isArray(validateRes.data) || validateRes.data.length === 0) { |
| | | ElMessage.warning("该æ¡ç éªè¯æåï¼ä½æªè¿åç©æä¿¡æ¯"); |
| | | playError(); // ========== ä»
æ°å¢è¿ä¸è¡ ========== |
| | | formData.barcode = ""; |
| | | nextTick(() => barcodeInputRef.value?.focus()); |
| | | } else { |
| | |
| | | })); |
| | | scannedBarcodes.value.push(...newItems); |
| | | ElMessage.success(`æ«ææåï¼æ°å¢ ${newItems.length} æ¡ç©æä¿¡æ¯ï¼ç´¯è®¡ ${scannedBarcodes.value.length} æ¡`); |
| | | playSuccess(); // ========== ä»
æ°å¢è¿ä¸è¡ ========== |
| | | formData.barcode = ""; |
| | | } |
| | | } else { |
| | | ElMessage.error("æ«æå¤±è´¥ï¼" + (validateRes.message || 'æ¡ç éªè¯å¤±è´¥')); |
| | | |
| | | playError(); // ========== ä»
æ°å¢è¿ä¸è¡ ========== |
| | | formData.barcode = ""; |
| | | nextTick(() => barcodeInputRef.value?.focus()); |
| | | } |
| | | } catch (error) { |
| | | ElMessage.error(error.message); |
| | | playError(); // ========== ä»
æ°å¢è¿ä¸è¡ ========== |
| | | formData.barcode = ""; |
| | | nextTick(() => barcodeInputRef.value?.focus()); |
| | | } finally { |