partnerji na modal

This commit is contained in:
David Štaleker
2023-07-03 16:23:10 +02:00
parent c23c81e288
commit 7e7fecc59f
9 changed files with 603 additions and 22 deletions

View File

@@ -41,7 +41,7 @@
<div class="tab-content">
<div class="tab-pane fade show active" id="item-basic">
<form method="post" data-ajax="true" data-ajax-method="post" asp-page-handler="order" data-ajax-complete="orderPostCompleted" onsubmit="handleEditors()">
<form method="post" data-ajax="true" data-ajax-method="post" asp-page-handler="order" data-ajax-complete="orderPostCompleted" onsubmit="beforeOrderPost()">
<div class="card-body">
<input type="hidden" asp-for="TransportLoadingOrder.IdTransportLoadingOrder"/>
<input type="hidden" asp-for="TransportLoadingOrder.IdCompanyFk"/>
@@ -51,10 +51,15 @@
<div class="col-6">
<div class="form-group">
<label asp-for="TransportLoadingOrder.IdPartnerFk" class="form-label"></label>
<select asp-for="TransportLoadingOrder.IdPartnerFk" class="form-control select2" asp-items="ViewBag.IdPartnerFk"></select>
<select asp-for="TransportLoadingOrder.IdPartnerFk" class="form-control select2" asp-items="ViewBag.IdPartnerFk"></select>
</div>
</div>
<div class="col-6 text-right">
<div class="col-4">
<label asp-for="TransportLoadingOrder.IdVehicleFk" class="form-label"></label>
<select asp-for="TransportLoadingOrder.IdVehicleFk" class="form-control select2-vehicle" asp-items="Model.Vehicles">
</select>
</div>
<div class="col-2 text-right">
<label class="form-label">Nakladalni nalog</label>
<br/>
<h4>
@@ -89,12 +94,8 @@
</div>
<div class="col-4">
<div class="form-group">
<label asp-for="TransportLoadingOrder.IdVehicleFk" class="form-label"></label>
<select asp-for="TransportLoadingOrder.IdVehicleFk" class="form-control select2" asp-items="ViewBag.IdVehicleFk"></select>
<span asp-validation-for="TransportLoadingOrder.IdVehicleFk" class="text-danger"></span>
<label asp-for="TransportLoadingOrder.VehicleText" class="form-label"></label>
<input autocomplete="off" asp-for="TransportLoadingOrder.VehicleText" class="form-control"/>
<input autocomplete="off" asp-for="TransportLoadingOrder.VehicleText" class="form-control vehicle-text" />
<span asp-validation-for="TransportLoadingOrder.VehicleText" class="text-danger"></span>
</div>
</div>
@@ -321,15 +322,39 @@
$(document).ready(function () {
$('.select2').select2();
$('.select2-vehicle').select2({
allowClear: true,
placeholder: "Izberi vozilo"
}).on('change', function() {
if ($(".select2-vehicle").val() !== '') {
$('.vehicle-text').val('');
}
});
if ($('.select2-vehicle').val() === '') {
$('.select2-vehicle').val(null);
}
editorPreText = new Quill('#editor-pretext', { modules: { toolbar: [['bold', 'italic', 'underline'], ['color'], [{ 'list': 'ordered' }, { 'list': 'bullet' }], ['align'], ['clean']] }, theme: 'snow' });
editorPostText = new Quill('#editor-posttext', { modules: { toolbar: [['bold', 'italic', 'underline'], ['color'], [{ 'list': 'ordered' }, { 'list': 'bullet' }], ['align'], ['clean']] }, theme: 'snow' });
editorCargoDescription = new Quill('#editor-cargodescription', { modules: { toolbar: [['bold', 'italic', 'underline'], ['color'], [{ 'list': 'ordered' }, { 'list': 'bullet' }], ['align'], ['clean']] }, theme: 'snow' });
loadPosition();
});
function beforeOrderPost() {
if ($('.select2-vehicle').val() === '') {
$('.select2-vehicle').val(null);
}
handleEditors();
}
orderPostCompleted = function (xhr) {
laddaSaveOrder.stop();
location.replace('AddEdit?Id=' + xhr.responseJSON.id);
if (xhr.responseJSON.successful) {
location.replace('AddEdit?Id=' + xhr.responseJSON.id);
} else {
alert(xhr.responseJSON.error);
}
};
</script>
}

View File

