diff --git a/app_search_range/static/description/date_range.jpg b/app_search_range/static/description/date_range.jpg new file mode 100644 index 00000000..8b702b90 Binary files /dev/null and b/app_search_range/static/description/date_range.jpg differ diff --git a/app_search_range/static/description/date_range.png b/app_search_range/static/description/date_range.png index 4ad83676..317099b9 100644 Binary files a/app_search_range/static/description/date_range.png and b/app_search_range/static/description/date_range.png differ diff --git a/app_search_range/static/description/index.html b/app_search_range/static/description/index.html index dae90dd5..e18c21ae 100644 --- a/app_search_range/static/description/index.html +++ b/app_search_range/static/description/index.html @@ -2,7 +2,7 @@

Date range

- +
@@ -11,7 +11,16 @@

Value range

- + +
+
+ + +
+
+

Pivot View

+
+
diff --git a/app_search_range/static/description/list_pivot.jpg b/app_search_range/static/description/list_pivot.jpg new file mode 100644 index 00000000..6b9ff4e8 Binary files /dev/null and b/app_search_range/static/description/list_pivot.jpg differ diff --git a/app_search_range/static/description/list_pivot.png b/app_search_range/static/description/list_pivot.png index 0e3613e1..59bf05cd 100644 Binary files a/app_search_range/static/description/list_pivot.png and b/app_search_range/static/description/list_pivot.png differ diff --git a/app_search_range/static/description/value_range.jpg b/app_search_range/static/description/value_range.jpg new file mode 100644 index 00000000..424b1369 Binary files /dev/null and b/app_search_range/static/description/value_range.jpg differ diff --git a/app_search_range/static/description/value_range.png b/app_search_range/static/description/value_range.png index c0808876..e1b33e3b 100644 Binary files a/app_search_range/static/description/value_range.png and b/app_search_range/static/description/value_range.png differ diff --git a/app_search_range/static/src/js/tree.js b/app_search_range/static/src/js/tree.js index aa88c29a..7bd7ef3b 100644 --- a/app_search_range/static/src/js/tree.js +++ b/app_search_range/static/src/js/tree.js @@ -52,7 +52,7 @@ ListView.include({ var l10n = _t.database.parameters; var datepickers_options = { - pickTime: true, + pickTime: false, startDate: moment({ y: 1900 }), endDate: moment().add(200, "y"), calendarWeeks: true, @@ -74,7 +74,7 @@ ListView.include({ if (show.length >= 1 && (show[0]['value'] == "True")) { _.each(self.columns, function (value, key, list) { if (value.store && value.type === "datetime" || value.type === "date") { - date_fields.push([value.name, value.string]); + date_fields.push([value.name, value.string, value.type]); } }); if (date_fields.length > 0) { @@ -213,22 +213,46 @@ ListView.include({ // } // } }); -// todo: 时区处理 +// todo: 注意,date和datetime型的处理是不同的,已处理完datetime类型,还有date类型 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; + } + }); + + 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/xml/pivot_view.xml b/app_search_range/static/src/xml/pivot_view.xml index e6b8a058..4ba3d0c3 100644 --- a/app_search_range/static/src/xml/pivot_view.xml +++ b/app_search_range/static/src/xml/pivot_view.xml @@ -8,7 +8,7 @@