hitro dodajanje vozila
This commit is contained in:
@@ -18,7 +18,7 @@
|
|||||||
<form method="get">
|
<form method="get">
|
||||||
<div class="btn-group">
|
<div class="btn-group">
|
||||||
<input class="form-control" type="text" name="searchString" value="@ViewData["SearchString"]" placeholder="Iskanje..." autocomplete="off">
|
<input class="form-control" type="text" name="searchString" value="@ViewData["SearchString"]" placeholder="Iskanje..." autocomplete="off">
|
||||||
<button type="submit" class="btn btn-secondary" aria-label="Osveži" title="Osveži">
|
<button id="btnSubmit" type="submit" class="btn btn-secondary" aria-label="Osveži" title="Osveži">
|
||||||
<i class="opacity-75 ion ion-md-refresh"></i>
|
<i class="opacity-75 ion ion-md-refresh"></i>
|
||||||
</button>
|
</button>
|
||||||
<div class="btn-group" title="Columns">
|
<div class="btn-group" title="Columns">
|
||||||
@@ -101,7 +101,7 @@
|
|||||||
</table>
|
</table>
|
||||||
|
|
||||||
<div class="card-footer py-3 text-right">
|
<div class="card-footer py-3 text-right">
|
||||||
<button id="btnSubmit" type="button" class="btn btn-primary" onclick="addNewCodeTablePartner();">Vnos partnerja</button>
|
<button type="button" class="btn btn-primary" onclick="addNewCodeTablePartner();">Vnos partnerja</button>
|
||||||
</div>
|
</div>
|
||||||
<div id="divModalCodetablePartnerAddEditPlaceholder"></div>
|
<div id="divModalCodetablePartnerAddEditPlaceholder"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -186,7 +186,7 @@ namespace EveryThing.Pages.CodeTablePartners
|
|||||||
return new JsonResult(new { idCodeTablePartner = partnerData.IdPartner, error = error, successful = successful });
|
return new JsonResult(new { idCodeTablePartner = partnerData.IdPartner, error = error, successful = successful });
|
||||||
}
|
}
|
||||||
|
|
||||||
public IActionResult OnDeleteCodeTableItem(int idCodeTablePartner)
|
public IActionResult OnDeleteCodeTablePartner(int idCodeTablePartner)
|
||||||
{
|
{
|
||||||
var user = _userManager.GetUserAsync(User).Result;
|
var user = _userManager.GetUserAsync(User).Result;
|
||||||
var successful = true;
|
var successful = true;
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
@model EveryThing.Pages.CodeTableVehicles.IndexModel.AddEditCodeTableVehicle
|
@model EveryThing.Pages.CodeTableVehicles.IndexModel.AddEditCodeTableVehicle
|
||||||
|
|
||||||
<div class="modal" tabindex="-1" role="dialog" id="divModalAddEditCodeTableVehicle">
|
<div class="modal" tabindex="-1" role="dialog" id="divModalAddEditCodeTableVehicle">
|
||||||
<div class="modal-dialog" role="document">
|
<div class="modal-dialog modal-lg" role="document">
|
||||||
<div class="modal-content modal-lg">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h5 class="modal-title" id="modalAddEditCodeTableVehicleTitle">Dodajanje novega vozila</h5>
|
<h5 class="modal-title" id="modalAddEditCodeTableVehicleTitle">Dodajanje novega vozila</h5>
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||||
@@ -35,7 +35,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label asp-for="Vehicle.IdVehicleTypeFk" class="control-label"></label>
|
<label asp-for="Vehicle.IdVehicleTypeFk" class="control-label"></label>
|
||||||
<select id="selModalAddEditCodeTableVehicleVehicleType" asp-for="Vehicle.IdVehicleTypeFk" class="form-control" asp-items="ViewBag.VehicleType"></select>
|
<select id="selModalAddEditCodeTableVehicleVehicleType" asp-for="Vehicle.IdVehicleTypeFk" class="form-control" asp-items="Model.VehicleTypes"></select>
|
||||||
<span asp-validation-for="Vehicle.IdVehicleTypeFk" class="text-danger"></span>
|
<span asp-validation-for="Vehicle.IdVehicleTypeFk" class="text-danger"></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
<form method="get">
|
<form method="get">
|
||||||
<div class="btn-group">
|
<div class="btn-group">
|
||||||
<input class="form-control" type="text" name="searchString" value="@ViewData["SearchString"]" placeholder="Iskanje..." autocomplete="off">
|
<input class="form-control" type="text" name="searchString" value="@ViewData["SearchString"]" placeholder="Iskanje..." autocomplete="off">
|
||||||
<button type="submit" class="btn btn-secondary" aria-label="Osveži" title="Osveži" asp-route-type="@ViewData["Type"]">
|
<button id="btnSubmit" type="submit" class="btn btn-secondary" aria-label="Osveži" title="Osveži" asp-route-type="@ViewData["Type"]">
|
||||||
<i class="opacity-75 ion ion-md-refresh"></i>
|
<i class="opacity-75 ion ion-md-refresh"></i>
|
||||||
</button>
|
</button>
|
||||||
<div class="btn-group" title="Columns">
|
<div class="btn-group" title="Columns">
|
||||||
@@ -41,98 +41,76 @@
|
|||||||
|
|
||||||
<table class="table card-table">
|
<table class="table card-table">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
@*<th style="width: 200px;">#</th>*@
|
@*<th style="width: 200px;">#</th>*@
|
||||||
<th style="width: auto;">
|
<th style="width: auto;">
|
||||||
@Html.DisplayNameFor(modelItem => modelItem.Vehicles[0].Title)
|
@Html.DisplayNameFor(modelItem => modelItem.Vehicles[0].Title)
|
||||||
</th>
|
</th>
|
||||||
<th style="width: auto;">
|
<th style="width: auto;">
|
||||||
@Html.DisplayNameFor(modelItem => modelItem.Vehicles[0].RegistrationNumber)
|
@Html.DisplayNameFor(modelItem => modelItem.Vehicles[0].RegistrationNumber)
|
||||||
</th>
|
</th>
|
||||||
<th style="width: 100px">
|
<th style="width: 100px">
|
||||||
@Html.DisplayNameFor(modelItem => modelItem.Vehicles[0].Active)
|
@Html.DisplayNameFor(modelItem => modelItem.Vehicles[0].Active)
|
||||||
</th>
|
</th>
|
||||||
<th style="width: 120px;"></th>
|
<th style="width: 120px;"></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
@foreach (var item in Model.Vehicles)
|
@foreach (var item in Model.Vehicles)
|
||||||
{
|
{
|
||||||
<tr data-idvehicle="@item.IdVehicle">
|
<tr data-idvehicle="@item.IdVehicle">
|
||||||
<td>
|
<td>
|
||||||
@Html.DisplayFor(modelItem => item.Title)
|
@Html.DisplayFor(modelItem => item.Title)
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
@Html.DisplayFor(modelItem => item.RegistrationNumber)
|
@Html.DisplayFor(modelItem => item.RegistrationNumber)
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
@Html.DisplayFor(modelItem => item.Active)
|
@Html.DisplayFor(modelItem => item.Active)
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<a class="btn btn-xs icon-btn btn-outline-secondary borderless" asp-page="CreateEdit" asp-route-edit="true" asp-route-id="@item.IdVehicle" data-toggle="tooltip" data-placement="top" title="Urejanje" data-state="secondary"><i class="fas fa-pencil-alt"></i></a>
|
<a class="btn btn-xs icon-btn btn-outline-secondary borderless" href="Javascript:;" onclick="editCodeTableVehicle(this)" data-toggle="tooltip" data-placement="top" title="Urejanje" data-state="secondary"><i class="fas fa-pencil-alt"></i></a>
|
||||||
<a class="btn btn-xs icon-btn btn-outline-danger borderless" data-state="danger" href='javascript:;' onclick="deleteVehicle(this)"><i class="fas fa-times"></i></a>
|
<a class="btn btn-xs icon-btn btn-outline-danger borderless" data-state="danger" href='javascript:;' onclick="deleteCodeTableVehicle(this)"><i class="fas fa-times"></i></a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
}
|
}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<div class="card-footer py-3 text-right">
|
<div class="card-footer py-3 text-right">
|
||||||
<a asp-page="CreateEdit" asp-route-edit="false" class="btn btn-primary">Vnos novega</a>
|
<a href="Javascript:;" onclick="addNewCodeTableVehicle();" class="btn btn-primary">Vnos novega</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="divModalCodetableVehicleAddEditPlaceholder"></div>
|
||||||
@Html.AntiForgeryToken()
|
@Html.AntiForgeryToken()
|
||||||
|
|
||||||
@section Scripts {
|
@section Scripts {
|
||||||
|
<script src="~/vendor/libs/select2/select2.js" asp-append-version="true"></script>
|
||||||
|
<script src="~/js/codeTableVehicleHelper.js?v=1" asp-append-version="true"></script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
$('[data-toggle="tooltip"]').tooltip({ container: 'table' });
|
$('[data-toggle="tooltip"]').tooltip({ container: 'table' });
|
||||||
|
|
||||||
function deleteVehicle(element) {
|
function addNewCodeTableVehicle() {
|
||||||
|
codeTableVehicleAddEdit('#divModalCodetableVehicleAddEditPlaceholder', false, null, (idCodeTableItem) => {
|
||||||
|
document.getElementById('btnSubmit').click();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function editCodeTableVehicle(element) {
|
||||||
|
let idVehicle = parseInt($(element).parent().parent().attr('data-idvehicle'));
|
||||||
|
|
||||||
|
codeTableVehicleAddEdit('#divModalCodetableVehicleAddEditPlaceholder', true, idVehicle, (idVehicle) => {
|
||||||
|
document.getElementById('btnSubmit').click();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function deleteCodeTableVehicle(element) {
|
||||||
let row = $(element).parent().parent();
|
let row = $(element).parent().parent();
|
||||||
let idInvoice = $(row).attr('data-idinvoice');
|
let idVehicle = parseInt(row.attr('data-idvehicle'));
|
||||||
let invoiceNumber = $(row).attr('data-number');
|
|
||||||
|
|
||||||
Swal.fire({
|
codeTableVehicleDelete(idVehicle, (idVehicle) => {
|
||||||
title: `Izbrišem dokument ${invoiceNumber}?`,
|
row.remove();
|
||||||
text: "Tega dejanja ni možno razveljaviti!",
|
|
||||||
icon: 'warning',
|
|
||||||
showCancelButton: true,
|
|
||||||
confirmButtonColor: '#3085d6',
|
|
||||||
cancelButtonColor: '#d33',
|
|
||||||
confirmButtonText: 'Da, izbriši!',
|
|
||||||
cancelButtonText: 'Prekliči!'
|
|
||||||
}).then((result) => {
|
|
||||||
if (result.isConfirmed) {
|
|
||||||
$.blockUI();
|
|
||||||
$.ajax({
|
|
||||||
type: "DELETE",
|
|
||||||
beforeSend: function (xhr) {
|
|
||||||
xhr.setRequestHeader("XSRF-TOKEN",
|
|
||||||
$('input:hidden[name="__RequestVerificationToken"]').val());
|
|
||||||
},
|
|
||||||
url: "/Invoices/Index/?handler=Invoice",
|
|
||||||
data: {
|
|
||||||
idInvoice
|
|
||||||
},
|
|
||||||
success: function (data) {
|
|
||||||
$.unblockUI();
|
|
||||||
if (data.successful) {
|
|
||||||
$(row).remove();
|
|
||||||
} else {
|
|
||||||
console.log(data);
|
|
||||||
Swal.fire('Napaka pri brisanju dokumenta',
|
|
||||||
data.error,
|
|
||||||
'error');
|
|
||||||
}
|
|
||||||
|
|
||||||
},
|
|
||||||
error: function (xhr, ajaxOptions, thrownError) {
|
|
||||||
console.log(xhr);
|
|
||||||
alert(xhr.responseText);
|
|
||||||
$.unblockUI();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -7,10 +7,12 @@ using Microsoft.AspNetCore.Mvc.RazorPages;
|
|||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using EveryThing.Data;
|
using EveryThing.Data;
|
||||||
using EveryThing.Models;
|
using EveryThing.Models;
|
||||||
|
using EveryThing.Models.CodeTable;
|
||||||
using EveryThing.Models.Vehicle;
|
using EveryThing.Models.Vehicle;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Identity;
|
using Microsoft.AspNetCore.Identity;
|
||||||
using EveryThing.Models.Invoice;
|
using EveryThing.Models.Invoice;
|
||||||
|
using JetBrains.Annotations;
|
||||||
using Microsoft.AspNetCore.Mvc.Rendering;
|
using Microsoft.AspNetCore.Mvc.Rendering;
|
||||||
|
|
||||||
namespace EveryThing.Pages.CodeTableVehicles
|
namespace EveryThing.Pages.CodeTableVehicles
|
||||||
@@ -61,5 +63,201 @@ namespace EveryThing.Pages.CodeTableVehicles
|
|||||||
Vehicles = Vehicles.Where(s => s.Title.Contains(searchString)).ToList();
|
Vehicles = Vehicles.Where(s => s.Title.Contains(searchString)).ToList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public IActionResult OnGetCodeTableVehicleModal([CanBeNull] string title, bool edit, int idCodeTableVehicle)
|
||||||
|
{
|
||||||
|
var user = _userManager.GetUserAsync(User).Result;
|
||||||
|
|
||||||
|
Vehicle vehicle = null;
|
||||||
|
|
||||||
|
if (edit)
|
||||||
|
{
|
||||||
|
vehicle = _context.Vehicles
|
||||||
|
.Where(x => x.IdCompanyFk == user.IdCompanyFk)
|
||||||
|
.FirstOrDefault(x => x.IdVehicle == idCodeTableVehicle);
|
||||||
|
|
||||||
|
//files = _context.Files
|
||||||
|
// .Where(x => x.IdCompanyFk == user.IdCompanyFk
|
||||||
|
// && x.IdReferenceFk == item.IdItem
|
||||||
|
// && x.FileType == FileType.CodeTableItem)
|
||||||
|
// .ToList();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (vehicle == null)
|
||||||
|
{
|
||||||
|
vehicle = new Vehicle();
|
||||||
|
|
||||||
|
if (title != null)
|
||||||
|
vehicle.Title = title;
|
||||||
|
|
||||||
|
vehicle.Active = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
var departments = new SelectList(_context.CodeTableDepartements.Where(x => x.IdCompanyFk == user.IdCompanyFk && x.Active), "IdDepartement", "Title");
|
||||||
|
var fuelTypes = new SelectList(_context.VehicleFuelTypes.Where(x => x.IdCompanyFk == user.IdCompanyFk), "IdVehicleFuelType", "Title");
|
||||||
|
var groups = new SelectList(_context.VehicleGroups.Where(x => x.IdCompanyFk == user.IdCompanyFk && x.Active), "IdVehicleGroup", "Title");
|
||||||
|
var makes = new SelectList(_context.VehicleMakes.Where(x => x.IdCompanyFk == user.IdCompanyFk && x.Active), "IdVehicleMake", "Title");
|
||||||
|
var types = new SelectList(_context.VehicleTypes.Where(x => x.IdCompanyFk == user.IdCompanyFk && x.Active), "IdVehicleType", "Title");
|
||||||
|
|
||||||
|
return Partial("AddEditVehicleModal", new CodeTableVehicles.IndexModel.AddEditCodeTableVehicle
|
||||||
|
{
|
||||||
|
Vehicle = vehicle,
|
||||||
|
Edit = edit,
|
||||||
|
IdCodeTableVehicle = idCodeTableVehicle,
|
||||||
|
Departments = departments,
|
||||||
|
FuelTypes = fuelTypes,
|
||||||
|
VehicleGroups = groups,
|
||||||
|
VehicleMakes = makes,
|
||||||
|
VehicleTypes = types
|
||||||
|
//Files = files,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public IActionResult OnPostCodeTableVehicle(bool edit, Vehicle vehicleData)
|
||||||
|
{
|
||||||
|
var user = _userManager.GetUserAsync(User).Result;
|
||||||
|
var successful = true;
|
||||||
|
var error = "";
|
||||||
|
|
||||||
|
if (edit)
|
||||||
|
{
|
||||||
|
var vehicle = _context.Vehicles
|
||||||
|
.Where(x => x.IdCompanyFk == user.IdCompanyFk)
|
||||||
|
.FirstOrDefault(x => x.IdVehicle == vehicleData.IdVehicle);
|
||||||
|
if (vehicle != null)
|
||||||
|
{
|
||||||
|
vehicle.Title = vehicleData.Title;
|
||||||
|
vehicle.IdVehicleTypeFk = vehicleData.IdVehicleTypeFk;
|
||||||
|
vehicle.IdMakeFk = vehicleData.IdMakeFk;
|
||||||
|
vehicle.Model = vehicleData.Model;
|
||||||
|
vehicle.Year = vehicleData.Year;
|
||||||
|
vehicle.VinNumber = vehicleData.VinNumber;
|
||||||
|
vehicle.EngineNumber = vehicleData.EngineNumber;
|
||||||
|
vehicle.IdFuelTypeFk = vehicleData.IdFuelTypeFk;
|
||||||
|
vehicle.IdDepartementFk = vehicleData.IdDepartementFk;
|
||||||
|
vehicle.IdVehicleGroupFk = vehicleData.IdVehicleGroupFk;
|
||||||
|
vehicle.VehicleMeterType = vehicleData.VehicleMeterType;
|
||||||
|
vehicle.Note = vehicleData.Note;
|
||||||
|
vehicle.RegistrationNumber = vehicleData.RegistrationNumber;
|
||||||
|
vehicle.Active = vehicleData.Active;
|
||||||
|
_context.SaveChanges();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
successful = false;
|
||||||
|
error = $"Codetable vehicle with ID: {vehicleData.IdVehicle} not found";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var vehicle = new Vehicle
|
||||||
|
{
|
||||||
|
IdCompanyFk = user.IdCompanyFk,
|
||||||
|
Title = vehicleData.Title,
|
||||||
|
IdVehicleTypeFk = vehicleData.IdVehicleTypeFk,
|
||||||
|
IdMakeFk = vehicleData.IdMakeFk,
|
||||||
|
Model = vehicleData.Model,
|
||||||
|
Year = vehicleData.Year,
|
||||||
|
VinNumber = vehicleData.VinNumber,
|
||||||
|
EngineNumber = vehicleData.EngineNumber,
|
||||||
|
IdFuelTypeFk = vehicleData.IdFuelTypeFk,
|
||||||
|
IdDepartementFk = vehicleData.IdDepartementFk,
|
||||||
|
IdVehicleGroupFk = vehicleData.IdVehicleGroupFk,
|
||||||
|
VehicleMeterType = vehicleData.VehicleMeterType,
|
||||||
|
Note = vehicleData.Note,
|
||||||
|
RegistrationNumber = vehicleData.RegistrationNumber,
|
||||||
|
Active = vehicleData.Active
|
||||||
|
};
|
||||||
|
_context.Vehicles.Add(vehicle);
|
||||||
|
_context.SaveChanges();
|
||||||
|
|
||||||
|
vehicleData.IdVehicle = vehicle.IdVehicle;
|
||||||
|
}
|
||||||
|
|
||||||
|
return new JsonResult(new { idCodeTableVehicle = vehicleData.IdVehicle, error = error, successful = successful });
|
||||||
|
}
|
||||||
|
|
||||||
|
public IActionResult OnDeleteCodeTableVehicle(int idCodeTableVehicle)
|
||||||
|
{
|
||||||
|
var user = _userManager.GetUserAsync(User).Result;
|
||||||
|
var successful = true;
|
||||||
|
var error = "";
|
||||||
|
|
||||||
|
var vehicle = _context.Vehicles
|
||||||
|
.Where(x => x.IdCompanyFk == user.IdCompanyFk)
|
||||||
|
.FirstOrDefault(x => x.IdVehicle == idCodeTableVehicle);
|
||||||
|
if (vehicle != null)
|
||||||
|
{
|
||||||
|
_context.Vehicles.Remove(vehicle);
|
||||||
|
_context.SaveChanges();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
successful = false;
|
||||||
|
error = $"Codetable vehicle with ID: {idCodeTableVehicle} not found";
|
||||||
|
}
|
||||||
|
|
||||||
|
return new JsonResult(new { idCodeTableItem = idCodeTableVehicle, error = error, successful = successful });
|
||||||
|
}
|
||||||
|
|
||||||
|
public IActionResult OnGetCodeTableVehicle(int idCodeTableVehicle)
|
||||||
|
{
|
||||||
|
var user = _userManager.GetUserAsync(User).Result;
|
||||||
|
|
||||||
|
var successful = true;
|
||||||
|
var error = "";
|
||||||
|
var vehicleInUse = false;
|
||||||
|
|
||||||
|
var vehicle = _context.Vehicles
|
||||||
|
.Where(x => x.IdCompanyFk == user.IdCompanyFk)
|
||||||
|
.Include(x => x.VehicleVehicleFueling)
|
||||||
|
.Include(x => x.VehicleVehicleIncident)
|
||||||
|
.Include(x => x.VehicleVehicleIssue)
|
||||||
|
.Include(x => x.VehicleNote)
|
||||||
|
.Include(x => x.VehicleVehicleDriver)
|
||||||
|
.Include(x => x.VehicleVehicleMeterReading)
|
||||||
|
.Include(x => x.VehicleVehicleDrive)
|
||||||
|
.Include(x => x.VehicleTransportLoadingOrder)
|
||||||
|
.FirstOrDefault(x => x.IdVehicle == idCodeTableVehicle);
|
||||||
|
|
||||||
|
if (vehicle == null)
|
||||||
|
{
|
||||||
|
successful = false;
|
||||||
|
error = $"Codetable vehicle with ID: {idCodeTableVehicle} not found";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
vehicleInUse = vehicle.VehicleVehicleFueling.Count > 0
|
||||||
|
|| vehicle.VehicleVehicleIncident.Count > 0
|
||||||
|
|| vehicle.VehicleVehicleIssue.Count > 0
|
||||||
|
|| vehicle.VehicleVehicleDriver.Count > 0
|
||||||
|
|| vehicle.VehicleVehicleMeterReading.Count > 0
|
||||||
|
|| vehicle.VehicleVehicleDrive.Count > 0
|
||||||
|
|| vehicle.VehicleTransportLoadingOrder.Count > 0
|
||||||
|
|| vehicle.VehicleNote.Count > 0;
|
||||||
|
vehicle.VehicleVehicleFueling = null;
|
||||||
|
vehicle.VehicleVehicleIncident = null;
|
||||||
|
vehicle.VehicleVehicleIssue = null;
|
||||||
|
vehicle.VehicleNote = null;
|
||||||
|
vehicle.VehicleVehicleDriver = null;
|
||||||
|
vehicle.VehicleVehicleMeterReading = null;
|
||||||
|
vehicle.VehicleVehicleDrive = null;
|
||||||
|
vehicle.VehicleTransportLoadingOrder = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return new JsonResult(new { vehicle, error, successful, vehicleInUse });
|
||||||
|
}
|
||||||
|
|
||||||
|
public IActionResult OnGetCodeTableVehiclesSelect()
|
||||||
|
{
|
||||||
|
var user = _userManager.GetUserAsync(User).Result;
|
||||||
|
|
||||||
|
var vehicles = _context.Vehicles
|
||||||
|
.Where(x => x.IdCompanyFk == user.IdCompanyFk
|
||||||
|
&& x.Active)
|
||||||
|
.OrderBy(x => x.Title);
|
||||||
|
|
||||||
|
return new JsonResult(new { vehicles = new SelectList(vehicles, "IdVehicle", "Title") });
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -280,6 +280,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="divModalCodetablePartnerAddEditPlaceholder"></div>
|
<div id="divModalCodetablePartnerAddEditPlaceholder"></div>
|
||||||
|
<div id="divModalCodetableVehicleAddEditPlaceholder"></div>
|
||||||
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
|
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
|
||||||
|
|
||||||
@Html.AntiForgeryToken()
|
@Html.AntiForgeryToken()
|
||||||
@@ -291,6 +292,7 @@
|
|||||||
<script src="~/vendor/libs/quill/quill.js" asp-append-version="true"></script>
|
<script src="~/vendor/libs/quill/quill.js" asp-append-version="true"></script>
|
||||||
<script src="~/vendor/libs/select2/select2.js" asp-append-version="true"></script>
|
<script src="~/vendor/libs/select2/select2.js" asp-append-version="true"></script>
|
||||||
<script src="~/js/codeTablePartnerHelper.js?v=1" asp-append-version="true"></script>
|
<script src="~/js/codeTablePartnerHelper.js?v=1" asp-append-version="true"></script>
|
||||||
|
<script src="~/js/codeTableVehicleHelper.js?v=1" asp-append-version="true"></script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
var Block = Quill.import('blots/block');
|
var Block = Quill.import('blots/block');
|
||||||
@@ -385,7 +387,18 @@
|
|||||||
|
|
||||||
$('.select2-vehicle').select2({
|
$('.select2-vehicle').select2({
|
||||||
allowClear: true,
|
allowClear: true,
|
||||||
placeholder: "Izberi vozilo"
|
placeholder: "Izberi vozilo",
|
||||||
|
language: {
|
||||||
|
noResults: function () {
|
||||||
|
return `<button style="width: 100%" type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
onClick='addNewCodeTableVehicle()'>Dodaj novega</button>
|
||||||
|
</li>`;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
escapeMarkup: function (markup) {
|
||||||
|
return markup;
|
||||||
|
}
|
||||||
}).on('change', function() {
|
}).on('change', function() {
|
||||||
if ($(".select2-vehicle").val() !== '') {
|
if ($(".select2-vehicle").val() !== '') {
|
||||||
$('.vehicle-text').val('');
|
$('.vehicle-text').val('');
|
||||||
@@ -494,5 +507,33 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function addNewCodeTableVehicle() {
|
||||||
|
let title = $(".select2-vehicle").data("select2").dropdown.$search.val();
|
||||||
|
codeTableVehicleAddEdit('#divModalCodetableVehicleAddEditPlaceholder', false, null, (idCodeTableVehicle) => {
|
||||||
|
refreshCodeTableVehicle('.select2-vehicle', idCodeTableVehicle, null, true);
|
||||||
|
}, null, title);
|
||||||
|
}
|
||||||
|
|
||||||
|
function refreshCodeTableVehicle(selector, idToSelect) {
|
||||||
|
$.ajax({
|
||||||
|
type: "GET",
|
||||||
|
url: "/CodeTableVehicles/Index/?handler=CodeTableVehiclesSelect",
|
||||||
|
data: {
|
||||||
|
},
|
||||||
|
success: function (data) {
|
||||||
|
$(selector).empty();
|
||||||
|
$(data.vehicles).each(function () {
|
||||||
|
$(selector).append($("<option></option>").val(this.value).html(this.text));
|
||||||
|
});
|
||||||
|
$(selector).val(idToSelect).trigger('change');
|
||||||
|
},
|
||||||
|
error: function (xhr, ajaxOptions, thrownError) {
|
||||||
|
console.log(xhr);
|
||||||
|
alert(xhr.responseText);
|
||||||
|
$.unblockUI();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
}
|
}
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
Datum naloga
|
Datum naloga
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th>
|
||||||
Partner
|
Prevoznik
|
||||||
</th>
|
</th>
|
||||||
<th style="width: 100px">
|
<th style="width: 100px">
|
||||||
Status
|
Status
|
||||||
|
|||||||
221
EveryThing/wwwroot/js/codeTableVehicleHelper.js
Normal file
221
EveryThing/wwwroot/js/codeTableVehicleHelper.js
Normal file
@@ -0,0 +1,221 @@
|
|||||||
|
//ce jamra da ne najde post je treba dati @Html.AntiForgeryToken() v page
|
||||||
|
function codeTableVehicleAddEdit(placeholderSelector, edit, idCodeTableVehicle, onAddEdit, onCancel, title){
|
||||||
|
$.blockUI();
|
||||||
|
$.ajax({
|
||||||
|
type: "GET",
|
||||||
|
// beforeSend: function(xhr) {
|
||||||
|
// xhr.setRequestHeader("XSRF-TOKEN",
|
||||||
|
// $('input:hidden[name="__RequestVerificationToken"]').val());
|
||||||
|
// },
|
||||||
|
url: "/CodeTableVehicles/Index/?handler=CodeTableVehicleModal",
|
||||||
|
data: { edit: edit, idCodeTableVehicle: edit ? idCodeTableVehicle : -1, title },
|
||||||
|
success: function(data) {
|
||||||
|
$.unblockUI();
|
||||||
|
$(placeholderSelector).html(data);
|
||||||
|
if (edit){
|
||||||
|
$('#modalAddEditCodeTableVehicleTitle').html(`Urejanje vozila: ${$('#inpModalAddEditCodeTableVehicleTitle').val()}`);
|
||||||
|
//$('#btnModalAddEditCodeTableVehicleAddFile').css('display', '');
|
||||||
|
$('#btnModalAddEditCodeTableVehicleConfirm').html('Shrani');
|
||||||
|
} else {
|
||||||
|
$('#modalAddEditCodeTableVehicleTitle').html('Dodajanje novega vozila');
|
||||||
|
//$('#btnModalAddEditCodeTableVehicleAddFile').css('display', 'none');
|
||||||
|
$('#btnModalAddEditCodeTableVehicleConfirm').html('Dodaj');
|
||||||
|
}
|
||||||
|
$('#btnModalAddEditCodeTableVehicleConfirm').off();
|
||||||
|
$('#btnModalAddEditCodeTableVehicleCancel').off();
|
||||||
|
|
||||||
|
//Save to db
|
||||||
|
$('#btnModalAddEditCodeTableVehicleConfirm').on('click', () =>{
|
||||||
|
let title = $('#inpModalAddEditCodeTableVehicleTitle').val();
|
||||||
|
let model = $('#inpModalAddEditCodeTableVehicleModel').val();
|
||||||
|
let registrationNumber = $('#inpModalAddEditCodeTableVehicleRegistrationNumber').val();
|
||||||
|
let vinNumber = $('#inpModalAddEditCodeTableVehicleVinNumber').val();
|
||||||
|
let engineNumber = $('#inpModalAddEditCodeTableVehicleEngineNumber').val();
|
||||||
|
|
||||||
|
let note = $('#taModalAddEditCodeTableVehicleNote').text();
|
||||||
|
|
||||||
|
let idMakeFk = parseInt($('#selModalAddEditCodeTableVehicleMake').val());
|
||||||
|
let idVehicleTypeFk = parseInt($('#selModalAddEditCodeTableVehicleVehicleType').val());
|
||||||
|
let year = parseInt($('#inpModalAddEditCodeTableVehicleYear').val());
|
||||||
|
let idFuelTypeFk = parseInt($('#selModalAddEditCodeTableVehicleFuelType').val());
|
||||||
|
let vehicleMeterType = parseInt($('#selModalAddEditCodeTableVehicleVehicleMeterType').val());
|
||||||
|
let idDepartementFk = parseInt($('#selModalAddEditCodeTableVehicleDepartment').val());
|
||||||
|
|
||||||
|
|
||||||
|
let active = $('#inpModalAddEditCodeTableVehicleActive').is(':checked');
|
||||||
|
|
||||||
|
|
||||||
|
let edit = $('#inpModalAddEditCodeTableVehicleEdit').val() === 'true';
|
||||||
|
let idVehicle = parseInt($('#inpModalAddEditCodeTableVehicleIdCodeTableVehicle').val());
|
||||||
|
|
||||||
|
if (title === '' || title === null){
|
||||||
|
Swal.fire('Zahtevano polje naziv!');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (registrationNumber === '' || registrationNumber === null) {
|
||||||
|
Swal.fire('Zahtevano registrska številka!');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (vinNumber === '' || vinNumber === null) {
|
||||||
|
Swal.fire('Zahtevano številka VIN!');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$.blockUI();
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
beforeSend: function(xhr) {
|
||||||
|
xhr.setRequestHeader("XSRF-TOKEN",
|
||||||
|
$('input:hidden[name="__RequestVerificationToken"]').val());
|
||||||
|
},
|
||||||
|
url: "/CodeTableVehicles/Index/?handler=CodeTableVehicle",
|
||||||
|
data: {
|
||||||
|
edit,
|
||||||
|
vehicleData : {
|
||||||
|
title,
|
||||||
|
model,
|
||||||
|
registrationNumber,
|
||||||
|
vinNumber,
|
||||||
|
engineNumber,
|
||||||
|
note,
|
||||||
|
idMakeFk,
|
||||||
|
idVehicleTypeFk,
|
||||||
|
year,
|
||||||
|
idFuelTypeFk,
|
||||||
|
vehicleMeterType,
|
||||||
|
idDepartementFk,
|
||||||
|
active,
|
||||||
|
idVehicle,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
$.unblockUI();
|
||||||
|
if (data.successful){
|
||||||
|
$("#divModalAddEditCodeTableVehicle").modal('hide');
|
||||||
|
if (onAddEdit != null){
|
||||||
|
onAddEdit(data.idCodeTableVehicle);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Swal.fire('Napaka pri dodajanju/posodabljanju',
|
||||||
|
data.error,
|
||||||
|
'error');
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
error: function (xhr, ajaxOptions, thrownError) {
|
||||||
|
console.log(xhr);
|
||||||
|
alert(xhr.responseText);
|
||||||
|
$.unblockUI();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
//Cancel
|
||||||
|
$('#btnModalAddEditCodeTableVehicleCancel').on('click', () =>{
|
||||||
|
$("#divModalAddEditCodeTableVehicle").modal('hide');
|
||||||
|
if (onCancel != null){
|
||||||
|
onCancel();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#divModalAddEditCodeTableVehicle").modal('show');
|
||||||
|
|
||||||
|
$('.select2-vehicle-add-edit').select2({
|
||||||
|
dropdownParent: $("#divModalAddEditCodeTableVehicle")
|
||||||
|
});
|
||||||
|
},
|
||||||
|
error: function (xhr, ajaxOptions, thrownError) {
|
||||||
|
alert(xhr.responseText);
|
||||||
|
$.unblockUI();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function codeTableVehicleDelete(idCodeTableVehicle, onDelete, onCancel){
|
||||||
|
$.blockUI();
|
||||||
|
$.ajax({
|
||||||
|
type: "GET",
|
||||||
|
url: "/CodeTableVehicles/Index/?handler=CodeTableVehicle",
|
||||||
|
data: {
|
||||||
|
idCodeTableVehicle
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
$.unblockUI();
|
||||||
|
if (data.successful){
|
||||||
|
if (data.vehicleInUse){
|
||||||
|
Swal.fire('Vozilo je v uporabi!',
|
||||||
|
'Brisanje ni možno!',
|
||||||
|
'warning');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Swal.fire({
|
||||||
|
title: `Izbrišem vozilo ${data.vehicle.title}?`,
|
||||||
|
text: "Tega dejanja ni možno razveljaviti!",
|
||||||
|
icon: 'warning',
|
||||||
|
showCancelButton: true,
|
||||||
|
confirmButtonColor: '#3085d6',
|
||||||
|
cancelButtonColor: '#d33',
|
||||||
|
confirmButtonText: 'Da, izbriši!',
|
||||||
|
cancelButtonText: 'Prekliči!'
|
||||||
|
}).then((result) => {
|
||||||
|
if (result.isConfirmed) {
|
||||||
|
$.blockUI();
|
||||||
|
$.ajax({
|
||||||
|
type: "DELETE",
|
||||||
|
beforeSend: function(xhr) {
|
||||||
|
xhr.setRequestHeader("XSRF-TOKEN",
|
||||||
|
$('input:hidden[name="__RequestVerificationToken"]').val());
|
||||||
|
},
|
||||||
|
url: "/CodeTableVehicles/Index/?handler=CodeTableVehicle",
|
||||||
|
data: {
|
||||||
|
idCodeTableVehicle
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
$.unblockUI();
|
||||||
|
if (data.successful){
|
||||||
|
if (onDelete != null){
|
||||||
|
onDelete(data.idCodeTableVehicle);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Swal.fire('Napaka pri brisanju vozila',
|
||||||
|
data.error,
|
||||||
|
'error');
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
error: function (xhr, ajaxOptions, thrownError) {
|
||||||
|
console.log(xhr);
|
||||||
|
alert(xhr.responseText);
|
||||||
|
$.unblockUI();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else{
|
||||||
|
if (onCancel != null){
|
||||||
|
onCancel();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
Swal.fire('Napaka pri branju vozila',
|
||||||
|
data.error,
|
||||||
|
'error');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function (xhr, ajaxOptions, thrownError) {
|
||||||
|
console.log(xhr);
|
||||||
|
alert(xhr.responseText);
|
||||||
|
$.unblockUI();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function codeTableVehicleDeleteFile(element) {
|
||||||
|
let row = $(element).parent();
|
||||||
|
let idFile = parseInt(row.attr('data-idfile'));
|
||||||
|
|
||||||
|
fileDelete(idFile, (idFile) => {
|
||||||
|
row.remove();
|
||||||
|
});
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user