js脚本报错

image.png这个脚本报错:image.png为什么

FineReport jutqgCvS 发布于 2025-8-22 17:26
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
农夫三拳1Lv6高级互助
发布于2025-8-22 17:30

FVS的js写法和其他文件的不一样

https://help.fanruan.com/finereport/doc-view-4941.html

image.png

最佳回答
0
ScyalcireLv7高级互助
发布于2025-8-22 17:35(编辑于 2025-8-22 17:37)
错误原因
  1. API使用错误‌:FVS中不存在getParameterContainer()方法,该方法通常用于FineReport报表,FVS架构不同导致调用失败。

  2. 控件获取方式错误‌:直接使用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;

  • 3关注人数
  • 23浏览人数
  • 最后回答于:2025-8-22 17:37
    请选择关闭问题的原因
    确定 取消
    返回顶部