添加客户端搜索条件 Odoo13 的 POS
Add client search criteria Odoo13's POS
我已将一些自定义字段添加到 res.partner 的模型中,我想将这些字段添加到 POS 的搜索条件中。我在 models.js 文件中添加的字段可以在以下代码中理解:
odoo.define('my_module.models', function (require) {
"use strict";
var models = require('point_of_sale.models');
models.load_fields('res.partner', [
'billing_name',
'partner_billing_number'
]);
models.load_models([{
model: 'res.partner',
fields: ['billing_name', 'partner_billing_number'],
loaded: function(self, partners){self.db.add_partners(partners)},
}]);
});
然后我尝试使用以下代码将此字段添加到我的 db.js 文件的搜索条件中:
odoo.define('my_module.db', function (require) {
"use strict";
var core = require('web.core');
var PosDB = core.Class.extend({
_partner_search_string: function(partner){
var str = partner.name || '';
if(partner.billing_name){
str += '|' + partner.billing_name;
}
if(partner.partner_billing_number){
str += '|' + partner.partner_billing_number;
}
str = partner.id + ':' +str.replace(/:/g,'') + '\n';
return str;
},
add_partners:function (partners) {
for(let i=0, len=partners.length; i < len; i++){
var partner = partners[i];
var search_string = this._partner_search_string(partner);
this.partner_search_string[partner] += search_string;
}
}
});
return PosDB;
});
到目前为止,我无法将两个搜索字段都添加到搜索条件中,这甚至有点破坏了代码。我的代码中缺少什么?我怎样才能做到这一点?
odoo.define('my_module.models', function (require) {
"use strict";
var PosDB = require('point_of_sale.DB');
var models = require('point_of_sale.models');
models.load_fields('res.partner', [
'billing_name',
'partner_billing_number'
]);
PosDB.include({
_partner_search_string: function(partner){
var str = partner.name || '';
if(partner.barcode){
str += '|' + partner.barcode;
}
if(partner.address){
str += '|' + partner.address;
}
if(partner.phone){
str += '|' + partner.phone.split(' ').join('');
}
if(partner.mobile){
str += '|' + partner.mobile.split(' ').join('');
}
if(partner.email){
str += '|' + partner.email;
}
if(partner.vat){
str += '|' + partner.vat;
}
if(partner.billing_name){
str += '|' + partner.billing_name;
}
if(partner.partner_billing_number){
str += '|' + partner.partner_billing_number;
}
str = '' + partner.id + ':' + str.replace(':','') + '\n';
return str;
},
});
});
只使用这一个文件,希望您能得到所需的输出。
我已将一些自定义字段添加到 res.partner 的模型中,我想将这些字段添加到 POS 的搜索条件中。我在 models.js 文件中添加的字段可以在以下代码中理解:
odoo.define('my_module.models', function (require) {
"use strict";
var models = require('point_of_sale.models');
models.load_fields('res.partner', [
'billing_name',
'partner_billing_number'
]);
models.load_models([{
model: 'res.partner',
fields: ['billing_name', 'partner_billing_number'],
loaded: function(self, partners){self.db.add_partners(partners)},
}]);
});
然后我尝试使用以下代码将此字段添加到我的 db.js 文件的搜索条件中:
odoo.define('my_module.db', function (require) {
"use strict";
var core = require('web.core');
var PosDB = core.Class.extend({
_partner_search_string: function(partner){
var str = partner.name || '';
if(partner.billing_name){
str += '|' + partner.billing_name;
}
if(partner.partner_billing_number){
str += '|' + partner.partner_billing_number;
}
str = partner.id + ':' +str.replace(/:/g,'') + '\n';
return str;
},
add_partners:function (partners) {
for(let i=0, len=partners.length; i < len; i++){
var partner = partners[i];
var search_string = this._partner_search_string(partner);
this.partner_search_string[partner] += search_string;
}
}
});
return PosDB;
});
到目前为止,我无法将两个搜索字段都添加到搜索条件中,这甚至有点破坏了代码。我的代码中缺少什么?我怎样才能做到这一点?
odoo.define('my_module.models', function (require) {
"use strict";
var PosDB = require('point_of_sale.DB');
var models = require('point_of_sale.models');
models.load_fields('res.partner', [
'billing_name',
'partner_billing_number'
]);
PosDB.include({
_partner_search_string: function(partner){
var str = partner.name || '';
if(partner.barcode){
str += '|' + partner.barcode;
}
if(partner.address){
str += '|' + partner.address;
}
if(partner.phone){
str += '|' + partner.phone.split(' ').join('');
}
if(partner.mobile){
str += '|' + partner.mobile.split(' ').join('');
}
if(partner.email){
str += '|' + partner.email;
}
if(partner.vat){
str += '|' + partner.vat;
}
if(partner.billing_name){
str += '|' + partner.billing_name;
}
if(partner.partner_billing_number){
str += '|' + partner.partner_billing_number;
}
str = '' + partner.id + ':' + str.replace(':','') + '\n';
return str;
},
});
});
只使用这一个文件,希望您能得到所需的输出。