求教大家:JS显示含有$符号的多行字符串时会报错,如何处理呢?

求教大家:JS显示含有$符号的多行字符串时会被截断,去掉这个$就会完整显示,但必须带上这个$,如何处理呢?

var sql="\

SELECT \

FORMAT(count(订单创建日期),0) as 记录数\

,sum(if(订单进展='订单成交',1,0)) as 成交订单个数\

,min(订单创建日期) as 最早时间\

,max(订单创建日期) as 最晚时间\

,FORMAT(sum(已预约金额),2) as 预约规模(万元)\

,FORMAT(sum(已成交金额),2) as 成交规模(万元)\

,FORMAT(sum(折标业绩1),2) as 折标业绩(万元)\

,FORMAT(sum(折标业绩),2) as 考核业绩(万元)\

FROM t_rpt_v_order a \

where 1=1 \

${if(or(len(开始订单日期)==0,len( 结束订单日期)==0), \"\", \" and date(a.订单创建日期) >= '\" + 开始订单日期 + \"' and date(a.订单创建日期)<='\" + 结束订单日期 + \"'\")}"

alert(sql); 


image.png


按照shiroko使用参数的做法,存在如下问题:

如果我把开始订单日期修改为“2020-05-10”后,点击查询按钮后,参数p1的值还是“2020-05-01”(控件的默认值)

2020-05-29_9-12-54.jpg



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

因为你打算js调用FR去调用sql对吧。然后第sql字符串里面又调用了FR,嵌套了。既然js能调用FR所以没必要到sql再调用了。


image.png

  • alu alu(提问者) 茅塞顿开!非常感谢!
    2020-05-28 17:36 
  • alu alu(提问者) 发现了一个问题:使用参数公式只能获取报表加载后默认的订单开始和结束日期,无法获取到新输入的订单开始和结束日期,如何解决呢?
    2020-05-28 18:03 
  • shiroko shiroko 回复 alu(提问者) 新输入是什么?你输入了但是不点查询吗?
    2020-05-28 18:22 
  • alu alu(提问者) 回复 shiroko 我的意思是:如果我把开始订单日期修改为“2020-05-10”后,点击查询按钮后,参数p的值还是“2020-05-01”(控件的默认值),不会变成“2020-05-10”。如何解决呢? 具体请见一楼问题最后的附图。
    2020-05-29 09:25 
  • shiroko shiroko 回复 alu(提问者) 你js写到查询上了?查询之后参数才会变,如果你写到查询上,对js加一个延时
    2020-05-29 09:32 
最佳回答
0
ScyalcireLv7中级互助
发布于2020-5-28 14:52

你要是只有一个条件 那就直接用where写了 where date(a.订单创建日期)  between'${开始订单日期}' and'${结束订单日期}' 

  • 3关注人数
  • 510浏览人数
  • 最后回答于:2020-5-29 09:23
    请选择关闭问题的原因
    确定 取消
    返回顶部