Excel第121行 · 新型储能计划并网月份未做MW/MWh配对填写校验 2.1.待开发
问题描述:新型储能,计划并网容量信息页面,非橙色底色的月份,保存时需校验,同一个月份填写了MW或MWh中的一个,则另外一个也必须填写
未在代码中定位到现成的跨字段校验函数,给出的是需要新增的校验逻辑建议,需要结合“非橙色月份”判断条件进一步确认插入位置。
旧代码涉及的项目文件名及对应行数
xnybw5f/src/views/projectNew/components/planInfo/jhbwDetail.vue:MW字段(capacityJan 等,第67行起)和MWh字段(capacityJanMwh 等,第36-42、74-250行)是两组独立渲染的表格列,本次排查未在该文件的保存/校验函数中找到“同一月份MW和MWh必须同时填写或同时不填”的交叉校验逻辑(全文件检索“必须”相关的容量校验只找到第817行“请填写xx的容量(MW),并且必须大于0”这类单字段校验,没有跨字段配对校验)。
修复代码涉及的项目文件名及行数
jhbwDetail.vue 的保存/提交校验函数(本次未精确定位到具体函数名和行号,建议搜索该文件里对 capacityJan/capacityJanMwh 做校验的位置,在12个月字段上补齐配对校验,注意“非橙色底色的月份”这个UI层面的条件判断也需要一并确认,可能对应 showPracticalCapa 或类似的月份状态判断函数)
修复方案
// 建议新增的配对校验(伪代码,需要在12个月份上循环执行)
const months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']
for (const m of months) {
const mw = row[`capacity${m}`]
const mwh = row[`capacity${m}Mwh`]
if (!isOrangeMonth(row, m) && ((mw && !mwh) || (!mw && mwh))) {
message.error(`${m}月填写了容量(MW)或能量(MWh)其中一项,另一项也必须填写`)
return false
}
}具体“橙色底色月份”的判断条件和现有 showPracticalCapa/月份禁用逻辑的关系需要进一步核实,本次未确认。