起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5107|回复: 6

[结贴] 过滤

[复制链接]

127

主题

535

帖子

1078

积分

金牌会员

Rank: 6Rank: 6

积分
1078
QQ
发表于 2018-4-12 09:42:38 | 显示全部楼层 |阅读模式
使用图2.1的时间组件判断是否过滤时间,如果开,则过滤订单号和时间
if (timeSelector.className.indexOf('timeSelectorNO') !== -1) {
                        param.setString("orderNumber", this.comp('searchOrderNumberInput').val() || '');
                        param.setString("startDate", this.comp('startDateInput').val() || startDate());
                        param.setString("endDate", this.comp('endDateInput').val() || endDate());
                }
否则的话只过滤订单号
                if (timeSelector.className.indexOf('timeSelectorOFF') !== -1) {
                        param.setString("orderNumber", this.comp('searchOrderNumberInput').val() || '');
                }

这样可以查询数据
但是用图2.2的方式来过滤时间,如果时间为空,就查询不到数据,请问这个怎么解决
2.2.png
2.1.png

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36196
发表于 2018-4-12 10:01:36 | 显示全部楼层
过滤具体怎么实现的?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

127

主题

535

帖子

1078

积分

金牌会员

Rank: 6Rank: 6

积分
1078
QQ
 楼主| 发表于 2018-4-12 10:06:02 | 显示全部楼层
本帖最后由 chenweibinx 于 2018-4-12 10:07 编辑
jishuang 发表于 2018-4-12 10:01
过滤具体怎么实现的?

var mainData = this.comp('mainData');
                var searchPopOver = this.comp('searchPopOver');
                var searchOrderNumberInput = this.comp('searchOrderNumberInput').val();// 订单号
                var startDateInput = this.comp('startDateInput').val();// 起始时间
                var endDateInput = this.comp('endDateInput').val();// 结束时间

                var param = new biz.Request.ActionParam();
                if (searchOrderNumberInput === undefined || searchOrderNumberInput === "") {
                        alert("订单号不能为空");
                } else {
                        param.setString("orderNumber", searchOrderNumberInput);
                        if (startDateInput === undefined || startDateInput === "") {

                        } else {
                                param.setString("startDate", startDateInput);
                        }
                        if (endDateInput === undefined || endDateInput === "") {

                        } else {
                                endDateInput = justep.Date.fromString(endDateInput, 'yyyy-MM-dd');// 转换成日期格式
                                endDateInput = justep.Date.increase(endDateInput, 1, 'd');// 加一天
                                endDateInput = justep.Date.toString(endDateInput, 'yyyy-MM-dd');// 转换成日期格式
                                param.setString("endDate", endDateInput);
                        }
                        console.log(param);
                        biz.Request.sendBizRequest({
                                context : this.getContext(),
                                contentType : "application/json",
                                dataType : "json",
                                action : "ORDERTRACKQuery",
                                parameters : param,
                                callback : function(result) {
                                        if (result.state) {
                                                console.log(result.response);
                                                console.log(result.response.length);
                                                searchPopOver.hide();
                                                mainData.loadData(eval(result.response));
                                                mainData.refreshData();
                                        } else {
                                                new Error("调用失败!" + result.response.message);
                                                alert("调用查询失败!");
                                        }
                                }
                        });
                }            
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36196
发表于 2018-4-12 11:00:55 | 显示全部楼层
那你应该在action对应的java代码中判断传过来的时间是不是空,是空就不拼接where条件
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

127

主题

535

帖子

1078

积分

金牌会员

Rank: 6Rank: 6

积分
1078
QQ
 楼主| 发表于 2018-4-12 11:16:27 | 显示全部楼层
jishuang 发表于 2018-4-12 11:00
那你应该在action对应的java代码中判断传过来的时间是不是空,是空就不拼接where条件 ...

可是之前用timeSelector也没有判断是否为空,而只有判断时间是否开关,有就param.setString时间,没有就不写param.setString时间这一句,这时候都可以,为什么改成现在这样就要判断时间是否为空来拼接where条件
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36196
发表于 2018-4-12 11:45:19 | 显示全部楼层
没有就不写param.setString时间这一句时后端的where条件怎么拼接的?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

127

主题

535

帖子

1078

积分

金牌会员

Rank: 6Rank: 6

积分
1078
QQ
 楼主| 发表于 2018-7-27 10:51:02 | 显示全部楼层
jishuang 发表于 2018-4-12 11:45
没有就不写param.setString时间这一句时后端的where条件怎么拼接的?

谢谢,结贴吧
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-8-19 06:22 , Processed in 0.072853 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表