|
|
|
|
@ -238,11 +238,17 @@ async function persistProgress(saveAction = "SAVE") { await saveStudentTrainingA
|
|
|
|
|
function addRow() { if (categoryRows.value.length >= MAX_ROWS) return; categoryRows.value.push(createRow()); }
|
|
|
|
|
function removeLastRow() { categoryRows.value.pop(); }
|
|
|
|
|
async function validateStepOne() {
|
|
|
|
|
if (!categoryRows.value.length) {
|
|
|
|
|
ElMessage.warning("请至少填写一行品类数据");
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
try {
|
|
|
|
|
const response = await validateCategoryOptimizationStepOne({ rows: categoryRows.value });
|
|
|
|
|
if (response?.data?.valid === false) throw new Error(response.data.message || "数据校验未通过");
|
|
|
|
|
return true;
|
|
|
|
|
} catch (error) {
|
|
|
|
|
// 请求层已经展示了后端 400 返回的业务提示,避免再叠加一条英文 Axios 错误。
|
|
|
|
|
if (error?.response?.status === 400) return false;
|
|
|
|
|
ElMessage.error(error?.message || error?.msg || "数据校验未通过,请检查填写内容");
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|