修改错误提示信息

This commit is contained in:
叶锦涛
2025-11-18 11:15:10 +08:00
parent e83fc94334
commit e105919dab

View File

@@ -1035,31 +1035,30 @@ export default {
// 1. 测试起始和终止号码前缀一致性:例如"AB123"和"AB456"通过,"AB123"和"AC456"失败 // 1. 测试起始和终止号码前缀一致性:例如"AB123"和"AB456"通过,"AB123"和"AC456"失败
// 2. 测试当前号码与起始号码前缀一致性:例如"AB123"作为起始,"AB125"作为当前号码通过,"AC125"失败 // 2. 测试当前号码与起始号码前缀一致性:例如"AB123"作为起始,"AB125"作为当前号码通过,"AC125"失败
// 3. 测试无字母情况:纯数字"123456"作为起始、终止和当前号码都通过验证 // 3. 测试无字母情况:纯数字"123456"作为起始、终止和当前号码都通过验证
validateRecord(record) { validateRecord(record, rowIndex) {
const errors = []; const errors = [];
// 使用keyId标识记录避免使用可能不存在的id const rowInfo = rowIndex ? `${rowIndex}` : '';
const recordIdentifier = record.keyId || record.id || '(新记录)';
// 验证操作员不为空 // 验证操作员不为空
if (!record.operator || !record.employeeId) { if (!record.operator || !record.employeeId) {
errors.push(`记录[${recordIdentifier}]: 未设置票据号码的员工`); errors.push(`${rowInfo}: 未设置票据号码的员工`);
} }
// 验证起始号码 // 验证起始号码
const startNumValidation = this.validateInvoiceNumber(record.startNum); const startNumValidation = this.validateInvoiceNumber(record.startNum);
if (!startNumValidation.valid) { if (!startNumValidation.valid) {
errors.push(`记录[${recordIdentifier}]: 起始号码 ${startNumValidation.message}`); errors.push(`${rowInfo}: 起始号码 ${startNumValidation.message}`);
} }
// 验证终止号码 // 验证终止号码
const endNumValidation = this.validateInvoiceNumber(record.endNum); const endNumValidation = this.validateInvoiceNumber(record.endNum);
if (!endNumValidation.valid) { if (!endNumValidation.valid) {
errors.push(`记录[${recordIdentifier}]: 终止号码 ${endNumValidation.message}`); errors.push(`${rowInfo}: 终止号码 ${endNumValidation.message}`);
} }
// 验证起始和终止号码长度一致 // 验证起始和终止号码长度一致
if (record.startNum && record.endNum && !this.validateNumberLengths(record.startNum, record.endNum)) { if (record.startNum && record.endNum && !this.validateNumberLengths(record.startNum, record.endNum)) {
errors.push(`记录[${recordIdentifier}]: 起始发票号码与终止发票号码长度必须完全一致`); errors.push(`${rowInfo}: 起始发票号码与终止发票号码长度必须完全一致`);
} }
// 验证起始和终止号码前缀一致性 // 验证起始和终止号码前缀一致性
@@ -1068,7 +1067,7 @@ export default {
const endPrefix = this.extractPrefixFromEnd(record.endNum); const endPrefix = this.extractPrefixFromEnd(record.endNum);
if (startPrefix !== endPrefix) { if (startPrefix !== endPrefix) {
errors.push(`记录[${recordIdentifier}]: 起始和终止号码前缀必须一致(前缀定义:从号码最末位开始往前推直到出现字母为止的前面字符)`); errors.push(`${rowInfo}: 起始和终止号码前缀必须一致(前缀定义:从号码最末位开始往前推直到出现字母为止的前面字符)`);
} }
} }
@@ -1078,27 +1077,27 @@ export default {
const startPrefix = this.extractPrefixFromEnd(record.startNum); const startPrefix = this.extractPrefixFromEnd(record.startNum);
if (currentPrefix !== startPrefix) { if (currentPrefix !== startPrefix) {
errors.push(`记录[${recordIdentifier}]: 当前使用号码前缀与起始号码前缀必须一致(前缀定义:从号码最末位开始往前推直到出现字母为止的前面字符)`); errors.push(`${rowInfo}: 当前使用号码前缀与起始号码前缀必须一致(前缀定义:从号码最末位开始往前推直到出现字母为止的前面字符)`);
} }
} }
// 验证当前号码在范围内 // 验证当前号码在范围内
if (record.currentNum && record.startNum && record.endNum && if (record.currentNum && record.startNum && record.endNum &&
!this.validateCurrentNumberInRange(record.currentNum, record.startNum, record.endNum)) { !this.validateCurrentNumberInRange(record.currentNum, record.startNum, record.endNum)) {
errors.push(`记录[${recordIdentifier}]: 当前使用号码不在有效范围内`); errors.push(`${rowInfo}: 当前使用号码不在有效范围内`);
} }
// 验证号码唯一性 // 验证号码唯一性
const uniquenessCheck = this.checkNumberUniqueness(record); const uniquenessCheck = this.checkNumberUniqueness(record);
if (!uniquenessCheck.valid) { if (!uniquenessCheck.valid) {
errors.push(`记录[${recordIdentifier}]: ${uniquenessCheck.message}`); errors.push(`${rowInfo}: ${uniquenessCheck.message}`);
} }
// 检查号码范围是否与其他记录重叠 // 检查号码范围是否与其他记录重叠
if (record.startNum && record.endNum) { if (record.startNum && record.endNum) {
const overlapCheck = this.checkRangeOverlap(record); const overlapCheck = this.checkRangeOverlap(record);
if (!overlapCheck.valid) { if (!overlapCheck.valid) {
errors.push(`记录[${recordIdentifier}]: ${overlapCheck.message}`); errors.push(`${rowInfo}: ${overlapCheck.message}`);
} }
} }
@@ -1109,9 +1108,9 @@ export default {
runAllValidations() { runAllValidations() {
this.validationErrors = []; this.validationErrors = [];
// 验证每个记录 // 验证每个记录,添加行号信息
this.invoiceData.forEach(record => { this.invoiceData.forEach((record, index) => {
const recordErrors = this.validateRecord(record); const recordErrors = this.validateRecord(record, index + 1); // 行号从1开始
if (recordErrors.length > 0) { if (recordErrors.length > 0) {
this.validationErrors.push(...recordErrors); this.validationErrors.push(...recordErrors);
} }