参数面板中,初始化事件,根据条件给输入框赋值,然后触发点击事件,页面也能触发啊,但有异常提示

image.png

初始化的时候,根据传的参数,判断是否给对应的输入框赋值,已经触发点击事件。

js:

var a=fr_task_id;

var sql="SQL(\"MYSQL\",\"SELECT year FROM tb_dispatch_month where fr_task_id='" + a+ "'\", 1, 1)"

var year = FR.remoteEvaluate(sql)

var yearControl = this.options.form.getWidgetByName("year");

if(year.length!=0){

yearControl.setValue(year);

var sql="SQL(\"MYSQL\",\"SELECT month FROM tb_dispatch_month where fr_task_id='" + a+ "'\", 1, 1)"

var month = FR.remoteEvaluate(sql)

var monthControl = this.options.form.getWidgetByName("month");

if(month.length!=0){

monthControl.setValue(month);

var fs = this.options.form.getWidgetByName("formSubmit");

fs.fireEvent('click');

}

}

运行之后页面也能触发,但是提示:

CustomJSError : Cannot read property 'getWidgetByName' of undefined

image.png

FineReport 用户36979237 发布于 2020-11-5 09:20 (编辑于 2020-11-5 11:42)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
用户36979237Lv3见习互助
发布于2020-11-5 15:14

加延时:

var a=fr_task_id;

var sql="SQL(\"MYSQL\",\"SELECT year FROM tb_dispatch_month where fr_task_id='" + a+ "'\", 1, 1)"

var year = FR.remoteEvaluate(sql)

var yearControl = this.options.form.getWidgetByName("year");

if(year.length!=0){

    yearControl.setValue(year);

    var sql="SQL(\"MYSQL\",\"SELECT month FROM tb_dispatch_month where fr_task_id='" + a+ "'\", 1, 1)"

    var month = FR.remoteEvaluate(sql)

    var monthControl = this.options.form.getWidgetByName("month");

    if(month.length!=0){

        monthControl.setValue(month);

      //加延时:

        setTimeout(function(){

_g().parameterEl.getWidgetByName("formSubmit").fireEvent("click");

},10)

    }

}


最佳回答
0
万里疆域一片叶Lv4见习互助
发布于2020-11-5 09:25

审批的,模板你就取最新的一条,就可以避免没修改就重新上报了

  • 用户36979237 用户36979237(提问者) 审批所有逻辑没问题我想问的优化的问题,打回编辑的直接回显,不用去选择一遍条件
    2020-11-05 09:28 
  • 2关注人数
  • 415浏览人数
  • 最后回答于:2020-11-5 15:14
    请选择关闭问题的原因
    确定 取消
    返回顶部