1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079 |
- 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 POSCartItems extends Unibase.Platform.Core.BaseComponent {
- constructor() {
- super(...arguments);
- this.g_ValidFocItems = [];
- this.g_SelectedItems = [];
- this.g_LoadedItems = [];
- this.g_ItemsUnitPrice_New = [];
- this.g_CartItems_New = [];
- this.g_AppliedTaxGroups = [];
- this.g_PageIndex = 0;
- this.g_PageSize = 5;
- this.g_CartPageIndex = 1;
- 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_AddedCartItemIds = "";
- this.g_AppliedOffers = [];
- this.g_ModuleName = "";
- this.g_IsFilterApplied = false;
- this.g_TagArray = [];
- this.g_LoadOffersOnly = false;
- this.g_PriceCodeId = 0;
- this.g_OrderTypeId = 1;
- this.g_CountryId = 0;
- this.g_OrganizationId = 0;
- this.g_OrgContactId = 0;
- this.g_IsCalculateTax = false;
- this.g_InventoryApplyType = 1;
- this.g_OrderType = "Sales";
- this.g_LeveragePercent = 0;
- this.g_IsLeverageApplied = false;
- this.g_IsApprovalRequired = false;
- this.g_IsTaxInclusive = false;
- this.g_BranchId = 0;
- this.g_CompanyId = 0;
- this.g_IsSeriesDisabled = false;
- this.g_CompositePriceType = 1;
- this.g_TagGroupId = 0;
- this.g_IsDealer = false;
- this.g_LobId = 0;
- this.g_SalesPersonId = 0;
- this.g_SeriesId = 0;
- this.g_BillingAddressId = 0;
- this.g_ShippingAddressId = 0;
- this.g_ShipFromAddressId = 0;
- this.g_IsShowEnablePieceChkbox = 0;
- this.g_IsShowAvailability = 1;
- this.g_IsChangePaymentMode = 1;
- this.g_IsShowExchangeDc = 1;
- this.g_IsChangePaymentTerm = 1;
- this.g_ShowPrice = 1;
- this.g_IsAdmin = 1;
- this.g_TagsLink = [];
- this.g_IsCheckOutForm = true;
- }
- init(formpropertyid, prop, callback) {
- let instance = this;
- let jsFiles = ["apps/transact/controls/pricelist/managers/pricelistmanager.js", "apps/transact/managers/payments/paymentmanager.js", "apps/crm/contacts/managers/contactmanager.js", "apps/crm/lobs/managers/lobmanager.js", "apps/transact/managers/paymentterms/paymenttermmanager.js", "platform/apps/managers/stagemanager.js", "apps/transact/managers/orders/ordermanager.js", "apps/transact/enums/enum.js", "platform/permission/enums/permission.js", "apps/transact/managers/invoicemanager.js", "apps/transact/managers/offers/offermanager.js", "platform/core/helpers/numberhelper/numberhelper.js", "libs/jquery/pagination/jquery.pagination.js", "apps/transact/components/orders/orderfilter.js"];
- instance.fileCacheHelper.loadJsFiles(jsFiles, function () {
- instance.loadControlSettings(prop.ControlJsonText, prop.FormPropertyId);
- instance.loadPropertySettings(prop.PropertySettings, prop.FormPropertyId);
- });
- }
- loadControl(containerid, prop) {
- let instance = this;
- let html = '<div class="row">' +
- '<input type = "hidden" id = "hdn_customcontrol" class="value-control" value = "Bizgaze.Apps.Transact.Controls.POSCartItems.Instance().getCartItems();"' +
- '<div class="col-sm-12">' +
- '</div>' +
- '</div>' +
- '<div class="col-sm-12 m-t-xs leverage-Warning hidden">' +
- '<div class="alert alert-success alert-block">' +
- ' <h4>Warning..!</h4>' +
- ' <p id="lblSpocNotes">Leverage percent exceeded, Some item have the discount of more than your approved leverage of <span class="empLeverage"></span> %.</p>' +
- '</div>' +
- '</div>' +
- '<div class="col-sm-12 m-t-xs cart-Warning hidden">' +
- '<div class="alert alert-success alert-block">' +
- ' <h4>Warning..!</h4>' +
- ' <p class="cartitem-warning"></p>' +
- '</div>' +
- '</div>' +
- ' <div class="order-cart-list" id="CartItemsList">' +
- '<div class="floating-label-form-group CartItemFindTxt hidden">' +
- '<label for="CartItemSearch" id="">Search Items </label>' +
- ' <input type="search" id="cartItemsSearch" class="form-control floating-label-control" data-isdynamic="false" placeholder="Search Items" data-placeholder="Item Name" data-label="Search Items" autocomplete="on" /> ' +
- '</div> ' +
- '<ul class="list-group no-radius clear mt-10 mb-10" id="ulOrder_Cart"></ul>' +
- '<ul class="list-group no-radius clear" id="ulOpportunityTag_Cart"></ul>' +
- '<div class="d-flex justify-content-between align-items-center">' +
- '<div id="ContinueShopping_Div"><a href="javascript:;" id="btn_ContinueShopping" class="btn btn-outline-primary ContinueShopping mr-auto btn-sm">Continue Shopping</a></div>' +
- '</div>' +
- '</div>';
- $("#" + containerid).html(html);
- let jsFiles = ["apps/transact/controls/pricelist/managers/pricelistmanager.js", "apps/transact/managers/payments/paymentmanager.js", "apps/crm/contacts/managers/contactmanager.js", "apps/crm/lobs/managers/lobmanager.js", "apps/transact/managers/paymentterms/paymenttermmanager.js", "platform/apps/managers/stagemanager.js", "apps/transact/managers/orders/ordermanager.js", "apps/transact/enums/enum.js", "platform/permission/enums/permission.js", "apps/transact/managers/invoicemanager.js", "apps/transact/managers/offers/offermanager.js", "platform/core/helpers/numberhelper/numberhelper.js", "libs/jquery/pagination/jquery.pagination.js", "apps/transact/components/orders/orderfilter.js"];
- instance.fileCacheHelper.loadJsFiles(jsFiles, function () {
- let checkoutPageHtml = "";
- checkoutPageHtml = `<div class="text-center"><span class="btn-sm btn btn-primary hidden" id="poscheckoutitemsloadmore">More</span></div>`;
- $("#poscheckoutitemsloadmore").remove();
- $("#ContinueShopping_Div").after(checkoutPageHtml);
- $('#poscheckoutitemsloadmore').click(function () {
- instance.g_PageIndex = instance.g_PageIndex + 1;
- instance.g_CartPageIndex = instance.g_CartPageIndex + 1;
- instance.getTotals();
- });
- let Qtyhtml = '<span class="text-dark font-weight-bold divOrderCartItems" style="font-size:15px"> (<span class="netpacks" id="totalOrderItems"></span>) </span> <div class="divOrderCartQty pull-right">' +
- ' <span class="font-bold pull-right"> Total Qty : <b id="OverallOrderQuantity"></b></span>' +
- ' </div>';
- $(".section_CartItems").find(".card-header").append(Qtyhtml).addClass('text-dark');
- $(".section_CartItems").find(".card-body").addClass('pt-0');
- $(".section_PriceSummary,.section_Address").find(".card-header").addClass('text-dark');
- $("#totalOrderItems_link").click(function () {
- $("#ulOrder_Cart").toggleClass("hidden");
- });
- $("#cartItemsSearch").on("keyup", function () {
- let value = $(this).val().toString().toLowerCase();
- $("#ulOrder_Cart li:not(:first-child)").filter(function () {
- $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1);
- });
- });
- instance.g_IsCheckOutForm = true;
- $("#div_FormName").text("My Cart");
- instance.resetAllVariables();
- let UserId = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().userId;
- instance.g_IsDealer = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().isRestrictedUser;
- if (instance.g_IsDealer) {
- instance.fileCacheHelper.loadJsFile("apps/crm/contacts/managers/contactmanager.js", function () {
- Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getContactByUserId(UserId).then(function (response) {
- let contactId = response.result.OrganizationId;
- instance.g_OrganizationId = response.result.OrganizationId;
- let organizationName = response.result.OrganizationName;
- let contact = new Option(organizationName, contactId.toString(), true);
- $(".txtAutoComplete_organizationid").append(contact);
- $(".txtAutoComplete_organizationid").val(contactId).trigger("change");
- instance.bindDetails(instance.g_OrganizationId, 0);
- $("#orgContact_back").addClass("hidden");
- });
- });
- }
- $("#btnDynamicSave").text("Place Order");
- $(".OrgContactNameLink, .section_Details").addClass('hidden');
- let VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
- $("#" + VisibleContainerId).find("#btn_CloseForm_" + $("#hf_FormId").val()).click(function () {
- instance.closePlaceAnOrder("CloseForm");
- });
- });
- }
- loadControlSettings(controlsettingjson, formpropertyid) {
- let instance = this;
- }
- loadPropertySettings(propertysettings, formpropertyid) {
- return null;
- }
- bindEditFormDetails(formpropertyid, propval, DocPropertyName) {
- return null;
- }
- resetAllVariables() {
- let instance = this;
- $("#div_orgcontactid").removeClass("hidden");
- instance.g_LoadOffersOnly = false;
- instance.g_TagArray = [];
- instance.g_FilteredTags = '';
- instance.g_PageIndex = 0;
- instance.g_SelectedItems = [];
- instance.g_CartItems_New = [];
- instance.g_ItemsUnitPrice_New = [];
- instance.g_IsEnableCompositePrice = false;
- instance.g_IsEnablePiecePrice = false;
- instance.g_IsEnableCompositePiecePrice = false;
- instance.g_ValidFocItems = [];
- instance.g_CartPageIndex = 1;
- instance.g_PacksFocus = true;
- instance.g_PiecesFocus = false;
- instance.fileCacheHelper.loadJsFile("apps/transact/components/orders/orderfilter.js", function () {
- Bizgaze.Apps.Transact.Components.OrderFilter.Instance().g_TagArray = [];
- Bizgaze.Apps.Transact.Components.OrderFilter.Instance().g_OnlyFilters = false;
- });
- }
- bindDetails(OrganizationId, LobId) {
- let instance = this;
- instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
- Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getDetails(OrganizationId, LobId, instance.g_OrderType, false).then(function (response) {
- let msg = response.message;
- let res = response.result;
- if (msg != "") {
- Unibase.Platform.Forms.Components.FormViewer.Instance().showError(msg);
- }
- if (res != null) {
- instance.g_LobId = res.LobId;
- instance.g_SalesPersonId = res.SalesPersonId;
- instance.g_SeriesId = res.SeriesId;
- instance.g_BillingAddressId = res.BillingAddressId;
- instance.g_ShippingAddressId = res.ShippingAddressId;
- instance.g_ShipFromAddressId = res.ShipFromAddressId;
- instance.g_WarehouseId = res.ShipFromAddressId;
- $(".txtAutoComplete_orgcontactid").empty();
- $(".txtAutoComplete_companyid").empty();
- $(".txtAutoComplete_shippingaddressid, .txtAutoComplete_billingaddressid").empty();
- $(".txtAutoComplete_shipfromaddressid, .txtAutoComplete_billfromaddressid").empty();
- $(".txtAutoComplete_lobid").empty();
- $(".txtAutoComplete_salespersonid").empty();
- $(".txtSeriesAutoComplete_seriesid").empty();
- $(".txtAutoComplete_paymenttermid").empty();
- }
- if (res.OrganizationTypeId == 1) {
- instance.g_OrgContactId = res.OrgContactId;
- if (res.OrgContactName != null && res.OrgContactName != undefined) {
- let OrgContactName = res.OrgContactName.substring(res.OrgContactName.toString().indexOf("-") + 2);
- let OrgContact = new Option(OrgContactName, instance.g_OrgContactId.toString(), true);
- $(".txtAutoComplete_orgcontactid").append(OrgContact).val(instance.g_OrgContactId);
- }
- }
- else if (res.OrganizationTypeId == 2) {
- $("#div_orgcontactid").addClass("hidden");
- }
- if (res.CountryId != "" && res.CountryId != undefined) {
- instance.g_CountryId = res.CountryId;
- }
- else {
- instance.g_CountryId = 0;
- }
- instance.g_CompanyId = res.CompanyId;
- let CompanyName = res.CompanyName;
- let ShipFromAddressId = response.result.ShipFromAddressId;
- instance.g_BranchId = response.result.BranchId;
- let BranchName = response.result.BranchName;
- let WarehouseName = response.result.ShipFromAddressName;
- let BranchShortCode = response.result.BranchShortCode;
- let WarehouseShortCode = response.result.WarehouseShortCode;
- let Company = new Option(CompanyName, instance.g_CompanyId.toString(), true);
- $(".txtAutoComplete_companyid").append(Company).val(instance.g_CompanyId);
- $(".txtAutoComplete_shipfromaddressid, .txtAutoComplete_billfromaddressid").val('').text('');
- let Branch = new Option(BranchName + " - " + BranchShortCode, instance.g_BranchId.toString(), true);
- let Warehouse = new Option(WarehouseName + " - " + WarehouseShortCode, ShipFromAddressId.toString(), true);
- if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Purchase || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseClaim) {
- $(".txtAutoComplete_shippingaddressid").append(Warehouse).val(ShipFromAddressId);
- $(".txtAutoComplete_billingaddressid").append(Branch).val(instance.g_BranchId);
- }
- else if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Sales || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesClaim) {
- $(".txtAutoComplete_shipfromaddressid").append(Warehouse).val(ShipFromAddressId);
- $(".txtAutoComplete_billfromaddressid").append(Branch).val(instance.g_BranchId);
- }
- if (res.BillingAddressId != 0) {
- let BillingAddress = new Option(res.BillingAddressName, res.BillingAddressId, true);
- let ShippingAddress = new Option(res.BillingAddressName, res.BillingAddressId, true);
- if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Sales || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesClaim) {
- $(".txtAutoComplete_billingaddressid").append(BillingAddress).val(res.BillingAddressId);
- $(".txtAutoComplete_shippingaddressid").append(ShippingAddress).val(res.ShippingAddressId);
- }
- if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Purchase || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseClaim) {
- $(".txtAutoComplete_billfromaddressid").append(BillingAddress).val(res.BillingAddressId);
- $(".txtAutoComplete_shipfromaddressid").append(ShippingAddress).val(res.ShippingAddressId);
- }
- }
- instance.bindShipToAddress(res.ShippingAddress);
- $(".txtAutoComplete_shippingaddressid").unbind().change(function () {
- let ShipToAddressId = Number($(".txtAutoComplete_shippingaddressid").val());
- let Addr = ",,,,,";
- if (ShipToAddressId != 0) {
- instance.fileCacheHelper.loadJsFile("apps/crm/contacts/managers/contactmanager.js", function () {
- Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getAddressById(ShipToAddressId).then(function (response) {
- let res = response.result;
- if (res != null) {
- Addr = res.AddressName + "," + res.Addressline1 + "," + res.Addressline2 + "," + res.CityName + "," + res.DistrictName + "," + res.StateName + "," + res.Landmark + "," + res.ZipCode;
- }
- instance.bindShipToAddress(Addr);
- });
- });
- }
- else {
- instance.bindShipToAddress(Addr);
- }
- });
- if (res.IsCashCustomer) {
- $(".dropdown_paymentmethodid").val(1);
- }
- $("#div_lobid, .txtAutoComplete_lobid, #div_salespersonid, .txtAutoComplete_salespersonid").removeClass("hidden").removeAttr("disabled");
- if (res.LobId != 0) {
- if (!res.IsMultipleLobs) {
- instance.g_TagGroupId = res.TagGroupId;
- let LobDetails = new Option(res.LobName, res.LobId, true);
- $(".txtAutoComplete_lobid").append(LobDetails).val(res.LobId);
- let data = res.Permissions;
- instance.setPermissionVariables(data);
- instance.itemSettingsEvents();
- instance.g_IsEnablePacks = true;
- instance.g_IsEnablePieces = true;
- instance.g_PacksFocus = true;
- instance.g_PiecesFocus = false;
- instance.g_InventoryApplyType = Bizgaze.Apps.Transact.Enums.InventoryApplyType.PacksAndPieces;
- instance.g_CompositePriceType = Number(Bizgaze.Apps.Transact.Enums.PriceType.None);
- instance.g_IsCalculateTax = res.CalculateTax;
- let SalesPerson = new Option(res.SalesPersonName, res.SalesPersonId, true);
- $(".txtAutoComplete_salespersonid").append(SalesPerson);
- $(".txtAutoComplete_salespersonid").val(res.SalesPersonId);
- $(".txtSeriesAutoComplete_seriesid").empty();
- if (instance.g_IsSeriesDisabled) {
- $(".txtSeriesAutoComplete_seriesid").attr("disabled", "true");
- }
- else {
- $(".txtSeriesAutoComplete_seriesid").removeAttr("disabled");
- }
- if (res.SeriesSettings.length == 0) {
- for (let s = 0; s < res.SeriesList.length; s++) {
- let Series = new Option(res.SeriesList[s].SeriesName, res.SeriesList[s].SeriesId, true);
- $(".txtSeriesAutoComplete_seriesid").append(Series);
- }
- }
- else {
- for (let s = 0; s < res.SeriesSettings.length; s++) {
- let Series = new Option(res.SeriesSettings[s].SeriesName, res.SeriesSettings[s].SeriesId, true);
- $(".txtSeriesAutoComplete_seriesid").append(Series);
- }
- }
- $(".txtSeriesAutoComplete_seriesid").val(res.SeriesId);
- }
- if (res.PaymentTermId != 0) {
- let PaymentTerm = new Option(res.PaymentTermName, res.PaymentTermId, true);
- $(".txtAutoComplete_paymenttermid").append(PaymentTerm);
- $(".txtAutoComplete_paymenttermid").val(res.PaymentTermId);
- }
- if (res.Terms != "<p><br></p>" && res.Terms != "" && res.Terms != null) {
- $(".divCustomProperties_terms").addClass('floating-label-form-group-with-value');
- let id = $(".divCustomProperties_terms").attr("id");
- if (id != undefined && id != "" && id != null) {
- id = $(".divCustomProperties_terms").attr("id").replace("control-container-", "");
- $("#txt_" + id).html(res.Terms);
- $("#txt_" + id).val($("#txt_" + id)[0].textContent);
- }
- }
- else
- $(".divCustomProperties_terms").removeClass('floating-label-form-group-with-value');
- instance.g_PriceCodeId = res.PriceCodeId;
- $('#hfOrder_IsSeperateExcise').val(res.IsSeperateExcise);
- if ($("#chk_PriceCodeId").is(':checked'))
- instance.g_PriceCodeId = res.AdvancePriceCodeId;
- if (Number($(".hdn_orderid").val()) == 0) {
- instance.bindCartItems();
- }
- if (LobId == 0) {
- $("#div_lobid").addClass("hidden");
- $("#div_salespersonid").addClass("hidden");
- }
- }
- else {
- let msg = response.message;
- if (msg != "") {
- $(".txtAutoComplete_lobid").empty();
- $(".txtAutoComplete_lobid, .txtAutoComplete_salespersonid").attr("disabled", "disabled");
- }
- }
- instance.loadAutoCompletes();
- instance.g_IsLeverageApplied = res.IsLeverageApplied;
- if (!instance.g_IsAdmin) {
- if (res.LeveragePercent != 0 && res.LeveragePercent != '' && res.LeveragePercent != undefined)
- instance.g_LeveragePercent = res.LeveragePercent;
- $('.empLeverage').text(instance.g_LeveragePercent);
- }
- });
- });
- }
- loadAutoCompletes() {
- let instance = this;
- let id = $(".select2-results").find("ul").attr("id");
- let changedAutoComplete = "";
- if (id != undefined && id != null) {
- changedAutoComplete = $("#" + id.replace("select2-", "").replace("-results", "")).attr("data-propertyname");
- }
- let OrgId = [
- { ColumnName: 'orgid', Value: instance.g_OrganizationId },
- ];
- Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_orgcontactid"), OrgId);
- let Contact = [
- { ColumnName: 'contactid', Value: instance.g_OrganizationId },
- ];
- if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Sales || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesClaim) {
- if (changedAutoComplete != "billingaddressid") {
- Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_billingaddressid"), Contact);
- }
- if (changedAutoComplete != "shippingaddressid") {
- Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_shippingaddressid"), Contact);
- }
- }
- else if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Purchase || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseClaim) {
- if (changedAutoComplete != "branchid") {
- Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_billfromaddressid"), Contact);
- }
- if (changedAutoComplete != "shipfromaddressid") {
- Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_shipfromaddressid"), Contact);
- }
- }
- if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Sales || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesClaim) {
- let Parameters = [{ ColumnName: "companyid", Value: Number($(".txtAutoComplete_companyid").val()) }];
- if (changedAutoComplete != "branchid") {
- Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_billfromaddressid"), Parameters);
- }
- if (changedAutoComplete != "shipfromaddressid") {
- Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_shipfromaddressid"), Parameters);
- }
- }
- else if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Purchase || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseClaim) {
- let Parameters = [{ ColumnName: "companyid", Value: Number($(".txtAutoComplete_companyid").val()) }];
- if (changedAutoComplete != "billingaddressid") {
- Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_billingaddressid"), Parameters);
- }
- if (changedAutoComplete != "shippingaddressid") {
- Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_shippingaddressid"), Parameters);
- }
- }
- if (changedAutoComplete != "lobid") {
- let portalId = 0;
- if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Purchase || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseClaim)
- portalId = Number($(".txtAutoComplete_billfromaddressid").val());
- else
- portalId = Number($(".txtAutoComplete_billingaddressid option:selected").val());
- let Parameters = [
- { ColumnName: 'contactaddressid', Value: portalId },
- ];
- Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_lobid"), Parameters);
- }
- if (changedAutoComplete != "salespersonid") {
- let LobId = 0;
- let OrganizationAddressId = 0;
- if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Sales || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesClaim) {
- LobId = Number($(".txtAutoComplete_lobid option:selected").val());
- OrganizationAddressId = Number($(".txtAutoComplete_billingaddressid option:selected").val());
- }
- else if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Purchase || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseClaim) {
- LobId = Number($(".txtAutoComplete_lobid option:selected").val());
- OrganizationAddressId = Number($(".txtAutoComplete_billfromaddressid option:selected").val());
- }
- let Parameters = [
- { ColumnName: 'lobid', Value: LobId },
- { ColumnName: 'contactaddressid', Value: OrganizationAddressId },
- ];
- Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_salespersonid"), Parameters);
- }
- }
- setPermissionVariables(res) {
- let instance = this;
- let data = res;
- let AllowPermission = Unibase.Platform.Permissions.Enums.PermissionLevel[Unibase.Platform.Permissions.Enums.PermissionLevel.Allow];
- if (data.ShowItemAvailability == AllowPermission) {
- instance.g_IsShowAvailability = 1;
- }
- else {
- instance.g_IsShowAvailability = 0;
- }
- if (data.EnableItemPieces == AllowPermission) {
- instance.g_IsShowEnablePieceChkbox = 1;
- }
- else {
- instance.g_IsShowEnablePieceChkbox = 0;
- }
- if (data.ChangePaymentTerm == AllowPermission) {
- instance.g_IsChangePaymentTerm = 1;
- }
- else {
- instance.g_IsChangePaymentTerm = 0;
- }
- if (data.ChangePaymentMode == AllowPermission) {
- instance.g_IsChangePaymentMode = 1;
- }
- else {
- instance.g_IsChangePaymentMode = 0;
- }
- if (data.EditPrice == AllowPermission) {
- instance.g_ShowPrice = 1;
- }
- else {
- instance.g_ShowPrice = 0;
- }
- if (data.ShowExchangeDC == AllowPermission) {
- instance.g_IsShowExchangeDc = 1;
- }
- else {
- instance.g_IsShowExchangeDc = 0;
- }
- }
- checkIsCheckOutForm() {
- let instance = this;
- if (!$("#ulOrder_Cart").is(":visible")) {
- instance.g_IsCheckOutForm = false;
- }
- else {
- instance.g_IsCheckOutForm = true;
- }
- }
- bindShipToAddress(res) {
- let Addr = res.split(",");
- let Address = Addr[0] == "" || Addr[0] == undefined ? "NA" : Addr[0];
- let AddressLine1 = Addr[1] == "" || Addr[1] == undefined ? "NA" : Addr[1];
- let AddressLine2 = Addr[2] == "" || Addr[2] == undefined ? "NA" : Addr[2];
- let City = Addr[3] == "" || Addr[3] == undefined ? "NA" : Addr[3];
- let District = Addr[4] == "" || Addr[4] == undefined ? "NA" : Addr[4];
- let State = Addr[5] == "" || Addr[5] == undefined ? "NA" : Addr[5];
- let LandMark = Addr[6] == "" || Addr[6] == undefined ? "NA" : Addr[6];
- let PinCode = Addr[7] == "" || Addr[7] == undefined ? "NA" : Addr[7];
- let html = `<div class="card mb-0 p-2 ShipToAddress">
- <div><h6 class="text-dark mb-2">${Address}</h6></div>
- <div>`;
- html += `<p class="text-dark">${AddressLine1 == "NA" ? "" : AddressLine1}${AddressLine2 == "NA" ? "" : ', ' + AddressLine2}${LandMark == "NA" ? "" : ', ' + LandMark}${City == "NA" ? "" : ', ' + City}${District == "NA" ? "" : ', ' + District}${State == "NA" ? "" : ', ' + State}${PinCode == "NA" ? "" : ' - ' + PinCode}</p></div>`;
- html += `</div>`;
- $(".ShipToAddress").remove();
- $(".section_Address .card-body").append(html);
- }
- loadItems(SearchItem, showUnitPriceWarning = false) {
- let instance = this;
- let OrganizationId = instance.g_OrganizationId;
- let LoBId = instance.g_LobId;
- let ShipTo = instance.g_ShippingAddressId;
- let BranchId = instance.g_BranchId;
- 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.g_LoadOffersOnly = true;
- SearchItem = '';
- if (instance.g_IsFilterApplied) {
- instance.g_IsFilterApplied = false;
- instance.g_FilteredTags = '';
- instance.g_TagArray = [];
- }
- }
- else if (SearchItem == "All Items") {
- instance.g_LoadOffersOnly = false;
- instance.g_FilteredTags = '';
- instance.g_TagArray = [];
- SearchItem = "";
- }
- else if (SearchItem == "Filter") {
- instance.g_LoadOffersOnly = false;
- }
- let PriceCodeId = instance.g_PriceCodeId;
- let ContactId = OrganizationId;
- if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Sales) {
- instance.g_WarehouseId = instance.g_ShipFromAddressId;
- }
- let varianturl;
- if (SearchItem.replace(" ", "") == "") {
- SearchItem = null;
- }
- let Tags = "";
- let AddedCartItemIds = "";
- let ProductId = 0;
- instance.checkIsCheckOutForm();
- if (!instance.g_IsCheckOutForm) {
- Tags = Bizgaze.Apps.Transact.Components.OrderFilter.Instance().g_Tags;
- ProductId = instance.g_ProductId;
- }
- else {
- AddedCartItemIds = instance.g_AddedCartItemIds;
- }
- 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 () {
- let postdata = {
- PriceCodeId: Number(PriceCodeId),
- ContactId: ContactId,
- ShippingAddressId: Number(ShipTo),
- BranchId: Number(BranchId),
- WareHouseId: Number(instance.g_WarehouseId),
- LobId: Number(LoBId),
- OrderType: instance.g_OrderTypeId,
- OfferOnly: instance.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: instance.g_PageSize,
- ItemId: "0",
- CountryId: instance.g_CountryId,
- ItemGroupId: 0,
- Tags: Tags,
- IsPoints: false,
- Points: 0,
- IsEligibleItemsOnly: false,
- ProductId: ProductId,
- AddedCartItemIds: AddedCartItemIds
- };
- let cntId = instance.g_OrganizationId;
- if (cntId == 0)
- cntId = instance.g_OrgContactId;
- if ($("#ItemLoadType option:selected").text() != "Filter" || (Bizgaze.Apps.Transact.Components.OrderFilter.Instance().g_Tags.length == 0 && $("#ItemLoadType option:selected").text() == "Filter")) {
- if (Bizgaze.Apps.Transact.Components.OrderFilter.Instance().g_Tags.length == 0 && $("#ItemLoadType option:selected").text() == "Filter") {
- instance.g_LoadOffersOnly = false;
- }
- }
- varianturl = Bizgaze.Apps.Transact.Managers.ItemManager.Instance().getVariantsForOrder(postdata);
- instance.navigationHelper.showLoading();
- varianturl.then(function (response) {
- instance.navigationHelper.hideLoading();
- if (response.result.length > 0) {
- instance.itemPagination(response, OrganizationId, LoBId, ShipTo, BranchId);
- $("#btn_CheckOutOrder").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.g_LoadOffersOnly) {
- $("#div_ItemList").html('<ul class="variant-list list-group" id="Items-list"><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"><li class="variant-item"><div class="text-center">Items not found.</div></li></ul>');
- }
- }
- let IsPriceWarning = false;
- for (let i = 0; i < instance.g_CartItems_New.length; i++) {
- let Itm = instance.g_CartItems_New[i];
- let elem = $(".variant-addeditem-" + Itm.ItemId);
- if (!instance.g_IsCheckOutForm) {
- if (elem != undefined && elem.length > 0) {
- let row = instance.g_LoadedItems.find(x => x.ItemId == Itm.ItemId);
- if (row != undefined && row != null) {
- $(elem).find("#txt_editItemPrice").val(row.UnitPrice);
- }
- instance.updateItemsArray(elem, "BindCartItems", false, 0, false);
- }
- }
- let cart_elem = $(".cartitem-" + Itm.ItemId);
- if (instance.g_IsCheckOutForm) {
- if (cart_elem.length == 0) {
- if (instance.g_IsCheckOutForm) {
- instance.addCartItem(Itm.ItemId);
- }
- }
- cart_elem = $(".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) {
- $(cart_elem).find("#txt_editItemPrice").val(row.UnitPrice);
- }
- instance.updateItemsArray(cart_elem, "BindCartItems", false);
- }
- }
- if (showUnitPriceWarning) {
- let Item = instance.g_CartItems_New.find(x => x.ItemId == Itm.ItemId);
- let price = Item.UnitPrice;
- let actualprice = Item.ActualPrice;
- let oldunitprice = Item.OldUnitPrice;
- if (price < oldunitprice) {
- Item.ErrorMsg += "\n Unit price is reduced from " + oldunitprice + " to " + price;
- cart_elem.find(".tax-error").text("Unit price is reduced from " + oldunitprice + " to " + price).removeClass("text-danger").addClass("text-warning");
- elem.find(".tax-error").text("Unit price is reduced from " + oldunitprice + " to " + price).removeClass("text-danger").addClass("text-warning");
- IsPriceWarning = true;
- }
- if (price > oldunitprice) {
- Item.ErrorMsg += "\n Unit price is increased from " + oldunitprice + " to " + price;
- cart_elem.find(".tax-error").text("Unit price is increased from " + oldunitprice + " to " + price).removeClass("text-danger").addClass("text-warning");
- elem.find(".tax-error").text("Unit price is increased from " + oldunitprice + " to " + price).removeClass("text-danger").addClass("text-warning");
- IsPriceWarning = true;
- }
- }
- }
- instance.checkIsCheckOutForm();
- if (instance.g_IsCheckOutForm) {
- instance.checkOffers(false, 0, "BindPOSCartItems");
- }
- if (IsPriceWarning == true) {
- $(".cart-Warning").removeClass("hidden");
- $(".cartitem-warning").text("Some of the items unit price has been changed after adding to cart");
- }
- else {
- $(".cart-Warning").addClass("hidden");
- }
- instance.getTotals(0, "LoadItems");
- });
- });
- }
- }
- 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 && x != undefined) {
- instance.g_LoadedItems.push(x);
- }
- else {
- instance.g_LoadedItems[LoadedItem_Index].TaxPercentList = x.TaxPercentList;
- }
- });
- let Items = response.result;
- if (instance.g_ProductId != 0) {
- Items = response.result.filter(x => x.ProductId == instance.g_ProductId);
- }
- if (!instance.g_IsCheckOutForm) {
- instance.bindItemList(Items);
- if (response.result.length > 0) {
- if (response.result[0].TotalRecords > (instance.g_PageIndex + 1) * instance.g_PageSize) {
- $('#poscartitemsloadmore').removeClass('hidden');
- }
- else {
- $('#poscartitemsloadmore').addClass('hidden');
- }
- }
- else {
- $('#poscartitemsloadmore').addClass('hidden');
- }
- }
- }
- bindItemList(items) {
- let instance = this;
- if (items.length == 0) {
- if (instance.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);
- if (!$(".variant-addeditem-" + ItemId).find('.item-img-link').data('src')) {
- instance.setItemAvatarText(ItemId, data.ItemName, false);
- }
- let element = $(".variant-item:last");
- instance.allItemEvents(element);
- let SelItem = instance.g_SelectedItems.find(x => x.ItemId == ItemId);
- if (SelItem != null && !instance.g_IsCheckOutForm) {
- 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="text-center"><span class="btn btn-primary btn-sm hidden" id="poscartitemsloadmore">More</span></div>`;
- $("#poscartitemsloadmore").remove();
- $(".variant-item:last").parent('ul').after(pageHtml);
- $('#poscartitemsloadmore').click(function () {
- instance.g_PageIndex = instance.g_PageIndex + 1;
- instance.loadItems($("#txt_SearchItem").val());
- });
- }
- updateItemsArray(elem, event, FromWidget = false, Qty = 0, refreshTotals = true) {
- let instance = this;
- let OrderItemId = 0;
- let SelectedUnitId = 1;
- let DefaultSize = 0;
- let DiscountPercent = 0, DiscountValue = 0, DiscountAmount = 0, AfterDiscountValue = 0, BaseQty = 0, TaxGroupId = 0, TaxGroupName = "", TaxAmount = 0, StrTaxPercents = "", TaxRateAmount = 0, Amount = 0, IsCheckPendingItems = false, IsLeverageError = false, IsTaxError = false, IsWishList = false, OldUnitPrice = 0;
- if ($(elem).find(".fa-heart").length > 0) {
- IsWishList = true;
- }
- let IsCalculateTax = instance.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());
- instance.checkIsCheckOutForm();
- let UnitPrice = Number($(elem).find("#txt_editItemPrice").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 == "");
- }
- if (CartItems_Index != -1 && (event == "BindCartItems" || event == "LoadItems")) {
- Packs = instance.g_CartItems_New[CartItems_Index].Packs;
- Pieces = instance.g_CartItems_New[CartItems_Index].Pieces;
- }
- let row = instance.g_LoadedItems[LoadedItems_Index];
- let PartNo = row.PartNo;
- if (PartNo == undefined || PartNo == "null" || PartNo == null) {
- PartNo = "";
- }
- let Items_up = instance.g_ItemsUnitPrice_New.find(x => x.ItemId == ItemId);
- if (Items_up == undefined) {
- instance.g_ItemsUnitPrice_New.push({
- ItemId: ItemId,
- UnitPrice: UnitPrice,
- TaxRateAmount: TaxRateAmount
- });
- Items_up = instance.g_ItemsUnitPrice_New.find(x => x.ItemId == ItemId);
- }
- else {
- Items_up.UnitPrice = UnitPrice;
- }
- let Quantity = 0;
- let UOMQuantity = 0;
- if (instance.g_InventoryApplyType == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Quantity) {
- BaseQty = Number(Packs);
- Quantity = Packs;
- }
- else {
- if (Qty != 0) {
- BaseQty = Qty;
- Quantity = Qty;
- }
- else {
- BaseQty = Number(Number(row.PackCount) * Number(row.PackSize) * Number(Packs) + (Pieces * row.PackSize));
- Quantity = (((row.PackCount * row.PackSize) * Packs) + (Pieces * row.PackSize));
- }
- }
- if (row.IsMultipleUOMs) {
- SelectedUnitId = Number($(elem).find("#ddl_MultipleUOMs_" + ItemId).val());
- if (SelectedUnitId != 1 && SelectedUnitId != 0 && !isNaN(SelectedUnitId)) {
- let MultipleUOM = row.MultipleUOMs.find(x => x.SchemaDetailId == SelectedUnitId);
- UOMQuantity = Quantity * MultipleUOM.DefaultSize;
- BaseQty = UOMQuantity;
- DefaultSize = MultipleUOM.DefaultSize;
- }
- }
- Quantity = instance.roundOffIgnoreZerosAfterDecimal(Quantity);
- UOMQuantity = instance.roundOffIgnoreZerosAfterDecimal(UOMQuantity);
- if (SelectedItems_Index != -1) {
- if (event == "Plus" || event == "Packs" || event == "Pieces" || event == "ApplyOffer") {
- IsCheckPendingItems = instance.g_SelectedItems[SelectedItems_Index].IsCheckPendingItems;
- }
- OldUnitPrice = instance.g_SelectedItems[SelectedItems_Index].OldUnitPrice;
- ItemIndex = instance.g_SelectedItems[SelectedItems_Index].ItemIndex;
- OrderItemId = instance.g_SelectedItems[SelectedItems_Index].OrderItemId;
- $(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.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: row.UnitPrice,
- 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,
- IsOfferApplied: false,
- Description: row.Description == undefined ? "" : row.Description,
- Discountable: row.Discountable,
- PiecePrice: row.PiecePrice,
- CompositePrice: row.CompositePrice,
- CompositePiecePrice: row.CompositePiecePrice,
- IsCheckPendingItems: IsCheckPendingItems,
- IsError: false,
- ErrorMsg: "",
- ErrorClass: "text-danger",
- IsTaxError: IsTaxError,
- IsLeverageError: IsLeverageError,
- IsFocAdded: false,
- RefItemIds: "",
- RefItemSKUs: "",
- FocItemIds: "",
- DiscountGroupId: 0,
- IsOfferDiscountApplied: false,
- AppliedOfferVolume: 0,
- AppliedPlanVolumeId: 0,
- AppliedOfferId: 0,
- OffersCount: row.OffersCount,
- optoutOfferGroupId: 0,
- SuggestedPacks: 0,
- MinPacks: 0,
- AvgPacks: 0,
- InwardOrderPacks: 0,
- OutwardOrderPacks: 0,
- IsMultipleUOMs: row.IsMultipleUOMs,
- UOMSchemaId: row.UOMSchemaId,
- MultipleUOMs: row.MultipleUOMs,
- SelectedUnitId: SelectedUnitId,
- DefaultSize: DefaultSize,
- IsBoMAvailable: row.IsBoMAvailable,
- UOMQuantity: UOMQuantity,
- ProductId: row.ProductId,
- IsWishList: IsWishList,
- OldUnitPrice: OldUnitPrice,
- InstalledAppId: row.InstalledAppId,
- };
- 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);
- }
- 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 (BaseQty == 0 && !instance.g_IsCheckOutForm) {
- let html = `<div class="d-flex justify-content-center my-2 my-md-0"><button class="AddToCart btn-outline-primary rounded" id="AddToCart_` + ItemId + `" style="border:1px solid"><span class="ml-5"> Add to Cart </span></button></div>`;
- $(elem).find(".InventoryTypesTextboxes").html(html);
- instance.allItemEvents(elem);
- if (ItemElm.length > 0 && instance.g_IsCheckOutForm) {
- $(ItemElm).find(".InventoryTypesTextboxes").html(html);
- instance.allItemEvents(ItemElm);
- }
- }
- let Cart_elem = $(".cartitem-" + ItemId);
- if (CartItems_Index != -1 && Cart_elem.length > 0) {
- if (!FromWidget) {
- let evnt = "EditCartItem";
- if (event == "RefreshAllItems_InventoryClickEvents") {
- evnt = event;
- }
- if (instance.g_IsCheckOutForm) {
- instance.updateItemsDesign(Cart_elem, evnt, true);
- }
- }
- }
- else {
- if (instance.g_IsCheckOutForm && event != "BindCartItems") {
- instance.addCartItem(ItemId);
- }
- }
- }
- if (BaseQty != 0 || IsWishList == true) {
- instance.checkValidations(ItemId, true);
- instance.checkValidations(ItemId, false);
- }
- if (row.IsOfferAvailable && instance.g_IsCheckOutForm && event != "BindCartItems") {
- instance.checkOffers(FromWidget, ItemId, "UpdateItemsArray");
- }
- else {
- if (refreshTotals) {
- instance.getTotals(ItemId, event);
- }
- }
- }
- getInventoryDesign(ItemId, IsCart, SuggestedPacks = 0, RefItemIds, event = "") {
- 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 (Number(PP_Cartons) == 0 && Number(PP_Pieces) == 0 && event == "") {
- if (!instance.g_IsCheckOutForm) {
- html = `<div class="d-flex justify-content-center my-2 my-md-0"><button class="AddToCart btn-outline-primary rounded " id="AddToCart_` + ItemId + `" style="border:1px solid"><span class="ml-5"> Add to Cart </span> </button></div>`;
- return html;
- }
- }
- if (event == "IsAddToCart") {
- PP_Cartons = "0";
- PP_Pieces = "0";
- }
- 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.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");
- }
- 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");
- }
- 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");
- }
- $("#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 align-items-center" id="div_Cartons">' +
- '<span class="input-group-prepend rounded-circle h-30p w-30p px-1 border align-items-center justify-content-center ' + HideMinusPlusBtns + '">' +
- '<a href="javascript:;" class="text-dark input-group-addon btn quantity-minus p-0" draggable="false"><i class="fa fa-minus font-14"></i></a>' +
- '</span>' +
- '<input type="text" id="txt_Cartons" ' + DisableQuantityTxtBox + 'class="ml-2 form-control text-center txtOrder_ItemCount floating-label-control" inputmode="numeric" pattern="[0-9]+" onpaste = "return Bizgaze.Apps.Transact.Controls.POSCartItems.Instance().isNumberKey(event)" onkeypress = "return Bizgaze.Apps.Transact.Controls.POSCartItems.Instance().isNumberKey(event)" data-isdynamic="false" placeholder="' + InvType + '" data-placeholder="' + InvType + '" data-label="' + InvType + '"value=' + PP_Cartons + '>' +
- '<span class="input-group-append rounded-circle h-30p w-30p justify-content-center px-1 border align-items-center ' + HideMinusPlusBtns + '">' +
- '<a href="javascript:;" class="text-dark quantity-plus input-group-addon btn " draggable="false"><i class="fa fa-plus font-14"></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 align-items-center" id="div_Pieces">' +
- '<span class="input-group-prepend rounded-circle h-30p w-30p px-1 border align-items-center justify-content-center">' +
- '<a href="javascript:;" class="text-dark input-group-addon btn quantity-minus p-0" draggable="false"><i class="fa fa-minus font-14"></i></a>' +
- '</span>' +
- '<input type="text" id="txt_Pieces" class="mr-2 form-control text-center txtOrder_ItemPieceCount floating-label-control" inputmode="numeric" pattern="[0-9]+" onpaste = "return Bizgaze.Apps.Transact.Controls.POSCartItems.Instance().isNumberKey(event)" onkeypress = "return Bizgaze.Apps.Transact.Controls.POSCartItems.Instance().isNumberKey(event)" data-isdynamic="false" placeholder="' + InvType + '" data-placeholder="' + InvType + '" data-label="' + InvType + '"value=' + PP_Pieces + '>' +
- '<span class="input-group-append rounded-circle h-30p w-30p justify-content-center px-1 border align-items-center">' +
- '<a href="javascript:;" class="text-dark quantity-plus input-group-addon btn" draggable="false"><i class="fa fa-plus font-14"></i></a>' +
- '</span>' +
- '</div>' +
- '</div>' +
- '</div>';
- }
- if (IsEnablePacks && IsEnablePieces) {
- html += '<div class="' + cartItemQtyClass + '"><div class="d-flex ml-auto mw-200p">' +
- '<div class="floating-label-form-group defaultSelectedCartons divOrders_ItemCount ' + fltngclass_Cartons + '">' +
- '<div class="input-group align-items-center" id="div_Cartons">' +
- '<span class="input-group-prepend rounded-circle h-30p w-30p px-1 border align-items-center justify-content-center">' +
- '<a href="javascript:;" class="text-dark input-group-addon btn quantity-minus p-0" draggable="false"><i class="fa fa-minus font-14"></i></a>' +
- '</span>';
- html += '<input type="text" id="txt_Cartons" class="ml-2 form-control text-center txtOrder_ItemCount floating-label-control" inputmode="numeric" pattern="[0-9]+" onpaste = "return Bizgaze.Apps.Transact.Controls.POSCartItems.Instance().isNumberKey(event)" pattern="[0-9]+" onkeypress = "return Bizgaze.Apps.Transact.Controls.POSCartItems.Instance().isNumberKey(event)" data-isdynamic="false" placeholder="Cartons" data-placeholder="Cartons" data-label="Cartons" value=' + PP_Cartons + '>' +
- '</div>' +
- '</div>';
- html += '<div class="' + cartItemQtyClass + '">' +
- '<div class="floating-label-form-group defaultSelectedPieces divOrders_ItemPieceCount ' + fltngclass_Pieces + '"> ' +
- '<label class="d-none text-center pr-20">Pieces</label>' +
- '<div class="input-group align-items-center" id="div_Pieces">' +
- '<input type="text" id="txt_Pieces" class="mr-2 form-control text-center floating-label-control txtOrder_ItemPieceCount" inputmode="numeric" onpaste = "return Bizgaze.Apps.Transact.Controls.POSCartItems.Instance().isNumberKey(event)" onkeypress = "return Bizgaze.Apps.Transact.Controls.POSCartItems.Instance().isNumberKey(event)" data-isdynamic="false" style = "margin-left: 7px;" placeholder="Pieces" data-placeholder="Pieces" data-label="Pieces" value=' + PP_Pieces + '>' +
- '<span class="input-group-append rounded-circle h-30p w-30p justify-content-center px-1 border align-items-center">' +
- '<a href="javascript:;" class="text-dark quantity-plus input-group-addon btn p-0" draggable="false"><i class="fa fa-plus font-14"></i></a>' +
- '</span>' +
- '</div>' +
- '</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.g_InventoryApplyType;
- let url = '';
- let ItemImg = "";
- let LoadedItemIndex = instance.g_LoadedItems.findIndex(x => x.ItemId == ItemId);
- if (LoadedItemIndex != -1) {
- data.ItemName = instance.g_LoadedItems[LoadedItemIndex].ItemName;
- data.SKU = instance.g_LoadedItems[LoadedItemIndex].SKU;
- url = instance.g_LoadedItems[LoadedItemIndex].ImageUrl;
- if (url == "" || url == undefined || url == null) {
- ItemImg = '';
- }
- else {
- ItemImg = `<img class="item-img img-fluid w-50p h-50p" style="object-fit:cover;" onerror="ReloadImage(event)" data-dynamic="1" src="` + url + `">`;
- }
- }
- else {
- if (data.ImageUrl == "" || data.ImageUrl == undefined || data.ImageUrl == null) {
- ItemImg = '';
- }
- else {
- url = data.ImageUrl;
- ItemImg = `<img class="item-img img-fluid w-50p h-50p" style="object-fit:cover;" 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 ItemOnclick = "";
- let HideDeleteBtn = "";
- let RefItemIds = data.RefItemIds;
- if (RefItemIds == undefined) {
- RefItemIds = "";
- }
- if (!instance.g_IsCheckOutForm) {
- ItemOnclick = "Unibase.Platform.Helpers.NavigationHelper.Instance().loadDetail(" + ItemId + ", " + data.InstalledAppId + ", null)";
- }
- 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.AddOrderItems.Instance().g_Edit_OrderItemId > 0) {
- HideDeleteBtn = "hidden";
- }
- if (RefItemIds != 0) {
- LiClass = "variant-item variant-addeditem variant-addeditem-" + ItemId + "-" + RefItemIds.replace(/,/g, "-");
- }
- }
- if (IsCart) {
- html = '<li id="' + ItemId + '" class="d-md-flex justify-content-between align-items-center px-1 py-1 px-lg-3 mb-2 border-top-0 border-right-0 border-left-0 ' + LiClass + ' li no-border position-relative">' +
- '<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 + '" />';
- }
- else {
- html = '<li id="' + ItemId + '" class="px-1 py-1 px-lg-3 mb-2 border-top-0 border-right-0 border-left-0 ' + LiClass + ' li no-border position-relative">' +
- '<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 + '" />';
- }
- let DivClass = 'col-sm-8';
- let InventoryTypeDivClass = 'col-sm-4';
- let deleteIcon;
- if (instance.g_IsEnablePacks && instance.g_IsEnablePieces) {
- DivClass = 'col-sm-9';
- InventoryTypeDivClass = 'col-sm-3';
- }
- let isOfferBadge = "hidden";
- let isBOMBadge = "hidden";
- let isSPBadge = "d-none";
- if (data.IsOfferAvailable == true && (data.RefItemId == undefined || data.RefItemId == 0)) {
- isOfferBadge = "";
- }
- if (data.IsBoMAvailable) {
- isBOMBadge = "";
- }
- if (data.IsSpecialPrice) {
- isSPBadge = "";
- }
- html += '';
- if (IsCart || FromWidget) {
- html += '<div class="row align-items-center justify-content-between mx-0 w-100">' +
- '<div style="position:absolute;top:2px;right:15px;z-index:9" class="d-flex align-items-center"><div class="wishlist-wrap d-none"><a href="javascript:;" id="AddItemToWishList"><i class="fa fa-heart-o WishList font-20 text-danger"></i></a></div><a href="javascript:;" class="align-self-start delete-cart-item d-none d-md-block" id="deleteCartItem"><span class="pa-0 ml-15 delete ' + HideDeleteBtn + ' cursor-pointer"><i class="fa fa-trash-o font-20 text-danger" id=""></i></span></a></div>' +
- '<div class="ItemDetails d-flex align-items-center col-12 col-md-8 col-lg-9 px-0" id="ItemDetails">' +
- '<a onclick="' + ItemOnclick + '" class="cursor-pointer item-img-link w-50p h-50p" data-src="' + url + '">' + ItemImg + '</a>';
- html += '<div class="ml-15"><span class="cursor-pointer block text-sm mouseHoverClass CartItemName text-dark font-weight-bold" onclick="' + ItemOnclick + '">' + data.ItemName + '</span><span> - </span><span id="ItemSKU">' + data.SKU + '</span><br>';
- }
- else {
- html += '<div class="row align-items-center justify-content-center justify-content-md-between mx-0">' +
- '<div style="position:absolute;top:2px;right:15px;z-index:9" class="d-none align-items-center"><div class="wishlist-wrap"><a href="javascript:;" id="AddItemToWishList"><i class="fa fa-heart-o WishList font-20 text-danger"></i></a></div></div>' +
- '<div class="ItemDetails d-flex align-items-center px-0 w-100 w-md-75" id="ItemDetails">' +
- '<a onclick="' + ItemOnclick + '" class="cursor-pointer item-img-link w-50p h-50p" data-src="' + url + '">' + ItemImg + '</a>';
- html += '<div class="align-items-center d-md-flex justify-content-between w-100"><div class="ml-15 font-14"><span class="cursor-pointer block text-sm mouseHoverClass CartItemName text-dark font-weight-bold" onclick="' + ItemOnclick + '">' + data.ItemName + '</span><span> - </span><span id="ItemSKU">' + data.SKU + '</span><br>';
- }
- let Price_dataToggle = "";
- let PointsorPrice = "Price";
- if (IsCart) {
- html += '<div><span class="sp_PriceType text-dark font-14">' + PointsorPrice + ' : </span><span id="DiscountOpenBracket" class="hidden">(</span><span class="text-sm editItemPrice text-dark"' + Price_dataToggle + 'data-target="#' + EditUnitPriceClass + '' + ItemId + '">' + Mod_UnitPrice + '</span> <span class="CompositePriceCalBreak"> </span> <span id="QuantityAndDiscountSpan" class="text-dark"' + hidden + '"><span id="OrderQuantity_' + ItemId + '" class="OrderQuantity hidden" ></span></div>';
- html += '<a class="font-12 font-weight-500 offerBadge ' + isOfferBadge + '" onclick="Bizgaze.Apps.Transact.Controls.POSCartItems.Instance().showOfferItems(' + instance.g_OrganizationId + ',' + ItemId + ",'" + data.ItemName + "'," + instance.g_OrderTypeId + ',' + 'this)"><span class="d-none text-nowrap font-weight-bold offerstatusapplied" style="text-decoration:underline;color:#0CB51D"><i class="fa fa-tags pr-1"></i> Offer Applied</span><span class="up m-l-n-sm count text-nowrap font-weight-bold offerstatusavailable" style="text-decoration:underline;color:#0CB51D"><i class="fa fa-tags pr-1"></i><span id="spn_OffersApplied">' + instance.g_LoadedItems[LoadedItemIndex].OffersCount + '</span>';
- if (instance.g_LoadedItems[LoadedItemIndex].OffersCount > 1) {
- html += ' Offers available</span></a >';
- }
- else {
- html += ' Offer available </span></a>';
- }
- 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 += '<a class="font-14 bomBadge ' + isBOMBadge + '" onclick="Bizgaze.Apps.Transact.Controls.POSCartItems.Instance().showBOMItems(' + ItemId + ",'" + data.ItemName + "'" + ')"><span class="up m-l-n-sm count" style="text-decoration:underline"> BOM </span></a>';
- html += '<span class="font-14 up m-l-n-sm btnItemSpecial spBadge ' + isSPBadge + '" style="text-decoration:underline">SP</span>';
- html += '</div><span class="text-danger tax-error hidden"></span><span id="multipliedvalue_' + ItemId + '" class="multipliedvalue hidden" ></span></span>';
- }
- else {
- html += '<div><span class="sp_PriceType text-dark font-14">' + PointsorPrice + ' : </span><span id="DiscountOpenBracket" class="hidden">(</span><span class="text-sm editItemPrice text-dark"' + Price_dataToggle + 'data-target="#' + EditUnitPriceClass + '' + ItemId + '">' + Mod_UnitPrice + '</span> <span class="CompositePriceCalBreak"> </span> <span id="QuantityAndDiscountSpan" class="text-dark"' + hidden + '"><span id="OrderQuantity_' + ItemId + '" class="OrderQuantity hidden" ></span></div>';
- if (instance.g_LoadedItems[LoadedItemIndex].OffersCount > 0) {
- html += '<a class="font-12 font-weight-500 offerBadge ' + isOfferBadge + '" onclick = "Bizgaze.Apps.Transact.Controls.POSCartItems.Instance().showOfferItems(' + instance.g_OrganizationId + ',' + ItemId + ", '" + data.ItemName + "', " + instance.g_OrderTypeId + ',' + 'this)" > <span class="up m-l-n-sm count text-nowrap font-weight-bold offerstatus" style = "text-decoration:underline;color:#0CB51D"><i class="fa fa-tags pr-1"></i><span>' + instance.g_LoadedItems[LoadedItemIndex].OffersCount + '</span>';
- if (instance.g_LoadedItems[LoadedItemIndex].OffersCount > 1) {
- html += ' Offers available</span></a >';
- }
- else {
- html += ' Offer available </span></a>';
- }
- }
- html += '</div><span class="text-danger tax-error hidden"></span><span id="multipliedvalue_' + ItemId + '" class="multipliedvalue hidden" ></span></span>';
- }
- let SuggestedPacks = 0;
- if (IsCart) {
- html += '</div></div>';
- html += '<div class="py-10 py-md-0 col-12 col-md-4 col-lg-3 px-0 mt-md-30"><div class="d-flex d-md-block justify-content-between align-items-center">';
- html += '<div id="InventoryTypesTextboxes" class="InventoryTypesTextboxes">';
- }
- else {
- html += '</div></div>';
- html += '<div class="px-0 d-flex justify-content-between align-items-center"><div class="ml-15">';
- html += '<div id="InventoryTypesTextboxes" class="InventoryTypesTextboxes">';
- }
- html += instance.getInventoryDesign(ItemId, IsCart, SuggestedPacks, RefItemIds);
- if (IsCart) {
- html += `<a href="javascript:;" class="delete-cart-item btn btn-xs rounded btn-outline-danger d-md-none ml-2 ${HideDeleteBtn}" id="deleteCartItem"><span class="delete">Delete</span></a>`;
- html += '</div>';
- }
- html += '</div>';
- let classclaim = "col-sm-2";
- html += '<div class="row collapse" id="' + EditUnitPriceClass + '' + ItemId + '">' +
- '<div class="col-sm-12">' +
- '<div class="input-group">' +
- '<div class="col-sm-2">' +
- '<div class="floating-label-form-group floating-label-form-group-with-value">';
- html += '<label for="txt_editItemPrice">Unit price </label><input type="text" id="txt_editItemPrice" class="form-control floating-label-control txteditItemPrice" value="' + Mod_UnitPrice + '" data-isdynamic="false" placeholder="Unit Price" data-placeholder="Enter Unit Price" data-label="Unit Price" onpaste = "return Bizgaze.Apps.Transact.Controls.POSCartItems.Instance().isNumberKey(event)" onkeypress="return Bizgaze.Apps.Transact.Controls.POSCartItems.Instance().validateFloatKeyPress(this,event)" min="0"></div>';
- let offerDiscountClass = "";
- if (data.IsOfferAvailable) {
- offerDiscountClass = "readonly";
- }
- let IsDiscountHidden = "";
- html += '</div>' +
- '<div class="col-sm-2 ' + 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" onpaste = "return Bizgaze.Apps.Transact.Controls.POSCartItems.Instance().isNumberKey(event)" onkeypress="return Bizgaze.Apps.Transact.Controls.POSCartItems.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="' + classclaim + '">' +
- '<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 IsItemExchangable = data.Discountable;
- if ((instance.g_IsAdmin == 1 && IsItemExchangable) || (instance.g_IsShowExchangeDc == 1 && IsItemExchangable)) {
- html += '<div class="col-sm-2 mt-40">' +
- '<div class="custom-control custom-checkbox checkbox-primary">' +
- '<input type="checkbox" class="custom-control-input chkItem_ExchangeDC" id="' + ExchangeClass + '">' +
- '<label class="custom-control-label lbl_ExchangeDC_' + ItemId + '" for="' + ExchangeClass + '">Exchange</label>' +
- '</div>' +
- ' </div>';
- }
- 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">';
- html += '<option value="1"> -- Select -- </option>';
- for (let i = 0; i < MultipleUOMs.length; i++) {
- html += '<option value="' + MultipleUOMs[i].SchemaDetailId + '">' + MultipleUOMs[i].AlternateUnitName + ' ( ' + MultipleUOMs[i].DefaultSize + ' ' + MultipleUOMs[i].DefaultUnitName + ' ) </option>';
- }
- html += '</div> </select>';
- html += '<p class="mt-10 text-warning ItemConversion_' + ItemId + '"> </p>';
- }
- html += '</div>';
- html += ' </div>' +
- ' </div>';
- html += '</li>';
- return html;
- }
- setItemAvatarText(itemId, itemName, isCart) {
- let avatarTxt = "";
- if (itemName) {
- let headingTxt = itemName;
- let matches = headingTxt.match(/\b(\w)/g);
- if (matches.length == 1) {
- avatarTxt = $.trim(headingTxt).substr(0, 2);
- }
- else {
- avatarTxt = matches.join('').slice(0, 2);
- }
- let avatarHtml = `<div class="biz-highlight-color align-items-center d-flex w-50p h-50p justify-content-center rounded-circle"><span class="biz-primary-text-color font-weight-bold font-20">${avatarTxt}<span></div>`;
- if (isCart) {
- $(`.cartitem-${itemId}`).find('.item-img-link').html(avatarHtml);
- }
- else {
- $(".variant-addeditem-" + itemId).find('.item-img-link').html(avatarHtml);
- }
- }
- }
- 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];
- let UnitPrice = Itm.UnitPrice;
- if (Itm.IsWishList == true && Itm.Quantity == 0) {
- }
- else {
- $(elem).removeAttr("style");
- }
- let pricelabel = "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.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.IsWishList) {
- $(elem).find(".WishList").addClass("fa-heart-o").removeClass("fa-heart");
- }
- else {
- $(elem).find(".WishList").addClass("fa-heart").removeClass("fa-heart-o");
- }
- 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(".offerBadge").removeClass("hidden");
- $(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(".offerBadge").addClass("hidden");
- $(elem).find("#Ord_txtdiscount").removeAttr("disabled").removeAttr("style");
- $(elem).find(".btnOrder_DiscType").removeAttr("disabled").removeAttr("style");
- }
- if (Itm.IsBoMAvailable) {
- $(elem).find(".bomBadge").removeClass("hidden");
- }
- else {
- $(elem).find(".bomBadge").addClass("hidden");
- }
- if (Itm.IsMultipleUOMs) {
- $(elem).find("#ddl_MultipleUOMs_" + ItemId).val(Itm.SelectedUnitId);
- if (Itm.SelectedUnitId != 1 && Itm.SelectedUnitId != 0 && !isNaN(Itm.SelectedUnitId)) {
- let UOM = Itm.MultipleUOMs.find(x => x.SchemaDetailId == Itm.SelectedUnitId);
- let Conversion = UOM.AlternateSize + " " + UOM.AlternateUnitName + " = " + UOM.DefaultSize + " " + UOM.DefaultUnitName;
- $(".ItemConversion_" + Itm.ItemId).text(Conversion);
- }
- else {
- $(".ItemConversion_" + Itm.ItemId).text("");
- }
- }
- 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 (!$(".cartitem-" + ItemId).find('.item-img-link').data('src')) {
- instance.setItemAvatarText(ItemId, Itm.ItemName, IsCart);
- }
- }
- if (Itm.SKU != undefined) {
- $(elem).find("#ItemSKU").text(Itm.SKU);
- }
- let _quantity = instance.roundOffIgnoreZerosAfterDecimal(Itm.BaseQty);
- if (Itm.IsMultipleUOMs && Itm.UOMQuantity > 0) {
- _quantity = Itm.UOMQuantity;
- }
- let AmountWithDiscount = instance.roundOffIgnoreZerosAfterDecimal(Number(Itm.AmountWithDiscount));
- if (Itm.Packs == 0 && Itm.Pieces == 0) {
- $(elem).find(".editItemPrice").text(Itm.UnitPrice);
- $(elem).find("#QuantityAndDiscountSpan").text("");
- }
- else {
- if (Itm.DiscountValue > 0) {
- $(elem).find(".editItemPrice").text("(" + Itm.UnitPrice);
- $(elem).find("#QuantityAndDiscountSpan").text(" - " + Number(Itm.DiscountValue) + ") X " + _quantity + '(' + Itm.UnitName + ')' + " = " + AmountWithDiscount);
- $(elem).find(".discountFloatLabels").addClass("floating-label-form-group-with-value");
- }
- else if (Itm.DiscountPercent > 0) {
- $(elem).find(".editItemPrice").text("(" + Itm.UnitPrice);
- $(elem).find("#QuantityAndDiscountSpan").text(" - " + Number(Itm.DiscountPercent) + "%) x " + _quantity + '(' + Itm.UnitName + ')' + " = " + AmountWithDiscount);
- $(elem).find(".discountFloatLabels").addClass("floating-label-form-group-with-value");
- }
- else {
- $(elem).find(".editItemPrice").text(Number(UnitPrice));
- $(elem).find("#QuantityAndDiscountSpan").text(" X " + _quantity + '(' + Itm.UnitName + ')' + " = " + AmountWithDiscount);
- $(elem).find(".discountFloatLabels").removeClass("floating-label-form-group-with-value");
- }
- }
- 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);
- }
- if (Itm.Quantity == 0) {
- $(".cartitem-" + Itm.ItemId).find('.offerstatusapplied').addClass('d-none');
- $(".cartitem-" + Itm.ItemId).find('.offerstatusavailable').removeClass('d-none');
- }
- 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();
- }
- 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': '' }); });
- $(".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('.txtOrder_ItemPieceCount').unbind().click(function () {
- instance.g_PiecesFocus = true;
- instance.g_PacksFocus = false;
- });
- $(elem).find(".txteditItemPrice").unbind().keyup(function () {
- clearTimeout(timer);
- timer = setTimeout(function () {
- let element = elem;
- instance.updateItemsArray(element, "UnitPrice");
- }, 300);
- });
- $(elem).find(".quantity-plus").unbind().click(function () {
- let element = elem;
- if (instance.g_PacksFocus) {
- 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 incVal = instance.getIncrementValue(Packs);
- let val = instance.roundOffIgnoreZerosAfterDecimal(Packs + incVal);
- element.find(".txtOrder_ItemCount").val(val);
- }
- if (instance.g_PiecesFocus) {
- element.find('.divOrders_ItemPieceCount').addClass('floating-label-form-group-with-value');
- let Pieces = Number(element.find(".txtOrder_ItemPieceCount").val());
- let incVal = instance.getIncrementValue(Pieces);
- let val = instance.roundOffIgnoreZerosAfterDecimal(Pieces + incVal);
- 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();
- let Packs = Number(element.find(".txtOrder_ItemCount").val());
- let Pieces = Number(element.find(".txtOrder_ItemPieceCount").val());
- if (instance.g_PacksFocus) {
- 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 incVal = instance.getIncrementValue(Packs);
- if (Packs - incVal == 0 && Pieces == 0 && !instance.g_IsCheckOutForm) {
- let html = `<div class="d-flex justify-content-center my-2 my-md-0"><button class="AddToCart btn-outline-primary rounded" id="AddToCart_` + ItemId + `" style="border:1px solid"><span class="ml-5"> Add to Cart </span> </button></div>`;
- $(element).find(".InventoryTypesTextboxes").html(html);
- instance.allItemEvents(elem);
- }
- if (Packs > 0) {
- let val = instance.roundOffIgnoreZerosAfterDecimal(Packs - incVal);
- element.find(".txtOrder_ItemCount").val(val);
- }
- else if (Packs == 0 && Pieces > 0) {
- element.find(".txtOrder_ItemCount").val(instance.roundOffIgnoreZerosAfterDecimal(Packs));
- }
- else {
- element.find('.divOrders_ItemCount').removeClass('floating-label-form-group-with-value');
- instance.deleteCartItems(ItemId);
- return false;
- }
- }
- if (instance.g_PiecesFocus) {
- element.find('.divOrders_ItemPieceCount').addClass('floating-label-form-group-with-value');
- let Pieces = Number(element.find(".txtOrder_ItemPieceCount").val());
- let incVal = instance.getIncrementValue(Pieces);
- if (Pieces - incVal == 0 && Packs == 0 && !instance.g_IsCheckOutForm) {
- let html = `<div class="d-flex justify-content-center my-2 my-md-0"><button class="AddToCart btn-outline-primary rounded" id="AddToCart_` + ItemId + `" style="border:1px solid"><span class="ml-5"> Add to Cart </span></button></div>`;
- $(element).find(".InventoryTypesTextboxes").html(html);
- instance.allItemEvents(elem);
- }
- if (Pieces > 0) {
- let val = instance.roundOffIgnoreZerosAfterDecimal(Pieces - incVal);
- element.find(".txtOrder_ItemPieceCount").val(val);
- }
- else if (Pieces == 0 && Packs > 0) {
- element.find(".txtOrder_ItemPieceCount").val(instance.roundOffIgnoreZerosAfterDecimal(Pieces));
- }
- else {
- element.find('.divOrders_ItemPieceCount').removeClass('floating-label-form-group-with-value');
- instance.deleteCartItems(ItemId);
- return false;
- }
- }
- 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, isCenterVertical = false;
- if (instance.g_CartItems_New.length <= 10) {
- $(".CartItemFindTxt").addClass('hidden');
- }
- let message = "<img src='tenants/themes/compact/imgs/cart-icon.png' class='w-50p'><p class='text-dark-100 mt-10'>Are you sure! <br> Do you want to delete this item?</p>";
- if (instance.g_CartItems_New.length == 1)
- message = "<img src='tenants/themes/compact/imgs/cart-icon.png' class='w-50p'><p class='text-dark-100 mt-10'>Are you sure! <br> Do you want to empty your cart?</p>";
- let itemid = $(this).parents(".cartitem").find(".hfOrder_ItemId").val();
- if (itemid == undefined) {
- itemid = $(this).parents(".variant-addeditem").find(".hfOrder_ItemId").val();
- }
- if ($(window).width() <= 767.98) {
- isCenterVertical = true;
- }
- if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length > 0) {
- FromWidget = true;
- }
- bootbox.confirm({
- message: message,
- closeButton: true,
- className: 'delete-item-bootbox',
- buttons: {
- confirm: {
- label: 'Confirm',
- className: 'btn-success'
- },
- cancel: {
- className: 'd-none'
- }
- },
- centerVertical: isCenterVertical,
- callback: function (result) {
- if (result) {
- instance.deleteCartItems(itemid, FromWidget);
- }
- }
- });
- });
- $(elem).find(".div_MultipleUOMs").change(function () {
- instance.updateItemsArray(elem, "UOMChange");
- });
- $(elem).find("#AddItemToWishList").click(function () {
- $(elem).find(".WishList").toggleClass("fa-heart-o").toggleClass("fa-heart");
- instance.updateItemsArray(elem, "WishList");
- });
- $(elem).find(".AddToCart").unbind().click(function () {
- let element = elem;
- let ItemId = element.find(".hfOrder_ItemId").val();
- let html = instance.getInventoryDesign(ItemId, true, 0, 0, "IsAddToCart");
- $(element).find(".InventoryTypesTextboxes").html(html);
- instance.allItemEvents(element);
- instance.g_PacksFocus = true;
- instance.g_PiecesFocus = false;
- element.find(".txtOrder_ItemCount").val(1);
- instance.updateItemsArray(element, "Plus");
- });
- }
- 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);
- });
- }
- itemSettingsEvents() {
- let instance = this;
- let timer;
- $("#txt_SearchItem").off().on('input', function () {
- clearTimeout(timer);
- timer = setTimeout(function () {
- instance.g_PageIndex = 0;
- instance.checkIsCheckOutForm();
- $("#div_ItemList").html('<ul class="variant-list list-group" id="Items-list"><li class="variant-item hidden"></li>');
- instance.loadItems($("#txt_SearchItem").val());
- }, 1500);
- });
- $("#ItemLoadType").unbind().change(function () {
- instance.checkIsCheckOutForm();
- $("#txt_SearchItem").val('');
- $("#ItemLoadType option[value='0']").remove();
- let type = $("#ItemLoadType option:selected").text();
- if (type != "Filter" && !Bizgaze.Apps.Transact.Components.OrderFilter.Instance().g_OnlyFilters) {
- instance.g_IsFilterApplied = false;
- instance.g_FilteredTags = '';
- Bizgaze.Apps.Transact.Components.OrderFilter.Instance().g_TagArray = [];
- Bizgaze.Apps.Transact.Components.OrderFilter.Instance().g_ClearingTags = "";
- }
- instance.g_PageIndex = 0;
- if (type == "Filter") {
- instance.navigationHelper.popup("POS", '', Bizgaze.Apps.Transact.Components.OrderFilter.Instance(), null, Unibase.Platform.Helpers.Size.Medium);
- }
- else {
- $("#div_ItemList").html('<ul class="variant-list list-group" id="Items-list"><li class="variant-item hidden"></li>');
- instance.loadItems(type);
- }
- });
- $(".ContinueShopping").unbind().click(function () {
- instance.navigationHelper.closePopUp();
- instance.closePlaceAnOrder("ContinueShopping");
- instance.g_CartItems_New = [];
- instance.g_SelectedItems = [];
- instance.checkIsCheckOutForm();
- if (!$(".variant-list").is(":visible")) {
- instance.fileCacheHelper.loadJsFile("platform/dashboards/managers/dashboardmanager.js", function () {
- Unibase.Platform.Dashboards.Managers.DashboardManager.Instance().getDashboardGroupbyName("Place An Order").then(function (res) {
- $(".liDashboardGroup_" + res.result.DashboardGroupId).click();
- Unibase.Themes.Compact.Components.Nav.Instance().loadDashboardsInDashboard(res.result.DashboardGroupId, 0, true);
- });
- });
- }
- instance.checkIsCheckOutForm();
- });
- }
- closePlaceAnOrder(evnt) {
- let instance = this;
- instance.g_CartItems_New = [];
- instance.g_SelectedItems = [];
- instance.checkIsCheckOutForm();
- $("#div_ItemList").html('<ul class="variant-list list-group" id="Items-list"><li class="variant-item variant-item-noitems"><div class="text-center"> </div></li></ul>');
- $("#ItemLoadType").val(1);
- instance.g_PageIndex = 0;
- if ($(".variant-list").length != 0) {
- instance.bindCartItems();
- }
- else {
- if (evnt == "CloseForm") {
- instance.fileCacheHelper.loadJsFile("platform/dashboards/managers/dashboardmanager.js", function () {
- Unibase.Platform.Dashboards.Managers.DashboardManager.Instance().getDashboardGroupbyName("My Cart").then(function (res) {
- $(".liDashboardGroup_" + res.result.DashboardGroupId).click();
- Unibase.Themes.Compact.Components.Nav.Instance().loadDashboardsInDashboard(res.result.DashboardGroupId, 0, true);
- });
- });
- }
- }
- }
- 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), "POS_Order");
- }, Unibase.Platform.Helpers.Size.Large);
- });
- }
- applyOffer(Item) {
- let instance = this;
- let ItemId = Item[0].ItemId;
- let Qty = Item[0].Volume;
- let LoadedItem = instance.g_LoadedItems.find(x => x.ItemId == ItemId);
- let Cartons = Math.ceil(Qty / (LoadedItem.PackCount * LoadedItem.PackSize));
- if (instance.g_InventoryApplyType == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Packs) {
- if (!instance.g_IsCheckOutForm) {
- $('.variant-addeditem-' + ItemId).find('#txt_Cartons').val(Cartons);
- $('.variant-addeditem-' + ItemId).find('#txt_Pieces').val("");
- }
- else {
- $('.cartitem-' + ItemId).find('#txt_Cartons').val(Cartons);
- $('.cartitem-' + ItemId).find('#txt_Pieces').val("");
- }
- }
- else if (instance.g_InventoryApplyType == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Pieces) {
- let Pieces = Math.ceil((Qty) / LoadedItem.PackSize);
- if (!instance.g_IsCheckOutForm) {
- $('.variant-addeditem-' + ItemId).find('#txt_Cartons').val("");
- $('.variant-addeditem-' + ItemId).find('#txt_Pieces').val(Pieces);
- }
- else {
- $('.cartitem-' + ItemId).find('#txt_Cartons').val(0);
- $('.cartitem-' + ItemId).find('#txt_Pieces').val(Pieces);
- }
- }
- else if (instance.g_InventoryApplyType == Bizgaze.Apps.Transact.Enums.InventoryApplyType.PacksAndPieces) {
- if (!instance.g_IsCheckOutForm) {
- if (Cartons > 0) {
- $('.variant-addeditem-' + ItemId).find('#txt_Cartons').val(Cartons);
- }
- else {
- $('.variant-addeditem-' + ItemId).find('#txt_Cartons').val("");
- }
- }
- else {
- if (Cartons > 0) {
- $('.cartitem-' + ItemId).find('#txt_Cartons').val(Cartons);
- }
- else {
- $('.cartitem-' + ItemId).find('#txt_Cartons').val("");
- }
- }
- }
- else {
- if (!instance.g_IsCheckOutForm) {
- $('.variant-addeditem-' + ItemId).find('#txt_Cartons').val(Qty);
- $('.variant-addeditem-' + ItemId).find('#txt_Pieces').val(0);
- }
- else {
- $('.cartitem-' + ItemId).find('#txt_Cartons').val(Qty);
- $('.cartitem-' + ItemId).find('#txt_Pieces').val(0);
- }
- }
- if (!instance.g_IsCheckOutForm) {
- let element = $('.variant-addeditem-' + ItemId);
- instance.updateItemsArray(element, "ApplyOffer", false, 0);
- }
- else {
- let element = $('.cartitem-' + ItemId);
- instance.updateItemsArray(element, "ApplyOffer", false, 0);
- }
- }
- checkOffers(FromWidget, ItemId, evnt) {
- return __awaiter(this, void 0, void 0, function* () {
- let instance = this;
- let IsCart = false;
- if ($("#ulOrder_Cart").is(":visible")) {
- IsCart = true;
- }
- let ordItems = new Array();
- let applyType = '';
- if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Sales || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesClaim) {
- applyType = 'Sales';
- }
- else if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Purchase || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseClaim)
- 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;
- c.AppliedPlanVolumeId = 0;
- c.AppliedOfferId = 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),
- });
- });
- let ApplyDate = new Date();
- let postData = {
- OrderItems: ordItems,
- ContactId: instance.g_OrganizationId,
- ApplyType: instance.g_OrderTypeId,
- ApplyDate: ApplyDate
- };
- Bizgaze.Apps.Transact.Managers.OfferManager.Instance().getRelatedOffersByItem(postData).then(function (response) {
- return __awaiter(this, void 0, void 0, function* () {
- if (response != null && response.Result.length != 0) {
- instance.g_CartItems_New.filter(x => x.RefItemIds == "").forEach(function (c) {
- c.DiscountPercent = 0;
- c.DiscountValue = 0;
- c.IsOfferApplied = false;
- $(".cartitem-" + c.ItemId).find('.offerstatusapplied').addClass('d-none');
- $(".cartitem-" + c.ItemId).find('.offerstatusavailable').removeClass('d-none');
- });
- let AllFocItems = [];
- for (let i = 0; i < response.Result.length; i++) {
- let data = response.Result[i];
- let appliedItems = data.applyIds.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.g_OrganizationId;
- for (let j = 0; j < focItems.length; j++) {
- let focItem_RefItemIds = focItems[j].RefItemIds;
- let focItem_RefSKUs = focItems[j].RefItemSKUs;
- let ValidFocIndex = instance.g_ValidFocItems.findIndex(x => x.ItemId == focItems[j].ItemId && x.RefItemIds == focItem_RefItemIds);
- let CartItemIndex = instance.g_CartItems_New.findIndex(x => x.ItemId == focItems[j].ItemId);
- let focRefItem_Ids = focItem_RefItemIds.split(",");
- for (let f = 0; f < focRefItem_Ids.length; f++) {
- let focRefItem = instance.g_CartItems_New.find(x => x.ItemId == focRefItem_Ids[f] && x.RefItemIds == "");
- focRefItem.IsOfferApplied = true;
- $(".cartitem-" + focRefItem.ItemId).find('.offerstatusapplied').removeClass('d-none');
- $(".cartitem-" + focRefItem.ItemId).find('.offerstatusavailable').addClass('d-none');
- }
- 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_RefSKUs);
- }
- 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 n = instance.g_CartItems_New.findIndex(x => x.ItemId == appliedItems[m] && x.RefItemIds == "");
- if (n != -1) {
- 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;
- instance.g_CartItems_New[n].IsOfferApplied = true;
- $(".cartitem-" + instance.g_CartItems_New[n].ItemId).find('.offerstatusapplied').removeClass('d-none');
- $(".cartitem-" + instance.g_CartItems_New[n].ItemId).find('.offerstatusavailable').addClass('d-none');
- let Elem = $(".variant-addeditem-" + instance.g_CartItems_New[n].ItemId);
- let Cart_Elem = $(".cartitem-" + instance.g_CartItems_New[n].ItemId);
- let Discount = discValue == 0 ? discPercent : discValue;
- $(Elem).find("#Ord_txtdiscount").val(Discount);
- $(Cart_Elem).find("#Ord_txtdiscount").val(Discount);
- let DiscountType = discValue == 0 ? 1 : 2;
- $(Elem).find(".btnOrder_DiscType").val(DiscountType);
- $(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);
- let orderType = instance.g_OrderType;
- let billingAddressId = Number($('.txtAutoComplete_billfromaddressid').val());
- let BillToAddressId = Number($('.txtAutoComplete_billingaddressid').val());
- }
- else {
- }
- }
- instance.g_CartItems_New.filter(x => x.IsFocItem == false).forEach(function (c) {
- if (!FromWidget) {
- let Elem = $(".variant-addeditem-" + c.ItemId);
- let Cart_Elem = $(".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);
- $(".cartitem-" + c.ItemId + "-" + c.RefItemIds.replace(/,/g, "-")).remove();
- if (FromWidget) {
- $(".variant-addeditem-" + c.ItemId + "-" + c.RefItemIds.replace(/,/g, "-")).remove();
- }
- });
- }
- instance.getTotals(ItemId);
- 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();
- }
- });
- });
- });
- }
- addFocItemToCart(ContactId, ItemId, Quantity, Discount, RefItemIds, FromWidget, RefItemSKUs = "") {
- let instance = this;
- let ShippingAddressId = instance.g_ShippingAddressId;
- let BranchId = instance.g_BranchId;
- let LobId = instance.g_LobId;
- let OrderItemId = 0;
- if (FromWidget) {
- ShippingAddressId = Bizgaze.Apps.Transact.Controls.AddOrderItems.Instance().g_ShippingAddressId;
- BranchId = Bizgaze.Apps.Transact.Controls.AddOrderItems.Instance().g_BranchId;
- LobId = Bizgaze.Apps.Transact.Controls.AddOrderItems.Instance().g_LobId;
- let FocItem = Bizgaze.Apps.Transact.Controls.AddOrderItems.Instance().g_FocItems.find(x => x.ItemId == ItemId);
- if (FocItem != undefined) {
- OrderItemId = FocItem.OrderItemId;
- }
- }
- let postdata = {
- PriceCodeId: Number(instance.g_PriceCodeId),
- ContactId: ContactId,
- ShippingAddressId: Number(ShippingAddressId),
- BranchId: Number(BranchId),
- WareHouseId: Number(instance.g_WarehouseId),
- LobId: Number(LobId),
- OrderType: instance.g_OrderTypeId,
- OfferOnly: false,
- IsExcise: instance.g_IsExcise,
- SearchTerm: "",
- Page: instance.g_PageIndex,
- IsCompositePrice: instance.g_IsEnableCompositePrice,
- IsPiecePrice: instance.g_IsEnablePiecePrice,
- IsCompositePiecePrice: instance.g_IsEnableCompositePiecePrice,
- Rows: instance.g_PageSize,
- ItemId: ItemId.toString(),
- CountryId: instance.g_CountryId,
- ItemGroupId: 0,
- Tags: "",
- IsPoints: false,
- Points: 0,
- IsEligibleItemsOnly: false,
- ProductId: 0,
- IsFocItem: true
- };
- 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.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.g_PriceTypeId = Bizgaze.Apps.Transact.Enums.PriceType.None;
- }
- }
- 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,
- RefItemIds: RefItemIds,
- RefItemSKUs: RefItemSKUs,
- FocItemIds: "",
- DiscountGroupId: 0,
- IsOfferDiscountApplied: false,
- IsOfferApplied: false,
- AppliedOfferVolume: 0,
- AppliedPlanVolumeId: 0,
- AppliedOfferId: 0,
- OffersCount: data.OffersCount,
- optoutOfferGroupId: 0,
- SuggestedPacks: 0,
- MinPacks: 0,
- AvgPacks: 0,
- InwardOrderPacks: 0,
- OutwardOrderPacks: 0,
- IsMultipleUOMs: data.IsMultipleUOMs,
- UOMSchemaId: data.UOMSchemaId,
- MultipleUOMs: data.MultipleUOMs,
- SelectedUnitId: 1,
- DefaultSize: data.DefaultSize,
- IsBoMAvailable: data.IsBoMAvailable,
- UOMQuantity: 0,
- ProductId: data.ProductId,
- IsWishList: false,
- OldUnitPrice: 0,
- InstalledAppId: data.InstalledAppId,
- });
- if (FromWidget) {
- if (RefItemIds == undefined) {
- RefItemIds = "";
- }
- data.RefItemIds = 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.g_IsCheckOutForm) {
- instance.updateItemsDesign(elem, "FromWidget_FocItem", false, true);
- }
- $(".defaultSelectedCartons").addClass("floating-label-form-group-with-value");
- }
- else {
- if (instance.g_IsCheckOutForm) {
- instance.addCartItem(ItemId, true);
- }
- }
- instance.getTotals(ItemId);
- });
- }
- 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.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.replace(/,/g, "-"));
- if (FromWidget) {
- Foc_elem = $('.variant-addeditem-' + ItemId + "-" + CartItem.RefItemIds.replace(/,/g, "-"));
- }
- if (Foc_elem.length > 0) {
- 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.which != 8 && evt.which != 0 && (evt.which < 48 || evt.which > 57)) {
- return false;
- }
- }
- return true;
- }
- validateFloatKeyPress(el, evt) {
- let instance = this;
- 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;
- }
- countDecimals(n) {
- let decimalcount = 0;
- let decimal = n.toString().split(".");
- if (decimal.length == 1) {
- decimalcount = 0;
- }
- else {
- decimalcount = decimal[1].length;
- }
- return decimalcount;
- }
- getIncrementValue(n) {
- let instance = this;
- let incVal = 1;
- let decimalCount = instance.countDecimals(n);
- if (decimalCount == 0) {
- incVal = 1;
- }
- else {
- let dv = "0.";
- for (let i = 0; i < decimalCount - 1; i++) {
- dv += "0";
- }
- dv += "1";
- incVal = Number(dv);
- }
- return incVal;
- }
- 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;
- let oldunitprice = Item.OldUnitPrice;
- if (price == 0) {
- Item.ErrorMsg += "\n Unit price is zero";
- element.find(".tax-error").text("Unit price is zero").removeClass("text-danger").addClass("text-warning");
- }
- if (price < actualprice) {
- Item.IsError = true;
- element.find(".tax-error").text("Unit price must be greater than " + actualprice + "").addClass("text-danger").removeClass("text-warning");
- Item.ErrorMsg += "\n Unit price must greater than " + actualprice + "";
- }
- if (!instance.g_IsAdmin) {
- if (Item.DiscountPercent > instance.g_LeveragePercent && instance.g_IsLeverageApplied == true) {
- Item.IsLeverageError = true;
- $(element).find("#LeverageErrorTxt").removeClass("hidden");
- $('.empLeverage').text(instance.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;
- }
- let WishListCartItemsWithZeroQuantity = instance.g_CartItems_New.filter(x => x.Quantity == 0 && x.IsWishList == true);
- if (WishListCartItemsWithZeroQuantity.length > 0) {
- $(".cart-Warning").removeClass("hidden");
- $(".cartitem-warning").text("Some of the wishlist items are not added to cart");
- }
- else {
- $(".cart-Warning").addClass("hidden");
- }
- 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.g_IsApprovalRequired = false;
- if (!$('.leverage-Warning').hasClass('hidden'))
- $('.leverage-Warning').addClass('hidden');
- }
- else {
- instance.g_IsApprovalRequired = true;
- $('.empLeverage').text(instance.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 RefItemIds = CartItm.RefItemIds;
- if (RefItemIds != "") {
- elem = $(".cartitem-" + ItemId + "-" + RefItemIds.replace(/,/g, "-"));
- }
- instance.updateItemsDesign(elem, evnt, true, IsFocItem);
- $("#ulOrder_Cart").find(".chk_PurPlanItem").addClass("hidden");
- instance.allItemEvents(elem);
- }
- deleteCartItems(ItemId, FromWidget = false, RefItemIds = "") {
- let instance = this;
- let itemelement = $('.variant-addeditem-' + ItemId);
- let element_name = "cartitem-";
- let FocItems = instance.g_CartItems_New.filter(x => x.RefItemIds.indexOf(ItemId) != -1);
- for (let f = 0; f < FocItems.length; f++) {
- let Foc_Index = instance.g_CartItems_New.findIndex(x => x.ItemId == FocItems[f].ItemId && x.RefItemIds == FocItems[f].RefItemIds);
- $("." + element_name + FocItems[f].ItemId + "-" + FocItems[f].RefItemIds.replace(/,/g, "-")).remove();
- instance.g_CartItems_New.splice(Foc_Index, 1);
- }
- let deletecartitemindex = instance.g_CartItems_New.findIndex(x => x.ItemId == ItemId && x.RefItemIds == RefItemIds);
- let deleteitemindex = instance.g_SelectedItems.findIndex(x => x.ItemId == ItemId && x.RefItemIds == RefItemIds);
- if (deleteitemindex != -1) {
- instance.g_SelectedItems.splice(deleteitemindex, 1);
- }
- if (deletecartitemindex != -1) {
- let ItemElem = $('.variant-addeditem-' + ItemId);
- let html = `<div class="d-flex justify-content-center my-2 my-md-0"><button class="AddToCart btn-outline-primary rounded" id="AddToCart_` + ItemId + `" style="border:1px solid"><span class="ml-5"> Add to Cart </span></button></div>`;
- if (ItemElem.length > 0 && instance.g_IsCheckOutForm) {
- $(ItemElem).find(".InventoryTypesTextboxes").html(html);
- instance.allItemEvents(ItemElem);
- }
- $('.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(".editItemPrice").text(instance.g_CartItems_New[deletecartitemindex].UnitPrice);
- $('.variant-addeditem-' + ItemId).find(".defaultSelectedCartons").removeClass('floating-label-form-group-with-value');
- if (deletecartitemindex != -1) {
- instance.g_CartItems_New.splice(deletecartitemindex, 1);
- if (RefItemIds != "") {
- $("." + element_name + ItemId + "-" + RefItemIds.replace(/,/g, "-")).remove();
- }
- else {
- $("." + element_name + ItemId).remove();
- }
- }
- $(this).parents(".cartitem").remove();
- instance.checkOffers(false, ItemId, "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(ItemId);
- instance.checkErrors();
- }
- }
- bindCartItems() {
- let instance = this;
- $("#txt_SearchItem").val("");
- instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
- Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getCartItems(instance.g_OrganizationId, instance.g_LobId).then(function (response) {
- instance.g_AddedCartItemIds = "";
- instance.g_IsTaxInclusive = response.result.IsTaxInclusive;
- for (let c = 0; c < response.result.length; c++) {
- let data = response.result[c];
- let DiscountType = 2;
- if (data.DiscountPercent > 0) {
- DiscountType = 1;
- }
- let ItemData = {
- OrderItemId: 0,
- ItemIndex: 0,
- ItemId: data.ItemId,
- ItemName: "",
- Packs: data.Packs,
- Pieces: data.Pieces,
- PriceListId: 0,
- UnitPrice: data.UnitPrice,
- UnitPriceWithOutTax: data.UnitPrice,
- ExpectedPrice: data.UnitPrice,
- ActualPrice: data.UnitPrice,
- PackCount: data.PackCount,
- PackSize: data.PackSize,
- UnitName: "",
- Quantity: data.Quantity,
- SKU: "",
- PartNo: "",
- Amount: 0,
- AmountWithDiscount: 0,
- DiscountPercent: data.DiscountPercent,
- DiscountValue: data.DiscountValue,
- DiscountType: DiscountType,
- DiscountAmount: 0,
- ItemValueAfterDiscount: 0,
- StrTaxPercents: "",
- AvailableQuantity: 0,
- AvailablePacks: 0,
- AvailablePieces: 0,
- TotalAvailablePieces: 0,
- ExchangeDC: false,
- IsAfterTax: false,
- BaseQty: data.Quantity,
- IsFocItem: false,
- optoutAmount: 0,
- TaxGroupId: 0,
- TaxGroupName: "",
- TaxAmount: 0,
- TaxRateAmount: 0,
- TaxRate: 0,
- TaxPercentage: 0,
- IsOfferAvailable: false,
- Description: "",
- Discountable: true,
- PiecePrice: 0,
- CompositePrice: 0,
- CompositePiecePrice: 0,
- IsCheckPendingItems: false,
- IsError: false,
- ErrorMsg: "",
- ErrorClass: "text-danger",
- IsTaxError: false,
- IsLeverageError: false,
- IsFocAdded: false,
- RefItemIds: "",
- RefItemSKUs: "",
- FocItemIds: "",
- DiscountGroupId: 0,
- IsOfferDiscountApplied: false,
- IsOfferApplied: false,
- AppliedOfferVolume: 0,
- AppliedPlanVolumeId: 0,
- AppliedOfferId: 0,
- OffersCount: data.OffersCount,
- optoutOfferGroupId: 0,
- SuggestedPacks: 0,
- MinPacks: 0,
- AvgPacks: 0,
- InwardOrderPacks: 0,
- OutwardOrderPacks: 0,
- IsMultipleUOMs: false,
- UOMSchemaId: 0,
- MultipleUOMs: [],
- SelectedUnitId: 0,
- DefaultSize: 0,
- IsBoMAvailable: false,
- UOMQuantity: 0,
- ProductId: 0,
- IsWishList: data.IsWishList,
- OldUnitPrice: data.UnitPrice,
- InstalledAppId: 0,
- };
- let SelectedItems_Index = instance.g_SelectedItems.findIndex(x => x.ItemId == data.ItemId);
- let CartItems_Index = instance.g_CartItems_New.findIndex(x => x.ItemId == data.ItemId);
- 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;
- }
- if (data.ProductId != instance.g_ProductId) {
- instance.g_AddedCartItemIds += data.ItemId + ",";
- }
- }
- instance.loadItems("", true);
- });
- });
- }
- 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));
- }
- getTotals(ItemId = 0, event = "") {
- let instance = this;
- let BranchId = 0;
- if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Sales || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseClaim)
- BranchId = Number($(".txtAutoComplete_billfromaddressid").val());
- else
- BranchId = Number($(".txtAutoComplete_billingaddressid").val());
- $(".hdn_branchid").val(BranchId);
- if (event == "BindCartItems" || event == "LoadItems") {
- ItemId = 0;
- }
- let postdata = {
- OrderItems: instance.g_CartItems_New,
- IsCompositePrice: instance.g_IsEnableCompositePrice,
- IsPiecePrice: instance.g_IsEnablePiecePrice,
- IsTaxInclusive: instance.g_IsTaxInclusive == undefined ? false : instance.g_IsTaxInclusive,
- IsCalculateTax: instance.g_IsCalculateTax == undefined ? false : instance.g_IsCalculateTax,
- OrderTypeId: instance.g_OrderTypeId,
- BranchId: instance.g_BranchId,
- InventoryApplyType: instance.g_InventoryApplyType,
- ContactId: instance.g_OrganizationId,
- LobId: instance.g_LobId,
- ModifiedItem: instance.g_CartItems_New.find(x => x.ItemId == ItemId && x.RefItemIds == ""),
- ItemId: Number(ItemId),
- IsCart: instance.g_IsCheckOutForm
- };
- 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);
- if (instance.g_CartItems_New.length == 0) {
- $("#btnDynamicSave").attr("disabled", "true").css("cursor", "not-allowed");
- }
- let WishListCartItemsWithZeroQuantity = instance.g_CartItems_New.filter(x => x.Quantity == 0 && x.IsWishList == true);
- if (WishListCartItemsWithZeroQuantity.length > 0) {
- $(".cart-Warning").removeClass("hidden");
- $(".cartitem-warning").text("Some of the wishlist items are not added to cart");
- }
- else {
- $(".cart-Warning").addClass("hidden");
- }
- let index = instance.g_CartPageIndex * instance.g_PageSize;
- if (instance.g_CartItems_New.length > index) {
- $("#poscheckoutitemsloadmore").addClass("d-md-flex").removeClass("hidden");
- }
- else {
- $("#poscheckoutitemsloadmore").addClass("hidden").removeClass("d-md-flex");
- }
- $("#ulOrder_Cart").find("li").addClass("hidden").removeClass("d-md-flex");
- for (let k = 0; k < index; k++) {
- $($("#ulOrder_Cart").find("li")[k]).removeClass("hidden").addClass("d-md-flex");
- }
- if (instance.g_CartItems_New.length == 0) {
- $("#ulOrder_Cart").find(".cartitem").addClass("hidden");
- $(".divOrderCartQty, .divOrderCart, .divOrderCartItems").addClass("hidden");
- $("#ulOrder_Cart").find(".cartitem").removeClass("d-md-flex");
- }
- else {
- $(".divOrderCartQty, .divOrderCart, .divOrderCartItems").removeClass("hidden");
- }
- });
- }
- getCartItems(OrderId = 0) {
- let instance = this;
- let ItemList = new Array();
- 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 || CartItem.Quantity == 0) {
- continue;
- }
- let Quantity = CartItem.Quantity;
- if (CartItem.IsMultipleUOMs && CartItem.UOMQuantity > 0) {
- Quantity = CartItem.UOMQuantity;
- }
- ItemList.push({
- OrderItemId: CartItem.OrderItemId,
- OrderId: 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),
- RefItemIds: CartItem.RefItemIds,
- FocItemIds: FocItemIds,
- AlternateUnitId: isNaN(CartItem.SelectedUnitId) ? 0 : CartItem.SelectedUnitId,
- DefaultSize: CartItem.DefaultSize,
- });
- }
- return ItemList;
- }
- loadChildTagsOrProducts(ParentTagId, TagInstalledAppId) {
- Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/components/orders/orderfilter.js", function () {
- Bizgaze.Apps.Transact.Components.OrderFilter.Instance().g_Tags = ParentTagId.toString();
- Unibase.Platform.Helpers.NavigationHelper.Instance().loadDetail(ParentTagId, TagInstalledAppId, null, ' ', true);
- });
- }
- loadItemsByProduct(ProductId, ProductInstalledAppId) {
- Unibase.Platform.Helpers.NavigationHelper.Instance().loadDetail(ProductId, ProductInstalledAppId, null, ' ', true);
- }
- loadDetail_UI(Name) {
- let instance = this;
- let poslength = $("#defaultwidgetcallbackfn").length;
- if (poslength > 0) {
- let VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
- $("#" + VisibleContainerId).on("remove", function () {
- let ContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
- var installedappid = Unibase.Themes.Providers.Detail_Settings.Instance().DetailParameters["#" + ContainerId].InstalledAppId;
- Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters = Unibase.Themes.Providers.Detail_Settings.Instance().DetailParameters["#" + ContainerId].InputParameters;
- Unibase.Themes.Providers.DetailHelper.installedAppId = installedappid;
- var TagId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_tagid") == undefined ? 0 : Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_tagid").Value);
- if (TagId > 0) {
- Bizgaze.Apps.Transact.Components.OrderFilter.Instance().g_Tags = TagId.toString();
- }
- });
- $("#" + VisibleContainerId).find('.Mobile-mode .div_details_stages').removeClass('d-block').addClass('d-none');
- let TagNameLink = `<span class="text-dark-60 font-14 font-weight-500 pos-hand-symbol" data-TagNameLink="` + Name + `" onclick='Bizgaze.Apps.Transact.Controls.POSCartItems.Instance().removeBeforeContainers("` + VisibleContainerId + `")'> ` + Name + `</span>`;
- instance.g_TagsLink.push({ "ContainerId": VisibleContainerId, "Link": TagNameLink });
- let Link = instance.getLink();
- $("#" + VisibleContainerId).find(".portletwidget-addeditem").addClass("hidden");
- $("#" + VisibleContainerId).find("#layout-detail-tabs-container").addClass("hidden");
- $("#" + VisibleContainerId).find(".block-on-mobile").removeClass("d-flex").addClass("hidden");
- $("#" + VisibleContainerId).find(".app_defaultwidget").html("<div class='d-flex flex-column'><div><p class='font-18 font-weight-700 text-dark ActiveTagNameLink text-truncate'>" + Name + "</p></div><div class='d-flex flex-row'><div class='font-14 text-dark font-weight-500 d-flex align-items-center flex-row w-md-100 three-dots' style='whitespace:nowrap'>" + Link + "</div><div class='w-md-0 d-md-none d-block three-dots-binding'></div></div></div>");
- $("#" + VisibleContainerId).find(".check-mobile-mode").addClass('align-items-center w-100');
- $("#" + VisibleContainerId).find(".Mobile-mode").addClass('w-90');
- $("#" + VisibleContainerId).find('[data-TagNameLink="' + Name + '" ]').siblings('.blackSlash').last().remove();
- $("#" + VisibleContainerId).find('[data-TagNameLink="' + Name + '" ]').siblings('span:nth-last-child(2)').addClass('back-Active');
- $("#" + VisibleContainerId).find('[data-TagNameLink="' + Name + '" ]').last().remove();
- let element = $("#" + VisibleContainerId).find(".three-dots").css({ 'white-space': 'nowrap', 'overflow': 'hidden' });
- if (element != undefined && element[0] != undefined) {
- if (element[0].offsetWidth > 200) {
- $(element).addClass('w-200p');
- $("#" + VisibleContainerId).find(".three-dots-binding").html('<span class="px-1">...</span>').addClass('w-5');
- }
- }
- }
- }
- loadPlaceOrderDashboardGroup() {
- let instance = this;
- let poslength = $("#defaultwidgetcallbackfn").length;
- if (poslength > 0) {
- instance.fileCacheHelper.loadJsFile("platform/dashboards/managers/dashboardmanager.js", function () {
- Unibase.Platform.Dashboards.Managers.DashboardManager.Instance().getDashboardGroupbyName("Place an Order").then(function (res) {
- $(".liDashboardGroup_" + res.result.DashboardGroupId).click();
- Unibase.Themes.Compact.Components.Nav.Instance().loadDashboardsInDashboard(res.result.DashboardGroupId, 0, true);
- });
- });
- }
- }
- detailClose() {
- let instance = this;
- if (instance.g_TagsLink.length != 0) {
- instance.g_PacksFocus = true;
- instance.g_PiecesFocus = false;
- instance.g_TagsLink.splice(instance.g_TagsLink.length - 1, 1);
- }
- }
- removeBeforeContainers(ContainerId) {
- let instance = this;
- instance.g_PacksFocus = true;
- instance.g_PiecesFocus = false;
- let ModalContainerIds = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds;
- let ModalContainerIndex = ModalContainerIds.findIndex(x => x == ContainerId);
- let len = ModalContainerIds.length;
- for (let i = ModalContainerIndex + 1; i < len; i++) {
- $("#" + ModalContainerIds[i]).remove();
- }
- ModalContainerIds.splice(ModalContainerIndex + 1);
- let TagLinkIndex_1 = instance.g_TagsLink.findIndex(x => x.ContainerId == ContainerId);
- instance.g_TagsLink.splice(TagLinkIndex_1 + 1);
- $("#" + ModalContainerIds[ModalContainerIndex]).removeClass("hidden");
- var installedappid = Unibase.Themes.Providers.Detail_Settings.Instance().DetailParameters["#" + ContainerId].InstalledAppId;
- Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters = Unibase.Themes.Providers.Detail_Settings.Instance().DetailParameters["#" + ModalContainerIds[ModalContainerIndex]].InputParameters;
- Unibase.Themes.Providers.DetailHelper.installedAppId = installedappid;
- var TagId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_tagid") == undefined ? 0 : Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_tagid").Value);
- if (TagId > 0) {
- Bizgaze.Apps.Transact.Components.OrderFilter.Instance().g_Tags = TagId.toString();
- }
- }
- getLink() {
- let instance = this;
- let Link = "";
- for (let i = 0; i < instance.g_TagsLink.length; i++) {
- if (i == 0) {
- Link = instance.g_TagsLink[i].Link;
- }
- else {
- Link += "<span class='px-2 blackSlash' style='margin-left:-6px'><hr class='border-bottom border-dark border-top-0 m-0 px-2 w-40' style='transform: rotate(115deg);'></span>" + instance.g_TagsLink[i].Link;
- }
- }
- return Link;
- }
- static Instance() {
- if (this.instance === undefined) {
- this.instance = new POSCartItems();
- }
- return this.instance;
- }
- }
- Controls.POSCartItems = POSCartItems;
- })(Controls = Transact.Controls || (Transact.Controls = {}));
- })(Transact = Apps.Transact || (Apps.Transact = {}));
- })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
- })(Bizgaze || (Bizgaze = {}));
|