`;
if (IsCart || FromWidget) {
html += '
';
}
html += '
' + data.ItemName + '
';
if (data.IsOfferAvailable == true && (data.RefItemId == undefined || data.RefItemId == 0)) {
var invoiceApplyType = 1;
if (instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseEstimate || instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseContract) {
invoiceApplyType = 2;
}
html += '
';
html += '
offer ';
}
if (data.IsBoMAvailable) {
html += '
BOM ';
}
if (data.IsSpecialPrice)
html += '
SP ';
html += '
Free of SKU - ';
html += '
';
if (data.PartNo != "" && data.PartNo != null) {
html += '
SKU : ' + data.SKU + ' ( ' + data.PartNo + ' ) ';
}
else {
html += '
SKU : ' + data.SKU + ' ';
}
let Price_dataToggle = "";
if (instance._estimate.g_IsAdmin == 1 || instance._estimate.g_ShowPrice == 1) {
Price_dataToggle = `data-toggle="collapse"`;
}
instance.getPriceTypeValues(ItemId);
let compositeDecimalValue = 0;
let piecePriceDecimalValue = 0;
let compositePiecePriceDecimalvalue = 0;
let Item = instance.g_LoadedItems.find(x => x.ItemId == ItemId);
if (Item != undefined) {
compositeDecimalValue = Item.CompositePrice;
piecePriceDecimalValue = Item.PiecePrice;
compositePiecePriceDecimalvalue = Item.CompositePiecePrice;
}
if (instance.g_IsEnablePiecePrice) {
if ((res.SuggestedPacks) != 0 && (res.SuggestedPacks) != null && (res.SuggestedPacks) != undefined && Mod_UnitPrice != 0) {
html += '
Piece Price : ( ' + Number(instance.roundOff(piecePriceDecimalValue)) + ' ' + OrderQuantity + ' ' + multiplevalue + ' ';
}
else {
html += '
Piece Price : ( ' + Number(instance.roundOff(piecePriceDecimalValue)) + ' ';
}
}
else if (instance.g_IsEnableCompositePrice) {
if ((res.SuggestedPacks) != 0 && (res.SuggestedPacks) != null && (res.SuggestedPacks) != undefined && Mod_UnitPrice != 0) {
html += '
Piece Price : ( ' + Number(instance.roundOff(piecePriceDecimalValue)) + ' ' + OrderQuantity + ' ' + multiplevalue + ' ';
}
else {
html += '
Comp. Price : ( ' + Number(instance.roundOff(compositeDecimalValue)) + ' ';
}
}
else if (instance.g_IsEnableCompositePiecePrice) {
if ((res.SuggestedPacks) != 0 && (res.SuggestedPacks) != null && (res.SuggestedPacks) != undefined && Mod_UnitPrice != 0) {
html += '
Piece Price : ( ' + Number(instance.roundOff(piecePriceDecimalValue)) + ' ' + OrderQuantity + ' ' + multiplevalue + ' ';
}
else {
html += '
Comp. Piece Price : ( ' + Number(instance.roundOff(compositePiecePriceDecimalvalue)) + ' ';
}
}
else {
let PointsorPrice = "Price";
if (data.IsManualUOM && instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate) {
html += '
' + PointsorPrice + ' : ( ' + Mod_UnitPrice + ' ' + instance.getManualUOMDesign(data) + ' ';
}
else {
if (data.IsManualUOM && instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate) {
html += '
' + PointsorPrice + ' : ( ' + Mod_UnitPrice + ' ' + instance.getManualUOMDesign(data) + ' ';
}
else {
let PriceLableType = "Contract Price :";
if (instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate || instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseEstimate) {
PriceLableType = "Quoted Price : ";
}
html += '
' + PriceLableType + ' ( ' + data.UnitPrice + ' ';
if (instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate || instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseEstimate) {
html += '
Exp. Price : ' + data.UnitPrice + ' ';
}
}
}
}
html += '
Leverage % Exceeded ';
html += '
';
let SuggestedPacks = 0;
html += '
';
html += instance.getInventoryDesign(ItemId, IsCart, SuggestedPacks, RefItemIds);
html += '
';
let IsExpandItem = "";
let PriceLableType = "";
if (instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate || instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseEstimate) {
PriceLableType = "Quoted price ";
}
else {
PriceLableType = "Contract price ";
}
if (instance._estimate.g_ExpandItemSettings && (instance._estimate.g_IsAdmin == 1 || instance._estimate.g_ShowPrice == 1)) {
IsExpandItem = "";
}
else {
IsExpandItem = "collapse";
}
html += '
';
html += '';
return html;
}
getManualUOMDesign(Itm) {
let html = `
`;
for (let i = 0; i < Itm.UOMs.length; i++) {
let Selected = "";
if (Itm.UOMs[i].UnitId == Itm.UOMSchemaId) {
Selected = "selected";
}
html += `` + Itm.UOMs[i].UnitName + ` `;
}
html += ` `;
return html;
}
bindManualUOMData(elem, Itm, AmountWithDiscount) {
let instance = this;
$("#" + instance.g_VisibleContainerId).find(elem).find(".ManualUOM_" + Itm.ItemId).removeClass("hidden");
$("#" + instance.g_VisibleContainerId).find(elem).find(".ManualUOM_RowTotal").removeClass("hidden").text(" = " + AmountWithDiscount);
$("#" + instance.g_VisibleContainerId).find(elem).find("#txt_ManualConversionQty").val(Itm.ConversionQuantity);
$("#" + instance.g_VisibleContainerId).find(elem).find(".dropdown_ManualUOMs").val(Itm.SelectedUnitId);
}
updateItemsDesign(elem, evnt, IsCart = false, IsFocItem = false) {
let instance = this;
let ItemId = $(elem).find(".hfOrder_ItemId").val();
let RefItemIds = $(elem).find(".hfOrder_RefItemId").val();
let CartItem_Index = -1;
if (IsFocItem) {
CartItem_Index = instance.g_CartItems_New.findIndex(x => x.ItemId == ItemId && x.RefItemIds == RefItemIds);
}
else {
CartItem_Index = instance.g_CartItems_New.findIndex(x => x.ItemId == ItemId && x.RefItemIds == "");
}
let Itm = instance.g_CartItems_New[CartItem_Index];
if (Itm != undefined) {
let UnitPrice = Itm.UnitPrice;
let UnitName = Itm.UnitName;
let pricelabel = "Quoted Price";
if (instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesContract || instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseContract) {
pricelabel = "Contract Price";
}
if (instance.g_IsEnablePiecePrice)
pricelabel = "Piece Price";
if (instance.g_IsEnableCompositePrice) {
pricelabel = "Comp. Price";
}
if (instance.g_IsEnableCompositePiecePrice) {
pricelabel = "Comp. Piece Price";
}
$(".sp_PriceType").text(pricelabel + " : ");
let Cond = $("#ulOrder_Cart").is(":visible") || evnt == "BindItemList" || evnt == "FromWidget_FocItem" || evnt == "EditOrderItem" || evnt == "FromWidget" || evnt == "AddFocItem_IsOfferDiscountApplied" || evnt == "EditFocItem_IsOfferDiscountApplied" || evnt == "DeleteCartItem";
if (IsCart) {
Cond = !$("#ulOrder_Cart").is(":visible") || evnt == "EditFocItem" || evnt == "AddFocItem_IsOfferDiscountApplied" || evnt == "EditFocItem_IsOfferDiscountApplied";
}
if (Cond) {
let Cartons = Itm.Quantity;
if (instance._estimate.g_InventoryApplyType != Bizgaze.Apps.Transact.Enums.InventoryApplyType.Quantity) {
Cartons = Itm.Packs;
}
if (Cartons > 0) {
$(elem).find(".txtOrder_ItemCount").val(Cartons);
}
else {
$(elem).find(".txtOrder_ItemCount").val("");
}
if (Itm.Pieces > 0) {
$(elem).find(".txtOrder_ItemPieceCount").val(Itm.Pieces);
}
else {
$(elem).find(".txtOrder_ItemPieceCount").val("");
}
$(elem).find("#txt_editItemPrice").val(Itm.UnitPriceWithOutTax);
$(elem).find(".btnOrder_DiscType").val(Itm.DiscountType);
let Discount = Itm.DiscountValue == 0 ? Itm.DiscountPercent : Itm.DiscountValue;
if (Discount == 0) {
$(elem).find("#Ord_txtdiscount").val("");
}
else {
$(elem).find("#Ord_txtdiscount").val(Discount);
}
}
if (Itm.Packs > 0) {
$(elem).find(".defaultSelectedCartons").addClass("floating-label-form-group-with-value");
}
if (Itm.Pieces > 0) {
$(elem).find(".defaultSelectedPieces").addClass("floating-label-form-group-with-value");
}
$(elem).find(".CompositePriceCalBreak").html('');
if (Itm.ExchangeDC) {
$(elem).find(".chkItem_ExchangeDC").prop("checked", true);
$(elem).find("#Ord_txtdiscount").attr("disabled", "disabled").css("cursor", "not-allowed");
$(elem).find(".btnOrder_DiscType").attr("disabled", "disabled").css("cursor", "not-allowed");
}
else {
$(elem).find(".chkItem_ExchangeDC").prop("checked", false);
$(elem).find("#Ord_txtdiscount").removeAttr("disabled").removeAttr("style");
$(elem).find(".btnOrder_DiscType").removeAttr("disabled").removeAttr("style");
}
if (Itm.IsOfferAvailable) {
$(elem).find("#Ord_txtdiscount").attr("disabled", "disabled").css("cursor", "not-allowed");
$(elem).find(".btnOrder_DiscType").attr("disabled", "disabled").css("cursor", "not-allowed");
}
else {
$(elem).find("#Ord_txtdiscount").removeAttr("disabled").removeAttr("style");
$(elem).find(".btnOrder_DiscType").removeAttr("disabled").removeAttr("style");
}
if (IsCart) {
if (Itm.ExchangeDC) {
UnitPrice = -Itm.UnitPrice;
let ItemName = Itm.ItemName + " (Exchange) ";
$(".cartitem-" + ItemId).find(".CartItemName").html(ItemName);
$(".cartitem-" + ItemId).find(".CartItemName").append("
After Tax");
}
else {
$(".cartitem-" + ItemId).find(".CartItemName").html(Itm.ItemName);
$(".cartitem-" + ItemId).find(".CartItemName").find(".divAfterTax").remove();
}
}
if (instance.g_FromWidget) {
if (Itm.ExchangeDC) {
UnitPrice = -Itm.UnitPrice;
let ItemName = Itm.ItemName + " (Exchange) ";
$(".variant-addeditem-" + ItemId).find(".CartItemName").html(ItemName);
$(".variant-addeditem-" + ItemId).find(".CartItemName").append("
After Tax");
}
else {
$(".variant-addeditem-" + ItemId).find(".CartItemName").html(Itm.ItemName);
$(".variant-addeditem-" + ItemId).find(".CartItemName").find(".divAfterTax").remove();
}
}
if (Itm.IsMultipleUOMs) {
instance.g_VisibleContainerId = instance.navigationHelper.getLastContainerId();
$("#" + instance.g_VisibleContainerId).find(elem).find("#ddl_MultipleUOMs_" + ItemId).val(Itm.SelectedUnitId);
if (Itm.SelectedUnitId != 1 && Itm.SelectedUnitId != 0) {
let UOM = Itm.MultipleUOMs.find(x => x.SchemaDetailId == Itm.SelectedUnitId);
let Conversion = UOM.DefaultSize + " " + UOM.DefaultUnitName + " = " + UOM.AlternateSize + " " + UOM.AlternateUnitName;
$("#" + instance.g_VisibleContainerId).find(".ItemConversion_" + Itm.ItemId).text(Conversion);
UnitName = Itm.SelectedUnitName;
}
else {
$("#" + instance.g_VisibleContainerId).find(".ItemConversion_" + Itm.ItemId).text("");
}
}
let _quantity = instance.roundOffIgnoreZerosAfterDecimal(Itm.BaseQty);
if (Itm.IsMultipleUOMs && Itm.ConversionQuantity > 0) {
_quantity = Itm.ConversionQuantity;
}
let AmountWithDiscount = instance.roundOffIgnoreZerosAfterDecimal(Number(Itm.AmountWithDiscount));
let ExpectedAmount = 0;
if (instance._estimate.g_EstimateTypeId != Bizgaze.Apps.Transact.Enums.OrderType.SalesContract && instance._estimate.g_EstimateTypeId != Bizgaze.Apps.Transact.Enums.OrderType.PurchaseContract) {
ExpectedAmount = instance.roundOffIgnoreZerosAfterDecimal(Number(_quantity) * Itm.ExpectedPrice);
$(elem).find(".editItemExpectedPrice").text(Itm.ExpectedPrice).css({ 'text-decoration': 'underline', 'color': '#5ba8fb' });
$(elem).find("#txt_editItemExpectedPrice").val(Itm.ExpectedPrice);
}
if (Itm.Packs == 0 && Itm.Pieces == 0) {
$(elem).find(".editItemPrice").text(Itm.UnitPrice).css({ 'text-decoration': 'underline', 'color': '#5ba8fb' });
$(elem).find("#QuantityAndDiscountSpan").text("");
$(elem).find("#Exp_QuantityAndDiscountSpan").text("");
}
else {
if (Itm.DiscountValue > 0) {
$(elem).find(".editItemPrice").text("(" + Itm.UnitPrice).css({ 'text-decoration': 'underline', 'color': '#5ba8fb' });
if (Itm.IsManualUOM && instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate) {
$("#" + instance.g_VisibleContainerId).find(elem).find("#QuantityAndDiscountSpan").text(" - " + Number(Itm.DiscountValue) + ") X ");
instance.bindManualUOMData(elem, Itm, AmountWithDiscount);
}
else {
$(elem).find("#QuantityAndDiscountSpan").text(" - " + Number(Itm.DiscountValue) + ") X " + _quantity + '(' + Itm.UnitName + ')' + " = " + AmountWithDiscount);
$(elem).find(".discountFloatLabels").addClass("floating-label-form-group-with-value");
$(elem).find("#Exp_QuantityAndDiscountSpan").text("X " + _quantity + '(' + Itm.UnitName + ')' + " = " + ExpectedAmount);
}
}
else if (Itm.DiscountPercent > 0) {
$(elem).find(".editItemPrice").text("(" + Itm.UnitPrice).css({ 'text-decoration': 'underline', 'color': '#5ba8fb' });
if (Itm.IsManualUOM && instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate) {
$("#" + instance.g_VisibleContainerId).find(elem).find("#QuantityAndDiscountSpan").text(" - " + Number(Itm.DiscountPercent) + "%) X ");
instance.bindManualUOMData(elem, Itm, AmountWithDiscount);
}
else {
$(elem).find("#QuantityAndDiscountSpan").text(" - " + Number(Itm.DiscountPercent) + "%) X " + _quantity + '(' + Itm.UnitName + ')' + " = " + AmountWithDiscount);
$(elem).find(".discountFloatLabels").addClass("floating-label-form-group-with-value");
$(elem).find("#Exp_QuantityAndDiscountSpan").text("X " + _quantity + '(' + Itm.UnitName + ')' + " = " + ExpectedAmount);
}
}
else {
$(elem).find(".editItemPrice").text(Number(UnitPrice)).css({
'text-decoration': 'underline', 'color': '#5ba8fb'
});
if (Itm.IsManualUOM && instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate) {
$("#" + instance.g_VisibleContainerId).find(elem).find("#QuantityAndDiscountSpan").text(" X ");
instance.bindManualUOMData(elem, Itm, AmountWithDiscount);
}
else {
$(elem).find(".discountFloatLabels").removeClass("floating-label-form-group-with-value");
$(elem).find("#Exp_QuantityAndDiscountSpan").text("X " + _quantity + '(' + Itm.UnitName + ')' + " = " + ExpectedAmount);
$(elem).find("#QuantityAndDiscountSpan").text(" X " + _quantity + '(' + Itm.UnitName + ')' + " = " + AmountWithDiscount);
}
}
}
if (Itm.IsFocItem) {
$(elem).find(".editItemPrice").removeAttr("style").removeAttr("data-toggle").removeAttr("data-collapse").attr("disabled", "true").css("cursor", "not-allowed");
$(elem).find(".focBadge").removeClass("hidden");
$(elem).find("#FocBadgeSKU").text(Itm.RefItemSKUs);
}
instance.getPriceTypeValues(ItemId, Itm.Packs, Itm.Pieces);
if (instance.g_IsEnablePiecePrice) {
let PiecePrice = instance.roundOffIgnoreZerosAfterDecimal(Itm.PiecePrice);
$(elem).find(".editItemPrice").text(PiecePrice);
if (Itm.DiscountValue == 0 && Itm.DiscountPercent == 0) {
$(elem).find("#QuantityAndDiscountSpan").text(' (' + _quantity + ' ' + Itm.UnitName + ')');
}
else if (Itm.DiscountValue > 0) {
let DiscountAmount = Itm.DiscountValue * _quantity;
let RowTotal = PiecePrice - DiscountAmount;
$(elem).find(".editItemPrice").text('(' + Itm.UnitPriceWithOutTax);
$(elem).find("#QuantityAndDiscountSpan").text(' - ' + Itm.DiscountValue + ') X ' + _quantity + ' ' + Itm.UnitName + ' = ' + RowTotal);
}
else if (Itm.DiscountPercent > 0) {
let Amount = (Itm.BaseQty * Itm.UnitPriceWithOutTax);
let DiscountAmount = (Amount * Itm.DiscountPercent) / 100;
let RowTotal = PiecePrice - DiscountAmount;
$(elem).find(".editItemPrice").text('(' + Itm.UnitPriceWithOutTax);
$(elem).find("#QuantityAndDiscountSpan").text(' - ' + Itm.DiscountPercent + '%) X ' + _quantity + ' ' + Itm.UnitName + ' = ' + RowTotal);
}
}
if (instance.g_IsEnableCompositePrice) {
let CompositePrice = instance.roundOffIgnoreZerosAfterDecimal(Itm.CompositePrice);
$(elem).find(".editItemPrice").text(CompositePrice);
if (Itm.DiscountValue == 0 && Itm.DiscountPercent == 0) {
let RowTotal = instance.roundOffIgnoreZerosAfterDecimal(CompositePrice * _quantity);
$(elem).find("#QuantityAndDiscountSpan").text(' X ' + _quantity + ' ' + Itm.UnitName + ' = ' + RowTotal);
}
else if (Itm.DiscountValue > 0) {
let DiscountAmount = Itm.DiscountValue * _quantity;
let RowTotal = (Itm.UnitPriceWithOutTax * _quantity) - DiscountAmount;
let AmountWithTax = instance.getAmountWithTax(Itm.ItemId, RowTotal).split('|');
let RowTotalWithTax = instance.roundOffIgnoreZerosAfterDecimal(AmountWithTax[0]);
let RowTax = AmountWithTax[1];
$(elem).find(".editItemPrice").text('(' + Itm.UnitPriceWithOutTax);
$(elem).find("#QuantityAndDiscountSpan").text(' - ' + Itm.DiscountValue + ') X ' + _quantity + ' ' + Itm.UnitName + ' + (' + RowTax + ') = ' + RowTotalWithTax);
}
else if (Itm.DiscountPercent > 0) {
let Amount = (Itm.BaseQty * Itm.UnitPriceWithOutTax);
let DiscountAmount = (Amount * Itm.DiscountPercent) / 100;
let RowTotal = (Itm.UnitPriceWithOutTax * _quantity) - DiscountAmount;
let AmountWithTax = instance.getAmountWithTax(Itm.ItemId, RowTotal).split('|');
let RowTotalWithTax = instance.roundOffIgnoreZerosAfterDecimal(AmountWithTax[0]);
let RowTax = AmountWithTax[1];
$(elem).find(".editItemPrice").text('(' + Itm.UnitPriceWithOutTax);
$(elem).find("#QuantityAndDiscountSpan").text(' - ' + Itm.DiscountPercent + '%) X ' + _quantity + ' ' + Itm.UnitName + ' + (' + RowTax + ') = ' + RowTotalWithTax);
}
}
if (instance.g_IsEnableCompositePiecePrice) {
let CompositePiecePrice = instance.roundOffIgnoreZerosAfterDecimal(Itm.CompositePiecePrice);
let PiecePrice = instance.roundOffIgnoreZerosAfterDecimal(Itm.PiecePrice);
$(elem).find(".editItemPrice").text(CompositePiecePrice);
if (Itm.DiscountValue == 0 && Itm.DiscountPercent == 0) {
$(elem).find("#QuantityAndDiscountSpan").text(' (' + _quantity + ' ' + Itm.UnitName + ')');
}
else if (Itm.DiscountValue > 0) {
let DiscountAmount = Itm.DiscountValue * _quantity;
let RowTotal = PiecePrice - DiscountAmount;
let AmountWithTax = instance.getAmountWithTax(Itm.ItemId, RowTotal).split('|');
let RowTotalWithTax = instance.roundOffIgnoreZerosAfterDecimal(AmountWithTax[0]);
let RowTax = AmountWithTax[1];
$(elem).find(".editItemPrice").text('(' + Itm.UnitPriceWithOutTax);
$(elem).find("#QuantityAndDiscountSpan").text(' - ' + Itm.DiscountValue + ') X ' + _quantity + ' ' + Itm.UnitName + ' + (' + RowTax + ') = ' + RowTotalWithTax);
}
else if (Itm.DiscountPercent > 0) {
let Amount = (Itm.BaseQty * Itm.UnitPriceWithOutTax);
let DiscountAmount = (Amount * Itm.DiscountPercent) / 100;
let RowTotal = PiecePrice - DiscountAmount;
let AmountWithTax = instance.getAmountWithTax(Itm.ItemId, RowTotal).split('|');
let RowTotalWithTax = instance.roundOffIgnoreZerosAfterDecimal(AmountWithTax[0]);
let RowTax = AmountWithTax[1];
$(elem).find(".editItemPrice").text('(' + Itm.UnitPriceWithOutTax);
$(elem).find("#QuantityAndDiscountSpan").text(' - ' + Itm.DiscountPercent + '%) X ' + _quantity + ' ' + Itm.UnitName + ' + (' + RowTax + ') = ' + RowTotalWithTax);
}
}
if (evnt == "RefreshAllItems_InventoryClickEvents" || evnt == "FromWidget") {
let html = instance.getInventoryDesign(ItemId, IsCart, 0, Itm.RefItemIds);
$(elem).find("#InventoryTypesTextboxes").html(html);
instance.allItemEvents(elem);
}
}
instance.checkErrors();
}
updateItemsAvailability(res) {
let Items = $(".variant-list").find("li");
for (let i = 0; i < Items.length; i++) {
let elem = Items[i];
let ItemId = $(elem).find(".hfOrder_ItemId").val();
if (ItemId > 0) {
let data = res.find(x => x.ItemId == ItemId);
$(elem).find(".ItemAvailability").text('Avail : ' + data.AvailablePacks + ' / ' + data.AvailablePieces + ' (' + data.AvailableQuantity + ')');
}
}
let CartItems = $("#ulOrder_Cart").find("li");
for (let c = 0; c < CartItems.length; c++) {
let elem = CartItems[c];
let ItemId = $(elem).find(".hfOrder_ItemId").val();
if (ItemId > 0) {
let data = res.find(x => x.ItemId == ItemId);
$(elem).find(".CartAvailability").text('Avail : ' + data.AvailablePacks + ' / ' + data.AvailablePieces + ' (' + data.AvailableQuantity + ')');
}
}
}
allItemEvents(elem) {
let instance = this;
if (!instance.g_PacksFocus && !instance.g_PiecesFocus) {
if (instance.g_IsEnablePacks) {
instance.g_PacksFocus = true;
}
else if (instance.g_IsEnablePieces) {
instance.g_PiecesFocus = false;
}
}
let timer;
$(".mouseHoverClass").hover(function () {
$(this).closest(".variant-item").find('.mouseHoverClass').css({ 'font-weight': 'bold' });
}, function () { $(this).closest(".variant-item").find('.mouseHoverClass').css({ 'font-weight': '' }); });
$(elem).find(".chk_PurPlanItem").unbind().click(function () {
let element = elem;
let ItemId = element.find(".hfOrder_ItemId").val();
if ($(this).is(':checked')) {
instance.updateItemsArray(element, "PurPlan");
}
else {
instance.deleteCartItems(ItemId);
$("#ulOrder_Cart").find(".cartitem-" + ItemId).remove();
}
});
$(".editCartItemQuantity").unbind().click(function () {
let element = elem;
element.find("._editCartItemQuantity").toggleClass("hidden");
element.find(".editCartItemQuantity").toggleClass("hidden");
element.find(".CartAvailability").toggleClass("hidden");
});
$(elem).find('.txtOrder_ItemCount').unbind().click(function () {
instance.g_PacksFocus = true;
instance.g_PiecesFocus = false;
$(elem).find(".hf_Packs_click").val("1");
$(elem).find(".hf_Pieces_click").val("0");
});
$(elem).find('.txtOrder_ItemPieceCount').unbind().click(function () {
instance.g_PiecesFocus = true;
instance.g_PacksFocus = false;
$(elem).find(".hf_Packs_click").val("0");
$(elem).find(".hf_Pieces_click").val("1");
});
$(elem).find(".txteditItemPrice").unbind().keyup(function () {
clearTimeout(timer);
timer = setTimeout(function () {
let element = elem;
instance.updateItemsArray(element, "UnitPrice");
}, 300);
});
$(elem).find(".txt_editItemExpectedPrice").unbind().keyup(function () {
clearTimeout(timer);
timer = setTimeout(function () {
let element = elem;
var ItemId = $(element).find(".hfOrder_ItemId").val();
let ExpectedPrice = $(element).find("#txt_editItemExpectedPrice").val();
$(".variant-addeditem-" + ItemId).find(".editItemExpectedPrice").text(ExpectedPrice.toString());
$(".variant-addeditem-" + ItemId).find("#txt_editItemExpectedPrice").val(ExpectedPrice);
$(".cartitem-" + ItemId).find(".editItemExpectedPrice").text(ExpectedPrice.toString());
$(".cartitem-" + ItemId).find("#txt_editItemExpectedPrice").val(ExpectedPrice);
instance.updateItemsArray(element, "UnitPrice");
}, 300);
});
instance.g_VisibleContainerId = instance.navigationHelper.getLastContainerId();
$("#" + instance.g_VisibleContainerId).find(elem).find("#txt_ManualConversionQty").unbind().keyup(function () {
clearTimeout(timer);
timer = setTimeout(function () {
let element = elem;
instance.updateItemsArray(element, "ManualConversionQty");
}, 300);
});
$("#" + instance.g_VisibleContainerId).find(elem).find(".dropdown_ManualUOMs").unbind().change(function () {
let element = elem;
let ItemId = element.find(".hfOrder_ItemId").val();
let ItmIndex = instance.g_CartItems_New.findIndex(x => x.ItemId == ItemId);
if (ItmIndex != -1) {
let SelectedUnitId = Number($("#" + instance.g_VisibleContainerId).find(elem).find(".dropdown_ManualUOMs").val());
let SelectedUnitName = $("#" + instance.g_VisibleContainerId).find(elem).find(".dropdown_ManualUOMs option:selected").text();
instance.g_CartItems_New[ItmIndex].SelectedUnitId = SelectedUnitId;
instance.g_CartItems_New[ItmIndex].SelectedUnitName = SelectedUnitName;
$("#ulOrder_Cart").find("#ddl_ManualUOMs_" + ItemId).val(SelectedUnitId);
}
});
$(elem).find(".quantity-plus").unbind().click(function () {
let element = elem;
let Packs = Number(element.find(".txtOrder_ItemCount").val());
let Pieces = Number(element.find(".txtOrder_ItemPieceCount").val());
let packclick = element.find(".hf_Packs_click").val();
let piecesclick = element.find(".hf_Pieces_click").val();
if (packclick == "1") {
if (element.find("#txt_Pieces").val() == 0) {
element.find('.divOrders_ItemPieceCount').removeClass('floating-label-form-group-with-value');
}
element.find('.divOrders_ItemCount').addClass('floating-label-form-group-with-value');
let Packs = Number(element.find(".txtOrder_ItemCount").val());
let val = instance.roundOffIgnoreZerosAfterDecimal(Packs + 1);
element.find(".txtOrder_ItemCount").val(val);
}
if (piecesclick == "1") {
element.find('.divOrders_ItemPieceCount').addClass('floating-label-form-group-with-value');
let Pieces = Number(element.find(".txtOrder_ItemPieceCount").val());
let val = instance.roundOffIgnoreZerosAfterDecimal(Pieces + 1);
element.find(".txtOrder_ItemPieceCount").val(val);
}
instance.updateItemsArray(element, "Plus");
});
$(elem).find(".quantity-minus").unbind().click(function () {
let element = elem;
let ItemId = element.find(".hfOrder_ItemId").val();
$(element).find("#LeverageErrorTxt").addClass("hidden");
let packclick = element.find(".hf_Packs_click").val();
let piecesclick = element.find(".hf_Pieces_click").val();
if (packclick == "1") {
if (element.find("#txt_Pieces").val() == 0) {
element.find('.divOrders_ItemPieceCount').removeClass('floating-label-form-group-with-value');
}
element.find('.divOrders_ItemCount').addClass('floating-label-form-group-with-value');
let Packs = Number(element.find(".txtOrder_ItemCount").val());
let Pieces = 0;
if (instance.g_IsEnablePieces) {
Pieces = Number(element.find(".txtOrder_ItemPieceCount").val());
}
if (Packs > 0) {
let val = instance.roundOffIgnoreZerosAfterDecimal(Packs - 1);
element.find(".txtOrder_ItemCount").val(val);
Packs = Number(element.find(".txtOrder_ItemCount").val());
}
if (Packs == 0 && Pieces == 0) {
element.find('.divOrders_ItemCount').removeClass('floating-label-form-group-with-value');
element.find('.divOrders_ItemPieceCount').removeClass('floating-label-form-group-with-value');
instance.deleteCartItems(ItemId);
return false;
}
}
if (piecesclick == "1") {
element.find('.divOrders_ItemPieceCount').addClass('floating-label-form-group-with-value');
let Pieces = Number(element.find(".txtOrder_ItemPieceCount").val());
let Packs = 0;
if (instance.g_IsEnablePacks) {
Packs = Number(element.find(".txtOrder_ItemCount").val());
}
if (Pieces > 0) {
let val = instance.roundOffIgnoreZerosAfterDecimal(Pieces - 1);
element.find(".txtOrder_ItemPieceCount").val(val);
Pieces = Number(element.find(".txtOrder_ItemPieceCount").val());
}
if (Pieces == 0 && Packs == 0) {
element.find('.divOrders_ItemPieceCount').removeClass('floating-label-form-group-with-value');
element.find('.divOrders_ItemCount').removeClass('floating-label-form-group-with-value');
instance.deleteCartItems(ItemId);
return false;
}
}
let Packs = Number(element.find(".txtOrder_ItemCount").val());
let Pieces = Number(element.find(".txtOrder_ItemPieceCount").val());
if (Packs == 0 && Pieces > 0) {
instance.g_PacksFocus = false;
instance.g_PiecesFocus = true;
}
instance.updateItemsArray(element, "Minus");
});
$(elem).find('.chkItem_ExchangeDC').unbind().change(function () {
let element = elem;
let ItemId = element.find(".hfOrder_ItemId").val();
if (element.find('.chkItem_ExchangeDC').prop("checked")) {
element.find('#Ord_txtdiscount').val('').prop("disabled", true).css("cursor", "not-allowed");
$(".cartitem-" + ItemId).find("#Ord_txtdiscount").val('').prop("disabled", true).css("cursor", "not-allowed");
}
else {
element.find('#Ord_txtdiscount').prop("disabled", false).css("cursor", "auto");
$(".cartitem-" + ItemId).find('#Ord_txtdiscount').prop("disabled", false).css("cursor", "auto");
}
instance.updateItemsArray(element, "Exchange");
});
$(elem).find(".txtOrder_ItemCount").keyup(function () {
clearTimeout(timer);
timer = setTimeout(function () {
instance.updateItemsArray(elem, "Packs");
}, 300);
});
$(elem).find(".txtOrder_ItemPieceCount").keyup(function () {
clearTimeout(timer);
timer = setTimeout(function () {
instance.updateItemsArray(elem, "Pieces");
}, 300);
});
$(elem).find(".btnOrder_DiscType").unbind().change(function () {
instance.updateItemsArray(elem, "DiscountType");
});
$(elem).find("#Ord_txtdiscount").unbind().keyup(function () {
clearTimeout(timer);
timer = setTimeout(function () {
instance.updateItemsArray(elem, "Discount");
}, 300);
});
$(elem).find("#txt_Description").unbind().keyup(function () {
clearTimeout(timer);
timer = setTimeout(function () {
let ItemId = elem.find(".hfOrder_ItemId").val();
let CartItem = instance.g_CartItems_New.find(x => x.ItemId == ItemId && x.RefItemIds == "");
CartItem.Description = elem.find("#txt_Description").val().toString();
}, 300);
});
$(elem).find(".delete").unbind().click(function () {
let FromWidget = false;
if (instance.g_CartItems_New.length <= 10) {
$(".CartItemFindTxt").addClass('hidden');
}
let message = "Do you really want to delete this item";
if (instance.g_CartItems_New.length == 1)
message = "Your cart is going to empty.";
let itemid = $(this).parents(".cartitem").find(".hfOrder_ItemId").val();
if (itemid == undefined) {
itemid = $(this).parents(".variant-addeditem").find(".hfOrder_ItemId").val();
}
if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length > 0) {
FromWidget = true;
}
bootbox.confirm({
message: message,
closeButton: false,
buttons: {
confirm: {
label: 'Yes',
className: 'btn-success'
},
cancel: {
label: 'No',
className: 'btn-danger'
}
},
callback: function (result) {
if (result) {
instance.deleteCartItems(itemid, FromWidget);
}
}
});
});
$(elem).find(".div_MultipleUOMs").change(function () {
instance.updateItemsArray(elem, "UOMChange");
});
instance.g_VisibleContainerId = instance.navigationHelper.getLastContainerId();
$("#" + instance.g_VisibleContainerId).find(elem).find(".div_MultipleUOMs").change(function () {
instance.updateItemsArray(elem, "UOMChange");
});
}
readScanner(capturedValue, uniqueId) {
if (capturedValue != "" && capturedValue != null && capturedValue != undefined) {
$("#txt_SearchItem").val(capturedValue);
}
}
refreshAllItems(FromWidget = false, evnt) {
let instance = this;
for (let i = 0; i < instance.g_LoadedItems.length; i++) {
let Itm = instance.g_LoadedItems[i];
let elem = $(".variant-addeditem-" + Itm.ItemId);
if (elem != undefined && elem.length > 0) {
instance.updateItemsArray(elem, "RefreshAllItems_" + evnt, FromWidget);
}
}
}
showBOMItems(ItemId, ItemName, element) {
Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFiles(["apps/transact/components/orders/itembomselection.js"], function () {
Unibase.Platform.Helpers.NavigationHelper.Instance().popup(0, "", Bizgaze.Apps.Transact.Components.Orders.ItemBOMSelection.Instance(), function () {
Bizgaze.Apps.Transact.Components.Orders.ItemBOMSelection.Instance().LoadBOMItems(ItemId, ItemName);
}, Unibase.Platform.Helpers.Size.Large);
});
}
itemSettings(FromWidget = false) {
let instance = this;
$(".InventorySettings").html(`
`);
$("#div_ItemList").html('
');
if (!instance._estimate.g_IsFromPurchaseIndent) {
instance.g_CartItems_New = [];
instance.g_ItemsUnitPrice_New = [];
instance.g_SelectedItems = [];
instance.g_LoadedItems = [];
}
$("#chk_AllItems").unbind().click(function () {
if ($('#chk_AllItems').is(':checked')) {
$(".variant-list").find(".chk_PurPlanItem").each(function () {
let element = $(this).closest(".variant-item");
if (element.find("#txt_Cartons").val() != 0 && element.find("#txt_Cartons").val() != "") {
instance.updateItemsArray(element, "PurPlan_AllItems", false);
$(element).find(".chk_PurPlanItem").prop("checked", true);
}
});
}
else {
$(".variant-list").find(".chk_PurPlanItem").prop("checked", false);
instance.g_CartItems_New = [];
$("#ulOrder_Cart").find(".cartitem").remove();
$("#OverallOrderQuantity").text("0");
$("#totalOrderItems").text("0");
}
});
instance.inventoryTypeClickEvents(FromWidget);
instance.priceTypeClickEvents(FromWidget);
}
clearItemSearch() {
let instance = this;
$(".search-clear-items").addClass("d-none");
$("#txt_SearchItem").val("");
if (instance.g_FromWidget) {
let data = Bizgaze.Apps.Transact.Controls.AddEstimateItems.Instance().g_Edit_EstimateItemData;
Bizgaze.Apps.Transact.Controls.AddEstimateItems.Instance().loadItems(null, data.ItemId, data, true);
}
else {
Bizgaze.Apps.Transact.Controls.EstimateItems.Instance().loadItems($("#txt_SearchItem").val(), instance._estimate.g_OrganizationId, $(".txtAutoComplete_lobid").val(), $(".txtAutoComplete_shippingaddressid").val(), $(".txtAutoComplete_branchid").val(), false);
}
}
itemSettingsEvents() {
var instance = this;
let timer;
$("#txt_SearchItem").on('keyup', function () {
let a = $("#txt_SearchItem").val();
if ($("#txt_SearchItem").length == undefined || a == "") {
$(".search-clear-items").addClass("d-none");
}
else {
$(".search-clear-items").removeClass("d-none");
}
instance.g_PageIndex = 0;
clearTimeout(timer);
timer = setTimeout(function () {
instance.loadItems($("#txt_SearchItem").val(), instance._estimate.g_OrganizationId, $(".txtAutoComplete_lobid").val(), $(".txtAutoComplete_shippingaddressid").val(), $(".txtAutoComplete_branchid").val());
}, 300);
});
$("#ItemLoadType").change(function () {
$("#txt_SearchItem").val('');
$("#ItemLoadType option[value='0']").remove();
let type = $("#ItemLoadType option:selected").text();
if (type != "Filter" && !Bizgaze.Apps.Transact.Components.EstimateFilter.Instance().g_OnlyFilters) {
instance.g_IsFilterApplied = false;
instance.g_FilteredTags = '';
Bizgaze.Apps.Transact.Components.EstimateFilter.Instance().g_TagArray = [];
Bizgaze.Apps.Transact.Components.EstimateFilter.Instance().g_ClearingTags = "";
}
instance.g_PageIndex = 0;
if (type == "Filter") {
instance.navigationHelper.popup(0, '', Bizgaze.Apps.Transact.Components.EstimateFilter.Instance(), null, Unibase.Platform.Helpers.Size.Medium);
}
else {
instance.loadItems(type, instance._estimate.g_OrganizationId, $(".txtAutoComplete_lobid").val(), $(".txtAutoComplete_shippingaddressid").val(), $(".txtAutoComplete_branchid").val());
}
});
$(".ContinueShopping").unbind().click(function () {
instance.continueShopping();
});
}
inventoryTypeClickEvents(FromWidget) {
let instance = this;
$('#chk_Pieces').click(function () {
if ($('#chk_Pieces').is(':checked')) {
instance.g_IsEnablePieces = true;
}
else
instance.g_IsEnablePieces = false;
instance.refreshAllItems(FromWidget, "InventoryClickEvents");
});
$('#chk_Packs').click(function () {
if ($('#chk_Packs').is(':checked')) {
instance.g_IsEnablePacks = true;
}
else
instance.g_IsEnablePacks = false;
instance.refreshAllItems(FromWidget, "InventoryClickEvents");
});
}
setPriceType() {
var instance = this;
if (instance.g_IsEnablePiecePrice) {
instance.g_PriceTypeId = Bizgaze.Apps.Transact.Enums.PriceType.PiecePrice;
}
else if (instance.g_IsEnableCompositePrice) {
instance.g_PriceTypeId = Bizgaze.Apps.Transact.Enums.PriceType.CompositePrice;
}
else if (instance.g_IsEnableCompositePiecePrice) {
instance.g_PriceTypeId = Bizgaze.Apps.Transact.Enums.PriceType.Both;
}
else {
instance.g_PriceTypeId = Bizgaze.Apps.Transact.Enums.PriceType.None;
}
}
priceTypeClickEvents(FromWidget) {
let instance = this;
$('#chk_PiecePrice').click(function () {
if ($('#chk_PiecePrice').is(':checked')) {
if (instance.g_IsEnableCompositePrice) {
instance.g_IsEnableCompositePrice = false;
instance.g_IsEnablePiecePrice = false;
instance.g_IsEnableCompositePiecePrice = true;
}
else {
instance.g_IsEnablePiecePrice = true;
instance.g_IsEnableCompositePiecePrice = false;
instance.g_IsEnableCompositePrice = false;
}
}
else {
instance.g_IsEnablePiecePrice = false;
instance.g_IsEnableCompositePiecePrice = false;
instance.g_IsEnableCompositePrice = $('#chk_CompositePrice').is(':checked');
}
instance.clearItemSearch();
instance.setPriceType();
instance.refreshAllItems(FromWidget, "PriceTypeClickEvents");
});
$('#chk_CompositePrice').click(function () {
if ($('#chk_CompositePrice').is(':checked')) {
if (instance.g_IsEnablePiecePrice) {
instance.g_IsEnableCompositePrice = false;
instance.g_IsEnableCompositePiecePrice = true;
instance.g_IsEnablePiecePrice = false;
}
else {
instance.g_IsEnableCompositePrice = true;
instance.g_IsEnableCompositePiecePrice = false;
instance.g_IsEnablePiecePrice = false;
}
}
else {
instance.g_IsEnableCompositePrice = false;
instance.g_IsEnableCompositePiecePrice = false;
instance.g_IsEnablePiecePrice = $('#chk_PiecePrice').is(':checked');
}
instance.clearItemSearch();
instance.refreshAllItems(FromWidget, "PriceTypeClickEvents");
});
}
continueShopping() {
let instance = this;
instance.g_FromContinueShopping = true;
$(".modal-body").scrollTop(0);
$(".tax-error").text("");
let SearchItem = $("#txt_SearchItem").val();
$(".search-clear-items").addClass("hidden");
if (SearchItem != "") {
$("#txt_SearchItem").val("");
instance.loadItems($("#txt_SearchItem").val(), instance._estimate.g_OrganizationId, $(".txtAutoComplete_lobid").val(), $(".txtAutoComplete_shippingaddressid").val(), $(".txtAutoComplete_branchid").val());
}
$(".div_SearchItem").removeClass('floating-label-form-group-with-value');
$(".section_CartDetails").addClass('hidden');
$(".section_Summary").addClass('hidden');
$("#dropup_save").addClass("hidden");
$("#btn_Save_New").addClass("hidden");
$(".btn_Save_Form").addClass("hidden");
$(".section_PriceDetails").addClass('hidden');
$(".OrgContactNameLink").removeClass('hidden');
$(".section_ContactName").removeClass('hidden');
$(".section_OrderDetails").addClass("hidden");
$(".section_Items").removeClass('hidden');
if ($(".section_CartDetails").hasClass('hidden')) {
$("#btn_CloseForm").removeClass('hidden');
}
if (!$(".section_Items").hasClass('hidden')) {
$("#btn_Save").addClass('hidden');
instance._estimate.showOrHideSaveAsDraft();
$(".CheckOutButton").removeClass('hidden');
}
$("#" + instance.g_VisibleContainerId).find('#ulOrder_Cart .cart-item-chk').addClass('d-none');
}
showOfferItems(OrganizationId, ItemId, ItemName, OrderType, element) {
Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFiles(["apps/transact/components/invoices/itemofferselection.js", "apps/transact/controls/invoices/invoiceitem.component.js"], function () {
Unibase.Platform.Helpers.NavigationHelper.Instance().popup(0, "", Bizgaze.Apps.Transact.Components.Invoices.ItemOfferSelection.Instance(), function () {
Bizgaze.Apps.Transact.Components.Invoices.ItemOfferSelection.Instance().LoadOfferItems(OrganizationId, ItemId, ItemName, OrderType, $(element), "Estimate");
}, Unibase.Platform.Helpers.Size.Large);
});
}
applyOffer(Item) {
let instance = this;
let ItemId = Item[0].ItemId;
let Qty = Item[0].Volume;
let Cartons = 0;
let Pieces = 0;
let LoadedItem = instance.g_LoadedItems.find(x => x.ItemId == ItemId);
if (instance._estimate.g_InventoryApplyType == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Packs || instance._estimate.g_InventoryApplyType == Bizgaze.Apps.Transact.Enums.InventoryApplyType.PacksAndPieces) {
Cartons = instance.roundOffIgnoreZerosAfterDecimal(Number(Qty) / (LoadedItem.PackCount * LoadedItem.PackSize));
$('.variant-addeditem-' + ItemId).find('#txt_Cartons').val(Cartons);
$('.cartitem-' + ItemId).find('#txt_Cartons').val(Cartons);
}
else if (instance._estimate.g_InventoryApplyType == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Pieces) {
Pieces = instance.roundOffIgnoreZerosAfterDecimal(Qty % (LoadedItem.PackCount * LoadedItem.PackSize) / LoadedItem.PackCount);
$('.variant-addeditem-' + ItemId).find('#txt_Pieces').val(Pieces);
$('.cartitem-' + ItemId).find('#txt_Pieces').val(Pieces);
}
else {
$('.variant-addeditem-' + ItemId).find('#txt_Cartons').val(Qty);
$('.cartitem-' + ItemId).find('#txt_Cartons').val(Qty);
}
let element = $('.variant-addeditem-' + ItemId);
instance.updateItemsArray(element, "ApplyOffer", false, Qty);
}
checkOffers(FromWidget, evnt) {
return __awaiter(this, void 0, void 0, function* () {
let instance = this;
let ordItems = new Array();
let applyType = '';
if (instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate || instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesContract) {
applyType = 'Sales';
}
else if (instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseEstimate || instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseContract)
applyType = 'Purchases';
instance.g_CartItems_New.filter(x => x.IsFocItem == false).forEach(function (c) {
c.IsFocAdded = false;
c.FocItemIds = '';
c.IsOfferDiscountApplied = false;
c.AppliedOfferVolume = 0;
let ItemId = c.ItemId;
let baseqty = Number(c.BaseQty);
let unitPrice = Number(c.UnitPrice);
let rowTotal = instance.roundOff(baseqty * unitPrice);
ordItems.push({
ItemId: Number(ItemId),
Quantity: baseqty,
RowTotal: Number(rowTotal),
});
});
if (FromWidget) {
let EstimateId = Bizgaze.Apps.Transact.Controls.AddEstimateItems.Instance().g_EstimateId;
let EstimateItemId = Bizgaze.Apps.Transact.Controls.AddEstimateItems.Instance().g_Edit_EstimateItemId;
instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getOrderItems(EstimateId, 0).then(function (response) {
let data = response.result;
data = data.filter(x => x.EstimateItemId != EstimateItemId && x.IsFoc == false);
for (let d = 0; d < data.length; d++) {
let ItemId = data[d].ItemId;
let baseqty = Number(data[d].Quantity);
let unitPrice = Number(data[d].UnitPrice);
let rowTotal = instance.roundOff(baseqty * unitPrice);
ordItems.push({
ItemId: Number(ItemId),
Quantity: baseqty,
RowTotal: Number(rowTotal),
});
}
instance.bindOfferItems(FromWidget, ordItems);
});
});
}
else {
instance.bindOfferItems(FromWidget, ordItems);
}
});
}
bindOfferItems(FromWidget, ordItems) {
var instance = this;
let IsCart = false;
if ($("#" + instance.g_VisibleContainerId).find("#ulOrder_Cart").is(":visible")) {
IsCart = true;
}
let ApplyDate1 = moment(instance.g_OfferApplyDate, "DD/MM/YYYY").add(1, 'days').format("YYYY/MM/DD");
let ApplyDate = new Date(ApplyDate1);
let postData = {
OrderItems: ordItems,
ContactId: instance._estimate.g_OrganizationId,
ApplyType: instance._estimate.g_EstimateTypeId,
ApplyDate: ApplyDate
};
Bizgaze.Apps.Transact.Managers.OfferManager.Instance().getRelatedOffersByItem(postData).then(function (response) {
return __awaiter(this, void 0, void 0, function* () {
instance.g_AppliedOffers = [];
if (response != null && response.Result.length != 0) {
let AllFocItems = [];
for (let i = 0; i < response.Result.length; i++) {
let data = response.Result[i];
let appliedItems = data.applyIds.replace(/,\s*$/, "").split(',');
let discValue = 0;
let discPercent = 0;
if (data.PayoutValue > 0)
discValue = data.PayoutValue;
else if (data.OPayoutValue > 0)
discValue = data.OPayoutValue;
else if (data.PayoutPercent > 0)
discPercent = data.PayoutPercent;
let volume = data.Volume;
let focItems = data.ItemVolumePayouts;
for (let f = 0; f < focItems.length; f++) {
if (focItems[f].Quantity != 0) {
AllFocItems.push(focItems[f]);
}
}
let contactId = instance._estimate.g_OrganizationId;
for (let j = 0; j < focItems.length; j++) {
let focItem_RefItemIds = focItems[j].RefItemIds;
let focItem_RefItemSKUs = focItems[j].RefItemSKUs;
let ValidFocIndex = instance.g_ValidFocItems.findIndex(x => x.ItemId == focItems[j].ItemId && focItem_RefItemIds.indexOf(x.RefItemIds) != -1);
let CartItemIndex = instance.g_CartItems_New.findIndex(x => x.ItemId == focItems[j].ItemId && x.RefItemIds == focItem_RefItemIds);
if (focItems[j].Quantity > 0 && ((ValidFocIndex != -1 && focItems[j].IsFoC) || (!focItems[j].IsFoC))) {
let FocItem_Index = instance.g_CartItems_New.findIndex(x => x.ItemId == focItems[j].ItemId && x.RefItemIds == focItem_RefItemIds);
if (FocItem_Index == -1) {
instance.addFocItemToCart(contactId, focItems[j].ItemId, focItems[j].Quantity, focItems[j].Discount, focItem_RefItemIds, FromWidget, focItem_RefItemSKUs);
}
else {
instance.editFocCartItem(focItems[j].ItemId, focItems[j].Quantity, FromWidget);
}
}
else if (CartItemIndex != -1) {
instance.deleteCartItems(focItems[j].ItemId, FromWidget, focItem_RefItemIds);
}
}
for (let m = 0; m < appliedItems.length; m++) {
let IsSelected = false;
var sp_ItemIndex = Bizgaze.Apps.Transact.Components.Invoices.ItemOfferSelection.Instance().g_Selected_Plan.findIndex(x => x.PlanVolumeId == data.PlanVolumeId && x.ItemId == Number(appliedItems[m]));
if (sp_ItemIndex != -1) {
IsSelected = true;
}
instance.g_AppliedOffers.push({
ItemId: Number(appliedItems[m]),
OfferId: data.OfferId,
PlanId: data.PlanId,
PlanVolumeId: data.PlanVolumeId,
IsSelected: IsSelected
});
let n = instance.g_CartItems_New.findIndex(x => x.ItemId == appliedItems[m] && x.RefItemIds == "");
if (n != -1) {
if (!instance._estimate.g_IsManageOfferDiscount || (instance.g_CartItems_New[n].DiscountValue == 0 && instance.g_CartItems_New[n].DiscountPercent == 0)) {
if (discValue > 0 || discPercent > 0) {
instance.g_CartItems_New[n].DiscountValue = discValue;
instance.g_CartItems_New[n].DiscountPercent = discPercent;
instance.g_CartItems_New[n].IsFocAdded = true;
instance.g_CartItems_New[n].IsOfferDiscountApplied = true;
instance.g_CartItems_New[n].AppliedOfferVolume = volume;
instance.g_CartItems_New[n].AppliedPlanVolumeId = data.PlanVolumeId;
instance.g_CartItems_New[n].AppliedOfferId = data.OfferId;
let Elem = $("#" + instance.g_VisibleContainerId).find(".variant-addeditem-" + instance.g_CartItems_New[n].ItemId);
let Cart_Elem = $("#" + instance.g_VisibleContainerId).find(".cartitem-" + instance.g_CartItems_New[n].ItemId);
let Discount = discValue == 0 ? discPercent : discValue;
$("#" + instance.g_VisibleContainerId).find(Elem).find("#Ord_txtdiscount").val(Discount);
$("#" + instance.g_VisibleContainerId).find(Cart_Elem).find("#Ord_txtdiscount").val(Discount);
let DiscountType = discValue == 0 ? 1 : 2;
$("#" + instance.g_VisibleContainerId).find(Elem).find(".btnOrder_DiscType").val(DiscountType);
$("#" + instance.g_VisibleContainerId).find(Cart_Elem).find(".btnOrder_DiscType").val(DiscountType);
let AssessableAmount = Number(instance.g_CartItems_New[n].Amount);
let discVal = Number(instance.g_CartItems_New[n].DiscountValue) * Number(instance.g_CartItems_New[n].BaseQty);
let DiscAmount = Number((instance.g_CartItems_New[n].Amount * discPercent) / 100) + Number(discVal);
let discAmt = DiscAmount + Number(instance.g_CartItems_New[n].optoutAmount);
AssessableAmount = Number(AssessableAmount) - Number(discAmt);
let AmountWithDiscount = Number(instance.g_CartItems_New[n].Amount) - Number(DiscAmount);
instance.g_CartItems_New[n].DiscountAmount = discAmt;
instance.g_CartItems_New[n].AmountWithDiscount = AmountWithDiscount;
instance.g_CartItems_New[n].DiscountType = DiscountType;
}
}
let amount = Number(instance.g_CartItems_New[n].UnitPrice) * Number(instance.g_CartItems_New[n].BaseQty);
let discAmt = Number(instance.roundOff((amount * discPercent) / 100)) + Number(instance.roundOff(discValue));
if (discAmt != 0) {
let assessableAmount = Number(amount) - Number(discAmt);
}
else {
}
}
instance.g_CartItems_New.filter(x => x.IsFocItem == false).forEach(function (c) {
let Elem = $("#" + instance.g_VisibleContainerId).find(".variant-addeditem-" + c.ItemId);
let Cart_Elem = $("#" + instance.g_VisibleContainerId).find(".cartitem-" + c.ItemId);
instance.updateItemsDesign(Elem, "AddFocItem_IsOfferDiscountApplied", IsCart);
instance.updateItemsDesign(Cart_Elem, "AddFocItem_IsOfferDiscountApplied", IsCart);
});
}
}
let Ref_Items = instance.g_CartItems_New.filter(x => x.RefItemIds != "");
for (let r = 0; r < Ref_Items.length; r++) {
let a = AllFocItems.findIndex(x => x.ItemId == Ref_Items[r].ItemId);
if (a == -1) {
instance.deleteCartItems(Ref_Items[r].ItemId, FromWidget, Ref_Items[r].RefItemIds);
}
}
}
else {
instance.g_CartItems_New.filter(x => x.IsFocItem == true).forEach(function (c) {
let Foc_Index = instance.g_CartItems_New.findIndex(x => x.ItemId == c.ItemId && x.RefItemIds != "");
instance.g_CartItems_New.splice(Foc_Index, 1);
$("#" + instance.g_VisibleContainerId).find(".cartitem-" + c.ItemId + "-" + c.RefItemIds.replace(/,/g, "-")).remove();
if (FromWidget) {
$("#" + instance.g_VisibleContainerId).find(".variant-addeditem-" + c.ItemId + "-" + c.RefItemIds.replace(/,/g, "-")).remove();
}
});
instance.g_CartItems_New.filter(x => x.IsFocItem == false && x.IsOfferAvailable == true && !instance._estimate.g_IsManageOfferDiscount).forEach(function (c) {
if (!FromWidget) {
let Elem = $("#" + instance.g_VisibleContainerId).find(".variant-addeditem-" + c.ItemId);
let Cart_Elem = $("#" + instance.g_VisibleContainerId).find(".cartitem-" + c.ItemId);
let CartItemIndex = instance.g_CartItems_New.findIndex(x => x.ItemId == c.ItemId);
if (CartItemIndex != -1) {
instance.g_CartItems_New[CartItemIndex].DiscountValue = 0;
instance.g_CartItems_New[CartItemIndex].DiscountPercent = 0;
instance.g_CartItems_New[CartItemIndex].IsFocAdded = false;
instance.g_CartItems_New[CartItemIndex].IsOfferDiscountApplied = false;
instance.g_CartItems_New[CartItemIndex].AppliedOfferVolume = 0;
instance.g_CartItems_New[CartItemIndex].DiscountAmount = 0;
instance.g_CartItems_New[CartItemIndex].AmountWithDiscount = instance.g_CartItems_New[CartItemIndex].Amount;
instance.g_CartItems_New[CartItemIndex].DiscountType = 2;
}
instance.updateItemsDesign(Elem, "AddFocItem_IsOfferDiscountApplied", IsCart);
instance.updateItemsDesign(Cart_Elem, "AddFocItem_IsOfferDiscountApplied", IsCart);
}
});
}
instance.getTotals();
if (instance.g_CartItems_New.length == 0) {
$("#" + instance.g_VisibleContainerId).find("#ulOrder_Cart").html(' Your Shopping Cart is empty. ');
}
else {
$("#" + instance.g_VisibleContainerId).find(".EmptyCartLi").remove();
}
});
});
}
addFocItemToCart(ContactId, ItemId, Quantity, Discount, RefItemIds, FromWidget, RefItemSKUs = "") {
let instance = this;
let ShippingAddressId = $(".txtAutoComplete_shippingaddressid").val();
let BranchId = $(".txtAutoComplete_branchid").val();
let LobId = $(".txtAutoComplete_lobid").val();
let OrderItemId = 0;
if (FromWidget) {
ShippingAddressId = Bizgaze.Apps.Transact.Controls.AddEstimateItems.Instance().g_ShippingAddressId;
BranchId = Bizgaze.Apps.Transact.Controls.AddEstimateItems.Instance().g_BranchId;
LobId = Bizgaze.Apps.Transact.Controls.AddEstimateItems.Instance().g_LobId;
let FocItem = Bizgaze.Apps.Transact.Controls.AddEstimateItems.Instance().g_FocItems.find(x => x.ItemId == ItemId);
if (FocItem != undefined) {
OrderItemId = FocItem.OrderItemId;
}
}
let postdata = {
PriceCodeId: Number(instance._estimate.g_PriceCodeId),
ContactId: ContactId,
ShippingAddressId: Number(ShippingAddressId),
BranchId: Number(BranchId),
WareHouseId: Number(instance.g_WarehouseId),
LobId: Number(LobId),
OrderType: instance._estimate.g_EstimateTypeId,
OfferOnly: false,
IsExcise: instance.g_IsExcise,
SearchTerm: "",
Page: instance.g_PageIndex,
IsCompositePrice: instance.g_IsEnableCompositePrice,
IsPiecePrice: instance.g_IsEnablePiecePrice,
IsCompositePiecePrice: instance.g_IsEnableCompositePiecePrice,
Rows: 10,
ItemId: ItemId.toString(),
CountryId: instance._estimate.g_CountryId,
ItemGroupId: 0,
Tags: Bizgaze.Apps.Transact.Components.EstimateFilter.Instance().g_Tags,
};
Bizgaze.Apps.Transact.Managers.ItemManager.Instance().getVariantsForOrder(postdata).then(function (response) {
let data = response.result[0];
instance.g_LoadedItems.push(data);
let ItemName = data.ItemName;
let ItemId = Number(data.ItemId);
let Packs = 0;
let PackCount = data.PackCount;
let PackSize = data.PackSize;
let UnitPrice = data.UnitPrice;
let UnitName = data.UnitName;
let ExpectedPrice = data.UnitPrice;
let discType = 1;
let DiscPercent = 0;
let DiscVal = 0;
let PriceListId = 0;
let AvailablePacks = data.AvailablePacks;
let AvailablePieces = data.AvailablePieces;
let AvailableQuantity = data.AvailableQuantity;
let TotalAvailablePieces = data.TotalAvailablePieces;
let SKU = data.SKU;
if (Number(PackCount) == 0)
PackCount = 1;
if (Number(PackSize) == 0)
PackSize = 1;
Quantity = instance.roundOffIgnoreZerosAfterDecimal(Quantity);
Packs = Number(Quantity) / (PackCount * PackSize);
let amount = Number(Quantity) * UnitPrice;
let assessableAmount = Number(amount);
let discAmt = 0;
if (discType == 2) {
DiscVal = Discount;
discAmt = Number(DiscVal) * Number(Quantity);
assessableAmount = instance.roundOff(amount - discAmt);
}
else if (discType == 1) {
DiscPercent = Discount;
discAmt = Number((amount * DiscPercent) / 100);
assessableAmount = instance.roundOff(Number(assessableAmount) - Number(discAmt));
if (amount == 0)
assessableAmount = 0;
}
let BaseQty = Number(PackCount) * Number(PackSize) * Number(Packs);
let IsCalculateTax = instance._estimate.g_IsCalculateTax;
let TaxGroupId = 0;
let TaxAmount = 0;
let StrTaxPercents = "";
let TaxGroupName = "";
let IsTaxError = false;
if (IsCalculateTax) {
if (data.TaxGroupId == 0) {
IsTaxError = true;
}
else {
TaxGroupId = data.TaxGroupId;
TaxGroupName = data.TaxGroupName;
for (let p = 0; p < data.TaxPercentList.length; p++) {
let percen = data.TaxPercentList[p];
let tax = assessableAmount * percen.Percentage / 100;
TaxAmount += tax;
}
StrTaxPercents = data.strTaxPercents;
instance.getPriceTypeValues(ItemId);
if (instance.g_IsEnablePiecePrice) {
UnitPrice = data.PiecePrice;
instance.g_PriceTypeId = Bizgaze.Apps.Transact.Enums.PriceType.PiecePrice;
}
else if (instance.g_IsEnableCompositePrice) {
UnitPrice = data.CompositePrice;
instance.g_PriceTypeId = Bizgaze.Apps.Transact.Enums.PriceType.CompositePrice;
}
else if (instance.g_IsEnableCompositePiecePrice) {
UnitPrice = data.CompositePiecePrice;
instance.g_PriceTypeId = Bizgaze.Apps.Transact.Enums.PriceType.Both;
}
else {
instance.g_PriceTypeId = Bizgaze.Apps.Transact.Enums.PriceType.None;
}
}
}
instance.getPriceTypeValues(ItemId);
let CItemIndex = instance.g_CartItems_New.findIndex(x => x.ItemId == ItemId && x.RefItemIds != "");
if (CItemIndex != -1) {
instance.g_CartItems_New.splice(CItemIndex, 1);
}
let ItemIndex = instance.g_CartItems_New.length + 1;
instance.g_CartItems_New.push({
OrderItemId: OrderItemId,
ItemIndex: ItemIndex,
ItemId: ItemId,
ItemName: ItemName,
Packs: Quantity,
Pieces: 0,
PriceListId: 0,
UnitPrice: UnitPrice,
UnitPriceWithOutTax: UnitPrice,
ExpectedPrice: ExpectedPrice,
ActualPrice: UnitPrice,
PackCount: PackCount,
PackSize: PackSize,
UnitName: UnitName,
Quantity: Quantity,
SKU: SKU,
PartNo: "",
Amount: amount,
AmountWithDiscount: assessableAmount,
DiscountPercent: DiscPercent,
DiscountValue: DiscVal,
DiscountType: discType,
DiscountAmount: discAmt,
ItemValueAfterDiscount: assessableAmount,
StrTaxPercents: StrTaxPercents,
AvailableQuantity: AvailableQuantity,
AvailablePacks: AvailablePacks,
AvailablePieces: AvailablePieces,
TotalAvailablePieces: TotalAvailablePieces,
ExchangeDC: false,
IsAfterTax: false,
BaseQty: BaseQty,
IsFocItem: true,
optoutAmount: 0,
TaxGroupId: TaxGroupId,
TaxGroupName: TaxGroupName,
TaxAmount: TaxAmount,
TaxRateAmount: 0,
TaxRate: data.TaxRate,
TaxPercentage: data.TaxPercentage,
IsOfferAvailable: false,
Description: "",
Discountable: false,
PiecePrice: 0,
CompositePrice: 0,
CompositePiecePrice: 0,
IsCheckPendingItems: false,
IsError: false,
ErrorMsg: "",
ErrorClass: "text-danger",
IsTaxError: IsTaxError,
IsLeverageError: false,
IsFocAdded: false,
IndentItemId: 0,
RefItemIds: RefItemIds,
RefItemSKUs: RefItemSKUs,
FocItemIds: "",
DiscountGroupId: 0,
IsOfferDiscountApplied: false,
AppliedOfferVolume: 0,
AppliedPlanVolumeId: 0,
AppliedOfferId: 0,
optoutOfferGroupId: 0,
SuggestedPacks: 0,
MinPacks: 0,
AvgPacks: 0,
InwardOrderPacks: 0,
OutwardOrderPacks: 0,
IsManualUOM: data.IsManualUOM,
IsMultipleUOMs: data.IsMultipleUOMs,
UOMSchemaId: data.UOMSchemaId,
MultipleUOMs: data.MultipleUOMs,
SelectedUnitId: 1,
DefaultSize: data.DefaultSize,
IsBoMAvailable: data.IsBoMAvailable,
ConversionQuantity: 0,
SelectedUnitName: data.SelectedUnitName,
UOMs: data.UOMs,
AlternateUnitId: data.AlternateUnitId
});
if (instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesContract || instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseContract) {
instance.g_CartItems_New[0].ExpectedPrice = 0;
}
if (FromWidget) {
if (RefItemIds == undefined) {
RefItemIds = "";
}
data.RefItemId = RefItemIds;
let html = instance.getItemDesign(data, FromWidget);
$(".variant-item:last").after(html);
let elem = $('.variant-addeditem-' + ItemId + "-" + RefItemIds.replace(/,/g, "-"));
if (elem != undefined && elem.length > 0) {
instance.updateItemsDesign(elem, "FromWidget_FocItem", false, true);
}
$(".defaultSelectedCartons").addClass("floating-label-form-group-with-value");
}
else {
instance.addCartItem(ItemId, true);
}
instance.getTotals();
});
}
editFocCartItem(ItemId, Quantity, FromWidget) {
let instance = this;
let CartItem = instance.g_CartItems_New.find(x => x.ItemId == ItemId && x.RefItemIds != "");
let PackCount = CartItem.PackCount;
let PackSize = CartItem.PackSize;
let UnitPrice = CartItem.UnitPrice;
let discType = CartItem.DiscountType;
let DiscVal = CartItem.DiscountValue;
let DiscPercent = CartItem.DiscountPercent;
let discAmt = CartItem.DiscountAmount;
Quantity = instance.roundOffIgnoreZerosAfterDecimal(Quantity);
let Packs = Number(Quantity) / (PackCount * PackSize);
let amount = Number(Quantity) * UnitPrice;
let assessableAmount = Number(amount);
let DiscAmount = Number((amount * DiscPercent) / 100) + Number(DiscVal);
assessableAmount = instance.roundOff(amount - DiscAmount);
if (amount == 0)
assessableAmount = 0;
let BaseQty = Number(PackCount) * Number(PackSize) * Number(Packs);
let IsCalculateTax = instance._estimate.g_IsCalculateTax;
let AmountWithDiscount = Number(amount) - Number(DiscAmount);
let TaxAmount = 0;
let LoadedItem = instance.g_LoadedItems.find(x => x.ItemId == ItemId);
if (IsCalculateTax) {
if (LoadedItem.TaxGroupId != 0) {
for (let p = 0; p < LoadedItem.TaxPercentList.length; p++) {
let percen = LoadedItem.TaxPercentList[p];
let tax = assessableAmount * percen.Percentage / 100;
TaxAmount += tax;
}
}
}
CartItem.BaseQty = BaseQty;
CartItem.TaxAmount = TaxAmount;
CartItem.Packs = Quantity;
CartItem.Amount = amount;
CartItem.Quantity = Quantity;
CartItem.AmountWithDiscount = AmountWithDiscount;
let Foc_elem = $(".cartitem-" + ItemId + "-" + CartItem.RefItemIds);
if (FromWidget) {
Foc_elem = $('.variant-addeditem-' + ItemId + "-" + CartItem.RefItemIds);
}
instance.updateItemsDesign(Foc_elem, "EditFocItem_IsOfferDiscountApplied", true, true);
}
getSelectionStart(o) {
}
isNumberKey(evt) {
if (evt.type == "paste") {
let pastedData = evt.clipboardData.getData('text');
let regExp = /[a-zA-Z]/g;
if (regExp.test(pastedData)) {
evt.preventDefault();
return false;
}
}
else if (evt.type == "input") {
const inputVal = $(evt.currentTarget).val();
$(evt.currentTarget).val(inputVal.replace(/\D/g, ''));
}
else {
if (evt.which != 8 && evt.which != 0 && (evt.which < 48 || evt.which > 57)) {
return false;
}
}
return true;
}
validateFloatKeyPress(el, evt) {
var instance = this;
if (evt.type == "input") {
const inputVal = $(el).val();
$(el).val(inputVal.replace(/[^\d.]|\.(?=.*\.)/g, ''));
return;
}
let charCode = (evt.which) ? evt.which : evt.keyCode;
let number = el.value.split('.');
if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
if (number.length > 1 && charCode == 46) {
return false;
}
let caratPos = instance.getSelectionStart(el);
let dotPos = el.value.indexOf(".");
if (caratPos > dotPos && dotPos > -1 && (number[1].length > 1)) {
return false;
}
return true;
}
checkValidations(ItemId, IsCart) {
let instance = this;
let errormessage = "";
if (ItemId != 0) {
let element;
let Item;
if (IsCart) {
let CartItem_Index = instance.g_CartItems_New.findIndex(x => x.ItemId == ItemId && x.RefItemIds == "");
Item = instance.g_CartItems_New[CartItem_Index];
element = $(".cartitem-" + ItemId);
}
else {
let SelectedItem_Index = instance.g_SelectedItems.findIndex(x => x.ItemId == ItemId && x.RefItemIds == "");
Item = instance.g_SelectedItems[SelectedItem_Index];
element = $(".variant-addeditem-" + ItemId);
}
if (Item != undefined) {
element.find(".tax-error").text("");
Item.IsError = false;
let price = Item.UnitPrice;
let actualprice = Item.ActualPrice;
if (price == 0) {
Item.ErrorMsg += "\n Quoted price is zero";
element.find(".tax-error").text("Quoted price is zero").removeClass("text-danger").addClass("text-warning");
}
if (instance.g_IsShowManagePrice == true) {
if (price < actualprice) {
Item.IsError = true;
element.find(".tax-error").text("Quoted price must be greater than " + actualprice + "").addClass("text-danger").removeClass("text-warning");
Item.ErrorMsg += "\n Quoted price must greater than " + actualprice + "";
}
}
if (!instance._estimate.g_IsAdmin) {
if (((Item.DiscountPercent > instance._estimate.g_LeveragePercent) || (((Item.DiscountValue / Item.UnitPrice) * 100) > instance._estimate.g_LeveragePercent)) && instance._estimate.g_IsLeverageApplied == true) {
Item.IsLeverageError = true;
$(element).find("#LeverageErrorTxt").removeClass("hidden");
$('.empLeverage').text(instance._estimate.g_LeveragePercent.toString());
if ($('.leverage-Warning').hasClass('hidden'))
$('.leverage-Warning').removeClass('hidden');
}
else {
Item.IsLeverageError = false;
$(element).find("#LeverageErrorTxt").addClass("hidden");
if (!$('.leverage-Warning').hasClass('hidden'))
$('.leverage-Warning').addClass('hidden');
}
}
else {
Item.IsLeverageError = false;
}
if (Item.IsTaxError && Item.BaseQty != 0) {
Item.IsError = true;
Item.ErrorMsg = "Tax not assigned";
element.find(".tax-error").text("Tax not assigned").addClass("text-danger").removeClass("text-warning");
}
if (Item.DiscountPercent > 100) {
element.find(".tax-error").text("Discount % can't be greater than 100").addClass("text-danger").removeClass("text-warning");
Item.ErrorMsg += "\n Discount % can't be greater than 100";
Item.IsError = true;
}
}
}
instance.checkErrors();
instance.checkEnablePiece();
instance.checkEnablePacks();
return errormessage;
}
checkErrors() {
let instance = this;
let IsCart = false;
if (!$("#Items-list").is(":visible")) {
IsCart = true;
}
let Items = [];
if (IsCart) {
Items = instance.g_CartItems_New;
}
else {
Items = instance.g_SelectedItems;
}
let errors = Items.filter(x => x.IsError == true);
let leverageErrors = Items.filter(x => x.IsLeverageError == true);
if (leverageErrors.length == 0) {
instance._estimate.g_IsApprovalRequired = false;
if (!$('.leverage-Warning').hasClass('hidden'))
$('.leverage-Warning').addClass('hidden');
}
else {
instance._estimate.g_IsApprovalRequired = true;
$('.empLeverage').text(instance._estimate.g_LeveragePercent.toString());
if ($('.leverage-Warning').hasClass('hidden'))
$('.leverage-Warning').removeClass('hidden');
}
if (errors.length == 0) {
instance.enableSave();
}
else {
instance.disableSave();
}
}
checkEnablePiece() {
let instance = this;
let picesfound = instance.g_CartItems_New.filter(x => x.Pieces > 0);
if (picesfound.length > 0)
$('#chk_Pieces').attr('disabled', "true");
else
$('#chk_Pieces').removeAttr('disabled');
}
checkEnablePacks() {
let instance = this;
let packsfound = instance.g_CartItems_New.filter(x => x.Packs > 0);
if (packsfound.length > 0)
$('#chk_Packs').attr('disabled', "true");
else
$('#chk_Packs').removeAttr('disabled');
}
disableSave() {
$(".btn_Save_Form").find("button").attr("disabled", "disabled").css("cursor", "not-allowed");
$("#btn_Checkout").attr("disabled", "disabled").css("cursor", "not-allowed");
return false;
}
enableSave() {
$(".btn_Save_Form").find("button").removeAttr("disabled").css("cursor", "auto");
$("#btn_Checkout").removeAttr("disabled").css("cursor", "pointer");
}
addCartItem(ItemId, IsFocItem = false) {
let instance = this;
let CartItems_Index = -1;
if (IsFocItem) {
CartItems_Index = instance.g_CartItems_New.findIndex(x => x.ItemId == ItemId && x.RefItemIds != "");
}
else {
CartItems_Index = instance.g_CartItems_New.findIndex(x => x.ItemId == ItemId && x.RefItemIds == "");
}
let CartItm = instance.g_CartItems_New[CartItems_Index];
let html = instance.getItemDesign(CartItm, false, true);
$("#ulOrder_Cart").append(html);
let elem = $(".cartitem-" + ItemId);
let evnt = "EditCartItem";
if (CartItm.IsFocItem) {
evnt = "EditFocItem";
}
let RefItemId = CartItm.RefItemIds;
if (RefItemId !== "") {
elem = $(".cartitem-" + ItemId + "-" + RefItemId);
}
instance.updateItemsDesign(elem, evnt, true, IsFocItem);
$("#ulOrder_Cart").find(".chk_PurPlanItem").addClass("hidden");
instance.allItemEvents(elem);
}
deleteCartItems(ItemId, FromWidget = false, RefItemId = "") {
let instance = this;
let itemelement = $('.variant-addeditem-' + ItemId);
let element_name = "cartitem-";
if (FromWidget) {
element_name = "variant-addeditem-";
}
if (RefItemId != "") {
$("." + element_name + ItemId + "-" + RefItemId).remove();
}
else {
$("." + element_name + ItemId).remove();
}
let deleteitemindex = instance.g_CartItems_New.findIndex(x => x.ItemId == Number(ItemId));
if (deleteitemindex != -1) {
$('.variant-addeditem-' + ItemId).find(".txtOrder_ItemCount,.txtOrder_ItemPieceCount").val("");
$('.variant-addeditem-' + ItemId).find("#DiscountOpenBracket").addClass('hidden');
$('.variant-addeditem-' + ItemId).find("#QuantityAndDiscountSpan").text('');
$('.variant-addeditem-' + ItemId).find("#Exp_QuantityAndDiscountSpan").text('');
$('.variant-addeditem-' + ItemId).find(".editItemPrice").text(instance.g_CartItems_New[deleteitemindex].UnitPrice);
$('.variant-addeditem-' + ItemId).find(".defaultSelectedCartons").removeClass('floating-label-form-group-with-value');
if (deleteitemindex != -1) {
instance.g_CartItems_New.splice(deleteitemindex, 1);
if (RefItemId != "") {
$("." + element_name + ItemId + "-" + RefItemId).remove();
}
else {
$("." + element_name + ItemId).remove();
}
}
$(this).parents(".cartitem").remove();
let FocItems = instance.g_CartItems_New.filter(x => x.RefItemIds == ItemId);
for (let f = 0; f < FocItems.length; f++) {
let Foc_Index = instance.g_CartItems_New.findIndex(x => x.ItemId == FocItems[f].ItemId);
instance.g_CartItems_New.splice(Foc_Index, 1);
$("." + element_name + FocItems[f].ItemId + "-" + ItemId).remove();
}
instance.checkOffers(false, "DeleteCartItem");
if (instance.g_CartItems_New.length == 0) {
$("#ulOrder_Cart").html(' Your Shopping Cart is empty. ');
}
instance.getTotals();
instance.checkErrors();
}
}
roundOff(n, decimalValue = 2) {
return Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(n, decimalValue);
}
roundOffIgnoreZerosAfterDecimal(n, decimalValue = 2) {
n = Number(n);
return Number(n.toFixed(decimalValue));
}
getPriceTypeValues(ItemId, Packs = 0, Pieces = 0) {
let instance = this;
let taxpercentage = 0, TaxRate = 0, TaxRateAmount = 0, strTaxPercents = "", CompositePiecePriceTaxRate = 0;
let LoadedItem = instance.g_LoadedItems.find(x => x.ItemId == ItemId);
if (LoadedItem != undefined) {
let taxPercentList = LoadedItem.TaxPercentList;
let PackSize = LoadedItem.PackSize;
let PackCount = LoadedItem.PackCount;
let ItemUnitPrices = instance.g_ItemsUnitPrice_New.find(x => x.ItemId == ItemId);
let UnitPrice = 0;
if (ItemUnitPrices != undefined) {
UnitPrice = ItemUnitPrices.UnitPrice;
}
let PiecePrice_BaseQty = PackSize;
let CartItemIndex = instance.g_CartItems_New.findIndex(x => x.ItemId == ItemId);
if (Packs > 0 || Pieces > 0) {
PiecePrice_BaseQty = Number(PackCount) * Number(PackSize) * Number(Packs) + (Pieces * PackSize);
}
let piecePriceDecimalValue = 0;
let piecePrice = Number(UnitPrice) * Number(PiecePrice_BaseQty);
if (Number.isInteger(piecePrice))
piecePriceDecimalValue = piecePrice;
else
piecePriceDecimalValue = Number(UnitPrice) * Number(PiecePrice_BaseQty);
if (taxPercentList != null) {
for (let i = 0; i < taxPercentList.length; i++) {
let percen = taxPercentList[i];
taxpercentage += percen.Percentage;
TaxRate += UnitPrice * percen.Percentage / 100;
CompositePiecePriceTaxRate += piecePriceDecimalValue * percen.Percentage / 100;
strTaxPercents += percen.LedgerId + ":" + percen.Percentage + ",";
}
TaxRateAmount = UnitPrice + TaxRate;
}
let compositeDecimalValue = 0;
if (TaxRateAmount == 0) {
TaxRateAmount = UnitPrice;
compositeDecimalValue = Number(TaxRateAmount);
}
if (Number.isInteger(TaxRateAmount)) {
compositeDecimalValue = TaxRateAmount;
}
else
compositeDecimalValue = Number(TaxRateAmount);
let compositePiecePriceDecimalvalue = 0;
if (instance.g_IsEnableCompositePiecePrice) {
compositePiecePriceDecimalvalue = Number(CompositePiecePriceTaxRate) + piecePriceDecimalValue;
}
LoadedItem.CompositePrice = Number(instance.roundOff(compositeDecimalValue));
LoadedItem.PiecePrice = Number(instance.roundOff(piecePriceDecimalValue));
LoadedItem.CompositePiecePrice = Number(instance.roundOff(compositePiecePriceDecimalvalue));
if (CartItemIndex != -1) {
instance.g_CartItems_New[CartItemIndex].CompositePrice = Number(instance.roundOff(compositeDecimalValue));
instance.g_CartItems_New[CartItemIndex].PiecePrice = Number(instance.roundOff(piecePriceDecimalValue));
instance.g_CartItems_New[CartItemIndex].CompositePiecePrice = Number(instance.roundOff(compositePiecePriceDecimalvalue));
}
}
}
getAmountWithTax(ItemId, Amount) {
let instance = this;
let TaxRate = 0, AmountWithTax = 0;
let LoadedItem = instance.g_LoadedItems.find(x => x.ItemId == ItemId);
if (LoadedItem != undefined) {
let taxPercentList = LoadedItem.TaxPercentList;
if (taxPercentList != null) {
for (let i = 0; i < taxPercentList.length; i++) {
let percen = taxPercentList[i];
TaxRate += Amount * percen.Percentage / 100;
}
AmountWithTax = Amount + TaxRate;
}
}
return instance.roundOffIgnoreZerosAfterDecimal(AmountWithTax) + '|' + instance.roundOffIgnoreZerosAfterDecimal(TaxRate);
}
getTotals() {
let instance = this;
let postdata = {
OrderItems: instance.g_CartItems_New,
IsCompositePrice: instance.g_IsEnableCompositePrice,
IsPiecePrice: instance.g_IsEnablePiecePrice,
IsTaxInclusive: instance._estimate.g_IsTaxInclusive == undefined ? false : instance._estimate.g_IsTaxInclusive,
IsCalculateTax: instance._estimate.g_IsCalculateTax == undefined ? false : instance._estimate.g_IsCalculateTax,
OrderTypeId: instance._estimate.g_EstimateTypeId,
BranchId: instance._estimate.g_BranchId,
InventoryApplyType: instance._estimate.g_InventoryApplyType,
};
instance.g_AppliedTaxGroups = new Array();
Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getTotals(postdata).then(function (response) {
instance.g_Totals = response.result;
let res = instance.g_Totals;
if (instance.roundOff(res.TotalScrapDiscountAmount) > 0)
$("#div_ScrapDiscount").removeClass("hidden");
else
$("#div_ScrapDiscount").addClass("hidden");
$('#lblSummary_GrossAmount').text(instance.roundOff(res.GrossAmount));
$('#lblSummary_TotalDiscount').text(instance.roundOff(res.TotalDiscount));
$('#lblSummary_AssessableTotal').text(instance.roundOff(res.AssessableAmount));
$('#lblSummary_TaxTotal').text(instance.roundOff(res.TotalTax));
$('#lblSummary_ScrapDiscountAmount').text('-' + (instance.roundOff(res.TotalScrapDiscountAmount)));
$('#lblSummary_NetTotal').text(instance.roundOff(res.NetTotal));
$('#OverallOrderQuantity').text(instance.roundOffIgnoreZerosAfterDecimal(res.TotalQuantity, 2));
$(".netpacks").text(instance.g_CartItems_New.length);
});
}
getEstimateItems(OrderId = 0) {
let instance = this;
let ItemList = new Array();
if (instance.g_CartItems_New != undefined || instance.g_CartItems_New != null) {
for (let c = 0; c < instance.g_CartItems_New.length; c++) {
let orderItemIndex = c;
let CartItem = instance.g_CartItems_New[c];
let FocItemIds = "";
instance.g_CartItems_New.filter(z => z.RefItemIds.indexOf(CartItem.ItemId.toString()) > -1).forEach(x => {
FocItemIds += x.ItemId + "|";
});
if (CartItem.IsFocItem) {
continue;
}
let Quantity = CartItem.Quantity;
let ConversionQuantity = CartItem.ConversionQuantity;
var Category_Id = $($(".cartitem-" + CartItem.ItemId).parentsUntil("cartItemsSortable")[0]).attr("id");
if (Category_Id != undefined) {
Category_Id = Category_Id.replace("catItemsSortable_", "");
}
let CategoryName = $("#catTitleSpan_" + Category_Id).text();
if (CartItem.IsMultipleUOMs && CartItem.ConversionQuantity > 0) {
Quantity = CartItem.Quantity;
ConversionQuantity = CartItem.ConversionQuantity;
}
ItemList.push({
EstimateItemId: CartItem.OrderItemId,
EstimateId: OrderId,
OrderItemIndex: orderItemIndex,
ItemId: CartItem.ItemId,
ItemName: CartItem.ItemName,
UnitPrice: CartItem.UnitPriceWithOutTax,
PriceListId: CartItem.PriceListId,
ExpectedPrice: CartItem.ExpectedPrice,
Quantity: Quantity,
TaxGroupId: CartItem.TaxGroupId,
TaxGroupName: CartItem.TaxGroupName,
TaxTotal: CartItem.TaxAmount,
Description: CartItem.Description,
DiscountPercent: CartItem.DiscountPercent,
DiscountAmount: CartItem.DiscountAmount,
DiscountValue: CartItem.DiscountValue,
DiscountGroupId: CartItem.DiscountGroupId,
RefNo: "",
RowTotal: CartItem.Amount,
AvailableQty: CartItem.AvailableQuantity,
ExchangeDC: CartItem.ExchangeDC,
HideOnInvoice: false,
Packs: CartItem.Packs,
Pieces: CartItem.Pieces,
IsAfterTax: CartItem.IsAfterTax,
OptOutAmount: CartItem.optoutAmount,
OptOutCampaignGroupId: CartItem.optoutOfferGroupId,
IsFoc: CartItem.IsFocItem,
OrderFromEstimate: false,
PriceTypeId: Number(instance.g_PriceTypeId),
IndentItemId: CartItem.IndentItemId,
RefItemIds: CartItem.RefItemIds,
FocItemIds: FocItemIds,
AlternateUnitId: CartItem.SelectedUnitId,
DefaultSize: CartItem.DefaultSize,
ConversionQuantity: ConversionQuantity,
CategoryName: CategoryName
});
}
}
return ItemList;
}
getItemPreview(Itemid) {
var instance = this;
instance.fileCacheHelper.loadJsFile('apps/transact/controls/itemdetails/itemscarousel.js', function () {
instance.navigationHelper.popup(Itemid, '', Bizgaze.Apps.Transact.Controls.ItemDetails.ItemsCarousel.Instance(), null, Unibase.Platform.Helpers.Size.Medium);
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new EstimateItems();
}
return this.instance;
}
}
Controls.EstimateItems = EstimateItems;
})(Controls = Transact.Controls || (Transact.Controls = {}));
})(Transact = Apps.Transact || (Apps.Transact = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));
var Bizgaze;
(function (Bizgaze) {
let Apps;
(function (Apps) {
let Transact;
(function (Transact) {
let Components;
(function (Components) {
class EstimateFilter extends Unibase.Platform.Core.BaseComponent {
constructor() {
super(...arguments);
this.g_TagArray = [];
this.g_ClearingTags = "";
this.g_ContainerId = "";
this.g_Tags = "";
this.g_OnlyFilters = false;
this.g_TagCategoryId = 0;
this.g_LobId = 0;
}
cssFiles() {
return [];
}
jsFiles() {
var jsFiles = ['apps/crm/lobs/managers/lobmanager.js', 'apps/transact/managers/inventory/itemmanager.js'];
return jsFiles;
}
html(id, containerid) {
var instance = this;
instance.g_ContainerId = containerid;
var html = `
`;
return html;
}
load(id, containerid, callback) {
var instance = this;
instance.g_LobId = Number($(".txtAutoComplete_LobId").val());
instance.categoryTagItem();
$('#btn_CancelEstimateFilter').click(function () {
for (var i = 0; i < instance.g_TagArray.length; i++) {
instance.g_ClearingTags += instance.g_TagArray[i].TagId + "|";
}
instance.g_ClearingTags = instance.g_ClearingTags.replace(/\:$/, '');
instance.g_Tags = instance.g_ClearingTags;
instance.filterItemsByTags(instance.g_ClearingTags, false);
});
$('#btn_ClearEstimateFilter').click(function () {
Bizgaze.Apps.Transact.Controls.EstimateItems.Instance().g_IsFilterApplied = false;
Bizgaze.Apps.Transact.Controls.EstimateItems.Instance().g_FilteredTags = '';
instance.clearAll();
});
$('#btn_ApplyEstimateFilter').click(function () {
Bizgaze.Apps.Transact.Controls.EstimateItems.Instance().g_IsFilterApplied = true;
instance.showFilteredItems();
});
}
bindCustomerTags() {
var instance = this;
var TagGroupId = Bizgaze.Apps.Transact.Controls.Estimate.Instance().g_TagGroupId;
var OrganizationId = Bizgaze.Apps.Transact.Controls.Estimate.Instance().g_OrganizationId;
Unibase.Platform.Forms.Managers.TagManager.Instance().GetTagsByRefId(OrganizationId, TagGroupId).then(function (response) {
var data = response.result;
var options = '';
var tags = '';
instance.g_TagArray = [];
for (var i = 0; i < data.length; i++) {
if (data[i] != undefined) {
instance.g_TagArray.push({ TagId: data[i].TagId, TagName: data[i].TagName, ParentId: data[i].ParentRootId });
options += data[i].TagId + "|";
}
}
if (options != '') {
options = options.replace(/\|$/, '');
tags = options;
}
if (tags != '') {
tags = tags.replace(/\:$/, '');
}
instance.g_Tags = tags;
instance.filterItemsByTags(tags, true);
if (Bizgaze.Apps.Transact.Components.EstimateFilter.Instance().g_TagArray.length != 0) {
$("#ItemLoadType option[value='1']").remove();
instance.g_OnlyFilters = true;
}
});
}
addTagItem(TagGroupId) {
var instance = this;
if (TagGroupId != 0) {
Unibase.Platform.Forms.Managers.TagManager.Instance().getTagParentsByCategoryId(Number(instance.g_TagCategoryId), TagGroupId).then(function (response) {
var taghtml = '';
var disabled = "";
if (Bizgaze.Apps.Transact.Components.EstimateFilter.Instance().g_OnlyFilters) {
disabled = "disabled";
$("#btn_ApplyEstimateFilter, #btn_ClearEstimateFilter").addClass("hidden");
}
for (var i = 0; i < response.result.length; i++) {
var tagName = response.result[i].TagName;
if (i % 2 == 0) {
taghtml += '';
}
taghtml += '
';
taghtml += '
' + tagName + ' ' +
' ' +
' ' +
'
';
if (i % 2 == 1) {
taghtml += '
';
}
}
if (response.result.length == 0) {
taghtml += '' + 'No Tags Assigned For This Lob. ';
}
$('.divTagList').html(taghtml);
if (response.result.length != 0) {
instance.refreshTags();
}
});
}
}
refreshTags() {
var instance = this;
var y = 0;
var lobid = $(".txtAutoComplete_lobid").val();
var categoryId = instance.g_TagCategoryId;
var PARENTID = "";
let serviceurl = "apis/v4/unibase/platform/forms/autotagsforassignment";
serviceurl = _appsettings.server_url() + (serviceurl.startsWith('/') ? serviceurl : ('/' + serviceurl));
$(".lobTagItems").each(function () {
var parentId = $(this).find(".hfTagCloud_ParentTagId-" + y).val();
PARENTID += parentId + ",";
if (parentId != undefined) {
var Tags = [];
var Ids = [];
if (instance.g_TagArray != undefined && instance.g_TagArray != '') {
for (var i = 0; i < instance.g_TagArray.length; i++) {
var Tag = instance.g_TagArray[i];
if (parentId == Tag.ParentId) {
Tags.push({ id: Tag.TagId, text: Tag.TagName });
Ids.push(Tag.TagId);
}
}
}
var Parameters = [
{ ColumnName: 'LobId', Value: lobid },
{ ColumnName: 'CategoryId', Value: categoryId },
{ ColumnName: 'ParentId', Value: PARENTID },
];
var ColumnName = "", Value = "";
if (Parameters != null) {
ColumnName = Parameters.map(function (item) { return item.ColumnName; }).toString();
Value = Parameters.map(function (item) { return item.Value + "|"; }).toString();
}
$(".txtTagsSelect2_" + y).select2({
placeholder: "Select",
data: Tags,
ajax: {
url: serviceurl,
contentType: 'application/json',
dataType: 'json',
type: "POST",
traditional: true,
crossDomain: true,
async: true,
data: function (params) {
var y = $(this).attr("id").replace("txtBizgazeNotifications_Tags_", "");
parentId = $(".hfTagCloud_ParentTagId-" + y).val();
var ParticipantsCount = new Array();
var Participants = "";
if ($(".txtTagsSelect2_" + Number($(this).attr('data-id'))).val().toString() != "") {
var Participant = $(".txtTagsSelect2_" + Number($(this).attr('data-id'))).val().toString();
ParticipantsCount = Participant.split(',');
for (var i = 0; i < ParticipantsCount.length; i++) {
Participants += "|" + ParticipantsCount[i];
}
Participants;
}
var Term = params.term != undefined ? params.term : "";
var postData = {
DocPropertyId: 0,
ColumnName: ColumnName,
FormPropertyId: Number($(this).attr('data-id')),
Value: Value,
bindedData: Participants.substring(1, Participants.length),
term: Term,
TagGroupId: Number(Bizgaze.Apps.Transact.Controls.Estimate.Instance().g_TagGroupId),
TagCatagoryId: Number(categoryId),
TagId: Number(parentId),
};
return JSON.stringify(postData);
},
processResults: function (data) {
var json_data = JSON.parse(data.result);
var cols = [];
for (let i = 0; i < json_data.length; i++) {
var ids = {
id: json_data[i].Value,
text: json_data[i].DisplayText
};
cols.push(ids);
}
return { results: cols };
},
beforeSend: function (xhr) {
if (Unibase.Platform.Membership.Infos.Identity.getCurrentUser() !== undefined && Unibase.Platform.Membership.Infos.Identity.getCurrentUser() !== null) {
xhr.setRequestHeader('Authorization', 'Basic ' + Unibase.Platform.Membership.Infos.Identity.getCurrentUser().sessionId);
xhr.setRequestHeader('geoposition', Unibase.Platform.Membership.Infos.Identity.getCurrentUser().latd + ':' + Unibase.Platform.Membership.Infos.Identity.getCurrentUser().lgId);
}
},
},
});
jQuery(".txtTagsSelect2_" + y).val(Ids).trigger('change');
}
y++;
});
y = 0;
}
categoryTagItem() {
var instance = this;
Unibase.Platform.Forms.Managers.TagManager.Instance().getTagCategoryByName("Items").then(function (response) {
var data = response.result;
instance.g_TagCategoryId = data.TagCategoryId;
var TagGroupId = Bizgaze.Apps.Transact.Controls.Estimate.Instance().g_TagGroupId;
if (TagGroupId != null && TagGroupId != 0) {
instance.addTagItem(TagGroupId);
}
});
}
showFilteredItems() {
var instance = this;
var tags = '';
var select2Id = 0;
instance.g_TagArray = [];
$(".lobTagItems").each(function () {
var data = $(this).find('#txtBizgazeNotifications_Tags_' + select2Id + '').select2('data');
var parentId = $(this).find(".hfTagCloud_ParentTagId-" + select2Id).val();
if (data.length > 0) {
var options = '';
for (var i = 0; i < data.length; i++) {
if (data[i] != '000' && data[i] != undefined) {
instance.g_TagArray.push({ TagId: data[i].id, TagName: data[i].text, ParentId: parentId });
options += data[i].id + "|";
}
}
if (options != '') {
options = options.replace(/\|$/, '');
tags += options + "|";
}
}
select2Id++;
});
if (tags != '') {
tags = tags.replace(/\:$/, '');
}
instance.g_Tags = tags;
instance.filterItemsByTags(tags, false);
}
clearAll() {
var select2Id = 0;
$(".lobTagItems").each(function () {
$(this).find('#txtBizgazeNotifications_Tags_' + select2Id + '').val(null).trigger('change');
select2Id++;
});
}
filterItemsByTags(Tags, Ispagination) {
var instance = this;
Bizgaze.Apps.Transact.Controls.Estimate.Instance().g_LoadOffersOnly = false;
if (Tags == "" || Tags == null || Tags == undefined) {
Bizgaze.Apps.Transact.Controls.EstimateItems.Instance().loadItems($("#txt_SearchItem").val(), Bizgaze.Apps.Transact.Controls.Estimate.Instance().g_OrganizationId, $(".txtAutoComplete_lobid").val(), $(".txtAutoComplete_shippingaddressid").val(), $(".txtAutoComplete_branchid").val());
if (instance.g_ContainerId != "") {
if ($('#' + instance.g_ContainerId).length > 0) {
$('#' + instance.g_ContainerId).modal('hide');
}
}
$("#ItemLoadType").val(1);
if (!Ispagination) {
$('#' + instance.g_ContainerId).modal('hide');
$('#' + instance.g_ContainerId).remove();
}
}
else {
var SearchTerm = $("#txt_SearchItem").val();
if (SearchTerm == "")
SearchTerm = null;
Bizgaze.Apps.Transact.Controls.EstimateItems.Instance().g_FilteredTags = Tags;
var contactId = Bizgaze.Apps.Transact.Controls.Estimate.Instance().g_OrganizationId;
if (contactId == 0)
contactId = Bizgaze.Apps.Transact.Controls.Estimate.Instance().g_OrgContactId;
instance.fileCacheHelper.loadJsFile("apps/transact/managers/inventory/itemmanager.js", function () {
instance.g_Tags = Tags;
Bizgaze.Apps.Transact.Controls.EstimateItems.Instance().loadItems($("#txt_SearchItem").val(), Bizgaze.Apps.Transact.Controls.Estimate.Instance().g_OrganizationId, $(".txtAutoComplete_lobid").val(), $(".txtAutoComplete_shippingaddressid").val(), $(".txtAutoComplete_branchid").val());
$("#ItemLoadType").append('Filter ');
$("#ItemLoadType").val(0);
$(".appliedfilter").remove();
if (!Ispagination) {
$('#' + instance.g_ContainerId).modal('hide');
$('#' + instance.g_ContainerId).remove();
}
});
}
}
static Instance() {
if (this.instance === undefined) {
this.instance = new EstimateFilter();
}
return this.instance;
}
}
Components.EstimateFilter = EstimateFilter;
})(Components = Transact.Components || (Transact.Components = {}));
})(Transact = Apps.Transact || (Apps.Transact = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var Bizgaze;
(function (Bizgaze) {
let Apps;
(function (Apps) {
let Transact;
(function (Transact) {
let Managers;
(function (Managers) {
class ItemManager extends Unibase.Platform.Core.BaseManager {
getVariantsForOrder(postdata) {
return __awaiter(this, void 0, void 0, function* () {
const url = 'apis/v4/bizgaze/transact/items/getvariantsfororder';
return yield this.dataHelper().postAsync(url, postdata).then(function (response) {
if (response.result !== null) {
response.result = JSON.parse(response.result);
}
return response;
});
});
}
getItemsForOrder(postdata) {
return __awaiter(this, void 0, void 0, function* () {
const url = 'apis/v4/bizgaze/transact/items/getitemsfororder';
return yield this.dataHelper().postAsync(url, postdata).then(function (response) {
if (response.result !== null) {
response.result = JSON.parse(response.result);
}
return response;
});
});
}
getitemsfororder(PriceCodeId, ContactId, ItemId, LobId, OrderType, OfferOnly, IsExcise, Query) {
return __awaiter(this, void 0, void 0, function* () {
const url = 'apis/v4/bizgaze/transact/items/getitemsfororder/pricecodeid/' + PriceCodeId + '/contactid/' + ContactId + '/itemid/' + ItemId + '/lobid/' + LobId + '/ordertype/' + OrderType + '/offeronly/' + OfferOnly + '/isexcise/' + IsExcise + '/query/' + Query;
return yield this.dataHelper().getAsync(url).then(function (response) {
if (response.result !== null) {
response.result = JSON.parse(response.result);
}
return response;
});
});
}
getdefitemsbom(PriceCodeId, ContactId, ItemId, OrderType, IsExcise, WareHouseId) {
return __awaiter(this, void 0, void 0, function* () {
const url = 'apis/v4/bizgaze/transact/items/getitemdefinitionbyitemidasync/itemid/' + ItemId + '/pricecodeid/' + PriceCodeId
+ '/contactid/' + ContactId + '/ordertype/' + OrderType + '/isexcise/' + IsExcise + '/warehouseid/' + WareHouseId;
return yield this.dataHelper().getAsync(url).then(function (response) {
if (response.result !== null) {
response.result = JSON.parse(response.result);
}
return response;
});
});
}
getVariantsDetailsWithAvailability(ItemId, PriceCodeId, ContactId, OrderType, IsExcise, WarehouseId) {
return __awaiter(this, void 0, void 0, function* () {
const url = 'apis/v4/bizgaze/transact/items/getvariantsdetailswithavailability/itemids/' + ItemId + '/pricecodeid/' + PriceCodeId + '/contactid/' + ContactId + '/ordertype/' + OrderType + '/isexcise/' + IsExcise + '/warehouseid/' + WarehouseId;
return yield this.dataHelper().getAsync(url).then(function (response) {
if (response.result !== null)
response.result = JSON.parse(response.result);
return response;
});
});
}
getItemAvailableQty(itemid, BranchId, IsClaim) {
return __awaiter(this, void 0, void 0, function* () {
const url = 'apis/v4/bizgaze/transact/items/getitemavailability/ItemId/' + itemid + '/BranchId/' + BranchId + '/IsClaim/' + IsClaim;
return yield this.dataHelper().getAsync(url).then(function (response) {
if (response.result !== null)
response.result = JSON.parse(response.result);
return response;
});
});
}
getItemsAvailableQty(ItemIds, BranchIds, IsClaim) {
return __awaiter(this, void 0, void 0, function* () {
const url = 'apis/v4/bizgaze/transact/items/getitemsavailability/ItemIds/' + ItemIds + '/BranchIds/' + BranchIds + '/IsClaim/' + IsClaim;
return yield this.dataHelper().getAsync(url).then(function (response) {
if (response.result !== null && response.result != "")
response.result = JSON.parse(response.result);
return response;
});
});
}
getItemSettings(itemid) {
return __awaiter(this, void 0, void 0, function* () {
const url = 'apis/v4/unibase/transact/items/getgeneralSetting/' + itemid;
return yield this.dataHelper().getAsync(url).then(function (response) {
if (response.result !== null)
response.result = JSON.parse(response.result);
return response;
});
});
}
getDefaultItems(postdata) {
return __awaiter(this, void 0, void 0, function* () {
const url = 'apis/v4/bizgaze/transact/items/getdefaultitems';
return yield this.dataHelper().postAsync(url, postdata).then(function (response) {
if (response.result !== null && response.result != "")
response.result = JSON.parse(response.result);
return response;
});
});
}
getItem(itemid) {
return __awaiter(this, void 0, void 0, function* () {
const url = 'apis/v4/unibase/transact/items/getitem/itemid/' + itemid;
return yield this.dataHelper().getAsync(url).then(function (response) {
if (response.result !== null)
response.result = JSON.parse(response.result);
return response;
});
});
}
getProduct(productid) {
return __awaiter(this, void 0, void 0, function* () {
var id = Number(productid);
const url = 'apis/v4/bizgaze/transact/items/getproduct/productid/' + id;
return yield this.dataHelper().getAsync(url).then(function (response) {
if (response.result !== null)
response.result = JSON.parse(response.result);
return response;
});
});
}
getItemWarranty(itemid) {
return __awaiter(this, void 0, void 0, function* () {
const url = 'apis/v4/bizgaze/transact/items/getitemwarranty/itemid/' + itemid;
return yield this.dataHelper().getAsync(url).then(function (response) {
if (response.result !== null)
response.result = JSON.parse(response.result);
return response;
});
});
}
refreshInventoryType() {
return __awaiter(this, void 0, void 0, function* () {
const url = 'apis/v4/bizgaze/transact/items/refreshinventorytype/np';
return yield this.dataHelper().postAsync(url, null).then(function (response) {
if (response.result !== null)
response.result = JSON.parse(response);
MessageHelper.Instance().showSuccess(response.message, '');
return response;
});
});
}
saveWaranty(obj) {
return __awaiter(this, void 0, void 0, function* () {
const url = 'apis/v4/bizgaze/transact/items/saveitemwarranty';
return yield this.dataHelper().postAsync(url, obj).then(function (response) {
return response;
});
});
}
saveMileage(obj) {
return __awaiter(this, void 0, void 0, function* () {
const url = 'apis/v4/bizgaze/transact/items/savemileage';
return yield this.dataHelper().postAsync(url, obj).then(function (response) {
return response;
});
});
}
getItemRecDetails(ItemRecid, ItemId) {
return __awaiter(this, void 0, void 0, function* () {
const url = 'apis/v4/bizgaze/transact/items/GetItemRecDetails/itemrecid/' + ItemRecid + '/itemid/' + ItemId;
return yield this.dataHelper().getAsync(url).then(function (response) {
if (response.result !== null)
response.result = JSON.parse(response.result);
return response;
});
});
}
getItemBOMs(ParentItemId) {
return __awaiter(this, void 0, void 0, function* () {
const url = 'apis/v4/bizgaze/transact/items/GetItemBOMs/parentitemid/' + ParentItemId;
return yield this.dataHelper().getAsync(url).then(function (response) {
if (response.result !== null)
response.result = JSON.parse(response.result);
return response;
});
});
}
getSuperAdmin() {
return __awaiter(this, void 0, void 0, function* () {
const url = 'apis/v4/bizgaze/crm/employees/getadminforsubscription';
return yield this.dataHelper().getAsync(url).then(function (response) {
if (response.result !== null)
response.result = JSON.parse(response.result);
return response;
});
});
}
static Instance() {
if (this._instance === undefined)
this._instance = new ItemManager();
return this._instance;
}
}
Managers.ItemManager = ItemManager;
})(Managers = Transact.Managers || (Transact.Managers = {}));
})(Transact = Apps.Transact || (Apps.Transact = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));