feat: 🚀 69码非法验证
This commit is contained in:
@@ -1,8 +1,14 @@
|
|||||||
//打印序列码
|
//打印序列码
|
||||||
import { getLodop } from "../print.js";
|
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) => {
|
export const numberCodePrint = async (list, callBack) => {
|
||||||
|
// 仅当69码存在且格式非法时,弹窗并终止 "6942229761912"
|
||||||
|
if (isInvalidEAN13(list[0].barCode)) {
|
||||||
|
useMsg("warning", `69码【${list[0].barCode}】格式非法(校验码错误),无法打印!`);
|
||||||
|
return; // 终止后续打印逻辑
|
||||||
|
}
|
||||||
|
|
||||||
let LODOP; //声明为全局变量
|
let LODOP; //声明为全局变量
|
||||||
LODOP = getLodop();
|
LODOP = getLodop();
|
||||||
LODOP.PRINT_INIT("打印序列码");
|
LODOP.PRINT_INIT("打印序列码");
|
||||||
|
|||||||
@@ -1,8 +1,13 @@
|
|||||||
//打印序列码
|
//打印序列码
|
||||||
import { getLodop } from "../print.js";
|
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) => {
|
export const numberCodePrint = async (list, callBack) => {
|
||||||
|
// 仅当69码存在且格式非法时,弹窗并终止 "6942229761912"
|
||||||
|
if (isInvalidEAN13(list[0].barCode)) {
|
||||||
|
useMsg("warning", `69码【${list[0].barCode}】格式非法(校验码错误),无法打印!`);
|
||||||
|
return; // 终止后续打印逻辑
|
||||||
|
}
|
||||||
let LODOP; //声明为全局变量
|
let LODOP; //声明为全局变量
|
||||||
LODOP = getLodop();
|
LODOP = getLodop();
|
||||||
LODOP.PRINT_INIT("打印序列码");
|
LODOP.PRINT_INIT("打印序列码");
|
||||||
|
|||||||
@@ -1,10 +1,14 @@
|
|||||||
//打印序列码
|
//打印序列码
|
||||||
import { getLodop } from "../print";
|
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) => {
|
export const oneCodePrint = (list, callBack) => {
|
||||||
// let barCodeClone = "6954301173908";
|
// 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 code69Img = set69Code(list[0].barCode); //(list[0].barCode);
|
||||||
let date = dateCreate();
|
let date = dateCreate();
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,14 @@
|
|||||||
//打印序列码
|
//打印序列码
|
||||||
import { getLodop } from "../print";
|
import { getLodop } from "../print";
|
||||||
import { codeSN, set69Code } from "./utils";
|
import { codeSN, set69Code, isInvalidEAN13 } from "./utils";
|
||||||
|
import { useMsg } from "@/hooks/useMsg";
|
||||||
//dateCreate
|
//dateCreate
|
||||||
export const oneNumberCodePrint = (list, callBack) => {
|
export const oneNumberCodePrint = (list, callBack) => {
|
||||||
|
// 仅当69码存在且格式非法时,弹窗并终止 "6942229761912"
|
||||||
|
if (isInvalidEAN13(list[0].barCode)) {
|
||||||
|
useMsg("warning", `69码【${list[0].barCode}】格式非法(校验码错误),无法打印!`);
|
||||||
|
return; // 终止后续打印逻辑
|
||||||
|
}
|
||||||
// let barCodeClone = "6954301173908";
|
// let barCodeClone = "6954301173908";
|
||||||
let code69Img = set69Code(list[0].barCode); //(list[0].barCode);
|
let code69Img = set69Code(list[0].barCode); //(list[0].barCode);
|
||||||
// let date = dateCreate();
|
// let date = dateCreate();
|
||||||
|
|||||||
@@ -1,9 +1,17 @@
|
|||||||
//打印序列码
|
//打印序列条码
|
||||||
import { getLodop } from "../print";
|
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) => {
|
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 code69Img = set69Code(list[0].barCode);
|
||||||
|
|
||||||
let date = dateCreate();
|
let date = dateCreate();
|
||||||
let LODOP; //声明为全局变量
|
let LODOP; //声明为全局变量
|
||||||
LODOP = getLodop();
|
LODOP = getLodop();
|
||||||
|
|||||||
@@ -1,9 +1,16 @@
|
|||||||
//打印序列码
|
//打印序列码
|
||||||
import { getLodop } from "../print";
|
import { getLodop } from "../print";
|
||||||
|
import { useMsg } from "@/hooks/useMsg";
|
||||||
//codeSN
|
//codeSN
|
||||||
import { set69Code, dateCreate } from "./utils";
|
import { set69Code, dateCreate, isInvalidEAN13 } from "./utils";
|
||||||
import JsBarcode from "jsbarcode";
|
import JsBarcode from "jsbarcode";
|
||||||
export const sequenceCodePrint = (list, callBack) => {
|
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 code69Img = set69Code(list[0].barCode);
|
||||||
let date = dateCreate();
|
let date = dateCreate();
|
||||||
let LODOP; //声明为全局变量
|
let LODOP; //声明为全局变量
|
||||||
|
|||||||
@@ -1,9 +1,15 @@
|
|||||||
//打印序列号
|
//打印序列号
|
||||||
import { getLodop } from "../print.js";
|
import { getLodop } from "../print.js";
|
||||||
|
import { useMsg } from "@/hooks/useMsg";
|
||||||
import { codeSN, dateCreate, set69Code } from "./utils";
|
import { codeSN, dateCreate, set69Code, isInvalidEAN13 } from "./utils";
|
||||||
|
|
||||||
export const twoCodePrint = async (printData, callBack) => {
|
export const twoCodePrint = async (printData, callBack) => {
|
||||||
|
// 仅当69码存在且格式非法时,弹窗并终止 "6942229761912"
|
||||||
|
if (isInvalidEAN13(printData[0].barCode)) {
|
||||||
|
useMsg("warning", `69码【${printData[0].barCode}】格式非法(校验码错误),无法打印!`);
|
||||||
|
return; // 终止后续打印逻辑
|
||||||
|
}
|
||||||
|
|
||||||
let LODOP; //声明为全局变量
|
let LODOP; //声明为全局变量
|
||||||
LODOP = getLodop();
|
LODOP = getLodop();
|
||||||
LODOP.PRINT_INIT("打印序列号");
|
LODOP.PRINT_INIT("打印序列号");
|
||||||
|
|||||||
@@ -70,3 +70,24 @@ export const set69Code = barCode => {
|
|||||||
return null;
|
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