|
|
|
@ -311,23 +311,29 @@ function startScanner() {
|
|
|
|
|
|
|
|
|
|
|
|
wsClient.value.on('message', (data) => {
|
|
|
|
wsClient.value.on('message', (data) => {
|
|
|
|
// 服务端返回的 data 可能为字符串或对象
|
|
|
|
// 服务端返回的 data 可能为字符串或对象
|
|
|
|
const code = typeof data === 'string' ? data : data.sn
|
|
|
|
const raw = typeof data === 'string' ? data : data.sn
|
|
|
|
if (!code) return
|
|
|
|
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)
|
|
|
|
const type = classifyCode(code)
|
|
|
|
switch (type) {
|
|
|
|
switch (type) {
|
|
|
|
case 'A':
|
|
|
|
case 'A':
|
|
|
|
form.snCode = code
|
|
|
|
form.snCode = code
|
|
|
|
form.serialNumber = code
|
|
|
|
form.serialNumber = code
|
|
|
|
ElMessage.success(`识别到A码(SN码): ${code}`)
|
|
|
|
// ElMessage.success(`识别到A码(SN码): ${code}`)
|
|
|
|
break
|
|
|
|
break
|
|
|
|
case 'B':
|
|
|
|
case 'B':
|
|
|
|
bCode.value = code
|
|
|
|
bCode.value = code
|
|
|
|
ElMessage.success(`识别到B码: ${code}`)
|
|
|
|
// ElMessage.success(`识别到B码: ${code}`)
|
|
|
|
break
|
|
|
|
break
|
|
|
|
case 'C':
|
|
|
|
case 'C':
|
|
|
|
cCode.value = code
|
|
|
|
cCode.value = code
|
|
|
|
ElMessage.success(`识别到C码: ${code}`)
|
|
|
|
// ElMessage.success(`识别到C码: ${code}`)
|
|
|
|
break
|
|
|
|
break
|
|
|
|
case 'IGNORE':
|
|
|
|
case 'IGNORE':
|
|
|
|
// 620 开头的码忽略
|
|
|
|
// 620 开头的码忽略
|
|
|
|
|