|
@@ -0,0 +1,126 @@
|
|
|
+<?xml version="1.0" encoding="UTF-8"?>
|
|
|
+<templates>
|
|
|
+ <t t-extend="PosTicket">
|
|
|
+ <t t-jquery="div.pos-sale-ticket" t-operation="replace">
|
|
|
+ <div class="pos-sale-ticket" style='font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;font-size: 15px;'>
|
|
|
+ <div id="company_logo">
|
|
|
+ <img t-att-src="logo" style="width:100%;"/>
|
|
|
+ </div>
|
|
|
+ <br/><br/>
|
|
|
+ <div class="pos-center-align"><t t-esc="new Date().toString(Date.CultureInfo.formatPatterns.shortDate + ' ' +
|
|
|
+ Date.CultureInfo.formatPatterns.longTime)"/>
|
|
|
+ <br/>
|
|
|
+ <t t-esc="order.get('name')"/></div>
|
|
|
+ <br/>
|
|
|
+ <br />
|
|
|
+ <t t-if="widget.pos.config.receipt_header">
|
|
|
+ <div style='text-align:center;font-size: 30px;'>
|
|
|
+ <t t-esc="widget.pos.config.receipt_header" />
|
|
|
+ </div>
|
|
|
+ <br />
|
|
|
+ </t>
|
|
|
+ Phone: <t t-esc="widget.pos.company.phone || ''"/>
|
|
|
+ <br/>
|
|
|
+ User: <t t-esc="widget.pos.cashier ? widget.pos.cashier.name : widget.pos.user.name"/>
|
|
|
+ <t t-if="!order.attributes.client">
|
|
|
+ Cliente: <br/>
|
|
|
+ Teléfono: <br/>
|
|
|
+ Dirección: <br/>
|
|
|
+ </t>
|
|
|
+ <p>========================</p>
|
|
|
+ <table class="table table-condensed" style="font-size: 12px;">
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <th class="text-right">Cant.</th>
|
|
|
+ <th>Producto</th>
|
|
|
+ <th class="text-right">Precio</th>
|
|
|
+ <th class="text-right">Sub-total</th>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <colgroup>
|
|
|
+ <col width='15%'/>
|
|
|
+ <col width='35%'/>
|
|
|
+ <col width='25%'/>
|
|
|
+ <col width='25%'/>
|
|
|
+ </colgroup>
|
|
|
+ <t t-foreach="orderlines" t-as="orderline">
|
|
|
+ <tr>
|
|
|
+ <td>
|
|
|
+ <t t-esc="orderline.quantity"/>
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <t t-esc="orderline.get_product().display_name"/>
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <t t-esc="widget.format_currency(orderline.price)"/>
|
|
|
+ </td>
|
|
|
+ <td class="pos-right-align">
|
|
|
+ <t t-esc="widget.format_currency(orderline.get_display_price())"/>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td>********</td>
|
|
|
+ <td>******************</td>
|
|
|
+ <td>*************</td>
|
|
|
+ <td>*************</td>
|
|
|
+ </tr>
|
|
|
+ </t>
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ <table>
|
|
|
+ <tr>
|
|
|
+ <td>Subtotal:</td>
|
|
|
+ <td class="pos-right-align">
|
|
|
+ <t t-esc="widget.format_currency(order.getTotalTaxExcluded())"/>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <t t-foreach="order.getTaxDetails()" t-as="taxdetail">
|
|
|
+ <tr>
|
|
|
+ <td><t t-esc="taxdetail.name" /></td>
|
|
|
+ <td class="pos-right-align">
|
|
|
+ <t t-esc="widget.format_currency(taxdetail.amount)"/>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </t>
|
|
|
+ <tr>
|
|
|
+ <td>Descuento:</td>
|
|
|
+ <td class="pos-right-align">
|
|
|
+ <t t-esc="widget.format_currency(order.getDiscountTotal())"/>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr class="emph">
|
|
|
+ <td>Total:</td>
|
|
|
+ <td class="pos-right-align" style='font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;font-size: 20px;'>
|
|
|
+ <t t-esc="widget.format_currency(order.getTotalTaxIncluded())"/>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </table>
|
|
|
+ <p>========================</p>
|
|
|
+ <table>
|
|
|
+ <tr t-foreach="paymentlines" t-as="line">
|
|
|
+ <td>
|
|
|
+ <t t-esc="line.name"/>
|
|
|
+ </td>
|
|
|
+ <td class="pos-right-align">
|
|
|
+ <t t-esc="widget.format_currency(line.get_amount())"/>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </table>
|
|
|
+ <br />
|
|
|
+ <table>
|
|
|
+ <tr><td>Change:</td><td class="pos-right-align">
|
|
|
+ <t t-esc="widget.format_currency(order.getChange())"/>
|
|
|
+ </td></tr>
|
|
|
+ </table>
|
|
|
+ <br/>
|
|
|
+ <t t-if="widget.pos.config.receipt_footer">
|
|
|
+ <br />
|
|
|
+ <div style='text-align:center'>
|
|
|
+ <t t-esc="widget.pos.config.receipt_footer" />
|
|
|
+ </div>
|
|
|
+ </t>
|
|
|
+ </div>
|
|
|
+ </t>
|
|
|
+ </t>
|
|
|
+</templates>
|