Added ability to print individual service, repair, and upgrade records.
This commit is contained in:
@@ -982,7 +982,7 @@ namespace CarCareTracker.Controllers
|
|||||||
{
|
{
|
||||||
foreach (int recordId in recordIds)
|
foreach (int recordId in recordIds)
|
||||||
{
|
{
|
||||||
//stickerViewModel.VehicleRecords.ServiceRecords.Add(_serviceRecordDataAccess.GetServiceRecordById(recordId));
|
stickerViewModel.GenericRecords.Add(_serviceRecordDataAccess.GetServiceRecordById(recordId));
|
||||||
recordsAdded++;
|
recordsAdded++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -992,7 +992,7 @@ namespace CarCareTracker.Controllers
|
|||||||
{
|
{
|
||||||
foreach (int recordId in recordIds)
|
foreach (int recordId in recordIds)
|
||||||
{
|
{
|
||||||
//stickerViewModel.VehicleRecords.CollisionRecords.Add(_collisionRecordDataAccess.GetCollisionRecordById(recordId));
|
stickerViewModel.GenericRecords.Add(_collisionRecordDataAccess.GetCollisionRecordById(recordId));
|
||||||
recordsAdded++;
|
recordsAdded++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1001,7 +1001,7 @@ namespace CarCareTracker.Controllers
|
|||||||
{
|
{
|
||||||
foreach (int recordId in recordIds)
|
foreach (int recordId in recordIds)
|
||||||
{
|
{
|
||||||
//stickerViewModel.VehicleRecords.UpgradeRecords.Add(_upgradeRecordDataAccess.GetUpgradeRecordById(recordId));
|
stickerViewModel.GenericRecords.Add(_upgradeRecordDataAccess.GetUpgradeRecordById(recordId));
|
||||||
recordsAdded++;
|
recordsAdded++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,5 +4,6 @@
|
|||||||
{
|
{
|
||||||
public Vehicle VehicleData { get; set; } = new Vehicle();
|
public Vehicle VehicleData { get; set; } = new Vehicle();
|
||||||
public List<ReminderRecord> ReminderRecords { get; set; } = new List<ReminderRecord>();
|
public List<ReminderRecord> ReminderRecords { get; set; } = new List<ReminderRecord>();
|
||||||
|
public List<GenericRecord> GenericRecords { get; set; } = new List<GenericRecord>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -185,6 +185,8 @@
|
|||||||
<li><a class="dropdown-item" href="#" onclick="duplicateRecordsToOtherVehicles(selectedRow, 'RepairRecord')"><div class="d-flex justify-content-between"><span class="me-5">@translator.Translate(userLanguage, "Duplicate To Vehicle")</span><i class="bi bi-copy"></i></div></a></li>
|
<li><a class="dropdown-item" href="#" onclick="duplicateRecordsToOtherVehicles(selectedRow, 'RepairRecord')"><div class="d-flex justify-content-between"><span class="me-5">@translator.Translate(userLanguage, "Duplicate To Vehicle")</span><i class="bi bi-copy"></i></div></a></li>
|
||||||
<li><a class="dropdown-item" href="#" onclick="insertOdometer(selectedRow, 'RepairRecord')"><div class="d-flex justify-content-between"><span class="me-5">@translator.Translate(userLanguage, "Create Odometer")</span><i class="bi bi-speedometer"></i></div></a></li>
|
<li><a class="dropdown-item" href="#" onclick="insertOdometer(selectedRow, 'RepairRecord')"><div class="d-flex justify-content-between"><span class="me-5">@translator.Translate(userLanguage, "Create Odometer")</span><i class="bi bi-speedometer"></i></div></a></li>
|
||||||
<li><hr class="dropdown-divider"></li>
|
<li><hr class="dropdown-divider"></li>
|
||||||
|
<li><a class="dropdown-item" href="#" onclick="printTabStickers(selectedRow, 'RepairRecord')"><div class="d-flex justify-content-between"><span class="me-5">@translator.Translate(userLanguage, "Print")</span><i class="bi bi-printer"></i></div></a></li>
|
||||||
|
<li><hr class="dropdown-divider"></li>
|
||||||
<li><a class="dropdown-item text-danger" href="#" onclick="deleteRecords(selectedRow, 'RepairRecord')"><div class="d-flex justify-content-between"><span class="me-5">@translator.Translate(userLanguage, "Delete")</span><i class="bi bi-trash"></i></div></a></li>
|
<li><a class="dropdown-item text-danger" href="#" onclick="deleteRecords(selectedRow, 'RepairRecord')"><div class="d-flex justify-content-between"><span class="me-5">@translator.Translate(userLanguage, "Delete")</span><i class="bi bi-trash"></i></div></a></li>
|
||||||
<li><hr class="context-menu-active-multiple dropdown-divider"></li>
|
<li><hr class="context-menu-active-multiple dropdown-divider"></li>
|
||||||
<li><a class="context-menu-active-multiple dropdown-item" href="#" onclick="getRecordsDeltaStats(selectedRow)"><div class="d-flex justify-content-between"><span class="me-5">@translator.Translate(userLanguage, "Statistics")</span><i class="bi bi-graph-up"></i></div></a></li>
|
<li><a class="context-menu-active-multiple dropdown-item" href="#" onclick="getRecordsDeltaStats(selectedRow)"><div class="d-flex justify-content-between"><span class="me-5">@translator.Translate(userLanguage, "Statistics")</span><i class="bi bi-graph-up"></i></div></a></li>
|
||||||
|
|||||||
@@ -183,6 +183,8 @@
|
|||||||
<li><a class="dropdown-item" href="#" onclick="duplicateRecordsToOtherVehicles(selectedRow, 'ServiceRecord')"><div class="d-flex justify-content-between"><span class="me-5">@translator.Translate(userLanguage, "Duplicate To Vehicle")</span><i class="bi bi-copy"></i></div></a></li>
|
<li><a class="dropdown-item" href="#" onclick="duplicateRecordsToOtherVehicles(selectedRow, 'ServiceRecord')"><div class="d-flex justify-content-between"><span class="me-5">@translator.Translate(userLanguage, "Duplicate To Vehicle")</span><i class="bi bi-copy"></i></div></a></li>
|
||||||
<li><a class="dropdown-item" href="#" onclick="insertOdometer(selectedRow, 'ServiceRecord')"><div class="d-flex justify-content-between"><span class="me-5">@translator.Translate(userLanguage, "Create Odometer")</span><i class="bi bi-speedometer"></i></div></a></li>
|
<li><a class="dropdown-item" href="#" onclick="insertOdometer(selectedRow, 'ServiceRecord')"><div class="d-flex justify-content-between"><span class="me-5">@translator.Translate(userLanguage, "Create Odometer")</span><i class="bi bi-speedometer"></i></div></a></li>
|
||||||
<li><hr class="dropdown-divider"></li>
|
<li><hr class="dropdown-divider"></li>
|
||||||
|
<li><a class="dropdown-item" href="#" onclick="printTabStickers(selectedRow, 'ServiceRecord')"><div class="d-flex justify-content-between"><span class="me-5">@translator.Translate(userLanguage, "Print")</span><i class="bi bi-printer"></i></div></a></li>
|
||||||
|
<li><hr class="dropdown-divider"></li>
|
||||||
<li><a class="dropdown-item text-danger" href="#" onclick="deleteRecords(selectedRow, 'ServiceRecord')"><div class="d-flex justify-content-between"><span class="me-5">@translator.Translate(userLanguage, "Delete")</span><i class="bi bi-trash"></i></div></a></li>
|
<li><a class="dropdown-item text-danger" href="#" onclick="deleteRecords(selectedRow, 'ServiceRecord')"><div class="d-flex justify-content-between"><span class="me-5">@translator.Translate(userLanguage, "Delete")</span><i class="bi bi-trash"></i></div></a></li>
|
||||||
<li><hr class="context-menu-active-multiple dropdown-divider"></li>
|
<li><hr class="context-menu-active-multiple dropdown-divider"></li>
|
||||||
<li><a class="context-menu-active-multiple dropdown-item" href="#" onclick="getRecordsDeltaStats(selectedRow)"><div class="d-flex justify-content-between"><span class="me-5">@translator.Translate(userLanguage, "Statistics")</span><i class="bi bi-graph-up"></i></div></a></li>
|
<li><a class="context-menu-active-multiple dropdown-item" href="#" onclick="getRecordsDeltaStats(selectedRow)"><div class="d-flex justify-content-between"><span class="me-5">@translator.Translate(userLanguage, "Statistics")</span><i class="bi bi-graph-up"></i></div></a></li>
|
||||||
|
|||||||
@@ -64,6 +64,51 @@
|
|||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
} else {
|
} else if (Model.GenericRecords.Any()){
|
||||||
|
@foreach(GenericRecord genericRecord in Model.GenericRecords){
|
||||||
|
<div class="d-flex flex-column recordSticker">
|
||||||
|
<div class="d-flex">
|
||||||
|
<img src="@config.GetLogoUrl()" class="lubelogger-logo" />
|
||||||
|
</div>
|
||||||
|
<hr />
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-6">
|
||||||
|
<ul class="list-group">
|
||||||
|
<li class="list-group-item">
|
||||||
|
<span class="display-6">@($"{Model.VehicleData.Year} {Model.VehicleData.Make} {Model.VehicleData.Model}")</span>
|
||||||
|
</li>
|
||||||
|
<li class="list-group-item">
|
||||||
|
<span class="lead">@($"{StaticHelper.GetVehicleIdentifier(Model.VehicleData)}")</span>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="col-6">
|
||||||
|
<ul class="list-group">
|
||||||
|
<li class="list-group-item text-wrap">
|
||||||
|
@($"{translator.Translate(userLanguage, "Description")}: {genericRecord.Description}")
|
||||||
|
</li>
|
||||||
|
<li class="list-group-item">
|
||||||
|
@($"{translator.Translate(userLanguage, "Date")}: {genericRecord.Date.ToShortDateString()}")
|
||||||
|
</li>
|
||||||
|
<li class="list-group-item">
|
||||||
|
@($"{translator.Translate(userLanguage, "Odometer")}: {genericRecord.Mileage}")
|
||||||
|
</li>
|
||||||
|
<li class="list-group-item">
|
||||||
|
@($"{translator.Translate(userLanguage, "Cost")}: {genericRecord.Cost.ToString("C")}")
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr />
|
||||||
|
<div class="row flex-grow-1 flex-shrink-1">
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="stickerNote ms-1 me-1 p-1">
|
||||||
|
@(genericRecord.Notes)
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
<script>setMarkDownStickerNotes()</script>
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -184,6 +184,8 @@
|
|||||||
<li><a class="dropdown-item" href="#" onclick="duplicateRecordsToOtherVehicles(selectedRow, 'UpgradeRecord')"><div class="d-flex justify-content-between"><span class="me-5">@translator.Translate(userLanguage, "Duplicate To Vehicle")</span><i class="bi bi-copy"></i></div></a></li>
|
<li><a class="dropdown-item" href="#" onclick="duplicateRecordsToOtherVehicles(selectedRow, 'UpgradeRecord')"><div class="d-flex justify-content-between"><span class="me-5">@translator.Translate(userLanguage, "Duplicate To Vehicle")</span><i class="bi bi-copy"></i></div></a></li>
|
||||||
<li><a class="dropdown-item" href="#" onclick="insertOdometer(selectedRow, 'UpgradeRecord')"><div class="d-flex justify-content-between"><span class="me-5">@translator.Translate(userLanguage, "Create Odometer")</span><i class="bi bi-speedometer"></i></div></a></li>
|
<li><a class="dropdown-item" href="#" onclick="insertOdometer(selectedRow, 'UpgradeRecord')"><div class="d-flex justify-content-between"><span class="me-5">@translator.Translate(userLanguage, "Create Odometer")</span><i class="bi bi-speedometer"></i></div></a></li>
|
||||||
<li><hr class="dropdown-divider"></li>
|
<li><hr class="dropdown-divider"></li>
|
||||||
|
<li><a class="dropdown-item" href="#" onclick="printTabStickers(selectedRow, 'UpgradeRecord')"><div class="d-flex justify-content-between"><span class="me-5">@translator.Translate(userLanguage, "Print")</span><i class="bi bi-printer"></i></div></a></li>
|
||||||
|
<li><hr class="dropdown-divider"></li>
|
||||||
<li><a class="dropdown-item text-danger" href="#" onclick="deleteRecords(selectedRow, 'UpgradeRecord')"><div class="d-flex justify-content-between"><span class="me-5">@translator.Translate(userLanguage, "Delete")</span><i class="bi bi-trash"></i></div></a></li>
|
<li><a class="dropdown-item text-danger" href="#" onclick="deleteRecords(selectedRow, 'UpgradeRecord')"><div class="d-flex justify-content-between"><span class="me-5">@translator.Translate(userLanguage, "Delete")</span><i class="bi bi-trash"></i></div></a></li>
|
||||||
<li><hr class="context-menu-active-multiple dropdown-divider"></li>
|
<li><hr class="context-menu-active-multiple dropdown-divider"></li>
|
||||||
<li><a class="context-menu-active-multiple dropdown-item" href="#" onclick="getRecordsDeltaStats(selectedRow)"><div class="d-flex justify-content-between"><span class="me-5">@translator.Translate(userLanguage, "Statistics")</span><i class="bi bi-graph-up"></i></div></a></li>
|
<li><a class="context-menu-active-multiple dropdown-item" href="#" onclick="getRecordsDeltaStats(selectedRow)"><div class="d-flex justify-content-between"><span class="me-5">@translator.Translate(userLanguage, "Statistics")</span><i class="bi bi-graph-up"></i></div></a></li>
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
var userLanguage = userConfig.UserLanguage;
|
var userLanguage = userConfig.UserLanguage;
|
||||||
var extraFields = Model.ReportParameters.ExtraFields;
|
var extraFields = Model.ReportParameters.ExtraFields;
|
||||||
}
|
}
|
||||||
<div class="vehicleDetailTabContainer">
|
<div>
|
||||||
<div class="row mt-2">
|
<div class="row mt-2">
|
||||||
<div class="d-flex">
|
<div class="d-flex">
|
||||||
<img src="@config.GetLogoUrl()" class="lubelogger-logo" />
|
<img src="@config.GetLogoUrl()" class="lubelogger-logo" />
|
||||||
|
|||||||
@@ -102,6 +102,13 @@ html {
|
|||||||
border-width: 2px;
|
border-width: 2px;
|
||||||
page-break-after: always;
|
page-break-after: always;
|
||||||
}
|
}
|
||||||
|
.recordSticker {
|
||||||
|
height: 100%;
|
||||||
|
page-break-after: always;
|
||||||
|
}
|
||||||
|
.stickerNote {
|
||||||
|
height:100%;
|
||||||
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
background-color: #fff !important;
|
background-color: #fff !important;
|
||||||
|
|||||||
@@ -608,6 +608,16 @@ function toggleMarkDownOverlay(textAreaName) {
|
|||||||
textArea.parent().children(`label[for=${textAreaName}]`).append(overlayDiv);
|
textArea.parent().children(`label[for=${textAreaName}]`).append(overlayDiv);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
function setMarkDownStickerNotes() {
|
||||||
|
var stickerContainers = $(".stickerNote");
|
||||||
|
if (stickerContainers.length > 0) {
|
||||||
|
stickerContainers.map((index, elem) => {
|
||||||
|
let originalStickerNote = $(elem).html().trim();
|
||||||
|
let markDownStickerNote = markdown(originalStickerNote);
|
||||||
|
$(elem).html(markDownStickerNote);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
function showLinks(e) {
|
function showLinks(e) {
|
||||||
var textAreaName = $(e.parentElement).attr("for");
|
var textAreaName = $(e.parentElement).attr("for");
|
||||||
toggleMarkDownOverlay(textAreaName);
|
toggleMarkDownOverlay(textAreaName);
|
||||||
@@ -618,6 +628,7 @@ function printTab() {
|
|||||||
}, 500);
|
}, 500);
|
||||||
}
|
}
|
||||||
function printContainer(htmlData) {
|
function printContainer(htmlData) {
|
||||||
|
$(".vehicleDetailTabContainer").addClass("hideOnPrint");
|
||||||
$(".stickerPrintContainer").addClass("showOnPrint");
|
$(".stickerPrintContainer").addClass("showOnPrint");
|
||||||
$(".stickerPrintContainer").removeClass("hideOnPrint");
|
$(".stickerPrintContainer").removeClass("hideOnPrint");
|
||||||
$(".stickerPrintContainer").html(htmlData);
|
$(".stickerPrintContainer").html(htmlData);
|
||||||
@@ -626,6 +637,7 @@ function printContainer(htmlData) {
|
|||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
$(".stickerPrintContainer").removeClass("showOnPrint");
|
$(".stickerPrintContainer").removeClass("showOnPrint");
|
||||||
$(".stickerPrintContainer").addClass("hideOnPrint");
|
$(".stickerPrintContainer").addClass("hideOnPrint");
|
||||||
|
$(".vehicleDetailTabContainer").removeClass("hideOnPrint");
|
||||||
$(".stickerPrintContainer").html("");
|
$(".stickerPrintContainer").html("");
|
||||||
}, 1000);
|
}, 1000);
|
||||||
}, 500);
|
}, 500);
|
||||||
|
|||||||
Reference in New Issue
Block a user