update button show

This commit is contained in:
ivan deng
2017-11-16 20:55:52 +08:00
parent 6642f9f79d
commit d9f4c3f94e
3 changed files with 146 additions and 152 deletions

View File

@@ -67,35 +67,7 @@ PivotView.include({
format : time.strftime_to_moment_format(l10n.date_format),
}
// Dropdown list
$(QWeb.render("TGL.TreeSearch.Placeholder", {})).appendTo($node);
_.each(ts_context, function(item){
var field = _.find(self.fields, function(value, key, list){
return value.type == 'many2one' && value.relation && key === item.name;
});
if (field) {
self.ts_fields.push(item.name);
new Model(field.relation).query(['id', 'display_name']).filter(new data.CompoundDomain(item.domain, field.domain)).context(new data.CompoundContext()).order_by('app_sequence').all().then(function (result) {
var $multi_search = $(QWeb.render("TGL.TreeSearch.Item", {'widget': {
'string': item.string,
'key': item.name,
'class_name': 'app_multi_item_' + item.name,
'fields': result,
}}))
$multi_search.find('li').click(self.tgl_on_button_click.bind(self));
setTimeout(function(){
$multi_search.appendTo($('.treesearch_placeholder'));
}, 2000);
});
}
});
// self.$buttons.find('.app-search').remove();
$(QWeb.render("odooApp.TreeSearch.Placeholder", {})).appendTo($node);
var date_fields = [];
// 增加参数控制app_ui_show_search_date
@@ -108,21 +80,18 @@ PivotView.include({
});
if (date_fields.length > 0) {
self.$search_button = $(QWeb.render('odooApp.buttons', {'date_fields': date_fields}))
self.$search_button.find('.app_start_date').datetimepicker(datepickers_options);
self.$search_button.find('.app_end_date').datetimepicker(datepickers_options);
self.$search_button.find('.app_start_date').on('change', function () {
self.tgl_search();
self.$search_date = $(QWeb.render('odooApp.SearchDate', {'date_fields': date_fields}))
self.$search_date.find('.app_start_date').datetimepicker(datepickers_options);
self.$search_date.find('.app_end_date').datetimepicker(datepickers_options);
self.$search_date.find('.app_start_date').on('keypress', function (e) {
self.do_keypress(e);
});
self.$search_button.find('.app_end_date').on('change', function () {
self.tgl_search();
self.$search_date.find('.app_end_date').on('keypress', function (e) {
self.do_keypress(e);
});
self.$search_button.find('.app_select_field').on('change', function () {
self.tgl_search();
});
setTimeout(function () {
self.$search_button.insertBefore($('.treesearch_placeholder'));
}, 500);
self.$search_date.appendTo($('.o_cp_buttons'));
self.set_search_btn(1);
}
}
});
@@ -140,22 +109,37 @@ PivotView.include({
});
if (number_fields.length > 0) {
self.$search_range = $(QWeb.render('odooApp.SearchRange', {'number_fields': number_fields}))
self.$search_range.find('.app_select_range_field').on('change', function () {
self.tgl_search();
self.$search_number = $(QWeb.render('odooApp.SearchNumber', {'number_fields': number_fields}))
self.$search_number.find('.app_start_number').on('keypress', function (e) {
self.do_keypress(e);
});
self.$search_range.find('.app_start_range').on('change', function () {
self.tgl_search();
self.$search_number.find('.app_end_number').on('keypress', function (e) {
self.do_keypress(e);
});
self.$search_range.find('.app_end_range').on('change', function () {
self.tgl_search();
});
setTimeout(function () {
self.$search_range.insertBefore($('.treesearch_placeholder'));
}, 500);
self.$search_number.appendTo($('.o_cp_buttons'));
self.set_search_btn(1);
}
}
});
//显示搜索键因为pivot特殊故要单独处理
},
set_search_btn: function (show) {
var self = this;
if (self.$search_btn) {
self.$search_btn.remove();
}
if (show) {
self.$search_btn = $(QWeb.render("odooApp.odooapp-btn", {})).appendTo($('.o_cp_buttons'));
self.$search_btn.children('.odooapp-search-btn').on('click', function () {
self.tgl_search();
});
self.$search_btn.children('.odooapp-clear-btn').on('click', function () {
self.do_clear();
});
}
},
do_search: function(domain, context, group_by) {
@@ -167,6 +151,26 @@ PivotView.include({
return self.tgl_search();
},
do_keypress: function(e) {
var self = this;
var keynum = window.event ? e.keyCode : e.which;
if (keynum==13)
return self.tgl_search();
},
do_clear: function() {
var self = this;
if (self.$search_date) {
self.$search_date.find('.app_start_date').val('');
self.$search_date.find('.app_end_date').val('');
}
if (self.$search_number) {
self.$search_number.find('.app_start_number').val('');
self.$search_number.find('.app_end_number').val('');
}
return self.tgl_search();
},
tgl_search: function() {
var self = this;
var domain = [], value, value_tmp;
@@ -191,10 +195,10 @@ PivotView.include({
});
// 注意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(),
if (self.$search_date) {
var start_date = self.$search_date.find('.app_start_date').val(),
end_date = self.$search_date.find('.app_end_date').val(),
field = self.$search_date.find('.app_select_field').val(),
field_type = 'datetime';
var tz = session.user_context.tz,
start_utc,
@@ -233,10 +237,10 @@ PivotView.include({
}
}
if (self.$search_range) {
var start_range = self.$search_range.find('.app_start_range').val(),
end_range = self.$search_range.find('.app_end_range').val(),
range_field = self.$search_range.find('.app_select_range_field').val();
if (self.$search_number) {
var start_range = self.$search_number.find('.app_start_number').val(),
end_range = self.$search_number.find('.app_end_number').val(),
range_field = self.$search_number.find('.app_select_range_field').val();
if (start_range) {
domain.push([range_field, '>=', parseInt(start_range)]);

View File

@@ -78,22 +78,18 @@ ListView.include({
}
});
if (date_fields.length > 0) {
self.$search_button = $(QWeb.render('odooApp.buttons', {'date_fields': date_fields}))
self.$search_button.find('.app_start_date').datetimepicker(datepickers_options);
self.$search_button.find('.app_end_date').datetimepicker(datepickers_options);
// self.$search_button.find('.app_search_date_rate').click(function() {
// self.tgl_search();
// });
self.$search_button.find('.app_start_date').on('change', function () {
self.tgl_search();
self.$search_date = $(QWeb.render('odooApp.SearchDate', {'date_fields': date_fields}))
self.$search_date.find('.app_start_date').datetimepicker(datepickers_options);
self.$search_date.find('.app_end_date').datetimepicker(datepickers_options);
self.$search_date.find('.app_start_date').on('keypress', function (e) {
self.do_keypress(e);
});
self.$search_button.find('.app_end_date').on('change', function () {
self.tgl_search();
self.$search_date.find('.app_end_date').on('keypress', function (e) {
self.do_keypress(e);
});
self.$search_button.find('.app_select_field').on('change', function () {
self.tgl_search();
});
self.$search_button.appendTo(self.$buttons);
self.$search_date.appendTo(self.$buttons);
self.set_search_btn(1);
}
}
});
@@ -116,62 +112,35 @@ ListView.include({
}
}
if (number_fields.length > 0) {
self.$search_range = $(QWeb.render('odooApp.SearchRange', {'number_fields': number_fields}))
// self.$search_range.find('.app_search_date_range').click(function() {
// self.tgl_search();
// });
self.$search_range.find('.app_select_range_field').on('change', function () {
self.tgl_search();
self.$search_number = $(QWeb.render('odooApp.SearchNumber', {'number_fields': number_fields}))
self.$search_number.find('.app_start_number').on('keypress', function (e) {
self.do_keypress(e);
});
self.$search_range.find('.app_start_range').on('change', function () {
self.tgl_search();
self.$search_number.find('.app_end_number').on('keypress', function (e) {
self.do_keypress(e);
});
self.$search_range.find('.app_end_range').on('change', function () {
self.tgl_search();
});
self.$search_range.appendTo(self.$buttons);
self.$search_number.appendTo(self.$buttons);
self.set_search_btn(1);
}
}
});
},
// Dropdown list
_.each(this.ts_context, function(item){
var field = _.find(self.columns, function(column){
return column.type == 'many2one' && column.relation && column.name === item.name;
set_search_btn: function (show) {
var self = this;
if (self.$search_btn) {
self.$search_btn.remove();
}
if (show) {
self.$search_btn = $(QWeb.render("odooApp.odooapp-btn", {})).appendTo(self.$buttons);
self.$search_btn.children('.odooapp-search-btn').on('click', function () {
self.tgl_search();
});
if (field) {
self.ts_fields.push(item.name);
new Model(field.relation).query(['id', 'display_name']).filter(new data.CompoundDomain(item.domain, field.domain)).context(new data.CompoundContext()).all().then(function (result) {
// var single_search = $(QWeb.render('odooApp.selection', {
// 'string': item.string,
// 'class_name': 'app_item_' + item.name,
// 'fields': result,
// }));
if (!$('.after_control_panel').length) {
// $(QWeb.render('odooApp.after_control_panel', {})).appendTo($('.o_control_panel'));
// $(QWeb.render('odooApp.after_control_panel', {})).appendTo($('.o_cp_left'));
// $(QWeb.render('odooApp.after_control_panel', {})).appendTo(self.$buttons);
var multi_search = $(QWeb.render("TGL.TreeSearch.Item", {'widget': {
'string': item.string,
'key': item.name,
'class_name': 'app_multi_item_' + item.name,
'fields': result,
}}))
multi_search.find('li').click(self.on_button_click.bind(self));
multi_search.appendTo(self.$buttons);
}
// single_search.appendTo($('.after_control_panel'));
// $('.app_item_' + item.name).on('change', function() {
// self.tgl_search();
// })
});
}
});
self.$search_btn.children('.odooapp-clear-btn').on('click', function () {
self.do_clear();
});
}
},
do_search: function(domain, context, group_by) {
@@ -183,6 +152,26 @@ ListView.include({
return self.tgl_search();
},
do_keypress: function(e) {
var self = this;
var keynum = window.event ? e.keyCode : e.which;
if (keynum==13)
return self.tgl_search();
},
do_clear: function() {
var self = this;
if (self.$search_date) {
self.$search_date.find('.app_start_date').val('');
self.$search_date.find('.app_end_date').val('');
}
if (self.$search_number) {
self.$search_number.find('.app_start_number').val('');
self.$search_number.find('.app_end_number').val('');
}
return self.tgl_search();
},
tgl_search: function() {
var self = this;
var domain = [], value, value_tmp;
@@ -206,10 +195,10 @@ ListView.include({
}
});
// 注意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(),
if (self.$search_date) {
var start_date = self.$search_date.find('.app_start_date').val(),
end_date = self.$search_date.find('.app_end_date').val(),
field = self.$search_date.find('.app_select_field').val(),
field_type = 'datetime';
var tz = session.user_context.tz,
start_utc,
@@ -248,10 +237,10 @@ ListView.include({
}
}
if (self.$search_range) {
var start_range = self.$search_range.find('.app_start_range').val(),
end_range = self.$search_range.find('.app_end_range').val(),
range_field = self.$search_range.find('.app_select_range_field').val();
if (self.$search_number) {
var start_range = self.$search_number.find('.app_start_number').val(),
end_range = self.$search_number.find('.app_end_number').val(),
range_field = self.$search_number.find('.app_select_range_field').val();
if (start_range) {
domain.push([range_field, '>=', parseInt(start_range)]);

View File

@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<templates id="template" xml:space="preserve">
<!--日期类型搜索-->
<t t-name="odooApp.buttons">
<t t-name="odooApp.SearchDate">
<div class="app-search btn-group btn-group-sm" >
<!-- <div style="margin-left: 10px; margin-top: 2px;"> -->
<div style="margin-left: 0px; margin-top: 2px; padding-right: 10px;">
<div style="margin-left: 2px; margin-top: 2px; padding-right: 10px;">
<span style="float: left;">
<select class="app_select_field form-control" style="height: 30px;" >
@@ -15,23 +15,21 @@
</span>
<span style="float: left; margin-left: 2px;">
<input style="height: 30px;" class="app_start_date form-control" size="15" placeholder="Start date" type="text" />
<input style="height: 30px;" class="app_start_date form-control" size="15" placeholder="Start date" type="text" title="Press Enter to search"/>
</span>
<span style="float: left; margin-left: 2px;">
<input style="height: 30px;" class="app_end_date form-control" size="15" placeholder="End date" type="text" />
<input style="height: 30px;" class="app_end_date form-control" size="15" placeholder="End date" type="text" title="Press Enter to search" />
</span>
<!-- <button style="margin-left: 2px; padding: 5px 10px;" class="app_search_date_rate btn btn-primary" title="Field">Lọc</button> -->
</div>
</div>
<!-- <br></br> -->
</t>
<!--数值范围搜索-->
<t t-name="odooApp.SearchRange">
<!--数值范围搜索-->
<t t-name="odooApp.SearchNumber">
<div class="app-search btn-group btn-group-sm" >
<!-- <div style="margin-left: 10px; margin-top: 2px;"> -->
<div style="margin-left: 0px; margin-top: 2px; padding-right: 10px;">
<div style="margin-left: 2px; margin-top: 2px; padding-right: 10px;">
<span style="float: left;">
<select class="app_select_range_field form-control" style="height: 30px;" >
@@ -42,22 +40,25 @@
</span>
<span style="float: left; margin-left: 2px;">
<input style="height: 30px;" class="app_start_range form-control" size="6" placeholder="From" type="text" />
<input style="height: 30px;" class="app_start_number form-control" size="6" placeholder="From" type="text" title="Press Enter to search"/>
</span>
<span style="float: left; margin-left: 2px;">
<input style="height: 30px;" class="app_end_range form-control" size="6" placeholder="To" type="text" />
<input style="height: 30px;" class="app_end_number form-control" size="6" placeholder="To" type="text" title="Press Enter to search"/>
</span>
<!-- <button style="margin-left: 2px; padding: 5px 10px;" class="app_search_date_range btn btn-primary" title="Field">Lọc</button> -->
</div>
</div>
<br></br>
</t>
<t t-name="odooApp.after_control_panel">
<!-- <div class="after_control_panel" style="width: 100%; text-align: center;" /> -->
<div class="after_control_panel" />
</t>
<t t-name="odooApp.odooapp-btn">
<!-- <div class="after_control_panel" style="width: 100%; text-align: center;" /> -->
<span class="odooapp-btn">
<button type="button" class="btn btn-icon fa fa-lg fa-search odooapp-search-btn"></button>
<button type="button" class="btn btn-icon fa fa-lg fa-remove odooapp-clear-btn"></button>
</span>
</t>
<t t-name="odooApp.selection">
@@ -78,11 +79,11 @@
</div>
</t>
<t t-name="TGL.TreeSearch.Placeholder">
<div class="treesearch_placeholder" />
<t t-name="odooApp.TreeSearch.Placeholder">
<span class="treesearch_placeholder" />
</t>
<t t-name="TGL.TreeSearch.Item">
<t t-name="odooApp.TreeSearch.Item">
<div class="btn-group btn-group-sm tree_search_item" style="padding-right: 2px;">
<button class="btn btn-primary dropdown-toggle form-control" data-toggle="dropdown">
<t t-esc="widget.string" /> <span class="caret"></span>