From ee90161267ba153ac589922e5986a3b1b347578b Mon Sep 17 00:00:00 2001 From: ivan deng Date: Thu, 16 Nov 2017 04:00:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86pivot=E6=97=B6=E5=8C=BA=20tod?= =?UTF-8?q?o:report=E7=B1=BB=E5=9E=8B=E7=9A=84=E6=97=B6=E9=97=B4=E7=89=B9?= =?UTF-8?q?=E6=AE=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app_search_range/static/src/js/pivot.js | 48 +++++++++++++++++-------- app_search_range/static/src/js/tree.js | 10 +----- 2 files changed, 34 insertions(+), 24 deletions(-) diff --git a/app_search_range/static/src/js/pivot.js b/app_search_range/static/src/js/pivot.js index 496cdfee..8697e6e7 100644 --- a/app_search_range/static/src/js/pivot.js +++ b/app_search_range/static/src/js/pivot.js @@ -188,31 +188,49 @@ PivotView.include({ } } - // if (value) { - // value_tmp = parseInt(value); - // if (value_tmp != 0) { - // domain.push([field,'=',value_tmp]); - // } else { - // domain.push([field,'!=', false]); - // } - // } }); +// 注意,date和datetime型的处理是不同的,已处理完 if (self.$search_button) { var start_date = self.$search_button.find('.app_start_date').val(), end_date = self.$search_button.find('.app_end_date').val(), - field = self.$search_button.find('.app_select_field').val(); - + field = self.$search_button.find('.app_select_field').val(), + field_type = 'datetime'; + var tz = session.user_context.tz, + start_utc, + end_utc; + + _.each(self.columns, function (value, key, list) { + if (value.name == field) { + field_type = value.type; + return false; + } + }); + + moment.locale(tz); var l10n = _t.database.parameters; if (start_date) { - start_date = moment(moment(start_date, time.strftime_to_moment_format(l10n.date_format))).format('YYYY-MM-DD'); - domain.push([field, '>=', start_date]); + if (field_type = 'date') { + //日期类型,无须utc处理 + start_date = moment(moment(start_date, time.strftime_to_moment_format(l10n.date_format))).format('YYYY-MM-DD'); + domain.push([field, '>=', start_date]); + } else { + //日期时间,处理utc + start_date = moment(moment(start_date, time.strftime_to_moment_format(l10n.date_format))).format('YYYY-MM-DD 00:00:00'); + start_utc = moment(start_date) + domain.push([field, '<=', start_utc]); + } } if (end_date) { - end_date = moment(moment(end_date, time.strftime_to_moment_format(l10n.date_format))).format('YYYY-MM-DD'); - domain.push([field, '<=', end_date]); + if (field_type = 'date') { + end_date = moment(moment(end_date, time.strftime_to_moment_format(l10n.date_format))).format('YYYY-MM-DD'); + domain.push([field, '>=', end_date]); + } else { + end_date = moment(moment(end_date, time.strftime_to_moment_format(l10n.date_format))).format('YYYY-MM-DD 00:00:00'); + end_utc = moment(end_date) + domain.push([field, '<=', end_utc]); + } } - } if (self.$search_range) { diff --git a/app_search_range/static/src/js/tree.js b/app_search_range/static/src/js/tree.js index 611cf7ac..366cf0bc 100644 --- a/app_search_range/static/src/js/tree.js +++ b/app_search_range/static/src/js/tree.js @@ -204,16 +204,8 @@ ListView.include({ } } - // if (value) { - // value_tmp = parseInt(value); - // if (value_tmp != 0) { - // domain.push([field,'=',value_tmp]); - // } else { - // domain.push([field,'!=', false]); - // } - // } }); -// todo: 注意,date和datetime型的处理是不同的,已处理完datetime类型,还有date类型 +// 注意,date和datetime型的处理是不同的,已处理完 if (self.$search_button) { var start_date = self.$search_button.find('.app_start_date').val(), end_date = self.$search_button.find('.app_end_date').val(),