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 AddOpportunityItems extends Unibase.Platform.Core.BaseComponent { constructor() { super(...arguments); this._Opportunity = Bizgaze.Apps.Transact.Controls.Opportunity.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_OpportunityId = 0; this.g_Edit_OpportunityItemId = 0; this.g_RefStatusId = 0; this.g_FocItems = []; this.g_ItemIds = [0]; } init(formpropertyid, prop, callback) { let instance = this; instance.g_ItemIds = [0]; instance.loadControlSettings(prop.ControlJsonText, prop.FormPropertyId); instance.loadPropertySettings(prop.PropertySettings, prop.FormPropertyId); } loadControl(containerid, prop) { let instance = this; let html = '
' + '' + '' + '' + '' + '
' + '' + '

Item Details
Quantity
' + '
' + '
' + '' + '
'; $("#" + containerid).html(html); $("#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/opportunity/opportunityitem.component.js", "apps/transact/controls/opportunity/opportunity.component.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"]; instance.fileCacheHelper.loadJsFiles(jsFiles, function () { let opportunityItemId = Number($(".hdn_opportunityitemid").val()); instance.setVariables(); instance._Opportunity.getInventoryApplyType(instance.g_LobId, instance.g_BillingAddressId, instance.g_BranchId); instance._Opportunity.getOrderSettings(instance.g_LobId, instance.g_BillingAddressId, instance.g_BranchId); instance._OpportunityItems.itemSettings(true); if (opportunityItemId == 0) { instance.itemsAutoComplete(); $(".div_titledetails").addClass("hidden"); } instance.searchItemDesign(); let orgId = instance._Opportunity.g_OrganizationId; instance.itemChangeEvent(); if (opportunityItemId != 0) { instance.edit(opportunityItemId); } }); } loadControlSettings(controlsettingjson, formpropertyid) { return null; } loadPropertySettings(propertysettings, formpropertyid) { return null; } bindEditFormDetails(formpropertyid, propval, DocPropertyName) { return null; } setVariables() { var instance = this; instance._OpportunityItems = Bizgaze.Apps.Transact.Controls.OpportunityItem.Instance(); instance._Opportunity._OpportunityItems = Bizgaze.Apps.Transact.Controls.OpportunityItem.Instance(); instance._OpportunityItems.g_CartItems_New = []; instance._OpportunityItems.g_SelectedItems = []; instance._OpportunityItems.g_LoadedItems = []; instance._OpportunityItems.g_ItemsUnitPrice_New = []; instance._OpportunityItems.g_AppliedTaxGroups = []; instance._OpportunityItems.g_ValidFocItems = []; instance.g_Edit_OpportunityItemId = 0; instance._OpportunityItems.g_IsEnablePieces = false; instance._OpportunityItems.g_IsEnablePiecePrice = false; instance._OpportunityItems.g_IsEnableCompositePrice = false; instance._OpportunityItems.g_IsEnableCompositePiecePrice = 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._Opportunity.g_OrganizationId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_organizationid").Value); instance._Opportunity.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._Opportunity.g_OpportunityTypeId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_opportunitytypeid").Value); instance._Opportunity.g__OpportunityType = Bizgaze.Apps.Transact.Enums.OrderType[instance._Opportunity.g_OpportunityTypeId]; instance.g_OpportunityId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_opportunityid").Value); instance.g_BranchId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_branchid").Value); var OpportunityDate = InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_opportunitydate").Value.toString(); instance._OpportunityItems.g_OfferApplyDate = $.datepicker.parseDate('dd/mm/yy', OpportunityDate); if (instance._Opportunity.g_OpportunityTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesOpportunity) { instance._OpportunityItems.g_WarehouseId = instance.g_ShipFromAddressId; } else if (instance._Opportunity.g_OpportunityTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseOpportunity) { instance._OpportunityItems.g_WarehouseId = instance.g_ShippingAddressId; } if (instance._OpportunityItems.g_WarehouseId == null) { instance._OpportunityItems.g_WarehouseId = Number(instance.g_BranchId); } } searchItemDesign() { $(".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; $("#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._Opportunity.g_PriceCodeId), ContactId: instance.g_ContactId, ShippingAddressId: Number(instance.g_ShippingAddressId), BranchId: Number(instance.g_BranchId), WareHouseId: Number(instance._OpportunityItems.g_WarehouseId), LobId: Number(instance.g_LobId), OrderType: instance._Opportunity.g_OpportunityTypeId, 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, ItemIds: instance.g_ItemIds, }; 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; $(".txtAutoComplete_ItemId").change(function () { $("#div_ItemList").removeClass('hidden'); $(".div_titledetails").removeClass('hidden'); let SelectedItemId = $(this).val(); let ItemFound = false; const ItemIndex = instance._OpportunityItems.g_CartItems_New.findIndex(x => x.ItemId == SelectedItemId); if (ItemIndex != -1) { ItemFound = true; } if (!ItemFound) { instance.loadItems($("#bulk_txt_SearchItem").val(), SelectedItemId, null); } $(".txtAutoComplete_ItemId").text(''); }); } loadItems(searchtext, ItemId, OrderItems_res, OrderItemsEdit = false) { let instance = this; instance.g_ItemIds.push(Number(ItemId)); instance._Opportunity.getInventoryApplyType(instance.g_LobId, instance.g_BillingAddressId, instance.g_BranchId); instance._Opportunity.getOrderSettings(instance.g_LobId, instance.g_BillingAddressId, instance.g_BranchId); if (instance.g_ContactId == 0) { instance.g_ContactId = instance._Opportunity.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._Opportunity.g_PriceCodeId), contactId: instance.g_ContactId, ShippingAddressId: Number(instance.g_ShippingAddressId), BranchId: Number(instance.g_BranchId), WareHouseId: Number(instance._OpportunityItems.g_WarehouseId), LobId: Number(instance.g_LobId), orderType: Bizgaze.Apps.Transact.Controls.Opportunity.Instance().g_OpportunityTypeId, offerOnly: false, isExcise: false, query: searchtext, page: instance.g_PageIndex, IsCompositePrice: instance._OpportunityItems.g_IsEnableCompositePrice, rows: 10, ItemId: ItemId.toString() }; varianturl = Bizgaze.Apps.Transact.Managers.ItemManager.Instance().getVariantsForOrder(postdata); varianturl.then(function (response) { if (response.result.length > 0) { response.result.forEach(x => { let LoadedItem_Index = instance._OpportunityItems.g_LoadedItems.findIndex(z => z.ItemId == x.ItemId); if (LoadedItem_Index == -1) { instance._OpportunityItems.g_LoadedItems.push(x); } else { instance._OpportunityItems.g_LoadedItems[LoadedItem_Index].TaxPercentList = x.TaxPercentList; } }); instance.bindItemList(OrderItems_res); $('#lblItemTotalRecords').text(response.result.length); if (instance._OpportunityItems.g_CartItems_New.length > 10) { let elem = $('#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 $("#div_ItemList").html(''); }); }); } bindItemList(OrderItems_res) { let instance = this; $(".orderItemspage").removeClass("hidden"); $("#div_chkpieces").removeClass("hidden"); $("#div_ItemList").append('