@@ -15,6 +15,7 @@ using EveryThing.Models;
using EveryThing.Models.Transport;
using DocumentFormat.OpenXml.Spreadsheet;
using EveryThing.Models.CodeTable;
using NuGet.Packaging;
namespace EveryThing.Pages.TransportLoadingOrder
{
@@ -36,12 +37,15 @@ namespace EveryThing.Pages.TransportLoadingOrder
[BindProperty]
public TransportLoadingOrderLoadUnload TransportLoadingOrderLoadUnload { get; set; }
[BindProperty]
public List<SelectListItem> Vehicles { get; set; }
public async Task<IActionResult> OnGetAsync(int? id)
{
var user = _userManager.GetUserAsync(User).Result;
ViewData["IdPartnerFk"] = new SelectList(_context.CodeTablePartners.Where(x => x.IdCompanyFk == user.IdCompanyFk), "IdPartner", "Title");
ViewData["IdVehicleFk"] = new SelectList(_context.Vehicles.Where(x => x.IdCompanyFk == user.IdCompanyFk), "IdVehicle", "RegistrationNumber");
SetVehiclesBag(user.IdCompanyFk);
ViewData["IdLoadingFk"] = new SelectList(_context.CodeTablePartners.Where(x => x.IdCompanyFk == user.IdCompanyFk), "IdPartner", "Title");
ViewData["IdUnloadingFk"] = new SelectList(_context.CodeTablePartners.Where(x => x.IdCompanyFk == user.IdCompanyFk), "IdPartner", "Title");
ViewData["States"] = new SelectList(Enum.GetValues(typeof(Models.Transport.TransportLoadingOrder.TransportLoadingOrderState))
@@ -85,15 +89,19 @@ namespace EveryThing.Pages.TransportLoadingOrder
public async Task<IActionResult> OnPostOrderAsync()
{
System.Diagnostics.Debug.WriteLine("OnPostOrderAsync");
var user = _userManager.GetUserAsync(User).Result;
if (!ModelState.IsValid)
{
ViewData["IdPartnerFk"] = new SelectList(_context.CodeTablePartners.Where(x => x.IdCompanyFk == user.IdCompanyFk), "IdPartner", "Title");
ViewData["IdVehicleFk"] = new SelectList(_context.Vehicles.Where(x => x.IdCompanyFk == user.IdCompanyFk), "IdVehicle", "RegistrationNumber");
return Page();
System.Diagnostics.Debug.WriteLine("OnPostOrderAsync:Invalid");
//ViewData["IdPartnerFk"] = new SelectList(_context.CodeTablePartners.Where(x => x.IdCompanyFk == user.IdCompanyFk), "IdPartner", "Title");
//SetVehiclesBag(user.IdCompanyFk);
return new JsonResult(new { successful = false, error = string.Join(", ", ModelState.Values.Where(x => x.Errors.Any()).Select(x=> string.Join(", ", x.Errors.Select(y => y.ErrorMessage)))) });
}
if (TransportLoadingOrder.IdVehicleFk != null)
{
TransportLoadingOrder.VehicleText = "";
}
TransportLoadingOrder.PostText = TransportLoadingOrder.PostText.Replace("<div><br></div>", "");
@@ -121,7 +129,7 @@ namespace EveryThing.Pages.TransportLoadingOrder
TransportLoadingOrderLoadUnload = new TransportLoadingOrderLoadUnload();
return Page();
return new JsonResult(new { successful = true, id = TransportLoadingOrder.IdTransportLoadingOrder });
}
// OrderNumber and OrderYear
@@ -136,7 +144,7 @@ namespace EveryThing.Pages.TransportLoadingOrder
await _context.SaveChangesAsync();
return new JsonResult(new { id = TransportLoadingOrder .IdTransportLoadingOrder});
return new JsonResult(new { successful = true, id = TransportLoadingOrder .IdTransportLoadingOrder});
}
public async Task<IActionResult> OnPostPositionAddAsync()
@@ -200,5 +208,15 @@ namespace EveryThing.Pages.TransportLoadingOrder
{
return _context.TransportLoadingOrders.Any(e => e.IdTransportLoadingOrder == id);
}
private void SetVehiclesBag(int idCompany)
{
Vehicles = new List<SelectListItem>
{
new ("Izberi vozilo", "")
};
Vehicles.AddRange(_context.Vehicles.Where(x => x.IdCompanyFk == idCompany).Select(x => new SelectListItem(x.DisplayName, x.IdVehicle.ToString())));
//Vehicles = new SelectList(tmpList, "Text", "Value");
}
}
}