diff --git a/src/views/mes/index.vue b/src/views/mes/index.vue index 4cfe958..37e213b 100644 --- a/src/views/mes/index.vue +++ b/src/views/mes/index.vue @@ -311,23 +311,29 @@ function startScanner() { wsClient.value.on('message', (data) => { // 服务端返回的 data 可能为字符串或对象 - const code = typeof data === 'string' ? data : data.sn - if (!code) return + const raw = typeof data === 'string' ? data : data.sn + if (!raw) return + // 用分号分割成数组,取第一个值匹配 + const codes = raw.split(';').map(s => s.trim()).filter(Boolean) + if (codes.length === 0) return + + // 只取第一个码进行匹配 + const code = codes[0] const type = classifyCode(code) switch (type) { case 'A': form.snCode = code form.serialNumber = code - ElMessage.success(`识别到A码(SN码): ${code}`) + // ElMessage.success(`识别到A码(SN码): ${code}`) break case 'B': bCode.value = code - ElMessage.success(`识别到B码: ${code}`) + // ElMessage.success(`识别到B码: ${code}`) break case 'C': cCode.value = code - ElMessage.success(`识别到C码: ${code}`) + // ElMessage.success(`识别到C码: ${code}`) break case 'IGNORE': // 620 开头的码忽略