错误原因
API使用错误:FVS中不存在getParameterContainer()方法,该方法通常用于FineReport报表,FVS架构不同导致调用失败。
控件获取方式错误:直接使用getWidgetByName未指定上下文,且错误将控件值赋给变量g,后续又将g作为函数调用
// 获取开始时间控件的值
var startWidget = this.getWidgetByName("starttime");
var start = startWidget ? startWidget.getValue() : "";
// 获取结束时间控件的值
var endWidget = this.getWidgetByName("endtime");
var end = endWidget ? endWidget.getValue() : "";
// 校验开始时间不为空
if (start === "" || start === null) {
FR.Msg.alert("提示", "开始时间不能为空");
return false;
}
// 校验结束时间不为空
if (end === "" || end === null) {
FR.Msg.alert("提示", "结束时间不能为空");
return false;
}
// 转换为日期对象并计算天数差
var startDate = new Date(start);
var endDate = new Date(end);
var subdate = (endDate - startDate) / (1000 * 60 * 60 * 24);
// 校验开始时间不大于结束时间
if (startDate > endDate) {
FR.Msg.alert("提示", "开始时间不能大于结束时间");
return false;
}
// 校验时间差不超过30天
if (subdate > "30") {
FR.Msg.alert("提示", "开始时间和结束时间相差不能大于30天");
return false;
}
return true;