_CustomOrderDetails.Products javascript improvements, fixes
This commit is contained in:
parent
343fb818c7
commit
6d2e7df65f
|
|
@ -3,265 +3,272 @@
|
||||||
@using Nop.Core.Domain.Tax;
|
@using Nop.Core.Domain.Tax;
|
||||||
@using Nop.Core.Domain.Catalog;
|
@using Nop.Core.Domain.Catalog;
|
||||||
|
|
||||||
|
<script>
|
||||||
|
function calculateTotalGlobal(itemId, maxQuantity) {
|
||||||
|
//var isMeasurable = $('#pvIsMeasurable'+itemId).is(':checked');
|
||||||
|
|
||||||
|
var isMeasurable = $('#pvIsMeasurable'+itemId).val().toLowerCase() === 'true';
|
||||||
|
console.log(isMeasurable);
|
||||||
|
console.log($('#pvIsMeasurable'+itemId));
|
||||||
|
console.log($('#pvIsMeasurable'+itemId).val());
|
||||||
|
console.log($('#pvIsMeasurable'+itemId).val().toLowerCase());
|
||||||
|
console.log($('#pvNetWeight'+itemId).val());
|
||||||
|
|
||||||
|
var netWeight = parseFloat($('#pvNetWeight'+itemId).val()) || 0;
|
||||||
|
|
||||||
|
var unitPriceInclTax = parseFloat($('#pvUnitPriceInclTax'+itemId).val()) || 0;
|
||||||
|
var unitPriceExclTax = parseFloat($('#pvUnitPriceExclTax'+itemId).val()) || 0;
|
||||||
|
var quantity = parseInt($('#pvQuantity'+itemId).val()) || 0;
|
||||||
|
var discountInclTax = parseFloat($('#pvDiscountInclTax'+itemId).val()) || 0;
|
||||||
|
var discountExclTax = parseFloat($('#pvDiscountExclTax'+itemId).val()) || 0;
|
||||||
|
|
||||||
|
if (quantity > maxQuantity || quantity < 0) {
|
||||||
|
if (quantity > maxQuantity) quantity = maxQuantity; else quantity = 0;
|
||||||
|
$('#pvQuantity' + itemId).val(quantity);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (unitPriceInclTax < 0) {
|
||||||
|
unitPriceInclTax = 0;
|
||||||
|
$('#pvUnitPriceInclTax' + itemId).val(unitPriceInclTax);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Calculate totals
|
||||||
|
var totalInclTax = (unitPriceInclTax * (isMeasurable ? netWeight : quantity)) - discountInclTax;
|
||||||
|
var totalExclTax = (unitPriceExclTax * (isMeasurable ? netWeight : quantity)) - discountExclTax;
|
||||||
|
|
||||||
|
// Update total price fields
|
||||||
|
$('#pvPriceInclTax'+itemId).val(totalInclTax.toFixed(0));
|
||||||
|
$('#pvPriceExclTax'+itemId).val(totalExclTax.toFixed(0));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Function to setup event listeners for automatic calculation
|
||||||
|
function setupAutoCalculationGlobal(itemId) {
|
||||||
|
// Attach change and input events to all relevant fields
|
||||||
|
$('#pvUnitPriceInclTax'+itemId+', #pvUnitPriceExclTax'+itemId+', #pvQuantity'+itemId+', #pvDiscountInclTax'+itemId+', #pvDiscountExclTax'+itemId).on('input change', function() {
|
||||||
|
calculateTotalGlobal(itemId);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function toggleOrderItemEditGlobal(editMode, itemId) {
|
||||||
|
if (editMode) {
|
||||||
|
$('#pnlEditPvUnitPrice'+itemId).showElement();
|
||||||
|
$('#pnlEditPvQuantity'+itemId).showElement();
|
||||||
|
$('#pnlEditPvDiscount'+itemId).showElement();
|
||||||
|
$('#pnlEditPvPrice'+itemId).showElement();
|
||||||
|
$('#btnSaveOrderItem'+itemId).showElement();
|
||||||
|
$('#btnCancelOrderItem'+itemId).showElement();
|
||||||
|
|
||||||
|
$('#pvUnitPriceInclTax'+itemId).prop("disabled", false);
|
||||||
|
$('#pvUnitPriceExclTax'+itemId).prop("disabled", false);
|
||||||
|
$('#pvQuantity'+itemId).prop("disabled", false);
|
||||||
|
$('#pvDiscountInclTax'+itemId).prop("disabled", true);
|
||||||
|
$('#pvDiscountExclTax'+itemId).prop("disabled", true);
|
||||||
|
$('#pvPriceInclTax'+itemId).prop("disabled", true);
|
||||||
|
$('#pvPriceExclTax'+itemId).prop("disabled", true);
|
||||||
|
|
||||||
|
$('#btnEditOrderItem'+itemId).hideElement();
|
||||||
|
$('#btnDeleteOrderItem'+itemId).hideElement();
|
||||||
|
} else {
|
||||||
|
$('#pnlEditPvUnitPrice'+itemId).hideElement();
|
||||||
|
$('#pnlEditPvQuantity'+itemId).hideElement();
|
||||||
|
$('#pnlEditPvDiscount'+itemId).hideElement();
|
||||||
|
$('#pnlEditPvPrice'+itemId).hideElement();
|
||||||
|
$('#btnSaveOrderItem'+itemId).hideElement();
|
||||||
|
$('#btnCancelOrderItem'+itemId).hideElement();
|
||||||
|
|
||||||
|
$('#pvUnitPriceInclTax'+itemId).prop("disabled", true);
|
||||||
|
$('#pvUnitPriceExclTax'+itemId).prop("disabled", true);
|
||||||
|
$('#pvQuantity'+itemId).prop("disabled", true);
|
||||||
|
$('#pvDiscountInclTax'+itemId).prop("disabled", true);
|
||||||
|
$('#pvDiscountExclTax'+itemId).prop("disabled", true);
|
||||||
|
$('#pvPriceInclTax'+itemId).prop("disabled", true);
|
||||||
|
$('#pvPriceExclTax'+itemId).prop("disabled", true);
|
||||||
|
|
||||||
|
$('#btnEditOrderItem'+itemId).showElement();
|
||||||
|
$('#btnDeleteOrderItem'+itemId).showElement();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<div class="col-md-12" style="overflow-x: auto;">
|
<div class="col-md-12" style="overflow-x: auto;">
|
||||||
@foreach (var item in Model.Items)
|
@foreach (var item in Model.ItemExtendeds)
|
||||||
{
|
{
|
||||||
<script>
|
<script>
|
||||||
$(function() {
|
$(function() {
|
||||||
toggleOrderItemEdit@(item.Id)(false);
|
toggleOrderItemEditGlobal(false, @(item.Id));
|
||||||
// Attach event listeners for automatic calculation
|
setupAutoCalculationGlobal(@(item.Id), @(item.ProductStockQuantity + item.ProductIncomingQuantity));
|
||||||
setupAutoCalculation@(item.Id)();
|
});
|
||||||
});
|
</script>
|
||||||
</script>
|
}
|
||||||
|
|
||||||
<script>
|
<table class="table table-hover table-bordered">
|
||||||
// Function to automatically calculate and update total price
|
<col />
|
||||||
function calculateTotal@(item.Id)() {
|
<col />
|
||||||
// Get values
|
@if (Model.HasDownloadableProducts)
|
||||||
|
{
|
||||||
@* var isMeasurable = ($('#pvIsMeasurable@(item.Id)').val()).toLowerCase() === "true"; *@
|
<col />
|
||||||
|
}
|
||||||
var isMeasurable = $($('#pvIsMeasurable@(item.Id)')).is(':checked');
|
<col />
|
||||||
console.log(isMeasurable);
|
<col />
|
||||||
console.log(($('#pvIsMeasurable@(item.Id)')));
|
<col />
|
||||||
console.log(($('#pvIsMeasurable@(item.Id)').val()));
|
<col />
|
||||||
console.log(($('#pvIsMeasurable@(item.Id)').val()).toLowerCase());
|
@if (!Model.IsLoggedInAsVendor)
|
||||||
|
{
|
||||||
|
<col />
|
||||||
var netWeight = parseFloat($('#pvNetWeight@(item.Id)').val()) || 0;
|
}
|
||||||
|
<thead>
|
||||||
var unitPriceInclTax = parseFloat($('#pvUnitPriceInclTax@(item.Id)').val()) || 0;
|
<tr>
|
||||||
var unitPriceExclTax = parseFloat($('#pvUnitPriceExclTax@(item.Id)').val()) || 0;
|
@* <th>
|
||||||
var quantity = parseFloat($('#pvQuantity@(item.Id)').val()) || 0;
|
@T("Admin.Orders.Products.Picture")
|
||||||
var discountInclTax = parseFloat($('#pvDiscountInclTax@(item.Id)').val()) || 0;
|
</th>
|
||||||
var discountExclTax = parseFloat($('#pvDiscountExclTax@(item.Id)').val()) || 0;
|
*@ <th>
|
||||||
|
@T("Admin.Orders.Products.ProductName")
|
||||||
// Calculate totals
|
</th>
|
||||||
var totalInclTax = (unitPriceInclTax * (isMeasurable ? netWeight : quantity)) - discountInclTax;
|
@if (Model.HasDownloadableProducts)
|
||||||
var totalExclTax = (unitPriceExclTax * (isMeasurable ? netWeight : quantity)) - discountExclTax;
|
{
|
||||||
|
<th>
|
||||||
// Update total price fields
|
@T("Admin.Orders.Products.Download")
|
||||||
$('#pvPriceInclTax@(item.Id)').val(totalInclTax.toFixed(0));
|
</th>
|
||||||
$('#pvPriceExclTax@(item.Id)').val(totalExclTax.toFixed(0));
|
}
|
||||||
}
|
<th>
|
||||||
|
@T("Admin.Orders.Products.Price")
|
||||||
// Function to setup event listeners for automatic calculation
|
</th>
|
||||||
function setupAutoCalculation@(item.Id)() {
|
<th>
|
||||||
// Attach change and input events to all relevant fields
|
@T("Admin.Orders.Products.Quantity")
|
||||||
$('#pvUnitPriceInclTax@(item.Id), #pvUnitPriceExclTax@(item.Id), #pvQuantity@(item.Id), #pvDiscountInclTax@(item.Id), #pvDiscountExclTax@(item.Id)').on('input change', function() {
|
</th>
|
||||||
calculateTotal@(item.Id)();
|
<th>
|
||||||
});
|
@T("FruitBank.StockQuantity")
|
||||||
}
|
</th>
|
||||||
|
<th>
|
||||||
function toggleOrderItemEdit@(item.Id)(editMode) {
|
@T("FruitBank.NetWeight")
|
||||||
if (editMode) {
|
</th>
|
||||||
$('#pnlEditPvUnitPrice@(item.Id)').showElement();
|
<th>
|
||||||
$('#pnlEditPvQuantity@(item.Id)').showElement();
|
@T("FruitBank.IsMeasurable")
|
||||||
$('#pnlEditPvDiscount@(item.Id)').showElement();
|
</th>
|
||||||
$('#pnlEditPvPrice@(item.Id)').showElement();
|
@* <th>
|
||||||
$('#btnSaveOrderItem@(item.Id)').showElement();
|
|
||||||
$('#btnCancelOrderItem@(item.Id)').showElement();
|
|
||||||
|
|
||||||
$('#pvUnitPriceInclTax@(item.Id)').prop("disabled", false);
|
|
||||||
$('#pvUnitPriceExclTax@(item.Id)').prop("disabled", false);
|
|
||||||
$('#pvQuantity@(item.Id)').prop("disabled", false);
|
|
||||||
$('#pvDiscountInclTax@(item.Id)').prop("disabled", false);
|
|
||||||
$('#pvDiscountExclTax@(item.Id)').prop("disabled", false);
|
|
||||||
$('#pvPriceInclTax@(item.Id)').prop("disabled", false);
|
|
||||||
$('#pvPriceExclTax@(item.Id)').prop("disabled", false);
|
|
||||||
|
|
||||||
$('#btnEditOrderItem@(item.Id)').hideElement();
|
|
||||||
$('#btnDeleteOrderItem@(item.Id)').hideElement();
|
|
||||||
} else {
|
|
||||||
$('#pnlEditPvUnitPrice@(item.Id)').hideElement();
|
|
||||||
$('#pnlEditPvQuantity@(item.Id)').hideElement();
|
|
||||||
$('#pnlEditPvDiscount@(item.Id)').hideElement();
|
|
||||||
$('#pnlEditPvPrice@(item.Id)').hideElement();
|
|
||||||
$('#btnSaveOrderItem@(item.Id)').hideElement();
|
|
||||||
$('#btnCancelOrderItem@(item.Id)').hideElement();
|
|
||||||
|
|
||||||
$('#pvUnitPriceInclTax@(item.Id)').prop("disabled", true);
|
|
||||||
$('#pvUnitPriceExclTax@(item.Id)').prop("disabled", true);
|
|
||||||
$('#pvQuantity@(item.Id)').prop("disabled", true);
|
|
||||||
$('#pvDiscountInclTax@(item.Id)').prop("disabled", true);
|
|
||||||
$('#pvDiscountExclTax@(item.Id)').prop("disabled", true);
|
|
||||||
$('#pvPriceInclTax@(item.Id)').prop("disabled", true);
|
|
||||||
$('#pvPriceExclTax@(item.Id)').prop("disabled", true);
|
|
||||||
|
|
||||||
$('#btnEditOrderItem@(item.Id)').showElement();
|
|
||||||
$('#btnDeleteOrderItem@(item.Id)').showElement();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
}
|
|
||||||
|
|
||||||
<table class="table table-hover table-bordered">
|
|
||||||
<col />
|
|
||||||
<col />
|
|
||||||
@if (Model.HasDownloadableProducts)
|
|
||||||
{
|
|
||||||
<col />
|
|
||||||
}
|
|
||||||
<col />
|
|
||||||
<col />
|
|
||||||
<col />
|
|
||||||
<col />
|
|
||||||
@if (!Model.IsLoggedInAsVendor)
|
|
||||||
{
|
|
||||||
<col />
|
|
||||||
}
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>
|
|
||||||
@T("Admin.Orders.Products.Picture")
|
|
||||||
</th>
|
|
||||||
<th>
|
|
||||||
@T("Admin.Orders.Products.ProductName")
|
|
||||||
</th>
|
|
||||||
@if (Model.HasDownloadableProducts)
|
|
||||||
{
|
|
||||||
<th>
|
|
||||||
@T("Admin.Orders.Products.Download")
|
|
||||||
</th>
|
|
||||||
}
|
|
||||||
<th>
|
|
||||||
@T("Admin.Orders.Products.Price")
|
|
||||||
</th>
|
|
||||||
<th>
|
|
||||||
@T("FruitBank.IsMeasurable")
|
|
||||||
</th>
|
|
||||||
<th>
|
|
||||||
@T("FruitBank.StockQuantity")
|
|
||||||
</th>
|
|
||||||
<th>
|
|
||||||
@T("Admin.Orders.Products.Quantity")
|
|
||||||
</th>
|
|
||||||
<th>
|
|
||||||
@T("FruitBank.NetWeight")
|
|
||||||
</th>
|
|
||||||
@* <th>
|
|
||||||
@T("Admin.Orders.Products.Discount")
|
@T("Admin.Orders.Products.Discount")
|
||||||
</th> *@
|
</th> *@
|
||||||
<th>
|
<th>
|
||||||
@T("Admin.Orders.Products.Total")
|
@T("Admin.Orders.Products.Total")
|
||||||
</th>
|
</th>
|
||||||
@if (!Model.IsLoggedInAsVendor)
|
@if (!Model.IsLoggedInAsVendor)
|
||||||
{
|
{
|
||||||
<th>
|
<th>
|
||||||
@T("Admin.Common.Edit")
|
@T("Admin.Common.Edit")
|
||||||
</th>
|
</th>
|
||||||
}
|
}
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
@foreach (var item in Model.ItemExtendeds)
|
@foreach (var item in Model.ItemExtendeds)
|
||||||
{
|
{
|
||||||
<tr>
|
<tr>
|
||||||
<td class="text-center preview">
|
@* <td class="text-center preview">
|
||||||
<img src="@item.PictureThumbnailUrl" alt="" title="" />
|
<img src="@item.PictureThumbnailUrl" alt="" title="" />
|
||||||
</td>
|
</td>
|
||||||
<td style="width: 25%;" class="text-left">
|
*@ <td style="width: 25%;" class="text-left">
|
||||||
<em><a asp-controller="Product" asp-action="Edit" asp-route-id="@item.ProductId">@item.ProductName</a></em>
|
<em><a asp-controller="Product" asp-action="Edit" asp-route-id="@item.ProductId">@item.ProductName</a></em>
|
||||||
@if (!string.IsNullOrEmpty(item.AttributeInfo))
|
@if (!string.IsNullOrEmpty(item.AttributeInfo))
|
||||||
{
|
{
|
||||||
<p>
|
<p>
|
||||||
@Html.Raw(item.AttributeInfo)
|
@Html.Raw(item.AttributeInfo)
|
||||||
</p>
|
</p>
|
||||||
}
|
}
|
||||||
@if (!string.IsNullOrEmpty(item.RecurringInfo))
|
@if (!string.IsNullOrEmpty(item.RecurringInfo))
|
||||||
{
|
{
|
||||||
<p>
|
<p>
|
||||||
@Html.Raw(item.RecurringInfo)
|
@Html.Raw(item.RecurringInfo)
|
||||||
</p>
|
</p>
|
||||||
}
|
}
|
||||||
@if (!string.IsNullOrEmpty(item.RentalInfo))
|
@if (!string.IsNullOrEmpty(item.RentalInfo))
|
||||||
{
|
{
|
||||||
<p>
|
<p>
|
||||||
@Html.Raw(item.RentalInfo)
|
@Html.Raw(item.RentalInfo)
|
||||||
</p>
|
</p>
|
||||||
}
|
}
|
||||||
@if (!string.IsNullOrEmpty(item.Sku))
|
@if (!string.IsNullOrEmpty(item.Sku))
|
||||||
{
|
{
|
||||||
<p>
|
<p>
|
||||||
<strong>@T("Admin.Orders.Products.SKU")</strong><text>:</text>
|
<strong>@T("Admin.Orders.Products.SKU")</strong><text>:</text>
|
||||||
@item.Sku
|
@item.Sku
|
||||||
</p>
|
</p>
|
||||||
}
|
}
|
||||||
@if (!string.IsNullOrEmpty(item.VendorName))
|
@if (!string.IsNullOrEmpty(item.VendorName))
|
||||||
{
|
{
|
||||||
<p>
|
<p>
|
||||||
<strong>@T("Admin.Orders.Products.Vendor")</strong><text>:</text>
|
<strong>@T("Admin.Orders.Products.Vendor")</strong><text>:</text>
|
||||||
@item.VendorName
|
@item.VendorName
|
||||||
</p>
|
</p>
|
||||||
}
|
}
|
||||||
@if (item.ReturnRequests.Count > 0)
|
@if (item.ReturnRequests.Count > 0)
|
||||||
{
|
{
|
||||||
<p>
|
<p>
|
||||||
@T("Admin.Orders.Products.ReturnRequests")<text>:</text>
|
@T("Admin.Orders.Products.ReturnRequests")<text>:</text>
|
||||||
@for (var i = 0; i < item.ReturnRequests.Count; i++)
|
@for (var i = 0; i < item.ReturnRequests.Count; i++)
|
||||||
{
|
{
|
||||||
var returnRequest = item.ReturnRequests[i];
|
var returnRequest = item.ReturnRequests[i];
|
||||||
<a asp-controller="ReturnRequest" asp-action="Edit" asp-route-id="@returnRequest.Id">@returnRequest.CustomNumber</a>
|
<a asp-controller="ReturnRequest" asp-action="Edit" asp-route-id="@returnRequest.Id">@returnRequest.CustomNumber</a>
|
||||||
if (i != item.ReturnRequests.Count - 1)
|
if (i != item.ReturnRequests.Count - 1)
|
||||||
{
|
{
|
||||||
<text>, </text>
|
<text>, </text>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</p>
|
</p>
|
||||||
}
|
}
|
||||||
</td>
|
</td>
|
||||||
@if (Model.HasDownloadableProducts)
|
@if (Model.HasDownloadableProducts)
|
||||||
{
|
{
|
||||||
<td style="width: 15%;" class="text-center">
|
<td style="width: 15%;" class="text-center">
|
||||||
@if (item.IsDownload)
|
@if (item.IsDownload)
|
||||||
{
|
{
|
||||||
<a asp-controller="Download" asp-action="DownloadFile" asp-route-orderItemId="@item.Id">
|
<a asp-controller="Download" asp-action="DownloadFile" asp-route-orderItemId="@item.Id">
|
||||||
@T("Admin.Orders.Products.Download.Download")
|
@T("Admin.Orders.Products.Download.Download")
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@T("Admin.Orders.Products.Download.NotAvailable")
|
@T("Admin.Orders.Products.Download.NotAvailable")
|
||||||
}
|
}
|
||||||
</td>
|
</td>
|
||||||
}
|
}
|
||||||
<td style="width: 15%;" class="text-center">
|
<td style="width: 13%;" class="text-center">
|
||||||
@if (Model.AllowCustomersToSelectTaxDisplayType)
|
@if (Model.AllowCustomersToSelectTaxDisplayType)
|
||||||
{
|
{
|
||||||
<div>@Html.Raw(item.UnitPriceInclTax)</div>
|
<div>@Html.Raw(item.UnitPriceInclTax)</div>
|
||||||
<div>@Html.Raw(item.UnitPriceExclTax)</div>
|
<div>@Html.Raw(item.UnitPriceExclTax)</div>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
switch (Model.TaxDisplayType)
|
switch (Model.TaxDisplayType)
|
||||||
{
|
{
|
||||||
case TaxDisplayType.ExcludingTax:
|
case TaxDisplayType.ExcludingTax:
|
||||||
{
|
{
|
||||||
@Html.Raw(item.UnitPriceExclTax)
|
@Html.Raw(item.UnitPriceExclTax)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case TaxDisplayType.IncludingTax:
|
case TaxDisplayType.IncludingTax:
|
||||||
{
|
{
|
||||||
@Html.Raw(item.UnitPriceInclTax)
|
@Html.Raw(item.UnitPriceInclTax)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
<div id="pnlEditPvUnitPrice@(item.Id)">
|
<div id="pnlEditPvUnitPrice@(item.Id)">
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<div class="col-md-5">
|
<div class="col-md-5">
|
||||||
@T("Admin.Orders.Products.Edit.InclTax")
|
@T("Admin.Orders.Products.Edit.InclTax")
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-7">
|
<div class="col-md-7">
|
||||||
<input name="pvUnitPriceInclTax@(item.Id)" type="text" value="@item.UnitPriceInclTaxValue" id="pvUnitPriceInclTax@(item.Id)" class="form-control input-sm" />
|
<input name="pvUnitPriceInclTax@(item.Id)" type="text" value="@(item.UnitPriceInclTaxValue)" id="pvUnitPriceInclTax@(item.Id)"
|
||||||
</div>
|
class="form-control input-sm" />
|
||||||
</div>
|
</div>
|
||||||
@* <div class="form-group row">
|
</div>
|
||||||
|
@* <div class="form-group row">
|
||||||
<div class="col-md-5">
|
<div class="col-md-5">
|
||||||
@T("Admin.Orders.Products.Edit.ExclTax")
|
@T("Admin.Orders.Products.Edit.ExclTax")
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -270,34 +277,44 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
*@ </div>
|
*@ </div>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td style="width: 80px;" class="text-center">
|
|
||||||
<div><input type="checkbox" name="pvIsMeasurable@(item.Id)" id="pvIsMeasurable@(item.Id)" @(item.IsMeasurable ? " checked" : "") disabled /></div>
|
|
||||||
</td>
|
|
||||||
|
|
||||||
<td style="width: 80px;" class="text-center">
|
<td style="width: 8%;" class="text-center">
|
||||||
<div>@($"{item.ProductStockQuantity}{(item.ProductIncomingQuantity > 0 ? " (+"+item.ProductIncomingQuantity + ")" : string.Empty)}")</div>
|
<div>@(item.Quantity) kt.</div>
|
||||||
</td>
|
<div id="pnlEditPvQuantity@(item.Id)">
|
||||||
|
<div class="form-group row">
|
||||||
|
<div class="col-md-8 offset-md-2">
|
||||||
|
<input name="pvQuantity@(item.Id)" type="number" max="@(item.ProductStockQuantity + item.ProductIncomingQuantity)" min="0"
|
||||||
|
value="@item.Quantity" id="pvQuantity@(item.Id)" class="form-control input-sm" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
|
||||||
<td style="width: 10%;" class="text-center">
|
<td style="width: 80px;" class="text-center">
|
||||||
<div>@item.Quantity</div>
|
<div>
|
||||||
<div id="pnlEditPvQuantity@(item.Id)">
|
<span>@($"{item.ProductStockQuantity} kt.")</span><span>@($"{(item.ProductIncomingQuantity > 0 ? " (+" + item.ProductIncomingQuantity + ")" : string.Empty)}")</span>
|
||||||
<div class="form-group row">
|
</div>
|
||||||
<div class="col-md-8 offset-md-2">
|
</td>
|
||||||
<input name="pvQuantity@(item.Id)" type="number" max="@(item.ProductStockQuantity + item.ProductIncomingQuantity)" min="0"
|
|
||||||
value="@item.Quantity" id="pvQuantity@(item.Id)" class="form-control input-sm" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
|
|
||||||
<td style="width: 80px;" class="text-center">
|
|
||||||
@* <div name="pvNetWeight@(item.Id)" id="pvNetWeight@(item.Id)">@item.NetWeight</div> *@
|
|
||||||
<div><input name="pvNetWeight@(item.Id)" id="pvNetWeight@(item.Id)" value='@item.NetWeight' disabled /></div>
|
|
||||||
</td>
|
|
||||||
|
|
||||||
@* <td style="width: 15%;" class="text-center">
|
<td style="width: 100px;" class="text-center">
|
||||||
|
<span>@(item.NetWeight) kg.</span>
|
||||||
|
<input type="hidden" name="pvNetWeight@(item.Id)" id="pvNetWeight@(item.Id)" value="@(item.NetWeight)" disabled />
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td style="width: 80px;" class="text-center">
|
||||||
|
@if(item.IsMeasurable)
|
||||||
|
{
|
||||||
|
<span class="badge badge-warning" disabled>Yes</span>
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<span class="badge badge-secondary" disabled>No</span>
|
||||||
|
}
|
||||||
|
<input type="hidden" name="pvIsMeasurable@(item.Id)" id="pvIsMeasurable@(item.Id)" value="@(item.IsMeasurable.ToString())" disabled />
|
||||||
|
</td>
|
||||||
|
|
||||||
|
@* <td style="width: 15%;" class="text-center">
|
||||||
@if (Model.AllowCustomersToSelectTaxDisplayType)
|
@if (Model.AllowCustomersToSelectTaxDisplayType)
|
||||||
{
|
{
|
||||||
<div>@Html.Raw(item.DiscountInclTax)</div>
|
<div>@Html.Raw(item.DiscountInclTax)</div>
|
||||||
|
|
@ -340,40 +357,41 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</td> *@
|
</td> *@
|
||||||
<td style="width: 15%;" class="text-center;">
|
<td style="width: 15%;" class="text-center;">
|
||||||
@if (Model.AllowCustomersToSelectTaxDisplayType)
|
@if (Model.AllowCustomersToSelectTaxDisplayType)
|
||||||
{
|
{
|
||||||
<div>@Html.Raw(item.SubTotalInclTax)</div>
|
<div>@Html.Raw(item.SubTotalInclTax)</div>
|
||||||
<div>@Html.Raw(item.SubTotalExclTax)</div>
|
<div>@Html.Raw(item.SubTotalExclTax)</div>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
switch (Model.TaxDisplayType)
|
switch (Model.TaxDisplayType)
|
||||||
{
|
{
|
||||||
case TaxDisplayType.ExcludingTax:
|
case TaxDisplayType.ExcludingTax:
|
||||||
{
|
{
|
||||||
@Html.Raw(item.SubTotalExclTax)
|
@Html.Raw(item.SubTotalExclTax)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case TaxDisplayType.IncludingTax:
|
case TaxDisplayType.IncludingTax:
|
||||||
{
|
{
|
||||||
@Html.Raw(item.SubTotalInclTax)
|
@Html.Raw(item.SubTotalInclTax)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
<div id="pnlEditPvPrice@(item.Id)">
|
<div id="pnlEditPvPrice@(item.Id)">
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<div class="col-md-5">
|
<div class="col-md-5">
|
||||||
@T("Admin.Orders.Products.Edit.InclTax")
|
@T("Admin.Orders.Products.Edit.InclTax")
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-7">
|
<div class="col-md-7">
|
||||||
<input name="pvPriceInclTax@(item.Id)" disabled type="text" value="@item.SubTotalInclTaxValue" id="pvPriceInclTax@(item.Id)" class="form-control input-sm" />
|
<input name="pvPriceInclTax@(item.Id)" disabled type="text" value="@item.SubTotalInclTaxValue" id="pvPriceInclTax@(item.Id)"
|
||||||
</div>
|
class="form-control input-sm" />
|
||||||
</div>
|
</div>
|
||||||
@* <div class="form-group row">
|
</div>
|
||||||
|
@* <div class="form-group row">
|
||||||
<div class="col-md-5">
|
<div class="col-md-5">
|
||||||
@T("Admin.Orders.Products.Edit.ExclTax")
|
@T("Admin.Orders.Products.Edit.ExclTax")
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -381,56 +399,56 @@
|
||||||
<input name="pvPriceExclTax@(item.Id)" disabled type="text" value="@item.SubTotalExclTaxValue" id="pvPriceExclTax@(item.Id)" class="form-control input-sm" />
|
<input name="pvPriceExclTax@(item.Id)" disabled type="text" value="@item.SubTotalExclTaxValue" id="pvPriceExclTax@(item.Id)" class="form-control input-sm" />
|
||||||
</div>
|
</div>
|
||||||
</div>*@
|
</div>*@
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
@if (!Model.IsLoggedInAsVendor)
|
@if (!Model.IsLoggedInAsVendor)
|
||||||
{
|
{
|
||||||
<td style="width: 15%;" class="text-center">
|
<td style="width: 17%;" class="text-center">
|
||||||
<button type="submit" class="btn btn-default" name="btnEditOrderItem@(item.Id)" onclick="toggleOrderItemEdit@(item.Id)(true);return false;" id="btnEditOrderItem@(item.Id)">
|
<button type="submit" class="btn btn-default" name="btnEditOrderItem@(item.Id)" onclick="toggleOrderItemEditGlobal(true, @(item.Id));return false;" id="btnEditOrderItem@(item.Id)">
|
||||||
<i class="fas fa-pencil"></i>
|
<i class="fas fa-pencil"></i>
|
||||||
@T("Admin.Common.Edit")
|
@T("Admin.Common.Edit")
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<button type="submit" class="btn btn-default" name="btnDeleteOrderItem@(item.Id)" id="btnDeleteOrderItem@(item.Id)">
|
<button type="submit" class="btn btn-default" name="btnDeleteOrderItem@(item.Id)" id="btnDeleteOrderItem@(item.Id)">
|
||||||
<i class="far fa-trash-can"></i>
|
<i class="far fa-trash-can"></i>
|
||||||
@T("Admin.Common.Delete")
|
@T("Admin.Common.Delete")
|
||||||
</button>
|
</button>
|
||||||
<nop-action-confirmation asp-button-id="@("btnDeleteOrderItem" + item.Id)" />
|
<nop-action-confirmation asp-button-id="@("btnDeleteOrderItem" + item.Id)" />
|
||||||
|
|
||||||
<button type="submit" class="btn btn-default" name="btnSaveOrderItem@(item.Id)" id="btnSaveOrderItem@(item.Id)">
|
<button type="submit" class="btn btn-default" name="btnSaveOrderItem@(item.Id)" id="btnSaveOrderItem@(item.Id)">
|
||||||
<i class="far fa-floppy-disk"></i>
|
<i class="far fa-floppy-disk"></i>
|
||||||
@T("Admin.Common.Save")
|
@T("Admin.Common.Save")
|
||||||
</button>
|
</button>
|
||||||
<nop-action-confirmation asp-button-id="@("btnSaveOrderItem" + item.Id)" />
|
<nop-action-confirmation asp-button-id="@("btnSaveOrderItem" + item.Id)" />
|
||||||
|
|
||||||
<button type="submit" class="btn btn-default" name="btnCancelOrderItem@(item.Id)" onclick="toggleOrderItemEdit@(item.Id)(false);return false;" id="btnCancelOrderItem@(item.Id)">
|
<button type="submit" class="btn btn-default" name="btnCancelOrderItem@(item.Id)" onclick="toggleOrderItemEditGlobal(false,@(item.Id));return false;" id="btnCancelOrderItem@(item.Id)">
|
||||||
<i class="fas fa-times"></i>
|
<i class="fas fa-times"></i>
|
||||||
@T("Admin.Common.Cancel")
|
@T("Admin.Common.Cancel")
|
||||||
</button>
|
</button>
|
||||||
</td>
|
</td>
|
||||||
}
|
}
|
||||||
</tr>
|
</tr>
|
||||||
}
|
}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@if (!string.IsNullOrEmpty(Model.CheckoutAttributeInfo) && !Model.IsLoggedInAsVendor)
|
@if (!string.IsNullOrEmpty(Model.CheckoutAttributeInfo) && !Model.IsLoggedInAsVendor)
|
||||||
{
|
{
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
@Html.Raw(Model.CheckoutAttributeInfo)
|
@Html.Raw(Model.CheckoutAttributeInfo)
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
@if (!Model.IsLoggedInAsVendor)
|
@if (!Model.IsLoggedInAsVendor)
|
||||||
{
|
{
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<button type="submit" id="btnAddNewProduct" name="btnAddNewProduct" onclick="javascript:setLocation('@(Url.Action("AddProductToOrder", "Order", new { orderId = Model.Id }))'); return false;" class="btn btn-primary">
|
<button type="submit" id="btnAddNewProduct" name="btnAddNewProduct" onclick="javascript:setLocation('@(Url.Action("AddProductToOrder", "Order", new { orderId = Model.Id }))'); return false;" class="btn btn-primary">
|
||||||
@T("Admin.Orders.Products.AddNew")
|
@T("Admin.Orders.Products.AddNew")
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
Loading…
Reference in New Issue