123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585 |
- 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 = '<div class="col-sm-12 ItemsDiv">' +
- '<input type = "hidden" id = "hdn_customcontrol" class="value-control" value = "Bizgaze.Apps.Transact.Controls.AddOpportunityItems.Instance().getOpportunityItems();"' +
- '<div class="floating-label-form-group div_SearchItem">' +
- '<label for="lbl" id="lbl_ItemId" style="color:grey">Item Name</label>' +
- '<select id="txtAutoComplete_ItemId" class="form-control text-control txtAutoComplete_ItemId">Select</select>' +
- '<input type="hidden" id="hfAutoComplete_ItemId" class="form-control value-control" data-isdynamic="true"/>' +
- '</div>' +
- '</div>' +
- '<br/><div class="row" id="div_chkpieces"><div class="col-sm-3 hidden divselectall"><div class="custom-control custom-checkbox divselectall checkbox-primary"><input type="checkbox" class="custom-control-input" id="chk_AllItems"><label class="custom-control-label" for="chk_AllItems">Select All</label></div></div><div class="col-sm-4 div_chk_Packs hidden"><div class="custom-control custom-checkbox divEnablePacks checkbox-primary"><input type="checkbox" class="custom-control-input" id="chk_Packs"><label class="custom-control-label" for="chk_Packs">Enable Packs</label></div></div><div class="col-sm-4 div_chk_Pieces hidden"><div class="custom-control custom-checkbox divEnablePieces checkbox-primary"><input type="checkbox" class="custom-control-input" id="chk_Pieces"><label class="custom-control-label" for="chk_Pieces">Enable Pieces</label></div></div><div class="col-sm-4 hidden div_chk_CompositePrice"><div class="custom-control custom-checkbox checkbox-primary"><input type="checkbox" class="custom-control-input" id="chk_CompositePrice"><label class="custom-control-label" for="chk_CompositePrice">Enable Composite Price</label></div></div><div class="col-sm-4 hidden div_chk_PiecePrice"><div class="custom-control custom-checkbox checkbox-primary"><input type="checkbox" class="custom-control-input" id="chk_PiecePrice"><label class="custom-control-label" for="chk_PiecePrice">Enable Piece Price</label></div></div></div><br /><div class="d-none d-md-block"><div class="row div_titledetails"><div class="col-sm-7 pl-80">Item Details</div><div class="col-sm-5 Inventory_Title text-center"><span id="spn_InventoryTitle" class="col-sm-5 ml-35">Quantity</span><span id="spn_picesTitle" class="col-sm-5 pull-right hidden"> Pieces</span></div></div></div><div class="mt-2" id="div_ItemList"></div>' +
- '<div id="Items"></div>' +
- '<div class="pull-right">' +
- '<div id = "ItemsListPagination" class="mt-10 pagination custom-pagination pagination-rounded pull-right" > </div>' +
- '</div>';
- $("#" + 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('<input type="hidden" id="hfInventoryApplyType" value="1" /> <input type="hidden" id="hfOrder_PriceCodeId" value="0" /><div class="hidden" id="div_ItemList"><ul class="variant-list list-group card"><li class="row card-body"><div class="col-sm-12"><div class="row" id="div_chkpieces"><div class="col-sm-4 div_chk_Packs hidden"><div class="custom-control custom-checkbox divEnablePacks checkbox-primary"><input type="checkbox" class="custom-control-input" id="chk_Packs"><label class="custom-control-label" for="chk_Packs">Enable Packs</label></div></div><div class="col-sm-4 hidden"><div class="custom-control custom-checkbox divEnablePieces hidden checkbox-primary"><input type="checkbox" class="custom-control-input" id="chk_Pieces"><label class="custom-control-label" for="chk_Pieces">Enable Pieces</label></div></div><div class="col-sm-4 hidden"><div class="custom-control custom-checkbox checkbox-primary"><input type="checkbox" class="custom-control-input" id="chk_CompositePrice"><label class="custom-control-label" for="chk_CompositePrice">Enable Composite Price</label></div></div><div class="col-sm-4 hidden"><div class="custom-control custom-checkbox checkbox-primary"><input type="checkbox" class="custom-control-input" id="chk_PiecePrice"><label class="custom-control-label" for="chk_PiecePrice">Enable Piece Price</label></div></div></div></div></li><li class="variant-item hidden"></li></ul></div>');
- }
- 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('<ul class="variant-list list-group"><li class="variant-item"><div class="text-center">Items not found.</div></li></ul>');
- });
- });
- }
- bindItemList(OrderItems_res) {
- let instance = this;
- $(".orderItemspage").removeClass("hidden");
- $("#div_chkpieces").removeClass("hidden");
- $("#div_ItemList").append('<ul class="variant-list list-group"><li class="variant-item hidden"></li>');
- if (OrderItems_res != null) {
- if (OrderItems_res.Pieces > 0) {
- instance._OpportunityItems.g_IsEnablePieces = true;
- $("#chk_Pieces").prop("checked", true);
- $("#chk_Pieces").prop("disabled", true);
- }
- if (OrderItems_res.Packs > 0) {
- instance._OpportunityItems.g_IsEnablePacks = true;
- $("#chk_Packs").prop("checked", true);
- $("#chk_Packs").prop("disabled", true);
- }
- }
- let html = instance._OpportunityItems.N_getItemDesign(instance._OpportunityItems.g_LoadedItems[instance._OpportunityItems.g_LoadedItems.length - 1], true);
- $(".variant-item:last").after(html);
- let elem = $(".variant-item:last");
- if (instance.g_Edit_OpportunityItemId != 0) {
- instance.editOpportunityItem(OrderItems_res);
- instance._OpportunityItems.checkOffers(true, "FromWidget");
- $(".defaultSelectedCartons").addClass("floating-label-form-group-with-value");
- }
- else {
- instance._OpportunityItems.N_AllItemEvents(elem);
- }
- }
- edit(OppItemId) {
- var instance = this;
- instance.g_Edit_OpportunityItemId = OppItemId;
- $(".ItemsDiv").addClass("hidden");
- instance.fileCacheHelper.loadJsFile("apps/transact/managers/opportunity/opportunitymanager.js", function () {
- Bizgaze.Apps.Transact.Managers.OpportunityManager.Instance().getOpportunityItems(OppItemId).then(function (response) {
- let data = response.result;
- if (response.message != null && response.message != "") {
- Unibase.Platform.Forms.Components.FormViewer.Instance().showError(response.message);
- }
- instance._Opportunity.g_IsTaxInclusive = data.IsTaxInclusive;
- if (response.result.FocItems != null && response.result.FocItems != "") {
- let FocItems = response.result.FocItems.split(",");
- for (let f = 0; f < FocItems.length; f++) {
- let FocInfo = FocItems[f].split(":");
- let OrderItemId = Number(FocInfo[0]);
- let ItemId = Number(FocInfo[1]);
- instance.g_FocItems.push({ OrderItemId: OrderItemId, ItemId: ItemId });
- instance._OpportunityItems.g_ValidFocItems.push({ ItemId: ItemId, RefItemIds: data.ItemId });
- }
- }
- instance.loadItems(null, data.ItemId, data, true);
- });
- });
- }
- editOpportunityItem(OrderItems_res) {
- let instance = this;
- let data = OrderItems_res;
- let LoadedItem = instance._OpportunityItems.g_LoadedItems.find(x => x.ItemId == data.ItemId);
- LoadedItem.UnitPrice = data.UnitPrice;
- let Amount = 0, UnitPrice = data.UnitPrice, BaseQty = 0, DiscountAmount = 0, AfterDiscountValue = 0, TaxRateAmount = 0, IsTaxError = false, optoutAmount = 0, TaxAmount = 0;
- let DiscountType = data.DiscountPercent != 0 ? 1 : 2;
- let elem = $(".variant-addeditem-" + data.ItemId);
- if (DiscountType == 1) {
- DiscountAmount = Number($(elem).find("#txt_editItemPrice").val()) * Number(LoadedItem.DiscountPercent / 100);
- AfterDiscountValue = Number($(elem).find("#txt_editItemPrice").val()) - Number(DiscountAmount);
- }
- else if (DiscountType == 2) {
- DiscountAmount = LoadedItem.DiscountValue;
- AfterDiscountValue = Number($(elem).find("#txt_editItemPrice").val()) - LoadedItem.DiscountValue;
- }
- let Items_up = instance._OpportunityItems.g_ItemsUnitPrice_New.find(x => x.ItemId == data.ItemId);
- Items_up.UnitPrice = UnitPrice;
- if (Items_up.length == 0) {
- instance._OpportunityItems.g_ItemsUnitPrice_New.push({
- ItemId: data.ItemId,
- UnitPrice: UnitPrice,
- TaxRateAmount: 0
- });
- }
- if (instance._Opportunity.g_InventoryApplyType == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Quantity) {
- BaseQty = Number(data.Quantity);
- }
- else {
- if (instance._OpportunityItems.g_IsEnablePiecePrice) {
- BaseQty = Number(LoadedItem.PackCount) * Number(data.Packs);
- }
- else {
- BaseQty = Number(LoadedItem.PackCount) * Number(LoadedItem.PackSize) * Number(data.Packs) + (data.Pieces * LoadedItem.PackSize);
- }
- }
- if (OrderItems_res.PriceTypeId == Bizgaze.Apps.Transact.Enums.PriceType.PiecePrice) {
- instance._OpportunityItems.g_IsEnablePiecePrice = true;
- instance._OpportunityItems.g_IsEnableCompositePiecePrice = false;
- instance._OpportunityItems.g_IsEnableCompositePrice = false;
- }
- else if (OrderItems_res.PriceTypeId == Bizgaze.Apps.Transact.Enums.PriceType.CompositePrice) {
- instance._OpportunityItems.g_IsEnablePiecePrice = false;
- instance._OpportunityItems.g_IsEnableCompositePiecePrice = false;
- instance._OpportunityItems.g_IsEnableCompositePrice = true;
- }
- else if (OrderItems_res.PriceTypeId == Bizgaze.Apps.Transact.Enums.PriceType.Both) {
- instance._OpportunityItems.g_IsEnablePiecePrice = false;
- instance._OpportunityItems.g_IsEnableCompositePiecePrice = true;
- instance._OpportunityItems.g_IsEnableCompositePrice = false;
- }
- else {
- instance._OpportunityItems.g_IsEnablePiecePrice = false;
- instance._OpportunityItems.g_IsEnableCompositePiecePrice = false;
- instance._OpportunityItems.g_IsEnableCompositePrice = false;
- }
- if (instance._OpportunityItems.g_IsEnableCompositePiecePrice) {
- Amount = (UnitPrice * Number(BaseQty)) + Number(LoadedItem.TaxRate);
- if (Number(BaseQty) == 0)
- Amount = 0;
- UnitPrice = LoadedItem.CompositePiecePrice;
- $("#chk_PiecePrice").prop("checked", true);
- $("#chk_CompositePrice").prop("checked", true);
- }
- else if (instance._OpportunityItems.g_IsEnableCompositePrice) {
- let amnt = Number(UnitPrice) * Number(LoadedItem.TaxPercentage) / 100;
- TaxRateAmount = Number(UnitPrice) + Number(amnt);
- Amount = Number(BaseQty) * TaxRateAmount;
- UnitPrice = LoadedItem.CompositePrice;
- $("#chk_PiecePrice").prop("checked", false);
- $("#chk_CompositePrice").prop("checked", true);
- }
- else if (instance._OpportunityItems.g_IsEnablePiecePrice) {
- Amount = Number(BaseQty) * UnitPrice;
- UnitPrice = LoadedItem.PiecePrice;
- $("#chk_PiecePrice").prop("checked", true);
- $("#chk_CompositePrice").prop("checked", false);
- }
- else {
- Amount = Number(BaseQty) * UnitPrice;
- }
- Items_up.TaxRateAmount = TaxRateAmount;
- let AssessableAmount = Number(Amount);
- let DiscAmount = Number((Amount * data.DiscountPercent) / 100) + Number(data.DiscountValue);
- let discAmt = DiscAmount + Number(optoutAmount);
- AssessableAmount = Number(AssessableAmount) - Number(discAmt);
- let AmountWithDiscount = Number(Amount) - Number(DiscAmount);
- let StrTaxPercents = "";
- if (instance._Opportunity.g_IsCalculateTax) {
- if (LoadedItem.TaxGroupId == 0) {
- IsTaxError = true;
- }
- else {
- for (let p = 0; p < LoadedItem.TaxPercentList.length; p++) {
- let percen = LoadedItem.TaxPercentList[p];
- let tax = AssessableAmount * percen.Percentage / 100;
- TaxAmount += tax;
- }
- StrTaxPercents = LoadedItem.strTaxPercents;
- if (instance._OpportunityItems.g_IsEnablePiecePrice) {
- UnitPrice = LoadedItem.PiecePrice;
- }
- if (instance._OpportunityItems.g_IsEnableCompositePrice) {
- UnitPrice = LoadedItem.CompositePrice;
- }
- if (instance._OpportunityItems.g_IsEnableCompositePiecePrice) {
- UnitPrice = LoadedItem.CompositePiecePrice;
- }
- }
- }
- let Quantity = 0;
- if (instance._Opportunity.g_InventoryApplyType == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Quantity) {
- Quantity = data.Quantity;
- }
- else {
- Quantity = ((LoadedItem.PackCount * LoadedItem.PackSize) * data.Packs) + (data.Pieces * LoadedItem.PackSize);
- }
- let ItemIndex = instance._OpportunityItems.g_CartItems_New.length + 1;
- instance._OpportunityItems.g_CartItems_New.push({
- OpportunityItemId: data.OpportunityItemId,
- ItemIndex: ItemIndex,
- ItemId: data.ItemId,
- ItemName: LoadedItem.ItemName,
- Packs: data.Packs,
- Pieces: data.Pieces,
- PriceListId: data.PriceListId,
- UnitPrice: UnitPrice,
- UnitPriceWithOutTax: data.UnitPrice,
- ExpectedPrice: data.UnitPrice,
- ActualPrice: data.UnitPrice,
- PackCount: LoadedItem.PackCount,
- PackSize: LoadedItem.PackSize,
- UnitName: LoadedItem.UnitName,
- Quantity: Quantity,
- SKU: LoadedItem.SKU,
- PartNo: LoadedItem.PartNo,
- Amount: Amount,
- AmountWithDiscount: AmountWithDiscount,
- DiscountPercent: data.DiscountPercent,
- DiscountValue: data.DiscountValue,
- DiscountType: DiscountType,
- DiscountAmount: DiscountAmount,
- ItemValueAfterDiscount: AfterDiscountValue,
- StrTaxPercents: StrTaxPercents,
- AvailableQuantity: LoadedItem.AvailableQuantity,
- AvailablePacks: LoadedItem.AvailablePacks,
- AvailablePieces: LoadedItem.AvailablePieces,
- TotalAvailablePieces: LoadedItem.TotalAvailablePieces,
- ExchangeDC: data.ExchangeDC,
- IsAfterTax: data.IsAfterTax,
- BaseQty: data.Quantity,
- IsFocItem: data.IsFoc,
- optoutAmount: optoutAmount,
- TaxGroupId: LoadedItem.TaxGroupId,
- TaxGroupName: LoadedItem.TaxGroupName,
- TaxAmount: TaxAmount,
- TaxRateAmount: LoadedItem.TaxRateAmount,
- TaxRate: LoadedItem.TaxRate,
- TaxPercentage: LoadedItem.TaxPercentage,
- IsOfferAvailable: LoadedItem.IsOfferAvailable,
- Description: data.Description == undefined ? "" : data.Description,
- Discountable: LoadedItem.Discountable,
- PiecePrice: LoadedItem.PiecePrice,
- CompositePrice: LoadedItem.CompositePrice,
- CompositePiecePrice: LoadedItem.CompositePiecePrice,
- IsCheckPendingItems: true,
- IsError: false,
- ErrorMsg: "",
- ErrorClass: "text-danger",
- IsTaxError: IsTaxError,
- IsLeverageError: false,
- IsFocAdded: false,
- RefItemIds: "",
- RefItemSKUs: "",
- FocItemIds: "",
- DiscountGroupId: 0,
- IsOfferDiscountApplied: false,
- AppliedOfferVolume: 0,
- optoutOfferGroupId: 0,
- SuggestedPacks: 0,
- MinPacks: 0,
- AvgPacks: 0,
- InwardOrderPacks: 0,
- OutwardOrderPacks: 0,
- IsMultipleUOMs: LoadedItem.IsMultipleUOMs,
- UOMSchemaId: LoadedItem.UOMSchemaId,
- MultipleUOMs: LoadedItem.MultipleUOMs,
- SelectedUnitId: data.AlternateUnitId,
- DefaultSize: data.DefaultSize,
- IsBoMAvailable: LoadedItem.IsBoMAvailable,
- UOMQuantity: Quantity
- });
- instance._OpportunityItems.g_SelectedItems = instance._OpportunityItems.g_CartItems_New;
- instance._OpportunityItems.N_UpdateItemsDesign(elem, "FromWidget");
- }
- getOpportunityItems() {
- let instance = this;
- let ItemList = instance._OpportunityItems.GetOpportunityItems(instance.g_OpportunityId);
- if (instance._OpportunityItems.g_CartItems_New.length == 0 && $(".variant-addeditem").length
- == 0) {
- Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Select Item");
- return false;
- }
- let cartItem_WithZeroQuantity = instance._OpportunityItems.g_CartItems_New.filter(x => x.Quantity == 0);
- let InventoryTitle = $("#spn_InventoryTitle").text();
- if ($(".variant-list").find(".list-group-item").length > instance._OpportunityItems.g_CartItems_New.length) {
- Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Select " + InventoryTitle);
- return false;
- }
- else if (cartItem_WithZeroQuantity.length > 0) {
- Unibase.Platform.Forms.Components.FormViewer.Instance().showError(InventoryTitle + " can't be zero");
- return false;
- }
- else {
- return ItemList;
- }
- }
- static Instance() {
- if (this.instance === undefined) {
- this.instance = new AddOpportunityItems();
- }
- return this.instance;
- }
- }
- Controls.AddOpportunityItems = AddOpportunityItems;
- })(Controls = Transact.Controls || (Transact.Controls = {}));
- })(Transact = Apps.Transact || (Apps.Transact = {}));
- })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
- })(Bizgaze || (Bizgaze = {}));
|