Update Template Quote
All checks were successful
CI/CD Pipeline / Build and Deploy with Docker Compose (push) Successful in 4m38s
All checks were successful
CI/CD Pipeline / Build and Deploy with Docker Compose (push) Successful in 4m38s
This commit is contained in:
parent
cad00fad7c
commit
c27c569643
@ -7,37 +7,14 @@
|
|||||||
<html lang="es">
|
<html lang="es">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<title>Presupuesto N° @Model.Quotenumber</title>
|
<title>Presupuesto @Model.Quotenumber</title>
|
||||||
<style>
|
<style>
|
||||||
body {
|
body {
|
||||||
font-family: "DejaVu Sans", "Arial", "Helvetica", sans-serif;
|
font-family: "Liberation Sans", "DejaVu Sans", sans-serif;
|
||||||
font-size: 12px;
|
font-size: 13px;
|
||||||
color: #333;
|
color: #222;
|
||||||
margin: 40px;
|
margin: 40px;
|
||||||
}
|
line-height: 1.5;
|
||||||
|
|
||||||
h1, h2 {
|
|
||||||
color: #004B8D;
|
|
||||||
}
|
|
||||||
|
|
||||||
table {
|
|
||||||
width: 100%;
|
|
||||||
border-collapse: collapse;
|
|
||||||
margin-top: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
th, td {
|
|
||||||
border: 1px solid #ccc;
|
|
||||||
padding: 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
th {
|
|
||||||
background-color: #004B8D;
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
.section {
|
|
||||||
margin-bottom: 25px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.header, .footer {
|
.header, .footer {
|
||||||
@ -46,124 +23,135 @@
|
|||||||
|
|
||||||
.footer {
|
.footer {
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
margin-top: 50px;
|
margin-top: 40px;
|
||||||
color: #999;
|
color: #888;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 22px;
|
||||||
|
margin-bottom: 0;
|
||||||
|
color: #004B8D;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
font-size: 16px;
|
||||||
|
margin-top: 30px;
|
||||||
|
color: #004B8D;
|
||||||
|
border-bottom: 1px solid #ccc;
|
||||||
|
padding-bottom: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
width: 100%;
|
||||||
|
border-collapse: collapse;
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
th, td {
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
padding: 6px;
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
|
||||||
|
th {
|
||||||
|
background-color: #f0f0f0;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.totals-table td {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.right {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.highlight {
|
||||||
|
background-color: #e6f7ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.observaciones {
|
||||||
|
white-space: pre-wrap;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
padding: 10px;
|
||||||
|
background: #f9f9f9;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<p>@System.Text.Encoding.Default.EncodingName</p>
|
<div class="header">
|
||||||
|
<h1>phronCare - Presupuesto</h1>
|
||||||
<div class="section" style="margin-bottom:40px; border: 2px dashed #555; padding: 15px;">
|
<p><strong>Número:</strong> @Model.Quotenumber</p>
|
||||||
<h2 style="color: darkred;">TEST EXTENDIDO DE FUENTES Y ACENTOS</h2>
|
<p><strong>Fecha de Emisión:</strong> @Model.IssueDate.ToString("dd/MM/yyyy")</p>
|
||||||
<p><strong>Texto de prueba:</strong> á é í ó ú ñ Ñ ¿ ¡ — Información técnica – José Rodríguez</p>
|
|
||||||
|
|
||||||
<p style="font-family: 'DejaVu Sans'; font-size: 14px; margin-top:10px;">
|
|
||||||
<strong>DejaVu Sans:</strong><br />
|
|
||||||
á é í ó ú ñ Ñ ¿ ¡ – Información técnica – José Rodríguez
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p style="font-family: 'DejaVu Sans Mono'; font-size: 14px;">
|
|
||||||
<strong>DejaVu Sans Mono:</strong><br />
|
|
||||||
á é í ó ú ñ Ñ ¿ ¡ – Información técnica – José Rodríguez
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p style="font-family: 'Liberation Sans'; font-size: 14px;">
|
|
||||||
<strong>Liberation Sans:</strong><br />
|
|
||||||
á é í ó ú ñ Ñ ¿ ¡ – Información técnica – José Rodríguez
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p style="font-family: 'Liberation Serif'; font-size: 14px;">
|
|
||||||
<strong>Liberation Serif:</strong><br />
|
|
||||||
á é í ó ú ñ Ñ ¿ ¡ – Información técnica – José Rodríguez
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p style="font-family: 'Arial'; font-size: 14px;">
|
|
||||||
<strong>Arial (si disponible):</strong><br />
|
|
||||||
á é í ó ú ñ Ñ ¿ ¡ – Información técnica – José Rodríguez
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p style="font-family: 'Times New Roman'; font-size: 14px;">
|
|
||||||
<strong>Times New Roman (si disponible):</strong><br />
|
|
||||||
á é í ó ú ñ Ñ ¿ ¡ – Información técnica – José Rodríguez
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p style="font-family: 'sans-serif'; font-size: 14px;">
|
|
||||||
<strong>Sans-serif genérica (último fallback):</strong><br />
|
|
||||||
á é í ó ú ñ Ñ ¿ ¡ – Información técnica – José Rodríguez
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<h2>N° @Model.Quotenumber</h2>
|
|
||||||
<p>Fecha de Emisión: @Model.IssueDate.ToString("dd/MM/yyyy")</p>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="section">
|
<h2>Datos del Cliente</h2>
|
||||||
<h2>Datos del Cliente</h2>
|
<table>
|
||||||
<p><strong>Razón Social:</strong> @Model.CustomerName</p>
|
<tr><th>Razón Social</th><td>@Model.CustomerName</td></tr>
|
||||||
<p><strong>Paciente:</strong> @Model.PatientName</p>
|
<tr><th>Paciente</th><td>@Model.PatientName</td></tr>
|
||||||
<p><strong>Médico:</strong> @Model.ProfessionalName</p>
|
<tr><th>Médico</th><td>@Model.ProfessionalName</td></tr>
|
||||||
<p><strong>Institución:</strong> @Model.InstitutionName</p>
|
<tr><th>Institución</th><td>@Model.InstitutionName</td></tr>
|
||||||
</div>
|
<tr><th>Fecha estimada cirugía</th><td>@(Model.EstimatedDate?.ToString("dd/MM/yyyy") ?? "-")</td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
<div class="section">
|
<h2>Productos Cotizados</h2>
|
||||||
<h2>Productos Cotizados</h2>
|
<table>
|
||||||
<table>
|
<thead>
|
||||||
<thead>
|
<tr>
|
||||||
|
<th>Cantidad</th>
|
||||||
|
<th>Descripción</th>
|
||||||
|
<th class="right">Precio Unitario (@Model.Currency)</th>
|
||||||
|
<th class="right">Total (@Model.Currency)</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@foreach (var item in Model.Items)
|
||||||
|
{
|
||||||
<tr>
|
<tr>
|
||||||
<th>Cantidad</th>
|
<td>@item.Quantity</td>
|
||||||
<th>Descripción</th>
|
<td>@item.Description</td>
|
||||||
<th>Precio Unitario (@Model.Currency)</th>
|
<td class="right">@item.UnitPrice.ToString("C", culture)</td>
|
||||||
<th>Total (@Model.Currency)</th>
|
<td class="right">@item.Total.ToString("C", culture)</td>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
}
|
||||||
<tbody>
|
</tbody>
|
||||||
@foreach (var item in Model.Items)
|
</table>
|
||||||
{
|
|
||||||
<tr>
|
|
||||||
<td>@item.Quantity</td>
|
|
||||||
<td>@item.Description</td>
|
|
||||||
<td>@item.UnitPrice.ToString("C", culture)</td>
|
|
||||||
<td>@item.Total.ToString("C", culture)</td>
|
|
||||||
</tr>
|
|
||||||
}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="section">
|
<h2>Totales</h2>
|
||||||
<h2>Totales</h2>
|
<table class="totals-table">
|
||||||
<table>
|
<tr>
|
||||||
<tbody>
|
<td class="right"><strong>Subtotal:</strong></td>
|
||||||
|
<td class="right">@Model.Items.Sum(i => i.Subtotal).ToString("C", culture)</td>
|
||||||
|
</tr>
|
||||||
|
@if (Model.Taxes?.Any() == true)
|
||||||
|
{
|
||||||
|
foreach (var tax in Model.Taxes)
|
||||||
|
{
|
||||||
<tr>
|
<tr>
|
||||||
<td><strong>Subtotal</strong></td>
|
<td class="right"><strong>@tax.TaxName (@tax.TaxRate%)</strong></td>
|
||||||
<td>@Model.Items.Sum(i => i.Subtotal).ToString("C", culture)</td>
|
<td class="right">@tax.TaxAmount.ToString("C", culture)</td>
|
||||||
</tr>
|
</tr>
|
||||||
@if (Model.Taxes != null && Model.Taxes.Any())
|
}
|
||||||
{
|
}
|
||||||
foreach (var tax in Model.Taxes)
|
@if (Model.Adjustments?.Any() == true)
|
||||||
{
|
{
|
||||||
<tr>
|
foreach (var adj in Model.Adjustments)
|
||||||
<td><strong>@tax.TaxName (@tax.TaxRate%)</strong></td>
|
{
|
||||||
<td>@tax.TaxAmount.ToString("C", culture)</td>
|
|
||||||
</tr>
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@if (Model.Adjustments != null && Model.Adjustments.Any())
|
|
||||||
{
|
|
||||||
foreach (var adj in Model.Adjustments)
|
|
||||||
{
|
|
||||||
<tr>
|
|
||||||
<td><strong>Ajuste: @adj.Reason</strong></td>
|
|
||||||
<td>@adj.Amount.ToString("C", culture)</td>
|
|
||||||
</tr>
|
|
||||||
}
|
|
||||||
}
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><strong>Total Final</strong></td>
|
<td class="right"><strong>Ajuste: @adj.Reason</strong></td>
|
||||||
<td>@Model.Total.ToString("C", culture)</td>
|
<td class="right">@adj.Amount.ToString("C", culture)</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
}
|
||||||
</table>
|
}
|
||||||
|
<tr class="highlight">
|
||||||
|
<td class="right"><strong>Total Final:</strong></td>
|
||||||
|
<td class="right">@Model.Total.ToString("C", culture)</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<h2>Observaciones</h2>
|
||||||
|
<div class="observaciones">
|
||||||
|
@Model.Observations
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user