在数量的单元格加了编辑结束事件:用于判断当任务状态为2时,数量不能小于当前已完成数量,否则会出现弹框,这一步对了。但是我需要就是在web属性的校验提交前再加一个判断,就是 如果存在上面那种情况 ,就无法真正提交,但是现在就是点了提交之后会报错,还是能提交入库 --单元格编辑结束 // 1. 获取 O6 输入值、状态(I 列)、当前完成数量(AK 列) var num = this.getValue(); // O6 输入值 num = parseFloat(num) || 0; // 转为数字,空值设为 0 var location = this.options.location; var cr = FR.cellStr2ColumnRow(location); var col = cr.col; var row = cr.row; var status = _g().getCellValue(0, col - 6, row); // I 列(状态列)值 status = parseInt(status) || 0; // 转为数字,空值设为 0 var completeNum = _g().getCellValue(0, col + 22, row); // AK 列(完成数量列)值 completeNum = parseFloat(completeNum) || 0; // 转为数字,空值设为 0 // 2. 核心校验:状态为 2 且 O6 < 完成数量 if (status === 2 && num < completeNum) { FR.Msg.alert("输入错误", "进行中的任务数量修改不能小于当前完成数量,请重新输入!"); this.setValue(""); // 清空错误输入 //this.focus(); // 聚焦回 O6,方便重输 _g().setAttribute("isO6Valid", false); // 标记 O6 校验失败 } else { _g().setAttribute("isO6Valid", true); // 标记 O6 校验通过 } ---提交前 function checkSubmit() { // 1. 获取 O6 校验状态 var isO6Valid = _g().getAttribute("isO6Valid");
// 2. 若 O6 校验失败,阻止提交 if (isO6Valid === false) { FR.Msg.alert("提交失败", "O6 单元格数据不合法,无法提交!"); return false; // 阻止提交 }
// (可选)可在此添加其他单元格的校验逻辑...
return true; // 所有校验通过,允许提交 } // 绑定提交前校验函数 return checkSubmit(); |