DeliveryNote: Refine forced page break condition
This commit is contained in:
@ -5,11 +5,24 @@
|
|||||||
|
|
||||||
<div class="date">@Model.Location, am @($"{Model.Date:dd.MM.yyyy}")</div>
|
<div class="date">@Model.Location, am @($"{Model.Date:dd.MM.yyyy}")</div>
|
||||||
<h1>@Model.Title</h1>
|
<h1>@Model.Title</h1>
|
||||||
@{ var forcePageBreak = Model.Delivery.Parts.Count > 2; }
|
@{
|
||||||
|
var sortids = Model.Delivery.Parts.Select(p => p.SortId).ToList();
|
||||||
|
bool displayStats = true; // Model.Delivery.Year == Model.CurrentNextSeason
|
||||||
|
|
||||||
|
int xLines = Model.Delivery.Parts.Count() * 5 + Model.Delivery.Parts.Select(p => p.Modifiers.Count() + (p.Comment != null ? 1 : 0) + (p.Acid != null || p.Temperature != null ? 1 : 0)).Sum();
|
||||||
|
if (Model.Delivery.Comment != null) xLines += 2;
|
||||||
|
if (displayStats) xLines += 2 + Model.MemberBuckets.Select(b => b.Item3 > 0 && b.Item4 > 0 && sortids.Contains(b.Item1[..2]) ? 1 : 0).Sum();
|
||||||
|
|
||||||
|
int sLines = Model.Text != null ? (Model.Text.Length + 110 - 1) / 110 : 0;
|
||||||
|
xLines += sLines + (sLines + 1) / 2;
|
||||||
|
|
||||||
|
bool forcePageBreak = xLines > 30;
|
||||||
|
}
|
||||||
@if (forcePageBreak) {
|
@if (forcePageBreak) {
|
||||||
<script>
|
<script>
|
||||||
document.addEventListener("DOMContentLoaded", () => {
|
document.addEventListener("DOMContentLoaded", () => {
|
||||||
const stats = document.getElementById("delivery-stats");
|
const stats = document.getElementById("delivery-stats");
|
||||||
|
if (!stats) return;
|
||||||
document.getElementsByClassName("page-break")[0].before(stats);
|
document.getElementsByClassName("page-break")[0].before(stats);
|
||||||
stats.getElementsByTagName("table")[0].classList.add("expanded");
|
stats.getElementsByTagName("table")[0].classList.add("expanded");
|
||||||
});
|
});
|
||||||
@ -87,7 +100,7 @@
|
|||||||
@if (Model.Delivery.Comment != null) {
|
@if (Model.Delivery.Comment != null) {
|
||||||
<p class="comment">Amerkung zur Lieferung: @Model.Delivery.Comment</p>
|
<p class="comment">Amerkung zur Lieferung: @Model.Delivery.Comment</p>
|
||||||
}
|
}
|
||||||
@if (true || Model.Delivery.Year == Model.CurrentNextSeason) {
|
@if (displayStats) {
|
||||||
<div id="delivery-stats">
|
<div id="delivery-stats">
|
||||||
<table class="delivery-stats">
|
<table class="delivery-stats">
|
||||||
<colgroup>
|
<colgroup>
|
||||||
@ -120,7 +133,6 @@
|
|||||||
$"<td>{(sum > right ? $"{sum - right:N0}" : "-")}</td>" +
|
$"<td>{(sum > right ? $"{sum - right:N0}" : "-")}</td>" +
|
||||||
$"<td>{sum:N0}</td>";
|
$"<td>{sum:N0}</td>";
|
||||||
}
|
}
|
||||||
var sortids = Model.Delivery.Parts.Select(p => p.SortId).ToList();
|
|
||||||
}
|
}
|
||||||
<tr>
|
<tr>
|
||||||
<th>Geschäftsanteile</th>
|
<th>Geschäftsanteile</th>
|
||||||
|
Reference in New Issue
Block a user