JS实现链接打开于对话框

现有一张雷达图,为了实现点击每个点,跳转链接到对应的每个不同详细页面,使用了中间表写js的方式,打开的是新页面,现在需要改为打开的链接于对话框。

求教大神!!!在线等!!!急!!!!

微信图片_20190718134159.png

现在改为了

22222.png

if (wd == 'I - 效率') {
FR.doHyperlink(window.event, [{
 "data": "var as=arguments; return FR.tc(function(){FR.doHyperlinkByGet4Reportlet({\"para\":{\"__pi__\":true},\"feature\":\"width=1000,height=320,\",\"title\":\"I - 效率\",\"url\":\"/webroot/decision/view/report?viewlet=/MS/I - 效率.cpt&op=view\",\"target\":\"_dialog\"})}, this, as)",
 "name": "I - 效率"
}], true)}


结果是跳到这张写加载事件的空cpt页面上展示出了对话框,需要的结果是在雷达图所在frm页面点击雷达图点后直接展示对话框

FineReport a-pity 发布于 2019-7-18 13:44 (编辑于 2019-7-18 15:28)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
29831048Lv0见习互助
发布于2019-7-22 18:00

var iframe = $("<iframe id='001' name='001' width='100%' height='100%' scrolling='yes' frameborder='0'>") // iframe参数的命名及宽高等

if (wd == '纬度1') {    //判断点击到的点,根据所选纬度弹出明细对话框

    iframe.attr("src", "report?viewlet=/test/明细1.cpt&op=view&jd=" + jd + "")

} else if (wd == '纬度2') {

    iframe.attr("src", "report?viewlet=/test/明细2.cpt&op=view&jd=" + jd + "")

} else if (wd == '纬度3') {

    iframe.attr("src", "report?viewlet=/test/明细3.cpt&op=view&jd=" + jd + "")

} else if (wd == '纬度4') {

    iframe.attr("src", "report?viewlet=/test/明细4.cpt&op=view&jd=" + jd + "")

} else if (wd == '纬度5') {

    iframe.attr("src", "report?viewlet=/test/明细5.cpt&op=view&jd=" + jd + "")

} else if (wd == '纬度6') {

    iframe.attr("src", "report?viewlet=/test/明细6.cpt&op=view&jd=" + jd + "")

} else if (wd == '纬度7') {

    iframe.attr("src", "report?viewlet=/test/明细7.cpt&op=view&jd=" + jd + "")

} else if (wd == '纬度8') {

    iframe.attr("src", "report?viewlet=/test/明细8.cpt&op=view&jd=" + jd + "")

} else if (wd == '纬度9') {

    iframe.attr("src", "report?viewlet=/test/明细9.cpt&op=view&jd=" + jd + "")

}

var o = {

    title: wd,    //对话框标题(这里取雷达图纬度名作弹出框标题)

    width: 1265,  //宽

    height: 370  //高

}

FR.showDialog(o.title, o.width, o.height, iframe, o) //弹出对话框


最佳回答
0
yh19931023Lv4中级互助
发布于2019-7-18 13:52

借用浏览器功能写JS语句-https://help.finereport.com/doc-view-1923.html

最佳回答
0
Kevin-sLv7中级互助
发布于2019-7-18 13:53

FR.showIframeDialog({
url:"ReportServer?reportlet=wljcxx_pldr.cpt&op=write",
title:"物料基础信息批量导入",
width:670,
height:610
});

用这一句

  • a-pity a-pity(提问者) 有多个页面 ,怎么拼接进去
    2019-07-18 13:56 
  • Kevin-s Kevin-s 回复 a-pity(提问者) FR.doHyperlinkByGet4Reportlet({\"para\":{\"__pi__\":true},\"feature\":\"width=600,height=400,\",\"title\":\"网络报表1\",\"url\":\"/webroot/decision/view/report?viewlet=%2FGettingStarted.cpt\",\"target\":\"_dialog\"}),要不然你把window。location。href替换成这个,跟你的比较类似
    2019-07-18 14:45 
  • Kevin-s Kevin-s 回复 a-pity(提问者) 记得\\要去掉。可以记得采纳
    2019-07-18 14:47 
  • a-pity a-pity(提问者) 回复 Kevin-s 用不了啊 目前做的是: Frm里面一张雷达图,雷达图链接到的网络报表是 只写加载事件的 cpt页面,参数wd指的是取雷达图点信息,这样预览点击雷达图点时,明细在新页面展示 要的效果是点击雷达图点,详细页直接以对话框展示在当前Frm页,不需要那张加载事件的控cpt了 完善了一下问题 麻烦看下🙇🙇‍🙇‍🙇‍🙇‍‍
    2019-07-18 15:24 
  • Kevin-s Kevin-s 回复 a-pity(提问者) 这还是以前的问题么笑哭
    2019-07-18 17:00 
最佳回答
0
zy_20180110Lv5中级互助
发布于2019-7-18 15:36

var url = "";

var title = ""

var o = ""


if(flag=="值1"){

url = "链接地址";

title = "标题";

o = {      

width : 580,  //对话框宽度  

height: 290  //对话框高度  

}; 

}else if(flag=="值2"){

url = "链接地址";

title = "标题";

o = {    

width : 620,  //对话框宽度  

height: 280  //对话框高度  

};   

}


var iframe = $("<iframe id='inp' name='inp' width='100%' height='100%' scrolling='yes' frameborder='0'>"); // 对话框内iframe参数的命名,默认宽高占比是100%,可向下滚动    

iframe.attr("src", url); // 给iframe添加src属性  

//弹出对话框

FR.showDialog(title, o.width, o.height, iframe,o);

  • a-pity a-pity(提问者) 你好!我目前做的是: Frm中雷达图特效→添加链接、网络报表 cpt→ 在这张cpt的web模板属性,加载结束事件中写的JavaScript,通过你这段代码实现了:点击雷达图点,跳转到cpt页,cpt页展示对话框。 但目前需要的是:点击雷达图点,直接在当前Frm页面展示对话框; 能否就是直接为图表添加JavaScript特效的方式实现效果
    2019-07-18 16:29 
  • zy_20180110 zy_20180110 回复 a-pity(提问者) https://help.finereport.com/doc-view-622.html
    2019-07-19 08:20 
  • 6关注人数
  • 1429浏览人数
  • 最后回答于:2019-7-22 18:00
    请选择关闭问题的原因
    确定 取消
    返回顶部