From 4ca375b2e3dae98d6ececc1b7b421a12f3fa8a26 Mon Sep 17 00:00:00 2001 From: 董国庆 <364620639@qq.com> Date: 星期二, 01 七月 2025 09:00:38 +0800 Subject: [PATCH] 修改bug,验收通过 --- laboratory/src/views/dataManagement/schemeManagement/addPlan.vue | 47 +++++++++++++++++++++++++++++++++-------------- 1 files changed, 33 insertions(+), 14 deletions(-) diff --git a/laboratory/src/views/dataManagement/schemeManagement/addPlan.vue b/laboratory/src/views/dataManagement/schemeManagement/addPlan.vue index 6c214a1..ab8bbfa 100644 --- a/laboratory/src/views/dataManagement/schemeManagement/addPlan.vue +++ b/laboratory/src/views/dataManagement/schemeManagement/addPlan.vue @@ -631,13 +631,11 @@ this.$message.error("请选择实验调度"); return false; } - // 校验实验日期 if (!this.form.experimentDate) { this.$message.error("请填写实验日期"); return false; } - // 校验参与人员 if ( !this.selectedParticipants || @@ -646,46 +644,67 @@ this.$message.error("请选择参与人员"); return false; } - // 校验实验目的 const purpose = this.$refs.purposeEditor.getContent(); if (!purpose || purpose === "<p></p>" || purpose.trim() === "<p></p>") { this.$message.error("请填写实验目的"); return false; } - // 校验工艺参数及路线 const process = this.$refs.processEditor.getContent(); if (!process || process === "<p></p>" || process.trim() === "<p></p>") { this.$message.error("请填写工艺参数及路线"); return false; } - + // 校验 DynamicComponent 里的表格 + function checkDynamicComponentTables(list, label) { + if (!Array.isArray(list)) return true; + for (const comp of list) { + if (comp.type === 'customTable') { + if (!comp.data || !Array.isArray(comp.data.headers) || comp.data.headers.length === 0) { + this.$message.error(`${label}中有表格未添加表头`); + return false; + } + if (!Array.isArray(comp.data.rows) || comp.data.rows.length === 0) { + this.$message.error(`${label}中有表格未添加数据`); + return false; + } + } + } + return true; + } // 校验实验材料 if (!this.form.experimentMaterial) { this.$message.error("请添加实验材料"); return false; } - + if (!checkDynamicComponentTables.call(this, this.form.experimentMaterial, '实验材料')) { + return false; + } // 校验实验设备 if (!this.form.experimentDevice) { this.$message.error("请添加实验设备"); return false; } - + if (!checkDynamicComponentTables.call(this, this.form.experimentDevice, '实验设备')) { + return false; + } // 校验实验步骤记录 if (!this.stepList || this.stepList.length === 0) { this.$message.error("请添加实验操作步骤"); return false; } - - // 校验每个步骤是否都有内容 - const invalidStep = this.stepList.findIndex((step) => !step.content); - if (invalidStep !== -1) { - this.$message.error(`请完善第${invalidStep + 1}个步骤的内容`); - return false; + // 校验每个步骤是否都有内容及表格 + for (let i = 0; i < this.stepList.length; i++) { + const step = this.stepList[i]; + if (!step.content) { + this.$message.error(`请完善第${i + 1}个步骤的内容`); + return false; + } + if (!checkDynamicComponentTables.call(this, step.content, `第${i + 1}个步骤`)) { + return false; + } } - return true; }, handleStopExperiment() { -- Gitblit v1.7.1