Я пытаюсь перенести квитанцию POS с V12 на V8:
Код: pos.js
openerp.pos_dotmatrix_printer = function(instance){
console.log("log 0");
'use strict';
var models = instance.point_of_sale;
var QWeb = instance.web.qweb;
var _t = instance.web._t;
console.log("1");
models.ReceiptScreenWidget.include({
render_receipt: function(){
console.log("1.1");
var self = this;
this._super();
if(self.pos.config.allow_dotmatrix_printer){
var order = this.pos.get_order();
$(".pos-receipt-container").html(QWeb.render('PosTicket2',{
widget:this,
order: order,
receipt: order.export_for_printing(),
orderlines: order.get_orderlines(),
paymentlines: order.get_paymentlines(),
}));
}
else{
this._super();
}
},
renderElement: function(){
var self = this;
this._super();
this.$('.text-receipt').click(function(){
var order = self.pos.get_order();
var p_data = QWeb.render('PosTicketFormat',{
widget:self,
order: order,
receipt: order.export_for_printing(),
orderlines: order.get_orderlines(),
paymentlines: order.get_paymentlines(),
})
var url = self.pos.config.dotmatrix_printers_ip+"dotmatrix/print";
if (!p_data){
alert('No data to print. Please click Update Printer Data');
return;
}
console.log(p_data);
$.ajax({
type: "POST",
url: url,
data: {
printer_data : p_data
},
success: function(data) {
alert('Success');
console.log(data);
},
error: function(data) {
alert('Failed');
console.log(data);
},
});
});
},
});
console.log("2");
var Order = models.Order;
models.Order = models.Order.extend({
text_format: function(text,size){
var text_name = text.toString();
var text_len = size - text_name.length
for(var i=0;i<text_len;i++){
text_name+=" ";
}
return text_name;
},
text_format_left: function(text,size){
var text_name = "";
var text_len = size - text.toString().length
for(var i=0;i<text_len;i++){
text_name+=" ";
}
text_name = text_name +''+ text.toString();
return text_name;
},
});
console.log("3");
};
Внешние журналы, записываемые на консоли, например, внутри console.log("1.1");
это не так, что я здесь скучаю?
Код: pos.xml
<code><?xml version="1.0" encoding="UTF-8"?>
<templates id="template" xml:space="preserve">
<t t-extend="ReceiptScreenWidget">
<t t-jquery=".button.print" t-operation="replace">
<t t-if='widget.pos.config.allow_dotmatrix_printer'>
<div class="button text-receipt">
<i class='fa fa-print'></i> Print Receipt
</div>
</t>
<t t-if='! widget.pos.config.allow_dotmatrix_printer'>
<div class="button print">
<i class='fa fa-print'></i> Print Receipt
</div>
</t>
</t>
</t>
<t t-name="PosTicketFormat">
SALE <t t-esc="order.name"/>
--------------------------------------------------------------------------------
Customer:<t t-esc='order.text_format(receipt.company.name,20)'/>Order Date: <t t-esc="order.formatted_validation_date"/>
Tel:<t t-esc='order.text_format(receipt.company.phone,20)'/>Served by: <t t-esc='receipt.cashier'/>
--------------------------------------------------------------------------------
Product Qty Price Unit Discount Subtotal
--------------------------------------------------------------------------------
<t t-foreach="receipt.orderlines" t-as="orderline">
<t t-esc="order.text_format(orderline.product_name_wrapped[0],25)"/><t t-esc="order.text_format(orderline.quantity+' '+orderline.unit_name,15)"/><t t-esc="order.text_format(orderline.price,15)"/><t t-esc="order.text_format(orderline.discount+'%',5)"/><t t-esc='order.text_format_left(orderline.price_display,20)'/>
--------------------------------------------------------------------------------
</t>
Untaxed Amount:<t t-esc='order.text_format_left(widget.format_currency(order.get_total_without_tax()),20)' />
Taxes:<t t-esc='order.text_format_left(receipt.total_tax,20)' />
Total:<t t-esc='order.text_format_left(widget.format_currency(order.get_total_with_tax()),20)' />
<t t-if="widget.pos.config.footnote">
<t t-esc="widget.pos.config.footnote"/>
</t>
</t>
<t t-name="PosTicket2">
<style>
.screen .centered-content {
left: 0%;
right: 0%;
}
</style>
<pre style="font-size: 13px;margin-left: 230px;text-align: left;">
<t t-call="PosTicketFormat"/>
вывод на V12:
Выход на V8 (неправильный вывод) Я хочу быть похожим на изображение выше:
Приведенный выше код не дает мне никакой ошибки на консоли или Odoo, но не работает. Любое решение моей проблемы?
Заранее спасибо.