决策报表中JS值如何传递给参数或控件
FR.location(function(status, message, coordinate) { //三个参数,status是状态(success,fail),message是经纬度(如31.590668,120.457507),coordinate是坐标系信息(ios返回WGS84,安卓返回GCJ02)。 if (status == "success") { //获取经纬度成功时执行此函数 var aa = message.split(','); //message是一个,分割的字符串,转换成数组 weidu = aa[0]; //获取数据分析app、企业微信、钉钉返回的纬度 jingdu = aa[1]; //获取数据分析app、企业微信、钉钉返回的经度 if (coordinate == "WGS84") { //根据坐标系判断当前设备是安卓还是ios,安卓返回GCJ02,ios返回WGS84,当手机是ios时执行以下代码 var url1 = "https://restapi.amap.com/v3/assistant/coordinate/convert?locations=" + jingdu + "," + weidu + "&coordsys=gps&output=json&key="+KEY; //调用高德API将ios返回的地球坐标系经纬度转换为火星坐标系 FR.ajax({ url: url1, type: "get", //高德api要求使用get方式请求 dataType: "jsonp", //跨域使用jsonp方式 success: function(data) { //请求成功时调用此函数 if (data.status == "1") { //高德api接口返回的状态码是1(请求成功) jingdu = data.locations.split(',')[0]; //获取转换后的经度 weidu = data.locations.split(',')[1]; //获取转换后的纬度 var url2 = "https://restapi.amap.com/v3/geocode/regeo?output=json&location=" + jingdu + "," + weidu + "&key="+KEY+"&radius=10&extensions=all"; //调用高德API根据经纬度进行逆地理编码 FR.ajax({ url: url2, type: "get", //高德api要求使用get方式请求 dataType: "jsonp", //跨域使用jsonp方式 success: function(msg) { //请求成功时调用此函数 if (msg.status == "1") { //高德api接口返回的状态码是1(请求成功) var address = msg.regeocode.formatted_address; //从高德API返回的结果中,取出结构化地址,即地理位置名称 if (address != null && address != "" && address != "null") { //判断地址是否为空 contentPane.setCellValue(5, 64, jingdu); contentPane.setCellValue(6, 64, weidu); contentPane.setCellValue(7, 64, address); //给地图绑定的三个单元格赋值 contentPane.setCellValue(8, 64, shijian); // setTimeout(function() { // FR.Chart.WebUtils.getChart(b).dataRefresh(); //刷新地图 // }, 1000); // FR.Msg.alert("当前地址是:" + address); } else { FR.Msg.alert("无法获取当前地址"); } }; if (msg.status == "0") { //高德api接口返回的状态码是0(请求失败) FR.Msg.alert("经纬度转换地址出错:错误信息是" + msg.info + ",错误码是:" + msg.infocode + ",详情请访问:https://lbs.amap.com/api/webservice/guide/tools/info/"); //如果出错,弹出高德api返回的报错 } }, error: function(info) { //请求失败时调用此函数 FR.Msg.alert("请求失败,请联系管理员。"); }, complete: function(XMLHttpRequest, status) { //请求完成后最终执行回调函数      if (status == 'timeout') { //超时,status还有success,error等值的情况             FR.Msg.alert("请求超时,请检查网络。");     }   }, timeout: 3000, //超时时间为3S async: "false" //同步请求,和上面的ajax请求不是异步的,需要顺序执行 }); }; if (data.status == "0") { //高德api接口返回的状态码是0(请求失败) FR.Msg.alert("经纬度转换坐标系出错:错误信息是" + data.info + ",错误码是:" + data.infocode + ",详情请访问:https://lbs.amap.com/api/webservice/guide/tools/info/"); //如果出错,弹出高德api返回的报错 } }, error: function(info) { //请求失败时调用此函数 FR.Msg.alert("请求失败,请联系管理员。"); }, complete: function(XMLHttpRequest, status) { //请求完成后最终执行回调函数      if (status == 'timeout') { //判断是否超时,status还有success,error等值的情况           FR.Msg.alert("请求超时");     }   }, timeout: 3000, //超时时间为3s async: "false" //同步请求,和下面的ajax请求不是异步的,需要顺序执行 }); } else { //当手机是安卓时,执行以下代码 var url3 = "https://restapi.amap.com/v3/geocode/regeo?output=json&location=" + jingdu + "," + weidu + "&key="+KEY+"&radius=10&extensions=all"; //调用高德API根据经纬度进行逆地理编码 FR.ajax({ url: url3, type: "get", //高德api要求使用get方式请求 dataType: "jsonp", //跨域使用jsonp方式 success: function(msg) { //请求成功时调用此函数 if (msg.status == "1") { //高德api接口返回的状态码是1(请求成功) var address = msg.regeocode.formatted_address; //从高德API返回的结果中,取出结构化地址,即地理位置名称 if (address != null && address != "" && address != "null") { //判断地址是否为空 contentPane.setCellValue(5, 64, jingdu); contentPane.setCellValue(6, 64, weidu); contentPane.setCellValue(7, 64, address); //给地图绑定的三个单元格赋值 contentPane.setCellValue(8, 64, shijian); // setTimeout(function() { // FR.Chart.WebUtils.getChart(b).dataRefresh(); //刷新地图 // }, 1000); // FR.Msg.alert("当前地址是:" + address); } else { FR.Msg.alert("无法获取当前地址"); } }; if (msg.status == "0") { //高德api接口返回的状态码是0(请求失败) FR.Msg.alert("经纬度转换地址出错:错误信息是" + msg.info + ",错误码是:" + msg.infocode + ",详情请访问:https://lbs.amap.com/api/webservice/guide/tools/info/"); //如果出错,弹出高德api返回的报错 } }, error: function(info) { //请求失败时调用此函数 FR.Msg.alert("请求失败,请联系管理员。"); }, complete: function(XMLHttpRequest, status) { //请求完成后最终执行回调函数      if (status == 'timeout') { //超时,status还有success,error等值的情况             FR.Msg.alert("请求超时,请检查网络。");     }   }, timeout: 3000, //超时时间为3S async: "false" //同步请求,和上面的ajax请求不是异步的,需要顺序执行 }); } } else { //获取经纬度失败时执行此函数 FR.Msg.alert("错误:请检查手机网络和定位服务开关及权限。"); //数据分析app、企业微信、钉钉获取经纬度失败时返回报错信息 } });
这段JS中数值通过下面这种方式传到指定单元格,在决策报表中,用什么办法可以将数值传递给参数或者控件 contentPane.setCellValue(5, 64, jingdu); contentPane.setCellValue(6, 64, weidu); contentPane.setCellValue(7, 64, address); //给地图绑定的三个单元格赋值 contentPane.setCellValue(8, 64, shijian);
FineReport 用户3aCDb8859785 发布于 2025-2-11 14:53
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
snrtuemcLv8专家互助
发布于2025-2-11 14:57

给控件赋值

_g().getWidgetByName("控件名").setValue("值"); 

最佳回答
0
用户k6280494Lv6资深互助
发布于2025-2-11 14:58

参数栏赋值

_g().parameterEl.getWidgetByName("date1").setValue("值");

  • 3关注人数
  • 18浏览人数
  • 最后回答于:2025-2-11 14:58
    请选择关闭问题的原因
    确定 取消
    返回顶部