js导出,控件是下拉复选框单选可以导出指定值,多选不按多选的值导出了,这要怎么实现

debugger

var startdate = this.options.form.getWidgetByName("startdate").getValue();  

var enddate = this.options.form.getWidgetByName("enddate").getValue();

var baseway = this.options.form.getWidgetByName("baseway").getValue();

var SUPPLIERNAME=this.options.form.getWidgetByName("SUPPLIERNAME").getValue(); 

var base=this.options.form.getWidgetByName("base").getValue();                 

var PRODUCT=this.options.form.getWidgetByName("PRODUCT").getValue();           

var GROUPNAME=this.options.form.getWidgetByName("GROUPNAME").getValue();       

var CATEGORY=this.options.form.getWidgetByName("CATEGORY").getValue();         

var EXCEPTION=this.options.form.getWidgetByName("EXCEPTION").getValue();      

var EXCEPTION_TYPE=this.options.form.getWidgetByName("EXCEPTION_TYPE").getValue(); 

if(startdate.length == 0){

    alert("开始时间 过滤条件不能为空!");

    }else if(enddate.length == 0){  

        alert("截止时间 过滤条件不能为空!");

        }else if(baseway.length == 0){

            alert("查询方式 过滤条件不能为空!");

            }

                                     else {                                  

 //接口为directExportToExcel: function (dsName, fileName, params, colNames)

//注意参数中的特殊字符需要进行url编码,比如大括号,冒号等。

var paramStr = encodeURIComponent("{startdate:'"+startdate+"', enddate:'"+enddate+"',baseway:'"+baseway+"', SUPPLIERNAME:'"+SUPPLIERNAME+"', base:'"+base+"', PRODUCT:'"+PRODUCT+"', GROUPNAME:'"+GROUPNAME+"', CATEGORY:'"+CATEGORY+"', EXCEPTION:'"+EXCEPTION+"', EXCEPTION_TYPE:'"+EXCEPTION_TYPE+"'}")

//alert(paramStr);

//数据集传参

var colNames = encodeURIComponent("");

if(confirm("提示:确定要导出吗!"))   //弹出确认对话框   

                  { 

                   setTimeout(function() {   

                      //指定导出的数据列,导出字段按此顺序排列,为空默认导出所有

                      _g().directExportToExcel("ds2","工厂事故投诉明细-"+startdate+"-"+enddate,paramStr,colNames);

                          }, 2000); 

                return true;    //点击确定时,返回值为true,执行如上操作。 

                 } 

                  else 

                    { 

                      return false; //点击取消时,返回值为false,不执行操作。 

                      } 

 }

FineReport Latty 发布于 2022-2-24 16:25 (编辑于 2022-2-24 16:27)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
LattyLv6初级互助
发布于2022-2-27 18:44

需要添加“ \”转义字符

最佳回答
0
沉默的反补Lv6中级互助
发布于2022-2-24 17:21(编辑于 2022-2-24 17:23)

1、首先排查是否因为参数少传了或者是没传过去,注意js参数拼接规则以及参数名、参数定义。

2、如果不是参数导致的建议换一种做法,通过导出普通报表的方式,创建一张新的普通报表,内容保持和当前页一样的数据,然后通过js导出并传参,如下,可写在校验逻辑通过后。

image.png

  • 1关注人数
  • 397浏览人数
  • 最后回答于:2022-2-27 18:44
    请选择关闭问题的原因
    确定 取消
    返回顶部