feat: 🚀 69码非法验证
This commit is contained in:
@@ -1,8 +1,14 @@
|
||||
//打印序列码
|
||||
import { getLodop } from "../print.js";
|
||||
import { codeSN, set69Code } from "./utils";
|
||||
|
||||
import { codeSN, set69Code, isInvalidEAN13 } from "./utils";
|
||||
import { useMsg } from "@/hooks/useMsg";
|
||||
export const numberCodePrint = async (list, callBack) => {
|
||||
// 仅当69码存在且格式非法时,弹窗并终止 "6942229761912"
|
||||
if (isInvalidEAN13(list[0].barCode)) {
|
||||
useMsg("warning", `69码【${list[0].barCode}】格式非法(校验码错误),无法打印!`);
|
||||
return; // 终止后续打印逻辑
|
||||
}
|
||||
|
||||
let LODOP; //声明为全局变量
|
||||
LODOP = getLodop();
|
||||
LODOP.PRINT_INIT("打印序列码");
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
//打印序列码
|
||||
import { getLodop } from "../print.js";
|
||||
import { set69Code } from "./utils";
|
||||
|
||||
import { set69Code, isInvalidEAN13 } from "./utils";
|
||||
import { useMsg } from "@/hooks/useMsg";
|
||||
export const numberCodePrint = async (list, callBack) => {
|
||||
// 仅当69码存在且格式非法时,弹窗并终止 "6942229761912"
|
||||
if (isInvalidEAN13(list[0].barCode)) {
|
||||
useMsg("warning", `69码【${list[0].barCode}】格式非法(校验码错误),无法打印!`);
|
||||
return; // 终止后续打印逻辑
|
||||
}
|
||||
let LODOP; //声明为全局变量
|
||||
LODOP = getLodop();
|
||||
LODOP.PRINT_INIT("打印序列码");
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
//打印序列码
|
||||
import { getLodop } from "../print";
|
||||
import { codeSN, set69Code, dateCreate } from "./utils";
|
||||
|
||||
import { codeSN, set69Code, dateCreate, isInvalidEAN13 } from "./utils";
|
||||
import { useMsg } from "@/hooks/useMsg";
|
||||
export const oneCodePrint = (list, callBack) => {
|
||||
// let barCodeClone = "6954301173908";
|
||||
|
||||
// 仅当69码存在且格式非法时,弹窗并终止 "6942229761912"
|
||||
if (isInvalidEAN13(list[0].barCode)) {
|
||||
useMsg("warning", `69码【${list[0].barCode}】格式非法(校验码错误),无法打印!`);
|
||||
return; // 终止后续打印逻辑
|
||||
}
|
||||
let code69Img = set69Code(list[0].barCode); //(list[0].barCode);
|
||||
let date = dateCreate();
|
||||
|
||||
|
||||
@@ -1,8 +1,14 @@
|
||||
//打印序列码
|
||||
import { getLodop } from "../print";
|
||||
import { codeSN, set69Code } from "./utils";
|
||||
import { codeSN, set69Code, isInvalidEAN13 } from "./utils";
|
||||
import { useMsg } from "@/hooks/useMsg";
|
||||
//dateCreate
|
||||
export const oneNumberCodePrint = (list, callBack) => {
|
||||
// 仅当69码存在且格式非法时,弹窗并终止 "6942229761912"
|
||||
if (isInvalidEAN13(list[0].barCode)) {
|
||||
useMsg("warning", `69码【${list[0].barCode}】格式非法(校验码错误),无法打印!`);
|
||||
return; // 终止后续打印逻辑
|
||||
}
|
||||
// let barCodeClone = "6954301173908";
|
||||
let code69Img = set69Code(list[0].barCode); //(list[0].barCode);
|
||||
// let date = dateCreate();
|
||||
|
||||
@@ -1,9 +1,17 @@
|
||||
//打印序列码
|
||||
//打印序列条码
|
||||
import { getLodop } from "../print";
|
||||
import { codeSN, set69Code, dateCreate } from "./utils";
|
||||
|
||||
import { codeSN, set69Code, dateCreate, isInvalidEAN13 } from "./utils";
|
||||
import { useMsg } from "@/hooks/useMsg";
|
||||
export const sequenceCodePrint = (list, callBack) => {
|
||||
// 仅当69码存在且格式非法时,弹窗并终止 "6942229761912"
|
||||
console.log(isInvalidEAN13(list[0].barCode), "==isInvalidEAN13(list[0].barCode)=");
|
||||
if (isInvalidEAN13(list[0].barCode)) {
|
||||
useMsg("warning", `69码【${list[0].barCode}】格式非法(校验码错误),无法打印!`);
|
||||
return; // 终止后续打印逻辑
|
||||
}
|
||||
//list[0].barCode
|
||||
let code69Img = set69Code(list[0].barCode);
|
||||
|
||||
let date = dateCreate();
|
||||
let LODOP; //声明为全局变量
|
||||
LODOP = getLodop();
|
||||
|
||||
@@ -1,9 +1,16 @@
|
||||
//打印序列码
|
||||
import { getLodop } from "../print";
|
||||
import { useMsg } from "@/hooks/useMsg";
|
||||
//codeSN
|
||||
import { set69Code, dateCreate } from "./utils";
|
||||
import { set69Code, dateCreate, isInvalidEAN13 } from "./utils";
|
||||
import JsBarcode from "jsbarcode";
|
||||
export const sequenceCodePrint = (list, callBack) => {
|
||||
// 仅当69码存在且格式非法时,弹窗并终止 "6942229761912"
|
||||
if (isInvalidEAN13(list[0].barCode)) {
|
||||
useMsg("warning", `69码【${list[0].barCode}】格式非法(校验码错误),无法打印!`);
|
||||
return; // 终止后续打印逻辑
|
||||
}
|
||||
|
||||
let code69Img = set69Code(list[0].barCode);
|
||||
let date = dateCreate();
|
||||
let LODOP; //声明为全局变量
|
||||
|
||||
@@ -1,9 +1,15 @@
|
||||
//打印序列号
|
||||
import { getLodop } from "../print.js";
|
||||
|
||||
import { codeSN, dateCreate, set69Code } from "./utils";
|
||||
import { useMsg } from "@/hooks/useMsg";
|
||||
import { codeSN, dateCreate, set69Code, isInvalidEAN13 } from "./utils";
|
||||
|
||||
export const twoCodePrint = async (printData, callBack) => {
|
||||
// 仅当69码存在且格式非法时,弹窗并终止 "6942229761912"
|
||||
if (isInvalidEAN13(printData[0].barCode)) {
|
||||
useMsg("warning", `69码【${printData[0].barCode}】格式非法(校验码错误),无法打印!`);
|
||||
return; // 终止后续打印逻辑
|
||||
}
|
||||
|
||||
let LODOP; //声明为全局变量
|
||||
LODOP = getLodop();
|
||||
LODOP.PRINT_INIT("打印序列号");
|
||||
|
||||
@@ -70,3 +70,24 @@ export const set69Code = barCode => {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
// EAN13(69码)非法校验函数(仅校验有值但格式错的情况)
|
||||
export const isInvalidEAN13 = ean => {
|
||||
// // 空值直接返回false(不校验)
|
||||
if (!ean) return false;
|
||||
if (ean === " ") return false;
|
||||
// 过滤非数字,检查是否为13位
|
||||
const cleanEan = ean.toString().replace(/\D/g, "");
|
||||
if (cleanEan.length !== 13) return true;
|
||||
|
||||
// 校验码计算
|
||||
const digits = cleanEan.split("").map(Number);
|
||||
const checkDigit = digits.pop();
|
||||
let sum = 0;
|
||||
digits.forEach((digit, index) => {
|
||||
sum += digit * (index % 2 === 0 ? 1 : 3);
|
||||
});
|
||||
const calculatedCheckDigit = (10 - (sum % 10)) % 10;
|
||||
|
||||
// 校验码不一致则为非法
|
||||
return calculatedCheckDigit !== checkDigit;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user