Tower: upload laundry_management 19.0.19.0.4 (via marketplace)

This commit is contained in:
2026-05-01 15:00:25 +00:00
parent e225ff2780
commit b6be57e58f

View File

@@ -0,0 +1,47 @@
/** @odoo-module
*
* LaundryWorkOrderThermal — receipt-style component for the POS printer.
*
* Rendered by `pos.printer.print(LaundryWorkOrderThermal, {data}, {webPrintFallback: true})`.
* The data payload comes from `laundry.order.pos_get_thermal_data` —
* a self-contained dict so this component never reads from the POS env.
*
* Styling lives in laundry_pos.scss under `.laundry-thermal`. The
* `webPrintFallback` option means this component also works when no
* hardware printer is configured: POS opens a print preview in a new
* tab using the same DOM.
*/
import { Component } from "@odoo/owl";
export class LaundryWorkOrderThermal extends Component {
static template = "laundry_management.LaundryWorkOrderThermal";
static props = {
data: { type: Object },
};
fmt(amount) {
return parseFloat(amount || 0).toFixed(2);
}
fmtDate(s) {
if (!s) return "";
try {
const d = new Date(s.replace(" ", "T") + "Z");
if (!isNaN(d.getTime())) return d.toLocaleString();
} catch (_e) { /* fall through */ }
return s;
}
get currency() {
const sym = this.props.data?.currency_symbol || "";
const pos = this.props.data?.currency_position || "after";
return { sym, pos };
}
money(amount) {
const v = this.fmt(amount);
const { sym, pos } = this.currency;
if (!sym) return v;
return pos === "before" ? `${sym} ${v}` : `${v} ${sym}`;
}
}