mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-13 02:01:21 +00:00
feat: standard print format for POS Invoice
This commit is contained in:
@@ -1,108 +1,108 @@
|
|||||||
<style>
|
<style>
|
||||||
.letter-head {
|
.letter-head {
|
||||||
border-radius: 18px;
|
border-radius: 18px;
|
||||||
padding-right: 12px;
|
padding-right: 12px;
|
||||||
margin-left: 12px;
|
margin-left: 12px;
|
||||||
margin-right: 12px;
|
margin-right: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.letter-head td{
|
.letter-head td {
|
||||||
padding: 0px !important;
|
padding: 0px !important;
|
||||||
}
|
}
|
||||||
.invoice-header {
|
.invoice-header {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
.logo-cell {
|
.logo-cell {
|
||||||
width: 100px;
|
width: 100px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
.logo-container {
|
.logo-container {
|
||||||
width: 90px;
|
width: 90px;
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
.logo-container img {
|
.logo-container img {
|
||||||
max-width: 90px;
|
max-width: 90px;
|
||||||
max-height: 90px;
|
max-height: 90px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
border-radius: 15px;
|
border-radius: 15px;
|
||||||
}
|
}
|
||||||
.company-details {
|
.company-details {
|
||||||
width: 40%;
|
width: 40%;
|
||||||
align-content: center;
|
align-content: center;
|
||||||
}
|
}
|
||||||
.company-name {
|
.company-name {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: #171717;
|
color: #171717;
|
||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
}
|
}
|
||||||
.invoice-info-cell {
|
.invoice-info-cell {
|
||||||
float: right;
|
float: right;
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
}
|
}
|
||||||
.invoice-info {
|
.invoice-info {
|
||||||
margin-bottom: 2px;
|
margin-bottom: 2px;
|
||||||
}
|
}
|
||||||
.invoice-label {
|
.invoice-label {
|
||||||
color: #7C7C7C;
|
color: #7c7c7c;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 60px;
|
margin-right: 5px;
|
||||||
margin-right: 5px;
|
}
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<table class="invoice-header">
|
<table class="invoice-header">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="logo-cell" style="vertical-align: middle !important;">
|
<td class="logo-cell" style="vertical-align: middle !important">
|
||||||
<div class="logo-container">
|
<div class="logo-container">
|
||||||
{% set company_logo = frappe.db.get_value("Company", doc.company, "company_logo") %}
|
{% set company_logo = frappe.db.get_value("Company", doc.company, "company_logo") %} {% if
|
||||||
{% if company_logo %}
|
company_logo %}
|
||||||
<img src="{{ frappe.utils.get_url(company_logo) }}" alt="Company Logo">
|
<img src="{{ frappe.utils.get_url(company_logo) }}" alt="Company Logo" />
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td class="company-details">
|
<td class="company-details">
|
||||||
<div class="company-name">
|
<div class="company-name">{{ doc.company }}</div>
|
||||||
{{ doc.company }}
|
{% if doc.company_address %} {% set company_address = frappe.db.get_value("Address",
|
||||||
</div>
|
doc.company_address, ["address_line1", "address_line2", "city", "state", "pincode",
|
||||||
{% if doc.company_address %}
|
"country"], as_dict=True) %} {% elif doc.billing_address %} {% set company_address =
|
||||||
{% set company_address = frappe.db.get_value("Address", doc.company_address, ["address_line1", "address_line2", "city", "state", "pincode", "country"], as_dict=True) %}
|
frappe.db.get_value("Address", doc.billing_address, ["address_line1", "address_line2", "city",
|
||||||
|
"state", "pincode", "country"], as_dict=True) %} {% endif %} {% if company_address %} {{
|
||||||
|
company_address.address_line1 or "" }}<br />
|
||||||
|
{% if company_address.address_line2 %} {{ company_address.address_line2 }}<br />
|
||||||
|
{% endif %} {{ company_address.city or "" }}, {{ company_address.state or "" }} {{
|
||||||
|
company_address.pincode or "" }}, {{ company_address.country or ""}}<br />
|
||||||
|
{% endif %}
|
||||||
|
</td>
|
||||||
|
|
||||||
{{ company_address.get("address_line1") or "" }}<br>
|
<td class="invoice-info-cell">
|
||||||
{% if company_address.get("address_line2") %}{{ company_address.get("address_line2") }}<br>{% endif %}
|
{% set website = frappe.db.get_value("Company", doc.company, "website") %} {% set email =
|
||||||
{{ company_address.get("city") or "" }}, {{ company_address.get("state") or "" }} {{ company_address.get("pincode") or "" }}, {{ company_address.get("country") or "" }}<br>
|
frappe.db.get_value("Company", doc.company, "email") %} {% set phone_no =
|
||||||
{% endif %}
|
frappe.db.get_value("Company", doc.company, "phone_no") %}
|
||||||
</td>
|
|
||||||
|
|
||||||
<td class="invoice-info-cell">
|
<div class="invoice-info">
|
||||||
{% set company_details = frappe.db.get_value("Company", doc.company, ["website", "email", "phone_no"], as_dict=True) %}
|
<span class="invoice-label">{{ doc.doctype }}</span>
|
||||||
|
<span>{{ doc.name }}</span>
|
||||||
<div class="invoice-info">
|
</div>
|
||||||
<span class="invoice-label">{{ _("Invoice:") }}</span>
|
{% if website %}
|
||||||
<span>{{ doc.name }}</span>
|
<div class="invoice-info">
|
||||||
</div>
|
<span class="invoice-label">{{ _("Website:") }}</span>
|
||||||
{% if company_details.website %}
|
<span>{{ website }}</span>
|
||||||
<div class="invoice-info">
|
</div>
|
||||||
<span class="invoice-label">{{ _("Website:") }}</span>
|
{% endif %} {% if email %}
|
||||||
<span>{{ company_details.website }}</span>
|
<div class="invoice-info">
|
||||||
</div>
|
<span class="invoice-label">{{ _("Email:") }}</span>
|
||||||
{% endif %}
|
<span>{{ email }}</span>
|
||||||
{% if company_details.email %}
|
</div>
|
||||||
<div class="invoice-info">
|
{% endif %} {% if phone_no %}
|
||||||
<span class="invoice-label">{{ _("Email:") }}</span>
|
<div class="invoice-info">
|
||||||
<span>{{ company_details.email }}</span>
|
<span class="invoice-label">{{ _("Contact:") }}</span>
|
||||||
</div>
|
<span>{{ phone_no }}</span>
|
||||||
{% endif %}
|
</div>
|
||||||
{% if company_details.phone_no %}
|
{% endif %}
|
||||||
<div class="invoice-info">
|
</td>
|
||||||
<span class="invoice-label">{{ _("Contact:") }}</span>
|
</tr>
|
||||||
<span>{{ company_details.phone_no }}</span>
|
</tbody>
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<style>
|
<style>
|
||||||
.print-format-preview {
|
.print-format-preview {
|
||||||
margin-top: 12px;
|
margin-top: 12px;
|
||||||
}
|
}
|
||||||
.letter-head {
|
.letter-head {
|
||||||
border-radius: 18px;
|
border-radius: 18px;
|
||||||
background: #f8f8f8;
|
background: #f8f8f8;
|
||||||
@@ -82,41 +82,43 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
<div class="company-name">{{ doc.company }}</div>
|
<div class="company-name">{{ doc.company }}</div>
|
||||||
<div class="company-address">
|
<div class="company-address">
|
||||||
{% if doc.company_address %}
|
{% if doc.company_address %} {% set company_address = frappe.db.get_value("Address",
|
||||||
{% set company_address = frappe.db.get_value("Address", doc.company_address, ["address_line1", "address_line2", "city", "state", "pincode", "country"], as_dict=True) %}
|
doc.company_address, ["address_line1", "address_line2", "city", "state", "pincode",
|
||||||
{{ company_address.address_line1 or "" }}<br />
|
"country"], as_dict=True) %} {% elif doc.billing_address %} {% set company_address =
|
||||||
{% if company_address.address_line2 %} {{ company_address.address_line2 }}<br /> {% endif %}
|
frappe.db.get_value("Address", doc.billing_address, ["address_line1", "address_line2",
|
||||||
{{ company_address.city or "" }}, {{ company_address.state or "" }}
|
"city", "state", "pincode", "country"], as_dict=True) %} {% endif %} {% if company_address
|
||||||
{{ company_address.pincode or "" }}, {{ company_address.country or ""}}<br />
|
%} {{ company_address.address_line1 or "" }}<br />
|
||||||
|
{% if company_address.address_line2 %} {{ company_address.address_line2 }}<br />
|
||||||
|
{% endif %} {{ company_address.city or "" }}, {{ company_address.state or "" }} {{
|
||||||
|
company_address.pincode or "" }}, {{ company_address.country or ""}}<br />
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td style="vertical-align: top">
|
<td style="vertical-align: top">
|
||||||
<div style="height: 90px; margin-bottom: 10px; text-align: right">
|
<div style="height: 90px; margin-bottom: 10px; text-align: right">
|
||||||
<div class="invoice-title">{{ _("Sales Invoice") }}</div>
|
<div class="invoice-title">{{ doc.doctype }}</div>
|
||||||
<div class="invoice-number">{{ doc.name }}</div>
|
<div class="invoice-number">{{ doc.name }}</div>
|
||||||
<br />
|
<br />
|
||||||
</div>
|
</div>
|
||||||
<div style="text-align: left; float: right" class="other-details">
|
<div style="text-align: left; float: right" class="other-details">
|
||||||
{% set company_details = frappe.db.get_value("Company", doc.company, ["website", "email", "phone_no"], as_dict=True) %}
|
{% set company_details = frappe.db.get_value("Company", doc.company, ["website", "email",
|
||||||
{% if company_details.website %}
|
"phone_no"], as_dict=True) %} {% set website = company_details.website %} {% set email =
|
||||||
<div>
|
company_details.email %} {% set phone_no = company_details.phone_no %} {% if website %}
|
||||||
<span class="contact-title">{{ _("Website:") }}</span
|
<div>
|
||||||
><span class="contact-value">{{ company_details.website }}</span>
|
<span class="contact-title">{{ _("Website:") }}</span
|
||||||
</div>
|
><span class="contact-value">{{ website }}</span>
|
||||||
{% endif %}
|
</div>
|
||||||
{% if company_details.email %}
|
{% endif %} {% if email %}
|
||||||
<div>
|
<div>
|
||||||
<span class="contact-title">{{ _("Email:") }}</span
|
<span class="contact-title">{{ _("Email:") }}</span
|
||||||
><span class="contact-value">{{ company_details.email }}</span>
|
><span class="contact-value">{{ email }}</span>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %} {% if phone_no %}
|
||||||
{% if company_details.phone_no %}
|
<div>
|
||||||
<div>
|
<span class="contact-title">{{ _("Contact:") }}</span
|
||||||
<span class="contact-title">{{ _("Contact:") }}</span
|
><span class="contact-value">{{ phone_no }}</span>
|
||||||
><span class="contact-value">{{ company_details.phone_no }}</span>
|
</div>
|
||||||
</div>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user