123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423 |
- 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 EstimateItems extends Unibase.Platform.Core.BaseComponent {
- constructor() {
- super(...arguments);
- this._estimate = Bizgaze.Apps.Transact.Controls.Estimate.Instance();
- this.g_ValidFocItems = [];
- this.g_SelectedItems = [];
- this.g_AppliedOffers = [];
- this.g_LoadedItems = [];
- this.g_PurPlanData = [];
- this.g_UOMs = [];
- this.g_ItemsUnitPrice_New = [];
- this.g_AppliedTaxGroups = [];
- this.g_PageIndex = 0;
- this.g_PriceTypeId = 1;
- this.g_IsEnablePieces = false;
- this.g_IsEnablePacks = false;
- this.g_IsEnablePiecePrice = false;
- this.g_IsEnableCompositePrice = false;
- this.g_IsEnableCompositePiecePrice = false;
- this.g_BodyWidth = $('body').width();
- this.g_IsExcise = false;
- this.g_PacksFocus = true;
- this.g_PiecesFocus = false;
- this.g_OfferApplyDate = new Date();
- this.g_FromContinueShopping = false;
- this.g_FromWidget = false;
- this.g_IsFilterApplied = false;
- this.g_VisibleContainerId = "";
- this.g_ContainerId = "";
- this.g_TagArray = [];
- this.g_IsShowManagePrice = true;
- }
- init(formpropertyid, prop, callback) {
- let instance = this;
- instance.fileCacheHelper.loadJsFile("apps/transact/enums/enum.js", function () {
- instance.loadControlSettings(prop.ControlJsonText, prop.FormPropertyId);
- instance.loadPropertySettings(prop.PropertySettings, prop.FormPropertyId);
- });
- }
- loadControl(containerid, prop) {
- let instance = this;
- instance.g_ContainerId = containerid;
- instance.g_VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
- instance._estimate.g_EstimateTypeId = Number($(".hdn_estimatetypeid").val());
- let html = '<div class="col-sm-12">' +
- '<input type = "hidden" id = "hdn_customcontrol" class="value-control" value = "Bizgaze.Apps.Transact.Controls.EstimateItems.Instance().getEstimateItems();"' +
- '<div class="floating-label-form-group div_SearchItem">' +
- '<label for="txt_SearchItem" id="lbl_SearchItem">Search Items </label>' +
- '<div class="input-group">' +
- '<span class="input-group-prepend"></span>' +
- '<input type="search" id="txt_SearchItem" class="form-control floating-label-control" data-isdynamic="false" placeholder="Search Items" data-placeholder="Item Name (or) SKU" data-label="Search Items" autocomplete="on" />' + '<a href="javascript:;" id="crpnrd_btn_OpenScanner" class="input-group-append helo" ><span class="input-group-text" > <i class="fa fa-qrcode" > </i></span ></a>' + `<a href = "javascript:;" class="search-clear-items d-none " id = "` + containerid + `" onclick="Bizgaze.Apps.Transact.Controls.EstimateItems.Instance().clearItemSearch()"> <i class="zmdi zmdi-close"></i></a> ` +
- '<span class="input-group-prepend input-group-btn">';
- instance.fileCacheHelper.loadJsFile("apps/transact/enums/enum.js", function () {
- html += '<select id="ItemLoadType"><option value="1">All Items</option><option value="2">Offers</option><option value="3">Filter</option></select>';
- html += '</span>' +
- '</div>' +
- '</div>' +
- '</div>' +
- '<br/> <div class="InventorySettings"> </div>';
- $("#" + containerid).html(html);
- instance.ItemsQrScan();
- });
- $("#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");
- }
- });
- $("#ItemLoadType").unbind().click(function () {
- $(".div_SearchItem").removeClass("floating-label-form-group-with-value");
- });
- $("#txt_SearchItem").focusout(function () {
- if ($("#txt_SearchItem").val() == "") {
- $("#txt_SearchItem").attr("placeholder", "Search Items");
- }
- });
- }
- loadControlSettings(controlsettingjson, formpropertyid) {
- return null;
- }
- loadPropertySettings(propertysettings, formpropertyid) {
- return null;
- }
- bindEditFormDetails(formpropertyid, propval, DocPropertyName) {
- return null;
- }
- ItemsQrScan() {
- $("#crpnrd_btn_OpenScanner").addClass("hidden");
- if (isMobileApp()) {
- $("#crpnrd_btn_OpenScanner").removeClass("hidden");
- $("#crpnrd_btn_OpenScanner").click(function () {
- Unibase.Platform.Helpers.MobileHelper.Instance().openQrScanner("Bizgaze.Apps.Transact.Controls.OrderItems.Instance().readScanner", "txt_SearchItem");
- });
- }
- else {
- $("#crpnrd_btn_OpenScanner").addClass("hidden");
- }
- }
- loadItems(SearchItem, OrganizationId, LoBId, ShipTo, BranchId, UpdateAvailability = false) {
- let instance = this;
- if (SearchItem == "Offers" || SearchItem == "All Items" || SearchItem == "Filter" || SearchItem == "Eligible Items") { }
- else
- SearchItem = (encodeURIComponent(encodeURIComponent(SearchItem).replace('*', '%2A').replace('.', '%2E'))).replace(/\%/g, '!');
- if (SearchItem == undefined || SearchItem == '') {
- SearchItem = ' ';
- }
- if (SearchItem == "Offers") {
- instance._estimate.g_LoadOffersOnly = true;
- SearchItem = '';
- if (instance.g_IsFilterApplied) {
- instance.g_IsFilterApplied = false;
- instance.g_FilteredTags = '';
- instance.g_TagArray = [];
- Bizgaze.Apps.Transact.Components.EstimateFilter.Instance().g_Tags = "";
- }
- }
- else if (SearchItem == "All Items") {
- instance._estimate.g_LoadOffersOnly = false;
- instance.g_FilteredTags = '';
- instance.g_TagArray = [];
- Bizgaze.Apps.Transact.Components.EstimateFilter.Instance().g_Tags = "";
- SearchItem = "";
- }
- else if (SearchItem == "Filter") {
- instance._estimate.g_LoadOffersOnly = false;
- }
- let PriceCodeId = instance._estimate.g_PriceCodeId;
- let ContactId = OrganizationId;
- if (ContactId != undefined || ContactId != "") {
- }
- else
- ContactId = " ";
- if (instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate || instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesContract) {
- instance.g_WarehouseId = $(".txtAutoComplete_shipfromaddressid").val();
- }
- else if (instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseEstimate || instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseContract) {
- instance.g_WarehouseId = $(".txtAutoComplete_shippingaddressid").val();
- }
- let varianturl;
- if (SearchItem.replace(" ", "") == "") {
- SearchItem = null;
- }
- if (Number(LoBId) == 0) {
- $(".InventorySettings").empty();
- $("#ulOrder_Cart").html('<li id="0" class="cartitem list-group-item col-xs-12 hidden clear no-border"></li> <li class="list-group-item col-xs-12 no-border EmptyCartLi"><strong>Your Shopping Cart is empty.</strong></li>');
- }
- else {
- instance.fileCacheHelper.loadJsFile("apps/transact/managers/inventory/itemmanager.js", function () {
- if (instance._estimate.g_IsLead) {
- ShipTo = BranchId;
- }
- let ItemIds = "0";
- let Rows = 10;
- if (instance._estimate.g_IsFromPurchaseIndent) {
- ItemIds = "";
- instance.g_CartItems_New.forEach(x => {
- ItemIds += x.ItemId + ",";
- });
- ItemIds = ItemIds.replace(/,\s*$/, "");
- Rows = 0;
- $('.section_Items').addClass('hidden');
- }
- let postdata = {
- PriceCodeId: Number(PriceCodeId),
- ContactId: ContactId,
- ShippingAddressId: Number(ShipTo),
- BranchId: Number(BranchId),
- WareHouseId: Number(instance.g_WarehouseId),
- LobId: Number(LoBId),
- OrderType: instance._estimate.g_EstimateTypeId,
- OfferOnly: instance._estimate.g_LoadOffersOnly,
- IsExcise: instance.g_IsExcise,
- SearchTerm: SearchItem,
- Page: instance.g_PageIndex,
- IsCompositePrice: instance.g_IsEnableCompositePrice,
- IsPiecePrice: instance.g_IsEnablePiecePrice,
- IsCompositePiecePrice: instance.g_IsEnableCompositePiecePrice,
- Rows: Rows,
- ItemId: ItemIds,
- CountryId: instance._estimate.g_CountryId,
- ItemGroupId: 0,
- Tags: Bizgaze.Apps.Transact.Components.EstimateFilter.Instance().g_Tags,
- };
- let cntId = instance._estimate.g_OrganizationId;
- if (cntId == 0)
- cntId = instance._estimate.g_OrgContactId;
- if ($("#ItemLoadType option:selected").text() != "Filter" || (Bizgaze.Apps.Transact.Components.EstimateFilter.Instance().g_Tags.length == 0 && $("#ItemLoadType option:selected").text() == "Filter")) {
- if (Bizgaze.Apps.Transact.Components.EstimateFilter.Instance().g_Tags.length == 0 && $("#ItemLoadType option:selected").text() == "Filter") {
- instance._estimate.g_LoadOffersOnly = false;
- }
- }
- varianturl = Bizgaze.Apps.Transact.Managers.ItemManager.Instance().getVariantsForOrder(postdata);
- instance.navigationHelper.showLoading();
- varianturl.then(function (response) {
- instance.navigationHelper.hideLoading();
- if (UpdateAvailability) {
- instance.updateItemsAvailability(response.result);
- }
- else if (response.result.length > 0) {
- instance.itemPagination(response, OrganizationId, LoBId, ShipTo, BranchId);
- if (!instance._estimate.g_IsFromPurchaseIndent) {
- $("#btn_Checkout").removeClass("hidden");
- }
- else {
- $("#btnDynamicSave").removeClass("hidden");
- }
- if (instance.g_CartItems_New.length == 0) {
- $("#ulOrder_Cart").html('<li id="0" class="cartitem list-group-item col-xs-12 hidden clear no-border"></li> <li class="list-group-item col-xs-12 no-border EmptyCartLi"><strong>Your Shopping Cart is empty.</strong></li>');
- }
- instance.navigationHelper.hideLoading();
- }
- else {
- $(".div_titledetails").addClass("hidden");
- if (instance._estimate.g_LoadOffersOnly) {
- $("#div_ItemList").html('<ul class="variant-list list-group" id="Items-list" style="margin:0px -21px"><li class="variant-item"><div class="text-center">Offer Items not found.</div></li></ul>');
- }
- else {
- $("#div_ItemList").html('<ul class="variant-list list-group" id="Items-list" style="margin:0px -21px"><li class="variant-item"><div class="text-center">Items not found.</div></li></ul>');
- }
- }
- if (instance.g_CartItems_New.length == 0 && instance._estimate.g_IsFromPurchaseIndent) {
- let text = "Your Shopping Cart is empty.";
- if (instance._estimate.g_IsFromPurchaseIndent) {
- text = "No Pending Purchase Indent Items.";
- }
- $("#ulOrder_Cart").html('<li id="0" class="cartitem list-group-item col-xs-12 hidden clear no-border"></li> <li class="list-group-item col-xs-12 no-border EmptyCartLi"><strong>' + text + '</strong></li>');
- }
- });
- });
- }
- }
- itemPagination(response, OrganizationId, LoBId, ShipTo, BranchId) {
- let instance = this;
- response.result.forEach(x => {
- let LoadedItem_Index = instance.g_LoadedItems.findIndex(z => z.ItemId == x.ItemId);
- if (LoadedItem_Index == -1) {
- instance.g_LoadedItems.push(x);
- }
- else {
- instance.g_LoadedItems[LoadedItem_Index].TaxPercentList = x.TaxPercentList;
- }
- });
- instance.bindItemList(response.result);
- if (response.result.length <= 10 && response.result.length != 0) {
- $('#div_OrderItems_pagination').removeClass('hidden');
- $('#ItemsListPagination').removeClass('hidden');
- let totalCount = response.result[0].TotalRecords;
- let startingValue = 0;
- let _count = 0;
- let t = (instance.g_PageIndex + 1) * 10;
- if (totalCount > 0) {
- startingValue = 1;
- _count = totalCount;
- }
- if (totalCount > t)
- _count = t;
- if (instance.g_PageIndex > 0) {
- startingValue += t - 10;
- }
- let res = startingValue + " - " + _count + " of " + totalCount;
- $('#lblItemTotalRecords').text(res);
- let elem = $('#ItemsListPagination');
- elem.pagination(response.result[0].TotalRecords, 10, {
- items_per_page: 10,
- callback: function (page, component) {
- instance.g_PageIndex = page;
- instance.loadItems($("#txt_SearchItem").val(), OrganizationId, LoBId, ShipTo, BranchId);
- }, current_page: instance.g_PageIndex
- });
- }
- else {
- $('#lblItemTotalRecords').text(response.result.length);
- $("#ItemsListPagination").addClass("hidden");
- }
- }
- bindItemList(items) {
- let instance = this;
- let LobId = Number($(".txtAutoComplete_lobid").val());
- let BillingAddressId = Number($(".txtAutoComplete_billingaddressid").val());
- let BranchId = Number($(".txtAutoComplete_branchid").val());
- $("#div_ItemList").html('<ul class="variant-list list-group" id="Items-list" style="margin:0px -21px"><li class="variant-item hidden"></li>');
- if (items.length == 0) {
- if (instance._estimate.g_LoadOffersOnly) {
- $(".variant-list").html('<li><div class="text-center">Offer Items not found.</div></li></ul>');
- }
- else {
- $(".variant-list").html('<li><div class="text-center">Items not found.</div></li></ul>');
- }
- $(".div_titledetails").addClass("hidden");
- return false;
- }
- else
- $(".div_titledetails").removeClass("hidden");
- let lbl_Carton = "ml-95";
- let lbl_Pieces = "pl-75";
- if (instance.g_BodyWidth > 320 && instance.g_BodyWidth < 400) {
- lbl_Carton = "ml-45";
- lbl_Pieces = "pl-10";
- }
- if (instance.g_BodyWidth > 400 && instance.g_BodyWidth < 470) {
- lbl_Carton = "ml-55";
- lbl_Pieces = "pl-25";
- }
- if (instance.g_BodyWidth > 1300 && instance.g_BodyWidth <= 1600) {
- lbl_Carton = "ml-65";
- lbl_Pieces = "pl-55";
- }
- for (let i = 0; i < items.length; i++) {
- let data;
- data = items[i];
- let ItemId = data.ItemId;
- let html = "";
- html = instance.getItemDesign(data);
- $(".variant-item:last").after(html);
- let element = $(".variant-item:last");
- instance.allItemEvents(element);
- let SelItem = instance.g_SelectedItems.find(x => x.ItemId == ItemId);
- if (SelItem != null) {
- let element = $(".variant-item:last");
- instance.updateItemsDesign(element, "BindItemList");
- if (SelItem.Packs == 0) {
- $(element).find(".txtOrder_ItemCount").val("");
- }
- if (SelItem.Pieces == 0) {
- $(element).find(".txtOrder_ItemPieceCount").val("");
- }
- }
- else {
- $(element).find(".txtOrder_ItemCount").val("");
- $(element).find(".txtOrder_ItemPieceCount").val("");
- }
- }
- let pageHtml = "";
- pageHtml = '<div class="row mt-15 px-15"> ' +
- '<div class="col-sm-3">' +
- '<span class="text-dark ml-30">Total : <span id="lblItemTotalRecords" class="">0</span></span>' +
- '</div>' +
- '<div class="col-sm-9 hidden" id="div_OrderItems_pagination">' +
- '<div id="ItemsListPagination" class="pagination custom-pagination pagination-rounded pull-right mr-20"></div>' +
- '</div>' +
- '</div>';
- $(".variant-item:last").after(pageHtml);
- let VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
- if (instance._estimate.g_IsFromPurchaseIndent) {
- for (let i = 0; i < instance.g_CartItems_New.length; i++) {
- let Itm = instance.g_CartItems_New[i];
- let elem = $("#" + VisibleContainerId).find(".variant-addeditem-" + Itm.ItemId);
- if (elem != undefined && elem.length > 0) {
- let row = instance.g_LoadedItems.find(x => x.ItemId == Itm.ItemId);
- if (row != undefined && row != null) {
- $("#" + VisibleContainerId).find(elem).find("#txt_editItemPrice").val(row.UnitPrice);
- }
- if (instance._estimate.g_InventoryApplyType == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Quantity) {
- $("#" + VisibleContainerId).find(elem).find(".txtOrder_ItemCount").val(Itm.Quantity);
- }
- else {
- let onlyPacks = parseInt((Number(Itm.Quantity) / Number(row.PackCount * row.PackSize)).toString());
- let remainingQty = Itm.Quantity - (onlyPacks * row.PackCount * row.PackSize);
- let onlyPieces = remainingQty / row.PackSize;
- Itm.Packs = Number(onlyPacks);
- Itm.Pieces = Number(instance.roundOff(onlyPieces));
- $("#" + VisibleContainerId).find(elem).find(".txtOrder_ItemCount").val(Itm.Packs);
- $("#" + VisibleContainerId).find(elem).find(".txtOrder_ItemPieceCount").val(Itm.Pieces);
- }
- $("#" + VisibleContainerId).find(elem).find(".btnOrder_DiscType").val(Itm.DiscountType);
- if (Itm.DiscountPercent > 0) {
- $("#" + VisibleContainerId).find(elem).find("#Ord_txtdiscount").val(Itm.DiscountPercent);
- }
- else {
- $("#" + VisibleContainerId).find(elem).find("#Ord_txtdiscount").val(Itm.DiscountValue);
- }
- instance.updateItemsArray(elem, "Bind_SC_PC_CartItems", false, 0);
- }
- let cart_elem = $("#" + VisibleContainerId).find(".cartitem-" + Itm.ItemId);
- if (cart_elem.length == 0) {
- instance.addCartItem(Itm.ItemId);
- }
- cart_elem = $("#" + VisibleContainerId).find(".cartitem-" + Itm.ItemId);
- if (cart_elem != undefined && cart_elem.length > 0) {
- let row = instance.g_LoadedItems.find(x => x.ItemId == Itm.ItemId);
- if (row != undefined && row != null) {
- $("#" + VisibleContainerId).find(cart_elem).find("#txt_editItemPrice").val(row.UnitPrice);
- }
- if (instance._estimate.g_InventoryApplyType == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Quantity) {
- $("#" + VisibleContainerId).find(cart_elem).find(".txtOrder_ItemCount").val(Itm.Quantity);
- }
- else {
- $("#" + VisibleContainerId).find(cart_elem).find(".txtOrder_ItemCount").val(Itm.Packs);
- $("#" + VisibleContainerId).find(cart_elem).find(".txtOrder_ItemPieceCount").val(Itm.Pieces);
- }
- $("#" + VisibleContainerId).find(cart_elem).find(".btnOrder_DiscType").val(Itm.DiscountType);
- if (Itm.DiscountPercent > 0) {
- $("#" + VisibleContainerId).find(cart_elem).find("#Ord_txtdiscount").val(Itm.DiscountPercent);
- }
- else {
- $("#" + VisibleContainerId).find(cart_elem).find("#Ord_txtdiscount").val(Itm.DiscountValue);
- }
- instance.updateItemsArray(cart_elem, "Bind_SC_PC_CartItems", false);
- }
- }
- }
- }
- updateItemsArray(elem, event, FromWidget = false, Qty = 0) {
- let instance = this;
- let OrderItemId = 0;
- let IndentItemId = 0;
- let SelectedUnitId = 1;
- let DefaultSize = 0;
- let SelectedUnitName = "";
- if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length > 0 &&
- !instance._estimate.g_IsFromPurchaseIndent) {
- FromWidget = true;
- }
- if (instance._estimate.g_IsCreateEstimate)
- FromWidget = false;
- let DiscountPercent = 0, DiscountValue = 0, DiscountAmount = 0, AfterDiscountValue = 0, BaseQty = 0, TaxGroupId = 0, TaxGroupName = "", TaxAmount = 0, StrTaxPercents = "", TaxRateAmount = 0, Amount = 0, IsLeverageError = false, IsTaxError = false;
- let IsCalculateTax = instance._estimate.g_IsCalculateTax;
- let ItemIndex = instance.g_CartItems_New.length + 1;
- let optoutAmount = 0;
- let ItemId = Number($(elem).find(".hfOrder_ItemId").val());
- let Packs = isNaN(Number($(elem).find(".txtOrder_ItemCount").val())) ? 0 : Number($(elem).find(".txtOrder_ItemCount").val());
- let Pieces = isNaN(Number($(elem).find(".txtOrder_ItemPieceCount").val())) ? 0 : Number($(elem).find(".txtOrder_ItemPieceCount").val());
- let UnitPrice = Number($(elem).find("#txt_editItemPrice").val());
- let ExpectedPrice = Number($(elem).find("#txt_editItemExpectedPrice").val());
- let UnitPriceWithOutTax = UnitPrice;
- let DiscountType = Number($(elem).find(".btnOrder_DiscType").val());
- let IsExchangeDC = $(elem).find(".chkItem_ExchangeDC").prop("checked");
- if (IsExchangeDC == undefined) {
- IsExchangeDC = false;
- }
- let IsAfterTax = $(elem).find(".divAfterTax").is(':checked');
- if (DiscountType == 1) {
- DiscountPercent = Number($(elem).find("#Ord_txtdiscount").val());
- DiscountAmount = Number($(elem).find("#txt_editItemPrice").val()) * Number(DiscountPercent / 100);
- AfterDiscountValue = Number($(elem).find("#txt_editItemPrice").val()) - Number(DiscountAmount);
- }
- else if (DiscountType == 2) {
- DiscountValue = Number($(elem).find("#Ord_txtdiscount").val());
- DiscountAmount = DiscountValue;
- AfterDiscountValue = Number($(elem).find("#txt_editItemPrice").val()) - DiscountValue;
- }
- let LoadedItems_Index = instance.g_LoadedItems.findIndex(x => x.ItemId == ItemId);
- let SelectedItems_Index = -1;
- if (instance.g_SelectedItems != undefined) {
- SelectedItems_Index = instance.g_SelectedItems.findIndex(x => x.ItemId == ItemId && x.RefItemIds == "");
- }
- let CartItems_Index = -1;
- if (instance.g_CartItems_New != undefined) {
- CartItems_Index = instance.g_CartItems_New.findIndex(x => x.ItemId == ItemId && x.RefItemIds == "");
- }
- let row = instance.g_LoadedItems[LoadedItems_Index];
- let PurPlan_Index = instance.g_PurPlanData.findIndex(x => x.ItemId == ItemId);
- let PurPlanRow = [];
- if (PurPlan_Index != -1) {
- PurPlanRow = instance.g_PurPlanData[PurPlan_Index];
- }
- else {
- PurPlanRow = row;
- }
- let PartNo = row.PartNo;
- if (PartNo == undefined || PartNo == "null" || PartNo == null) {
- PartNo = "";
- }
- let Items_up = instance.g_ItemsUnitPrice_New.find(x => x.ItemId == ItemId);
- Items_up.UnitPrice = UnitPrice;
- if (Items_up.length == 0) {
- instance.g_ItemsUnitPrice_New.push({
- ItemId: ItemId,
- UnitPrice: UnitPrice,
- TaxRateAmount: TaxRateAmount
- });
- }
- let Quantity = 0;
- let ConversionQuantity = 0;
- if (instance._estimate.g_InventoryApplyType == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Quantity) {
- BaseQty = Number(Packs);
- Quantity = Packs;
- }
- else {
- if (Qty != 0) {
- BaseQty = Qty;
- Quantity = Qty;
- }
- else {
- BaseQty = Number(row.PackCount) * Number(row.PackSize) * Number(Packs) + (Pieces * row.PackSize);
- Quantity = ((row.PackCount * row.PackSize) * Packs) + (Pieces * row.PackSize);
- }
- }
- if (row.IsMultipleUOMs) {
- instance.g_VisibleContainerId = instance.navigationHelper.getLastContainerId();
- SelectedUnitId = Number($("#" + instance.g_VisibleContainerId).find(elem).find("#ddl_MultipleUOMs_" + ItemId).val());
- if (SelectedUnitId != 1 && SelectedUnitId != 0) {
- let MultipleUOM = row.MultipleUOMs.find(x => x.SchemaDetailId == SelectedUnitId);
- ConversionQuantity = instance.roundOff(Quantity * (MultipleUOM.AlternateSize / MultipleUOM.DefaultSize));
- BaseQty = ConversionQuantity;
- DefaultSize = MultipleUOM.DefaultSize;
- SelectedUnitName = MultipleUOM.AlternateUnitName;
- }
- }
- if (row.IsManualUOM && instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate) {
- SelectedUnitId = Number($("#" + instance.g_VisibleContainerId).find(elem).find("#ddl_ManualUOMs_" + ItemId).val());
- if (isNaN(SelectedUnitId)) {
- SelectedUnitId = 1;
- }
- ConversionQuantity = Number($("#" + instance.g_VisibleContainerId).find(elem).find("#txt_ManualConversionQty").val());
- if (ConversionQuantity <= 0 || isNaN(ConversionQuantity)) {
- ConversionQuantity = Packs;
- }
- BaseQty = ConversionQuantity;
- SelectedUnitName = $("#ddl_ManualUOMs_" + ItemId + " option:selected").text();
- }
- Quantity = instance.roundOffIgnoreZerosAfterDecimal(Quantity);
- ConversionQuantity = instance.roundOffIgnoreZerosAfterDecimal(ConversionQuantity);
- if (SelectedItems_Index != -1) {
- ItemIndex = instance.g_SelectedItems[SelectedItems_Index].ItemIndex;
- OrderItemId = instance.g_SelectedItems[SelectedItems_Index].OrderItemId;
- IndentItemId = instance.g_SelectedItems[SelectedItems_Index].IndentItemId;
- $(elem).find(".tax-error").text("");
- $(elem).find("#LeverageErrorTxt").addClass("hidden");
- }
- if (instance.g_IsEnableCompositePiecePrice) {
- Amount = (UnitPriceWithOutTax * Number(BaseQty)) + Number(row.TaxRate);
- if (Number(BaseQty) == 0)
- Amount = 0;
- UnitPrice = instance.roundOffIgnoreZerosAfterDecimal(row.CompositePiecePrice);
- }
- else if (instance.g_IsEnableCompositePrice) {
- let amnt = Number(UnitPriceWithOutTax) * Number(row.TaxPercentage) / 100;
- TaxRateAmount = Number(UnitPriceWithOutTax) + Number(amnt);
- Amount = Number(BaseQty) * TaxRateAmount;
- UnitPrice = instance.roundOffIgnoreZerosAfterDecimal(row.CompositePrice);
- }
- else if (instance.g_IsEnablePiecePrice) {
- Amount = Number(BaseQty) * UnitPriceWithOutTax;
- UnitPrice = instance.roundOffIgnoreZerosAfterDecimal(row.PiecePrice);
- }
- else {
- Amount = Number(BaseQty) * UnitPriceWithOutTax;
- }
- Items_up.TaxRateAmount = TaxRateAmount;
- let AssessableAmount = Number(Amount);
- let discVal = Number(DiscountValue) * Number(BaseQty);
- let discPercent = Number(DiscountPercent);
- let DiscAmount = Number((Amount * discPercent) / 100) + Number(discVal);
- let discAmt = DiscAmount + Number(optoutAmount);
- AssessableAmount = Number(AssessableAmount) - Number(discAmt);
- let AmountWithDiscount = instance.roundOffIgnoreZerosAfterDecimal(Number(Amount) - Number(discAmt));
- if (IsCalculateTax) {
- if (row.TaxGroupId == 0) {
- IsTaxError = true;
- }
- else {
- TaxGroupId = row.TaxGroupId;
- TaxGroupName = row.TaxGroupName;
- for (let p = 0; p < row.TaxPercentList.length; p++) {
- let percen = row.TaxPercentList[p];
- let tax = AssessableAmount * percen.Percentage / 100;
- TaxAmount += tax;
- }
- StrTaxPercents = row.strTaxPercents;
- instance.getPriceTypeValues(ItemId, Packs, Pieces);
- if (instance.g_IsEnablePiecePrice) {
- UnitPrice = row.PiecePrice;
- instance.g_PriceTypeId = Bizgaze.Apps.Transact.Enums.PriceType.PiecePrice;
- }
- else if (instance.g_IsEnableCompositePrice) {
- UnitPrice = row.CompositePrice;
- instance.g_PriceTypeId = Bizgaze.Apps.Transact.Enums.PriceType.CompositePrice;
- }
- else if (instance.g_IsEnableCompositePiecePrice) {
- UnitPrice = row.CompositePiecePrice;
- instance.g_PriceTypeId = Bizgaze.Apps.Transact.Enums.PriceType.Both;
- }
- else {
- instance.g_PriceTypeId = Bizgaze.Apps.Transact.Enums.PriceType.None;
- }
- }
- }
- else {
- $("#TotalTax").addClass("hidden");
- $(".divCustomProperties_istaxinclusive").addClass("hidden");
- }
- let ItemData = {
- OrderItemId: OrderItemId,
- ItemIndex: ItemIndex,
- ItemId: ItemId,
- ItemName: row.ItemName,
- Packs: Packs,
- Pieces: Pieces,
- PriceListId: row.PriceListId,
- UnitPrice: UnitPrice,
- UnitPriceWithOutTax: UnitPriceWithOutTax,
- ExpectedPrice: ExpectedPrice,
- ActualPrice: row.UnitPrice,
- PackCount: row.PackCount,
- PackSize: row.PackSize,
- UnitName: row.UnitName,
- Quantity: Quantity,
- SKU: row.SKU,
- PartNo: PartNo,
- Amount: Amount,
- AmountWithDiscount: AmountWithDiscount,
- DiscountPercent: DiscountPercent,
- DiscountValue: DiscountValue,
- DiscountType: DiscountType,
- DiscountAmount: DiscountAmount,
- ItemValueAfterDiscount: AfterDiscountValue,
- StrTaxPercents: StrTaxPercents,
- AvailableQuantity: row.AvailableQuantity,
- AvailablePacks: row.AvailablePacks,
- AvailablePieces: row.AvailablePieces,
- TotalAvailablePieces: row.TotalAvailablePieces,
- ExchangeDC: IsExchangeDC,
- IsAfterTax: IsAfterTax,
- BaseQty: BaseQty,
- IsFocItem: false,
- optoutAmount: optoutAmount,
- TaxGroupId: TaxGroupId,
- TaxGroupName: TaxGroupName,
- TaxAmount: TaxAmount,
- TaxRateAmount: TaxRateAmount,
- TaxRate: row.TaxRate,
- TaxPercentage: row.TaxPercentage,
- IsOfferAvailable: row.IsOfferAvailable,
- Description: row.Description == undefined ? "" : row.Description,
- Discountable: row.Discountable,
- PiecePrice: row.PiecePrice,
- CompositePrice: row.CompositePrice,
- CompositePiecePrice: row.CompositePiecePrice,
- IsCheckPendingItems: false,
- IsError: false,
- ErrorMsg: "",
- ErrorClass: "text-danger",
- IsTaxError: IsTaxError,
- IsLeverageError: IsLeverageError,
- IsFocAdded: false,
- IndentItemId: IndentItemId,
- RefItemIds: "",
- RefItemSKUs: "",
- FocItemIds: "",
- DiscountGroupId: 0,
- IsOfferDiscountApplied: false,
- AppliedOfferVolume: 0,
- AppliedPlanVolumeId: 0,
- AppliedOfferId: 0,
- optoutOfferGroupId: 0,
- SuggestedPacks: PurPlanRow.SuggestedPacks,
- MinPacks: PurPlanRow.MinPacks,
- AvgPacks: PurPlanRow.AvgPacks,
- InwardOrderPacks: PurPlanRow.InwardOrderPacks,
- OutwardOrderPacks: PurPlanRow.OutwardOrderPacks,
- IsMultipleUOMs: row.IsMultipleUOMs,
- UOMSchemaId: row.UOMSchemaId,
- MultipleUOMs: row.MultipleUOMs,
- SelectedUnitId: SelectedUnitId,
- DefaultSize: DefaultSize,
- IsBoMAvailable: row.IsBoMAvailable,
- ConversionQuantity: ConversionQuantity,
- UOMs: row.UOMs,
- IsManualUOM: row.IsManualUOM,
- AlternateUnitId: row.AlternateUnitId,
- SelectedUnitName: SelectedUnitName == "" ? row.UnitName : SelectedUnitName
- };
- if (instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesContract || instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseContract) {
- ItemData.ExpectedPrice = 0;
- }
- if (SelectedItems_Index == -1) {
- instance.g_SelectedItems.push(ItemData);
- }
- else {
- instance.g_SelectedItems[SelectedItems_Index] = ItemData;
- }
- if (CartItems_Index == -1) {
- instance.g_CartItems_New.push(ItemData);
- }
- else {
- instance.g_CartItems_New[CartItems_Index] = ItemData;
- }
- let ItemElm = $(".variant-addeditem-" + ItemId);
- if (ItemElm.length > 0) {
- instance.updateItemsDesign(ItemElm, event);
- }
- let IsCart = false;
- if ($("#ulOrder_Cart").is(":visible")) {
- IsCart = true;
- }
- if (!FromWidget) {
- if (instance.g_CartItems_New.length == 0) {
- $("#ulOrder_Cart").html('<li id="0" class="cartitem list-group-item col-xs-12 hidden clear no-border"></li> <li class="list-group-item col-xs-12 no-border EmptyCartLi"><strong>Your Shopping Cart is empty.</strong></li>');
- }
- else {
- $(".EmptyCartLi").remove();
- }
- if ($("#cartItemsSearch").val() != undefined) {
- let value = $("#cartItemsSearch").val().toString().toLowerCase();
- $("#ulOrder_Cart li:not(:first-child)").filter(function () {
- $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1);
- });
- }
- if (BaseQty == 0 && !IsCart && !instance._estimate.g_IsFromPurchaseIndent) {
- instance.deleteCartItems(ItemId);
- }
- else {
- if (CartItems_Index != -1) {
- let Cart_elem = $(".cartitem-" + ItemId);
- if (Cart_elem.length > 0 && !FromWidget) {
- let evnt = "EditCartItem";
- if (event == "RefreshAllItems_InventoryClickEvents") {
- evnt = event;
- }
- instance.updateItemsDesign(Cart_elem, evnt, true);
- }
- }
- else {
- instance.addCartItem(ItemId);
- }
- }
- }
- if (BaseQty != 0) {
- instance.checkValidations(ItemId, true);
- instance.checkValidations(ItemId, false);
- }
- else {
- instance.checkEnablePiece();
- instance.checkEnablePacks();
- }
- if ((IsCart || FromWidget || instance.g_FromContinueShopping)) {
- if (row.IsOfferAvailable && !FromWidget) {
- instance.checkOffers(FromWidget, "UpdateItemsArray");
- }
- else if (FromWidget) {
- instance.checkOffers(FromWidget, "UpdateItemsArray");
- }
- else {
- if (IsCart) {
- instance.getTotals();
- }
- }
- }
- else {
- if (IsCart) {
- if (event != "PurPlan_AllItems") {
- if (BaseQty != 0) {
- $("#" + instance.g_VisibleContainerId).find(elem).find(".chk_PurPlanItem").prop("checked", true);
- }
- else {
- $("#" + instance.g_VisibleContainerId).find(elem).find(".chk_PurPlanItem").prop("checked", false);
- }
- instance.getTotals();
- }
- }
- }
- instance.g_CartItems_New.filter(x => x.BaseQty == 0).forEach(function (c) {
- let ItemId = c.ItemId;
- let ItemElm = $(".variant-addeditem-" + ItemId);
- let CartElm = $(".cartitem-" + ItemId);
- $(ItemElm).find(".divOrders_ItemCount").removeClass("floating-label-form-group-with-value");
- $(CartElm).find(".divOrders_ItemCount").removeClass("floating-label-form-group-with-value");
- });
- }
- getInventoryDesign(ItemId, IsCart, SuggestedPacks = 0, RefItemIds) {
- let instance = this;
- let html = "";
- let InvType = "", fltngclass_Cartons = "", fltngclass_Pieces = "", PP_Cartons = "", PP_Pieces = "", IsFocItem = false, DisableQuantityTxtBox = "", HideMinusPlusBtns = "";
- if (SuggestedPacks != 0) {
- PP_Cartons = SuggestedPacks.toString();
- }
- let CartItem_Index = -1;
- CartItem_Index = instance.g_CartItems_New.findIndex(x => x.ItemId == ItemId && x.RefItemIds == RefItemIds);
- let CartItem = instance.g_CartItems_New[CartItem_Index];
- if (CartItem != undefined) {
- PP_Cartons = CartItem.Packs.toString();
- PP_Pieces = CartItem.Pieces.toString();
- IsFocItem = CartItem.IsFocItem;
- }
- if (PP_Cartons == "0") {
- PP_Cartons = "";
- }
- if (PP_Cartons != "") {
- fltngclass_Cartons = "floating-label-form-group-with-value";
- }
- if (PP_Pieces == "0") {
- PP_Pieces = "";
- }
- if (PP_Pieces != "") {
- fltngclass_Pieces = "floating-label-form-group-with-value";
- }
- if (IsFocItem) {
- DisableQuantityTxtBox = "disabled style='cursor:not-allowed'";
- HideMinusPlusBtns = "hidden";
- }
- let InventoryTypeId = instance._estimate.g_InventoryApplyType;
- let IsEnablePacks = instance.g_IsEnablePacks, IsEnablePieces = instance.g_IsEnablePieces;
- if (IsFocItem) {
- InventoryTypeId = Bizgaze.Apps.Transact.Enums.InventoryApplyType.Quantity;
- IsEnablePacks = true;
- IsEnablePieces = false;
- }
- if (InventoryTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Packs || InventoryTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Pieces || InventoryTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.PacksAndPieces) {
- if (InventoryTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Pieces && !instance.g_IsEnablePacks) {
- $("#spn_picesTitle").removeClass("hidden").removeClass("col-sm-6").addClass("col-sm-12").removeClass("pr-90");
- $("#spn_InventoryTitle").addClass("hidden").removeClass("pl-40");
- $(".ItemDetails").addClass("col-lg-8").removeClass("col-lg-7");
- $(".InventoryTypesTextboxes").addClass("col-lg-4").removeClass("col-lg-5");
- }
- else if (InventoryTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Packs && !instance.g_IsEnablePieces) {
- $("#spn_picesTitle").addClass("hidden").removeClass("pr-90");
- $("#spn_InventoryTitle").removeClass("hidden").removeClass("col-sm-6").addClass("col-sm-12").removeClass("pl-40");
- $(".ItemDetails").addClass("col-lg-8").removeClass("col-lg-7");
- $(".InventoryTypesTextboxes").addClass("col-lg-4").removeClass("col-lg-5");
- }
- else if (instance.g_IsEnablePacks && instance.g_IsEnablePieces) {
- $("#spn_picesTitle").removeClass("hidden").removeClass("col-sm-12").addClass("col-sm-6").addClass("pr-90");
- $("#spn_InventoryTitle").removeClass("hidden").removeClass("col-sm-12").addClass("col-sm-6").addClass("pl-40");
- $(".ItemDetails").removeClass("col-lg-8").addClass("col-lg-7");
- $(".InventoryTypesTextboxes").removeClass("col-lg-4").addClass("col-lg-5");
- }
- $("#spn_InventoryTitle").text("Cartons");
- $("#spn_picesTitle").text("Pieces");
- }
- else if (InventoryTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Quantity) {
- $("#spn_InventoryTitle").text("Quantity");
- $("#spn_picesTitle").addClass("hidden");
- $("#spn_InventoryTitle").removeClass("hidden").removeClass("col-sm-6").addClass("col-sm-12");
- }
- if (InventoryTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Quantity) {
- InvType = "Quantity";
- }
- else if (InventoryTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Packs) {
- InvType = "Cartons";
- }
- else if (InventoryTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Pieces) {
- InvType = "Pieces";
- }
- let cartItemQtyClass = "";
- if (IsCart) {
- cartItemQtyClass = "_editCartItemQuantity";
- }
- if (IsEnablePacks && !IsEnablePieces) {
- html += '<div class="col-sm-12 ' + cartItemQtyClass + '">' +
- '<div class="floating-label-form-group defaultSelectedCartons divOrders_ItemCount ' + fltngclass_Cartons + '">' +
- '<label class="text-center">' + InvType + '</label>' +
- '<div class="input-group" id="div_Cartons">' +
- '<span class="input-group-prepend">' +
- '<a href="javascript:;" class="input-group-addon btn quantity-minus "' + HideMinusPlusBtns + ' draggable="false"><i class="fa fa-minus"></i></a>' +
- '</span>' +
- '<input type="text" id="txt_Cartons" ' + DisableQuantityTxtBox + 'class="form-control text-center txtOrder_ItemCount floating-label-control" inputmode="numeric" onpaste = "return Bizgaze.Apps.Transact.Controls.EstimateItems.Instance().isNumberKey(event)" oninput = "return Bizgaze.Apps.Transact.Controls.EstimateItems.Instance().isNumberKey(event)" data-isdynamic="false" placeholder="' + InvType + '" data-placeholder="' + InvType + '" data-label="' + InvType + '"value=' + PP_Cartons + '>' +
- '<span class="input-group-append">' +
- '<a href="javascript:;" class="quantity-plus input-group-addon btn "' + HideMinusPlusBtns + ' draggable="false"><i class="fa fa-plus"></i></a>' +
- '</span>' +
- '</div>' +
- '</div>' +
- '</div>';
- }
- else if (!IsEnablePacks && IsEnablePieces) {
- html += '<div class="col-sm-12 ' + cartItemQtyClass + '">' +
- '<div class="floating-label-form-group defaultSelectedPieces divOrders_ItemPieceCount ' + fltngclass_Pieces + '">' +
- '<label class="text-center">' + InvType + '</label>' +
- '<div class="input-group" id="div_Pieces">' +
- '<span class="input-group-prepend">' +
- '<a href="javascript:;" class="input-group-addon btn quantity-minus" draggable="false"><i class="fa fa-minus"></i></a>' +
- '</span>' +
- '<input type="text" id="txt_Pieces" class="form-control text-center txtOrder_ItemPieceCount floating-label-control" inputmode="numeric" onpaste="return Bizgaze.Apps.Transact.Controls.EstimateItems.Instance().isNumberKey(event)" oninput = "return Bizgaze.Apps.Transact.Controls.EstimateItems.Instance().isNumberKey(event)" data-isdynamic="false" placeholder="' + InvType + '" data-placeholder="' + InvType + '" data-label="' + InvType + '"value=' + PP_Pieces + '>' +
- '<span class="input-group-append">' +
- '<a href="javascript:;" class="quantity-plus input-group-addon btn" draggable="false"><i class="fa fa-plus"></i></a>' +
- '</span>' +
- '</div>' +
- '</div>' +
- '</div>';
- }
- if (IsEnablePacks && IsEnablePieces) {
- html += '<div class="col-sm-12 px-0 ' + cartItemQtyClass + '"><div class="row mx-0"><div class="col-6">' +
- '<div class="floating-label-form-group defaultSelectedCartons divOrders_ItemCount ' + fltngclass_Cartons + '">' +
- '<label class="text-center pl-40">Cartons</label>' +
- '<div class="input-group" id="div_Cartons">' +
- '<span class="input-group-prepend">' +
- '<a href="javascript:;" class="input-group-addon btn quantity-minus" draggable="false"><i class="fa fa-minus"></i></a>' +
- '</span>' +
- '<input type="text" id="txt_Cartons" class="form-control text-center txtOrder_ItemCount floating-label-control" inputmode="numeric" onpaste = "return Bizgaze.Apps.Transact.Controls.EstimateItems.Instance().isNumberKey(event)" oninput = "return Bizgaze.Apps.Transact.Controls.EstimateItems.Instance().isNumberKey(event)" data-isdynamic="false" placeholder="Cartons" data-placeholder="Cartons" data-label="Cartons" value=' + PP_Cartons + '>' +
- '</div>' +
- '</div>' +
- ' </div>';
- html +=
- '<div class="col-6 ' + cartItemQtyClass + '">' +
- '<div class="floating-label-form-group defaultSelectedPieces divOrders_ItemPieceCount ' + fltngclass_Pieces + '"> ' +
- '<label class="text-center pr-20">Pieces</label>' +
- '<div class="input-group" id="div_Pieces">' +
- '<input type="text" id="txt_Pieces" class="form-control text-center floating-label-control txtOrder_ItemPieceCount" inputmode="numeric" onpaste = "return Bizgaze.Apps.Transact.Controls.EstimateItems.Instance().isNumberKey(event)" oninput = "return Bizgaze.Apps.Transact.Controls.EstimateItems.Instance().isNumberKey(event)" data-isdynamic="false" placeholder="Pieces" data-placeholder="Pieces" data-label="Pieces" value=' + PP_Pieces + '>' +
- '<span class="input-group-append">' +
- '<a href="javascript:;" class="quantity-plus input-group-addon btn" draggable="false"><i class="fa fa-plus"></i></a>' +
- '</span>' +
- '</div>' +
- '</div>' +
- '</div>' +
- '</div>' +
- '</div>';
- }
- html += '</div>';
- return html;
- }
- getItemDesign(res, FromWidget = false, IsCart = false) {
- let instance = this;
- let html = "";
- let data = res;
- let ItemId = data.ItemId;
- let InventoryType = instance._estimate.g_InventoryApplyType;
- let url = '';
- let ItemImg = "";
- if (data.ImageUrl == "" || data.ImageUrl == undefined || data.ImageUrl == null) {
- ItemImg = ``;
- }
- else {
- url = data.ImageUrl;
- ItemImg = `<img class="avatar mr-2" style="width:70px;height:70px;" onerror="ReloadImage(event)" data-dynamic="1" src="` + url + `">`;
- }
- let hidden = "";
- let OrderQuantity = "";
- let multiplevalue = "";
- let Mod_UnitPrice = 0;
- let Items_up = instance.g_ItemsUnitPrice_New.filter(x => x.ItemId == data.ItemId);
- if (Items_up.length == 0) {
- Mod_UnitPrice = data.UnitPrice;
- instance.g_ItemsUnitPrice_New.push({
- ItemId: ItemId,
- UnitPrice: data.UnitPrice,
- TaxRateAmount: data.TaxRateAmount
- });
- }
- else {
- Mod_UnitPrice = Items_up[0].UnitPrice;
- }
- let LiClass = "variant-item variant-addeditem variant-addeditem-" + ItemId;
- let EditUnitPriceClass = 'editItemPriceAccordion_';
- let AvailClass = "ItemAvailability";
- let ExchangeClass = "chkItem_ExchangeDC_" + ItemId;
- let HideDeleteBtn = "";
- let RefItemIds = data.RefItemIds;
- if (RefItemIds == undefined) {
- RefItemIds = "";
- }
- if (IsCart) {
- LiClass = "cartitem cartitem-" + ItemId;
- EditUnitPriceClass = 'editCartItemPriceAccordion_';
- AvailClass = "CartAvailability";
- ExchangeClass = "chkCartItem_ExchangeDC_" + ItemId;
- if (data.IsFocItem) {
- HideDeleteBtn = "hidden";
- if (RefItemIds != "") {
- LiClass = "cartitem cartitem-" + ItemId + "-" + RefItemIds.replace(/,/g, "-");
- }
- }
- }
- else if (FromWidget) {
- if (Bizgaze.Apps.Transact.Controls.AddEstimateItems.Instance().g_Edit_EstimateItemId > 0) {
- HideDeleteBtn = "hidden";
- }
- if (RefItemIds != "") {
- LiClass = "variant-item variant-addeditem variant-addeditem-" + ItemId + "-" + RefItemIds.replace(/,/g, "-");
- }
- }
- html = '<li id="' + ItemId + '" class="list-group-item ' + LiClass + ' li no-border">' +
- '<input type="hidden" class="hfOrder_ItemId" value="' + ItemId + '" />' +
- '<input type="hidden" class="hfOrder_RefItemId" value="' + RefItemIds + '" />' +
- '<input type="hidden" class="hfOrder_ItemName" value="' + data.ItemName + '" />' +
- '<input type="hidden" class="hfOrder_ItemSKU" value="' + data.SKU + '" />' +
- '<input type="hidden" class="hf_Packs_click" value="1"/>' +
- '<input type="hidden" class="hf_Pieces_click" value="0"/>';
- let DivClass = 'col-lg-8';
- let InventoryTypeDivClass = 'col-lg-4 mt-10 mt-lg-0 px-0 px-lg-15';
- if (instance.g_IsEnablePacks && instance.g_IsEnablePieces) {
- DivClass = 'col-lg-7';
- InventoryTypeDivClass = 'col-lg-5 mt-10 mt-lg-0 px-0 px-lg-15';
- }
- html += `<div class="row position-relative font-12">
- <div class="position-absolute t-0 z-index-1" style="right: 10px;"><a href="javascript:;" class="btn btn-icon btn-flush-biz-theme btn-rounded flush-soft-hover d-30 cart-item-remove d-none"><span class="btn-icon-wrap"><i class="fa fa-times text-danger"></i></span></a><input type="checkbox" class="cart-item-chk d-none" id="cartItemChk_${ItemId}" style="transform: scale(1.3);"/></div>
- <div class="ItemDetails ${DivClass} d-flex" id="ItemDetails">
- <div><a class="pull-left" style="cursor:pointer"onclick="Bizgaze.Apps.Transact.Controls.EstimateItems.Instance().getItemPreview(${ItemId});">${ItemImg}</a></div>`;
- if (IsCart || FromWidget) {
- html += '<a href="javascript:;" id="deleteCartItem"><span class="pa-5 delete ' + HideDeleteBtn + '" style="cursor:Pointer;" title="Remove Item"><i class="m-r fa fa-trash text-danger fa-lg" id=""></i></span></a>';
- }
- html += '<div><div class="d-flex"><div><span class="pull-right text-danger tax-error"></span><span class="block text-sm mouseHoverClass CartItemName font-weight-600 font-14 text-dark" >' + data.ItemName + '</span> </div><div class="ml-2 text-right">';
- 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 += '<input type="hidden" class="IsOfferAvailableItem" value="true">';
- html += '<a class="btn btn-xs btn-outline-primary line-height-12 mr-0 mr-sm-2 mb-sm-0 mb-1 font-10" onclick="Bizgaze.Apps.Transact.Controls.EstimateItems.Instance().showOfferItems(' + instance._estimate.g_OrganizationId + ',' + ItemId + ",'" + data.ItemName + "'," + invoiceApplyType + ',' + 'this)"><span class="count" >offer</span></a>';
- }
- if (data.IsBoMAvailable) {
- html += '<a class="btn btn-xs line-height-12 font-10 btn-outline-info ml-2" onclick="Bizgaze.Apps.Transact.Controls.EstimateItems.Instance().showBOMItems(' + ItemId + ",'" + data.ItemName + "'" + ')"><span class="count"> BOM </span></a>';
- }
- if (data.IsSpecialPrice)
- html += '<span class="badge badge-sm up bg-blue m-l-n-sm btnItemSpecial" style="margin-left: 0px;color:white">SP</span>';
- html += '<span class="font-14 focBadge hidden"><span class="text-warning up m-l-n-sm count" style="">Free of SKU - <span id="FocBadgeSKU"> </span> </span></span>';
- html += '</div></div>';
- if (data.PartNo != "" && data.PartNo != null) {
- html += '<span class="font-weight-300 font-12">SKU : ' + data.SKU + '</span> <span> ( ' + data.PartNo + ' ) </span> <br>';
- }
- else {
- html += '<span class="font-weight-300 font-12">SKU : ' + data.SKU + '</span> <br>';
- }
- 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 += '<span class="sp_PriceType">Piece Price : </span> <span id="DiscountOpenBracket" class="hidden">(</span><a href="javascript:;" class="text-sm editItemPrice" style="color: #5ba8fb;text-decoration: underline;"' + Price_dataToggle + 'data-target="#' + EditUnitPriceClass + '' + ItemId + '">' + Number(instance.roundOff(piecePriceDecimalValue)) + '</a> <span class="CompositePriceCalBreak"> </span> <span id="QuantityAndDiscountSpan" class="' + hidden + '"><span id="OrderQuantity_' + ItemId + '" class="OrderQuantity hidden" >' + OrderQuantity + '</span><span id="multipliedvalue_' + ItemId + '" class="multipliedvalue hidden" >' + multiplevalue + '</span></span>';
- }
- else {
- html += '<span class="sp_PriceType">Piece Price : </span> <span id="DiscountOpenBracket" class="hidden">(</span><a href="javascript:;" class="text-sm editItemPrice" style="color: #5ba8fb;text-decoration: underline;"' + Price_dataToggle + 'data-target="#' + EditUnitPriceClass + '' + ItemId + '">' + Number(instance.roundOff(piecePriceDecimalValue)) + '</a> <span class="CompositePriceCalBreak"> </span> <span id="QuantityAndDiscountSpan" class="' + hidden + '"><span id="OrderQuantity_' + ItemId + '" class="OrderQuantity hidden" ></span><span id="multipliedvalue_' + ItemId + '" class="multipliedvalue hidden" ></span></span>';
- }
- }
- else if (instance.g_IsEnableCompositePrice) {
- if ((res.SuggestedPacks) != 0 && (res.SuggestedPacks) != null && (res.SuggestedPacks) != undefined && Mod_UnitPrice != 0) {
- html += '<span class="sp_PriceType">Piece Price : </span> <span id="DiscountOpenBracket" class="hidden">(</span><a href="javascript:;" class="text-sm editItemPrice" style="color: #5ba8fb;text-decoration: underline;"' + Price_dataToggle + 'data-target="#' + EditUnitPriceClass + '' + ItemId + '">' + Number(instance.roundOff(piecePriceDecimalValue)) + '</a> <span class="CompositePriceCalBreak"> </span> <span id="QuantityAndDiscountSpan" class="' + hidden + '"><span id="OrderQuantity_' + ItemId + '" class="OrderQuantity hidden" >' + OrderQuantity + '</span><span id="multipliedvalue_' + ItemId + '" class="multipliedvalue hidden" >' + multiplevalue + '</span></span>';
- }
- else {
- html += '<span class="sp_PriceType">Comp. Price : </span> <span id="DiscountOpenBracket" class="hidden">(</span> <a href="javascript:;" class="text-sm editItemPrice " style="color: #5ba8fb;text-decoration: underline;"' + Price_dataToggle + 'data-target="#' + EditUnitPriceClass + '' + ItemId + '">' + Number(instance.roundOff(compositeDecimalValue)) + '</a> <span class="CompositePriceCalBreak"> </span> <span id="QuantityAndDiscountSpan" class="' + hidden + '"><span id="OrderQuantity_' + ItemId + '" class="OrderQuantity hidden" ></span><span id="multipliedvalue_' + ItemId + '" class="multipliedvalue hidden" ></span></span>';
- }
- }
- else if (instance.g_IsEnableCompositePiecePrice) {
- if ((res.SuggestedPacks) != 0 && (res.SuggestedPacks) != null && (res.SuggestedPacks) != undefined && Mod_UnitPrice != 0) {
- html += '<span class="sp_PriceType">Piece Price : </span> <span id="DiscountOpenBracket" class="hidden">(</span><a href="javascript:;" class="text-sm editItemPrice" style="color: #5ba8fb;text-decoration: underline;"' + Price_dataToggle + 'data-target="#' + EditUnitPriceClass + '' + ItemId + '">' + Number(instance.roundOff(piecePriceDecimalValue)) + '</a> <span class="CompositePriceCalBreak"> </span> <span id="QuantityAndDiscountSpan" class="' + hidden + '"><span id="OrderQuantity_' + ItemId + '" class="OrderQuantity hidden" >' + OrderQuantity + '</span><span id="multipliedvalue_' + ItemId + '" class="multipliedvalue hidden" >' + multiplevalue + '</span></span>';
- }
- else {
- html += '<span class="sp_PriceType">Comp. Piece Price : </span><span id="DiscountOpenBracket" class="hidden">(</span><a href="javascript:;" class="text-sm editItemPrice CompositePiecePrice" style="color: #5ba8fb;text-decoration: underline;"' + Price_dataToggle + 'data-target="#' + EditUnitPriceClass + '' + ItemId + '">' + Number(instance.roundOff(compositePiecePriceDecimalvalue)) + '</a> <span class="CompositePriceCalBreak"> </span> <span id="QuantityAndDiscountSpan" class="' + hidden + '"><span id="OrderQuantity_' + ItemId + '" class="OrderQuantity hidden" ></span><span id="multipliedvalue_' + ItemId + '" class="multipliedvalue hidden" ></span></span>';
- }
- }
- else {
- let PointsorPrice = "Price";
- if (data.IsManualUOM && instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate) {
- html += '<span class="sp_PriceType">' + PointsorPrice + ' : </span><span id="DiscountOpenBracket" class="hidden">(</span><a href="javascript:;" class="text-sm editItemPrice " style="color: #5ba8fb;text-decoration: underline;"' + Price_dataToggle + 'data-target="#' + EditUnitPriceClass + '' + ItemId + '">' + Mod_UnitPrice + '</a> <span class="CompositePriceCalBreak"> </span> <span id="QuantityAndDiscountSpan" class="' + hidden + '"><span id="OrderQuantity_' + ItemId + '" class="OrderQuantity hidden" ></span><span id="multipliedvalue_' + ItemId + '" class="multipliedvalue hidden" ></span></span> <span class="ManualUOM_' + ItemId + ' hidden">' + instance.getManualUOMDesign(data) + '</span> <span class="ManualUOM_RowTotal hidden"> </span>';
- }
- else {
- if (data.IsManualUOM && instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate) {
- html += '<span class="sp_PriceType">' + PointsorPrice + ' : </span><span id="DiscountOpenBracket" class="hidden">(</span><a href="javascript:;" class="text-sm editItemPrice " style="color: #5ba8fb;text-decoration: underline;"' + Price_dataToggle + 'data-target="#' + EditUnitPriceClass + '' + ItemId + '">' + Mod_UnitPrice + '</a> <span class="CompositePriceCalBreak"> </span> <span id="QuantityAndDiscountSpan" class="' + hidden + '"><span id="OrderQuantity_' + ItemId + '" class="OrderQuantity hidden" ></span><span id="multipliedvalue_' + ItemId + '" class="multipliedvalue hidden" ></span></span> <span class="ManualUOM_' + ItemId + ' hidden">' + instance.getManualUOMDesign(data) + '</span> <span class="ManualUOM_RowTotal hidden"> </span>';
- }
- 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 += '<span class="sp_PriceType">' + PriceLableType + '</span><span id="DiscountOpenBracket" class="hidden">(</span><a href="javascript:;" class="text-sm editItemPrice " style="color: #5ba8fb;text-decoration: underline;"' + Price_dataToggle + 'data-target="#' + EditUnitPriceClass + '' + ItemId + '">' + data.UnitPrice + '</a> <span class="CompositePriceCalBreak"> </span> <span id="QuantityAndDiscountSpan" class="' + hidden + '"><span id="OrderQuantity_' + ItemId + '" class="OrderQuantity hidden" ></span><span id="multipliedvalue_' + ItemId + '" class="multipliedvalue hidden" ></span></span> <br>';
- if (instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate || instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseEstimate) {
- html += '<span class=""> Exp. Price : </span><a href="javascript:;" class="text-sm editItemExpectedPrice" style="color: #5ba8fb;text-decoration: underline;"' + Price_dataToggle + 'data-target="#' + EditUnitPriceClass + '' + ItemId + '">' + data.UnitPrice + '</a><span id="Exp_QuantityAndDiscountSpan" class="' + hidden + '"><span id="ExpectedOrderQuantity_' + ItemId + '" class="ExpectedOrderQuantity hidden"></span><span id="Expectedmultipliedvalue_' + ItemId + '" class="Expectedmultipliedvalue hidden" ></span></span>';
- }
- }
- }
- }
- html += '<span id="LeverageErrorTxt" class="text-warning pull-right hidden">Leverage % Exceeded</span>';
- html += '</div></div>';
- let SuggestedPacks = 0;
- html += '<div id="InventoryTypesTextboxes" class="InventoryTypesTextboxes ' + InventoryTypeDivClass + '">';
- html += instance.getInventoryDesign(ItemId, IsCart, SuggestedPacks, RefItemIds);
- html += '</div>';
- 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 += '<div class="row ' + IsExpandItem + ' card mb-0 mt-2 p-2" id="' + EditUnitPriceClass + '' + ItemId + '">' +
- '<div class="input-group">' +
- '<div class="col-md-3 px-1">' +
- '<div class="floating-label-form-group floating-label-form-group-with-value">';
- html += '<label for="txt_editItemPrice">' + PriceLableType + ' </label><input type="text" id="txt_editItemPrice" class="form-control floating-label-control txteditItemPrice" value="' + data.UnitPrice + '" data-isdynamic="false" placeholder="' + PriceLableType + '" data-placeholder="Enter Quoted Price" data-label="' + PriceLableType + '" inputmode="numeric" onpaste="return Bizgaze.Apps.Transact.Controls.EstimateItems.Instance().isNumberKey(event)" oninput="return Bizgaze.Apps.Transact.Controls.EstimateItems.Instance().validateFloatKeyPress(this,event)" min="0"></div></div>';
- if (instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate || instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseEstimate) {
- html += '<div class="col-md-2 px-1"> <div class="floating-label-form-group floating-label-form-group-with-value">';
- html += '<label for="txt_editItemExpectedPrice"> Exp. price </label><input type="text" id="txt_editItemExpectedPrice" class="form-control floating-label-control txt_editItemExpectedPrice" value="' + data.UnitPrice + '" data-isdynamic="false" placeholder="Expected Price" data-placeholder="Enter Expected Price" data-label="Expected Price" inputmode="numeric" onpaste="return Bizgaze.Apps.Transact.Controls.EstimateItems.Instance().isNumberKey(event)" oninput="return Bizgaze.Apps.Transact.Controls.EstimateItems.Instance().validateFloatKeyPress(this,event)" min="0"></div></div>';
- }
- let offerDiscountClass = "";
- if (data.xIsOfferAvailable && data.IsOfferDiscountApplied && !instance._estimate.g_IsManageOfferDiscount) {
- offerDiscountClass = "readonly";
- }
- let IsDiscountHidden = "";
- html += '<div class="col-md-3 px-1' + IsDiscountHidden + '">' +
- '<div class="floating-label-form-group discountFloatLabels">' +
- '<label>Discount</label>' +
- '<div class="input-group">' +
- '<input type="text" id="Ord_txtdiscount" placeholder="Discount" data-isdynamic="false" inputmode="numeric" onpaste = "return Bizgaze.Apps.Transact.Controls.EstimateItems.Instance().isNumberKey(event)" oninput="return Bizgaze.Apps.Transact.Controls.EstimateItems.Instance().validateFloatKeyPress(this,event)" data-placeholder="0.00" data-label="Discount" class="form-control ord_txtaddldiscount floating-label-control" value="" ' + offerDiscountClass + '>' +
- '<div class="input-group-btn">' +
- '<select class="btnOrder_DiscType mt-10 border-blue"><option value="2">Val</option><option value="1">%</option></select>' +
- '</div>' +
- '</div>' +
- '</div>' +
- '</div>' +
- '<div class="col-md-2 px-1">' +
- '<div class="floating-label-form-group">' +
- '<label>Description</label>' +
- '<input type="text" id="txt_Description" class="form-control floating-label-control " data-isdynamic="false" placeholder="Description" data-placeholder="Description" data-label="Description">' +
- '</div>' +
- '</div>';
- offerDiscountClass = "";
- let IsMultipleUOMs = data.IsMultipleUOMs;
- let MultipleUOMs = data.MultipleUOMs;
- if (IsMultipleUOMs) {
- html += '<div id="div_MultipleUOMs_' + ItemId + '" class="div_MultipleUOMs floating-label-form-group-with-value col-sm-4" > ' +
- '<label for= "lbl" id ="lbl_MultipleUOMs_' + ItemId + '"> UOM </label>';
- html += '<select id="ddl_MultipleUOMs_' + ItemId + '" class="form-control type-control value-control dropdown_MultipleUOMs" placeholder="Select UOM" data-placeholder="Select UOM" data-label="UOM" data-isparent="false">';
- if (MultipleUOMs.length > 0) {
- html += '<option value="1"> ' + MultipleUOMs[0].DefaultUnitName + ' ( Default Unit ) </option>';
- }
- else {
- html += '<option value="1"> -- Select -- </option>';
- }
- for (var i = 0; i < MultipleUOMs.length; i++) {
- let UOM = MultipleUOMs[i];
- let Conversion = UOM.DefaultSize + " " + UOM.DefaultUnitName + " = " + UOM.AlternateSize + " " + UOM.AlternateUnitName;
- html += '<option value="' + MultipleUOMs[i].SchemaDetailId + '">' + MultipleUOMs[i].AlternateUnitName + ' ( ' + Conversion + ' ) </option>';
- }
- html += '</div> </select>';
- html += '<p class="mt-10 text-warning ItemConversion_' + ItemId + '"> </p>';
- }
- html += '</div>' +
- ' </div>';
- html += '</li>';
- return html;
- }
- getManualUOMDesign(Itm) {
- let html = `<input type="text" id="txt_ManualConversionQty" class="form-control floating-label-control col-sm-2" inputmode="numeric" onpaste="return Bizgaze.Apps.Transact.Controls.OrderItems.Instance().isNumberKey(event)" oninput="return Bizgaze.Apps.Transact.Controls.OrderItems.Instance().isNumberKey(event)" data-isdynamic="false" placeholder="" data-placeholder="" data-label="" value="` + Itm.ConversionQuantity + `" style="display: inline">
-
- <select id="ddl_ManualUOMs_` + Itm.ItemId + `" class="type-control value-control dropdown_ManualUOMs" placeholder="Select UOM" data-placeholder="Select UOM" data-label="UOM" data-isparent="false" style="display: inline">`;
- for (let i = 0; i < Itm.UOMs.length; i++) {
- let Selected = "";
- if (Itm.UOMs[i].UnitId == Itm.UOMSchemaId) {
- Selected = "selected";
- }
- html += `<option value="` + Itm.UOMs[i].UnitId + `" ` + Selected + `>` + Itm.UOMs[i].UnitName + `</option>`;
- }
- html += `</select>`;
- 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("<input type='checkbox' class='divAfterTax' checked/> 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("<input type='checkbox' class='divAfterTax' checked/> 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 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-lg-block"><div class="row div_titledetails font-weight-500 text-dark"><div class="col-lg-8 ItemDetails">Item Details</div><div class="col-lg-4 Inventory_Title InventoryTypesTextboxes text-center"> <div class="col-sm-12"> <div class="row"> <span id="spn_InventoryTitle" class="col-6">Cartons</span><span id="spn_picesTitle" class="col-6 pull-right hidden"> Pieces</span></div></div></div></div></div><div class="mt-2" id="div_ItemList"></div>`);
- $("#div_ItemList").html('<ul class="variant-list list-group"><li class="variant-item hidden"></li>');
- 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_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('<li id="0" class="cartitem list-group-item col-xs-12 hidden clear no-border"></li> <li class="list-group-item col-xs-12 no-border EmptyCartLi"><strong>Your Shopping Cart is empty.</strong></li>');
- }
- 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('<li id="0" class="cartitem list-group-item col-xs-12 hidden clear no-border"></li> <li class="list-group-item col-xs-12 no-border EmptyCartLi"><strong>Your Shopping Cart is empty.</strong></li>');
- }
- 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 = `<header class="b-b bg-white modal-header pt-10 pb-10">
- <strong class="text-dark titlename">Filters</strong>
- <div class="btn-group ml-auto"> <a class="btn btn-sm"><i class="ti-help-alt" title="help" href="" target="_blank"></i></a></div>
- </header>
- <div style="overflow-x:hidden;" class="scrollable">
- <div class="card">
- <div class="card-body">
- <div class="divTagList"></div>
- </div>
- </div>
- </div>
- <footer class="bg-white modal-footer pt-10 pb-10">
- <a href="javascript:;" id="btn_CancelEstimateFilter" class="btn btn-light btn-sm mr-auto"> Close </a>
- <a href="javascript:;" id="btn_ApplyEstimateFilter" class="btn btn-primary btn-sm">Apply</a>
- <a href="javascript:;" id="btn_ClearEstimateFilter" class="btn btn-primary btn-sm">Clear</a>
- </footer>`;
- 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 += '<div class="row"><div class="col-sm-12">';
- }
- taghtml += '<div class="col-sm-6 lobTagItems">';
- taghtml += '<div class="floating-label-form-group floating-label-form-group-with-value no-border" style="border-bottom:0;"><label>' + tagName + '</label>' +
- '<select multiple="multiple" style="width:100%" class="txtTagsSelect2_' + i + ' " id="txtBizgazeNotifications_Tags_' + i + '" data-id=' + i + ' ' + disabled + ' > </select>' +
- '<input type="hidden" class="hfTagCloud_ParentTagId-' + i + '" value="' + response.result[i].TagId + '" />' +
- '</div></div>';
- if (i % 2 == 1) {
- taghtml += '</div></div>';
- }
- }
- if (response.result.length == 0) {
- taghtml += '' + '<h5><span">No Tags Assigned For This Lob.</span></h5>';
- }
- $('.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('<option class="appliedfilter" value="0">Filter</option>');
- $("#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 = {}));
|