跳至内容
菜单
此问题已终结
1 回复
1662 查看

Hello, 
I am trying to inherit Odoo 16 pos _getSearchFields js function and add a search field by the name Order Reference. It should appear as shown in the dropdown of the searchbar below.



How can I go about this?

Thanks in advance.

Here is my code.

oo.define('pos_customizations.TicketScreen', function (require) {
"use strict";
var TicketScreen = require("point_of_sale.TicketScreen");
TicketScreen.include({
/**
* @returns {Record string, displayName: string, modelField: string }>}
*/
_getSearchFields() {
const fields = {
RECEIPT_NUMBER: {
repr: (order) => order.name,
displayName: this.env._t('Receipt Number'),
modelField: 'pos_reference',
},
DATE: {
repr: (order) => moment(order.creation_date).format('YYYY-MM-DD hh:mm A'),
displayName: this.env._t('Date'),
modelField: 'date_order',
},
PARTNER: {
repr: (order) => order.get_partner_name(),
displayName: this.env._t('Customer'),
modelField: 'partner_id.display_name',
},
NAME: {
repr: (order) => order.name(),
displayName: this.env._t('Order Ref'),
modelField: 'name',
},
};
return fields;
}

})
return TicketScreen;
});


形象
丢弃
编写者 最佳答案

I found the solution to my question and here is the answer.

/** @odoo-module **/
odoo.define('pos_customizations.TicketScreen', function (require) {
'use strict';

const TicketScreen = require('point_of_sale.TicketScreen');
const Registries = require('point_of_sale.Registries');

const CustomTicketScreen = (TicketScreen) =>
class extends TicketScreen {
_getSearchFields() {
const fields = super._getSearchFields(name);
fields.ORDER_REF = {
repr: (order) => order.name,
displayName: this.env._t('Order Ref'),
modelField: 'name',
}
return fields;
}
};

Registries.Component.extend(TicketScreen, CustomTicketScreen);
return TicketScreen;
});


形象
丢弃
相关帖文 回复 查看 活动
1
2月 25
1556
1
3月 24
1564
2
6月 24
2327
1
2月 24
1307
0
11月 23
1296