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 Controls; (function (Controls) { class AddOrderItems extends Unibase.Platform.Core.BaseComponent { constructor() { super(...arguments); this._order = Bizgaze.Apps.Transact.Controls.Order.Instance(); this.g_ContactId = 0; this.g_CountryId = 0; this.g_LobId = 0; this.g_Tags = ""; this.g_PageIndex = 0; this.g_BranchId = 0; this.g_BillingAddressId = 0; this.g_ShippingAddressId = 0; this.g_ShipFromAddressId = 0; this.g_BillFromAddressId = 0; this.g_Edit_OrderItemId = 0; this.g_Edit_OrderItemData = []; this.g_RefStatusId = 0; this.g_FocItems = []; this.g_VisibleContainerId = ""; } init(formpropertyid, prop, callback) { let instance = this; instance.loadControlSettings(prop.ControlJsonText, prop.FormPropertyId); instance.loadPropertySettings(prop.PropertySettings, prop.FormPropertyId); } loadControl(containerid, prop) { let instance = this; instance.g_VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1]; let html = '
' + '' + '' + '' + '' + '
' + '' + '

'; html += `
`; html += '
Item Details
Quantity
'; $("#" + containerid).html(html); $("#" + containerid).find("#div_chkpieces").addClass("hidden"); let jsFiles = ["apps/transact/enums/enum.js", "apps/transact/managers/orders/ordermanager.js", "apps/transact/controls/pricelist/managers/pricelistmanager.js", "apps/transact/controls/orders/order.component.js", "apps/transact/controls/orders/orderitems.component.js", "libs/jquery/pagination/jquery.pagination.js", "apps/transact/managers/offers/offermanager.js", "apps/transact/components/orders/orderfilter.js", "apps/transact/components/invoices/itemofferselection.js", "platform/core/helpers/numberhelper/numberhelper.js", "apps/transact/components/invoices/itemofferselection.js", "apps/transact/controls/invoices/invoiceitem.component.js", "apps/paybacks/managers/schememanager.js"]; instance.fileCacheHelper.loadJsFiles(jsFiles, function () { instance._order.g_VisibleContainerId = instance.g_VisibleContainerId; let orderItemId = Number($("#" + instance.g_VisibleContainerId).find(".hdn_orderitemid").val()); instance.setVariables(); instance._order.checkPermissions(); instance._order.getInventoryApplyType(instance.g_LobId, instance.g_BillingAddressId, instance.g_BranchId); instance._order.getOrderSettings(instance.g_LobId, instance.g_BillingAddressId, instance.g_BranchId); instance._orderItems.g_VisibleContainerId = instance.g_VisibleContainerId; instance._orderItems.itemSettings(true); if (orderItemId == 0) { instance.itemsAutoComplete(); $("#" + instance.g_VisibleContainerId).find(".div_titledetails").addClass("hidden"); } instance.searchItemDesign(); let orgId = instance._order.g_OrganizationId; instance._order.getPriceCodeDetails(orgId, instance._order.g_OrgContactId, instance.g_LobId); instance.itemChangeEvent(); if (orderItemId != 0) { instance.edit(orderItemId); } }); } loadControlSettings(controlsettingjson, formpropertyid) { return null; } loadPropertySettings(propertysettings, formpropertyid) { return null; } bindEditFormDetails(formpropertyid, propval, DocPropertyName) { return null; } setVariables() { var instance = this; instance._orderItems = Bizgaze.Apps.Transact.Controls.OrderItems.Instance(); instance._order._orderItems = Bizgaze.Apps.Transact.Controls.OrderItems.Instance(); instance._orderItems.g_CartItems_New = []; instance._orderItems.g_SelectedItems = []; instance._orderItems.g_LoadedItems = []; instance._orderItems.g_ItemsUnitPrice_New = []; instance._orderItems.g_AppliedTaxGroups = []; instance._orderItems.g_ValidFocItems = []; instance.g_Edit_OrderItemId = 0; instance._orderItems.g_IsEnablePieces = false; instance._orderItems.g_IsEnablePiecePrice = false; instance._orderItems.g_IsEnableCompositePrice = false; instance._orderItems.g_IsEnableCompositePiecePrice = false; instance._order.g_IsSC_to_PC = false; instance.g_FocItems = []; let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; let InputParameters = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters; instance.g_LobId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_lobid").Value); instance.g_ShipFromAddressId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_shipfromaddressid").Value); instance.g_ShippingAddressId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_shippingaddressid").Value); instance._order.g_OrganizationId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_organizationid").Value); instance._order.g_OrgContactId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_orgcontactid").Value); instance.g_BillingAddressId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_billingaddressid").Value); instance._order.g_OrderTypeId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_ordertypeid").Value); instance._order.g_OrderType = Bizgaze.Apps.Transact.Enums.OrderType[instance._order.g_OrderTypeId]; instance._order.g_OrderId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_orderid").Value); instance.g_BranchId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_branchid").Value); var OrderDate = InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_orderdate").Value.toString(); instance._orderItems.g_OfferApplyDate = $.datepicker.parseDate('dd/mm/yy', OrderDate); instance._orderItems.g_FromWidget = true; instance._orderItems.g_FromWidgetEditOrderItemId = 0; Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getOrderDetails(instance._order.g_OrderId).then(function (ord_res) { if (ord_res.result != null) { instance._order.g_IsPointsOrder = ord_res.result.IsPointsOrder; if (instance._order.g_IsPointsOrder) { Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().getloyaltypointsbycontactid(instance._order.g_OrganizationId).then(function (loy_res) { if (loy_res.result != null) { instance._order.g_LoyaltyPoints = loy_res.result.Points; } }); } let UserId = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().userId; Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getEmployeeLeverage(UserId, instance.g_LobId).then(function (emplev_res) { if (emplev_res.result != null) { instance._order.g_LeveragePercent = emplev_res.result.LeveragePercent; instance._order.g_IsLeverageApplied = true; } instance.g_BranchId = ord_res.result.BranchId; if (instance._order.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Sales || instance._order.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesClaim) { instance._orderItems.g_WarehouseId = instance.g_ShipFromAddressId; } else if (instance._order.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Purchase || instance._order.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseClaim) { instance._orderItems.g_WarehouseId = instance.g_ShippingAddressId; } if (instance._orderItems.g_WarehouseId == "null" || instance._orderItems.g_WarehouseId == null) { instance._orderItems.g_WarehouseId = Number(instance.g_BranchId); } }); } }); } searchItemDesign() { let instance = this; $("#" + instance.g_VisibleContainerId).find(".section_Item").after(' '); } getTags() { return __awaiter(this, void 0, void 0, function* () { let instance = this; let TagGroupId = Bizgaze.Apps.Transact.Controls.Order.Instance().g_TagGroupId; let OrganizationId = Bizgaze.Apps.Transact.Controls.Order.Instance().g_OrganizationId; Unibase.Platform.Forms.Managers.TagManager.Instance().GetTagsByRefId(OrganizationId, TagGroupId).then(function (response) { let data = response.result; let options = ''; let tags = ''; for (let i = 0; i < data.length; i++) { if (data[i] != undefined) { options += data[i].TagId + "|"; } } if (options != '') { options = options.replace(/\|$/, ''); tags = options; } if (tags != '') { tags = tags.replace(/\:$/, ''); } instance.g_Tags = tags; }); }); } itemsAutoComplete() { return __awaiter(this, void 0, void 0, function* () { var instance = this; yield instance.getTags().then(function () { let userinfo = Unibase.Platform.Membership.Infos.Identity.getCurrentUser(); let sessionid = userinfo.sessionId; let postData = null; $("#" + instance.g_VisibleContainerId).find("#txtAutoComplete_ItemId").select2({ placeholder: "Select", tags: false, allowClear: true, theme: "default select2ErrorClass", data: [], ajax: { url: function (request) { let reqUrl = _appsettings.server_url() + "/apis/v4/bizgaze/transact/items/itemsautocompletefororder"; return reqUrl; }, type: "POST", contentType: 'application/json', dataType: 'json', data: function (params) { let Term = params.term; sessionid = sessionid.replace('#', ''); postData = { PriceCodeId: Number(instance._order.g_PriceCodeId), ContactId: instance.g_ContactId, ShippingAddressId: Number(instance.g_ShippingAddressId), BranchId: Number(instance.g_BranchId), WareHouseId: Number(instance._orderItems.g_WarehouseId), LobId: Number(instance.g_LobId), OrderType: instance._order.g_OrderTypeId, OfferOnly: false, IsExcise: false, SearchTerm: Term, Page: 0, IsCompositePrice: false, Rows: 10, ItemId: "0", CountryId: instance.g_CountryId, ItemGroupId: 0, Tags: instance.g_Tags, authToken: sessionid, term: Term, IsPoints: instance._order.g_IsPointsOrder }; return JSON.stringify(postData); }, beforeSend: function (xhr) { if (userinfo !== undefined && userinfo !== null) { xhr.setRequestHeader("Authorization", "Basic " + userinfo.sessionId); xhr.setRequestHeader('geoposition', userinfo.latd + ':' + userinfo.lgId); } }, processResults: function (data) { return { results: jQuery.map(JSON.parse(data.result), function (item) { return { id: item.Value, text: item.SelectText, addlInfo: item.addlData }; }) }; }, }, }); }); }); } itemChangeEvent() { var instance = this; $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_ItemId").change(function () { $("#" + instance.g_VisibleContainerId).find("#div_ItemList").removeClass('hidden'); $("#" + instance.g_VisibleContainerId).find(".div_titledetails").removeClass('hidden'); let SelectedItemId = $("#" + instance.g_VisibleContainerId).find(this).val(); let ItemFound = false; const ItemIndex = instance._orderItems.g_CartItems_New.findIndex(x => x.ItemId == SelectedItemId); if (ItemIndex != -1) { ItemFound = true; } if (!ItemFound) { instance.loadItems($("#" + instance.g_VisibleContainerId).find("#bulk_txt_SearchItem").val(), SelectedItemId, null); } $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_ItemId").text(''); }); } loadItems(searchtext, ItemId, OrderItems_res, OrderItemsEdit = false) { let instance = this; if (instance._orderItems.g_CartItems_New.length == 0) { instance._order.getInventoryApplyType(instance.g_LobId, instance.g_BillingAddressId, instance.g_BranchId, true); instance._order.getOrderSettings(instance.g_LobId, instance.g_BillingAddressId, instance.g_BranchId); } if (instance.g_ContactId == 0) { instance.g_ContactId = instance._order.g_OrganizationId; } if (ItemId == undefined || ItemId == "") ItemId = "undefined"; if (searchtext == undefined || searchtext == "") searchtext = "null"; let varianturl; instance.fileCacheHelper.loadJsFile("apps/transact/managers/inventory/itemmanager.js", function () { let postdata = { priceCodeId: Number(instance._order.g_PriceCodeId), contactId: instance.g_ContactId, ShippingAddressId: Number(instance.g_ShippingAddressId), BranchId: Number(instance.g_BranchId), WareHouseId: Number(instance._orderItems.g_WarehouseId), LobId: Number(instance.g_LobId), orderType: Bizgaze.Apps.Transact.Controls.Order.Instance().g_OrderTypeId, offerOnly: false, isExcise: false, query: searchtext, page: instance.g_PageIndex, IsCompositePrice: instance._orderItems.g_IsEnableCompositePrice, rows: 10, ItemId: ItemId.toString(), IsPoints: instance._order.g_IsPointsOrder, }; varianturl = Bizgaze.Apps.Transact.Managers.ItemManager.Instance().getItemsForOrder(postdata); varianturl.then(function (response) { if (response.result.length > 0) { response.result.forEach(x => { let LoadedItem_Index = instance._orderItems.g_LoadedItems.findIndex(z => z.ItemId == x.ItemId); if (LoadedItem_Index == -1) { instance._orderItems.g_LoadedItems.push(x); } else { instance._orderItems.g_LoadedItems[LoadedItem_Index].TaxPercentList = x.TaxPercentList; } }); instance.bindItemList(OrderItems_res, ItemId); $("#" + instance.g_VisibleContainerId).find('#lblItemTotalRecords').text(response.result.length); if (instance._orderItems.g_CartItems_New.length > 10) { let elem = $("#" + instance.g_VisibleContainerId).find('#ItemsListPagination'); elem.pagination(response.result.length, 10, { items_per_page: 10, callback: function (page, component) { instance.g_PageIndex = page; instance.loadItems(searchtext, response.result.ItemId, response.result); }, current_page: instance.g_PageIndex }); } } else $("#" + instance.g_VisibleContainerId).find("#div_ItemList").html(''); }); }); } bindItemList(OrderItems_res, ItemId) { let instance = this; $("#" + instance.g_VisibleContainerId).find(".orderItemspage").removeClass("hidden"); $("#" + instance.g_VisibleContainerId).find("#div_chkpieces").removeClass("hidden"); $("#" + instance.g_VisibleContainerId).find("#div_ItemList").append('