function initSelectDevlivery() { let editMode = false; let countryId = null; let currencyId = null; let billingInfo = null; let userName = null; let stateArr = []; debugger; let Newuser =window.localStorage.getItem('isaccountCreated'); let Loginstatus =window.localStorage.getItem('Isloggedintoaster') if(Newuser == 'true'){ toasterHelper("success","Account Created Successfully"); window.localStorage.removeItem('isaccountCreated') } if(Loginstatus == 'true'){ toasterHelper("success","Isloggedintoaster"); window.localStorage.removeItem('Isloggedintoaster') } $('.mianselectdelivery').removeClass('d-none'); $('.containermaindev').removeClass('d-none'); let orderBtnAction = { removeOrdernowBtn() { $('.ordernowbtn').parent().addClass('d-none'); }, addOrdernowBtn() { $('.ordernowbtn').parent().removeClass('d-none'); } } let addresslistAction = { removeAddressContainer(){ $('.addresslist').addClass('d-none'); }, addAddressContainer(){ $('.addresslist').removeClass('d-none'); } } let changeAddressBtnAction = { removeChangeAddressBtn() { $('.changeAddressBtn').addClass('d-none'); }, addChangeAddressBtn() { $('.changeAddressBtn').removeClass('d-none'); } } let changesaveCancelBtnAction = { removeChangeCancelBtn() { $('.saveanddeliverCanel').addClass('d-none'); }, addChangeCancelBtn() { $('.saveanddeliverCanel').removeClass('d-none'); } } let saveFormLoading = { addSpinner(){ $('.saveanddeliver').find('.spinner-border').removeClass('d-none'); $('.saveanddeliver').find('span').addClass('d-none'); }, removeSpinner(){ $('.saveanddeliver').find('.spinner-border').addClass('d-none'); $('.saveanddeliver').find('span').removeClass('d-none'); }, } let paymentgatewaypageAction = { addPaymentgatewaypage(){ $('.paymentgatewaypage').removeClass('d-none'); }, removePaymentgatewaypage(){ $('.paymentgatewaypage').addClass('d-none'); } } let paymentContainerAction = { paymentContainerAdd(){ $('.orderslist').parent().removeClass('d-none'); }, paymentContainerRemove(){ $('.orderslist').parent().addClass('d-none'); } } const {phonenumber_errorhandler,addressdes_errorhandler,zipcode_errorhandler,state_errorhandler} = factoryErrorControl(); function init() { getAddressRes(); loadEvents(); updateSummaryPriceAdd(); // changeAddressBtnAction.removeChangeAddressBtn(); } function removeAllFormError(){ phonenumber_errorhandler.removeError(); addressdes_errorhandler.removeError(); zipcode_errorhandler.removeError(); state_errorhandler.removeError(); $('.errMsgFormEdit').addClass('d-none'); $('.errMsgFormEdit').html(''); } function clearAllInputs(){ // $("#state").select2({ // placeholder: "Select a City", // allowClear: true // }); $('#state').val(null); $('#phonenumber').val(null); $('#addressdes').val(null); $('#zipcode').val(null); } async function appendFormDetails(){ let cookieRes = COOKIE_HELPER_ACTIONS.getCookie(); console.log(cookieRes); const { errorMsg, isError, response } = await API_SERVICES_ACTIONS.getAPIService(`apis/v4/bizgaze/integrations/anwiauth/getbillinginfo/contactid/${cookieRes.userId}`); let res = JSON.parse(response.result)[0]; debugger; const {cityid, lobid,organizationname,addressline,cityname,phonenumber,zipcode,name } =res; setAddressHeader({name:organizationname,phonenumber,addressline,cityname,zipcode}); $('#phonenumber').val(phonenumber); $('#addressdes').val(addressline); $('#zipcode').val(zipcode); debugger; $('#state').attr('data-id',cityid); $('#state').val(cityname) $('.userNamelogin').html(`${userName}`); editMode = true; // console.log(stateArr); renderCustomStateDropdown(stateArr); //renderStates(stateArr); } async function getAddressRes() { let cookieRes = COOKIE_HELPER_ACTIONS.getCookie(); console.log(cookieRes); const { errorMsg, isError, response } = await API_SERVICES_ACTIONS.getAPIService(`apis/v4/bizgaze/integrations/anwiauth/getbillinginfo/contactid/${cookieRes.userId}`); let res = JSON.parse(response.result); console.log(res, 'befores'); res = res[res.length - 1]; //createBillingForm(); const {cityid, lobid,organizationname,addressline,cityname,phonenumber,zipcode,name } =res; billingInfo = res; debugger; console.log(res); if (cityid != 0) { $('.addnewAddressContainer').addClass('d-none'); $('.detailsAddressBg').removeClass('detailsAddressBg'); $('.ordersummaryheader').addClass('detailsAddressBg'); $('.displayadress').removeClass('d-none') // $('.addresslist').removeClass('d-none'); loadShippingProducts(); userName = organizationname; setAddressHeader({name:organizationname,phonenumber,addressline,cityname,zipcode}); debugger; editMode = true; // adding values $('#phonenumber').val(phonenumber); $('#addressdes').val(addressline); $('#zipcode').val(zipcode); debugger; $('#state').attr('data-id',cityid); $('#state').val(cityname); $('.userNamelogin').html(`${userName}`); changeAddressBtnAction.addChangeAddressBtn() getCountryStateCurrency(); }else{ $('.userNamelogin').html(`${organizationname}`); loadShippingProducts(); paymentContainerAction.paymentContainerRemove(); getCountryStateCurrency(); orderBtnAction.removeOrdernowBtn(); $('.detailsAddressBg').removeClass('detailsAddressBg'); $('.selectAddress').addClass('detailsAddressBg'); } } function setAddressHeader({name,phonenumber,addressline,cityname,zipcode}){ $('.innerDisplayAddress').html(`${phonenumber}, ${addressline}, ${cityname} - `); $('.zipcodeAddress').html(`${zipcode}`); } function checkForm(){ let number = $('#phonenumber').val(); let zipcode = $('#zipcode').val(); let state = $('#state').data('id'); let address = $('#addressdes').val(); let isTrue = false; if(!number || number.length!=10){ isTrue = true; phonenumber_errorhandler.addError(); } if(zipcode.length<6 || zipcode.length>6){ isTrue = true; zipcode_errorhandler.addError(); } if(!state){ isTrue = true; state_errorhandler.addError(); } if(!address){ isTrue = true; addressdes_errorhandler.addError(); } return isTrue; } async function createBillingForm(){ debugger; let cookieRes = COOKIE_HELPER_ACTIONS.getCookie(); let { userId, name } = cookieRes; const ctyId = await getCountryId(); let stateId = parseInt($('#state').data('id')); let payload = { "cityid": stateId, "CityName":$(`[data-id="${stateId}"`).html(), "addressline1": $('#addressdes').val(), "OrganizationType": 2, "organizationname": name, //"OrganizationId":, "ContactName": name, "ContactId": userId, "countryname": 'india', "countryid": ctyId, "statename":$(`[data-id="${stateId}"`).html(), "phonenumber": $('#phonenumber').val(), "OrganizationId": userId, "currencyid": 2, "taxno": '0', "BillingInfoExists": false, "lobid": 0, "lobname": "IT Products", "gstindetailid": 0, zipcode:$('#zipcode').val() } const res = await API_SERVICES_ACTIONS.postAPIService('apis/v4/bizgaze/crm/address/savebillinginfo', payload); // http://localhost:3088/apis/v4/bizgaze/crm/address/savebillinginfo setAddressHeader({name,phonenumber:$('#phonenumber').val(),addressline: $('#addressdes').val(),cityname:$('#state').val(),zipcode:$('#zipcode').val()}); return new Promise((reslove,reject) => { reslove(res); }) console.log(res); } async function saveForm() { let cookieRes = COOKIE_HELPER_ACTIONS.getCookie(); let { userId, name } = cookieRes; const { errorMsg, isError, response } = await API_SERVICES_ACTIONS.getAPIService(`apis/v4/bizgaze/integrations/anwiauth/getbillinginfo/contactid/${cookieRes.userId}`); let resAnwi = JSON.parse(response.result); console.log(resAnwi, 'befores'); resAnwi = resAnwi[resAnwi.length - 1]; let stateId = parseInt($('#state').data('id')); let payload = { ...resAnwi, phonenumber:$('#phonenumber').val(), addressline1:$('#addressdes').val(), zipcode:$('#zipcode').val(), cityid:stateId, CityName:$('#state').val(), } console.log(payload,"ertyuioghjkl"); // const res = await API_SERVICES_ACTIONS.postAPIService('apis/v4/bizgaze/crm/address/savebillinginfo', payload); return new Promise((reslove,reject) => { reslove(res); }) } function onChangeState(e){ let userItem = e.target.value.toLowerCase(); let limit = 10; let results = []; let maxLen = stateArr.length > 10 ? 10 :stateArr.length; debugger for(let i=0;i=10) break; } } renderCustomStateDropdown(results); loadDropdownStateEvents(); } function loadDropdownStateEvents(){ $('#state').off().focus(function (){ $('.stateBox').removeClass('d-none'); $(document).off('click').click(closeDrop); }) $(document).off().click(closeDrop); function closeDrop(e){ let id = $(e.target).hasClass('stateoption'); if($(e.target).attr('id')==='state') return; if(id) { $('.stateBox').addClass('d-none'); $(document).off(); }else{ $('.stateBox').addClass('d-none'); $(document).off(); } } $('#state').keyup(debounce(function (event){ onChangeState(event) })); } async function loadEvents() { loadDropdownStateEvents(); $('.addnewAddressContainer').off('click').click(function (e) { $('.addnewAddressContainer').addClass('d-none'); $('.addresslist').removeClass('d-none'); changeAddressBtnAction.removeChangeAddressBtn(); changesaveCancelBtnAction.addChangeCancelBtn(); }); $('.saveanddeliverCanel').off('click').click(function (){ if(!editMode){ $('.addnewAddressContainer').removeClass('d-none'); $('.addresslist').addClass('d-none'); changeAddressBtnAction.removeChangeAddressBtn(); changesaveCancelBtnAction.removeChangeCancelBtn(); }else{ loadShippingProducts(); addresslistAction.removeAddressContainer() changeAddressBtnAction.addChangeAddressBtn(); paymentContainerAction.paymentContainerAdd(); $('.displayadress').removeClass('d-none'); } clearAllInputs(); }); $('.changeAddressBtn').off('click').click(function (e){ console.log(e.target); //getAddressRes(); appendFormDetails(); removeOrderSummary(); changeAddressBtnAction.removeChangeAddressBtn(); $('.displayadress').addClass('d-none') }) $('.saveanddeliver').off('click').click(async function (e) { debugger; saveFormLoading.addSpinner() let isErrorForm = checkForm(); if(isErrorForm){ saveFormLoading.removeSpinner(); return; } let res; if(editMode){ res = await saveForm(); }else{ res = await createBillingForm(); } saveFormLoading.removeSpinner(); const {isError,errorMsg,response} = res; console.log(errorMsg); if(isError){ $('.errMsgFormEdit').removeClass('d-none'); $('.errMsgFormEdit').html(`${errorMsg.message}`); return; } debugger; editMode = true; let {name} = COOKIE_HELPER.getCookie(); // phonenumber:$('#phonenumber').val(), // addressline1:$('#addressdes').val(), // zipcode:$('#zipcode').val(), // cityid:stateId, // CityName:$(`[data-id="${stateId}"`).html(), let stateId = parseInt($('#state').data('id')); setAddressHeader({name,addressline:$('#addressdes').val(),cityname:$(`#state`).val(),phonenumber:$('#phonenumber').val(),zipcode:$('#zipcode').val()}); $('.errMsgFormEdit').html(''); loadShippingProducts(); addresslistAction.removeAddressContainer() changeAddressBtnAction.addChangeAddressBtn(); paymentContainerAction.paymentContainerAdd(); $('.displayadress').removeClass('d-none'); }); $('.ordernowbtn').off().click(async function (e){ let cookieRes = COOKIE_HELPER_ACTIONS.getCookie(); let { userId, name } = cookieRes; paymentgatewaypageAction.addPaymentgatewaypage(); let payload = { "OrganizationName": name, "BranchId": 106632280000001, "OrderItems": [ { "UnitPrice": 20, "Quantity": 1, "SKU": "11", "DiscountValue": 0, "DiscountPercent": 0 } ] } $('.paymentgatewaypage').removeClass('d-none'); const data = getCartData(); let orderItems = []; for(let i in data){ const {price,quantity,sku} = data[i]; let payload = { "UnitPrice": price, "Quantity": quantity, "SKU": sku, "DiscountValue": 0, "DiscountPercent": 0 } orderItems.push(payload) } payload['OrderItems'] = orderItems; debugger; try { const res = await API_SERVICES_ACTIONS.postAPIService(`apis/v4/bizgaze/integrations/salesorder/save`,payload); console.log(res.response.result);; if(!res.response.result){ paymentgatewaypageAction.removePaymentgatewaypage(); } // `http://localhost:3088/apis/v4/bizgaze/transact/orders/getpaymentgatewaytransaction/refid/106633780000069` let response = await API_SERVICES_ACTIONS.getAPIService(`apis/v4/bizgaze/transact/orders/getpaymentgatewaytransaction/refid/${res.response.result}`); let {PaymentLink} = JSON.parse(response.response.result); window.location.href = PaymentLink; } catch (error) { paymentgatewaypageAction.removePaymentgatewaypage(); } }); } function getItemProductHTML(item) { const { img, name, price, quantity, sku, id } = item; return `
${name}
${getCurrencySymbol(price)} x ${quantity}
`; return `
-
+
${name}
$ ${price} 56% Off 2 offers applied
Save for later Remove
`; } async function getCountryId(){ const countryRes = await API_SERVICES_ACTIONS.getAPIService('apis/v4/bizgaze/integrations/anwiauth/getcountry');; if (countryRes.isError) { alert("something went wrong"); console.log(countryRes); return; } let ctyId = 0 let countryData = JSON.parse(countryRes.response.result); console.log(countryData); for (let i = 0; i < countryData.length; i++) { if (countryData[i].countryname.toLowerCase() === 'india') { debugger; countryId = countryData[i].countryid; ctyId = countryId countrynameData = countryData[i].countryname; break; } } return ctyId; } function renderStates(data){ $('#state').off('select2:select'); let html = ''; for (let i = 0; i < 10; i++) { html += `` } $('#state').append(html); $("#state").select2({ placeholder: "Select a City", allowClear: true }); } async function getCountryStateCurrency() { const countryRes = await API_SERVICES_ACTIONS.getAPIService('apis/v4/bizgaze/integrations/anwiauth/getcountry');; if (countryRes.isError) { alert("something went wrong"); console.log(countryRes); return; } let countryData = JSON.parse(countryRes.response.result); console.log(countryData); for (let i = 0; i < countryData.length; i++) { if (countryData[i].countryname.toLowerCase() === 'india') { countryID = countryData[i].countryid; countrynameData = countryData[i].countryname; break; } } // const stateRes = await API_SERVICES_ACTIONS.getAPIService(`apis/v4/unibase/platform/forms/autocomplete/docpropertyid/116631530005773/columnname/statusid/value/1%7C/formpropertyid/116631620000066/formid/116631640000040/bindeddata/undefined/term/h/authtoken/2cd31fdd-440b-4eea-9039-659ab090628a?term=h&type=GET`); const stateRes = await API_SERVICES_ACTIONS.getAPIService(`apis/v4/bizgaze/integrations/anwiauth/getcities/countryid/${countryID}`); if (stateRes.isError) { alert("something went wrong"); console.log(stateRes); return; } let stateData = JSON.parse(stateRes.response.result); // console.log(stateData, 'state'); $('#state').val(null); console.log("start") let html = ''; statesList = stateData; stateArr = stateData; renderCustomStateDropdown(stateArr); //renderStates(stateArr) const currencyRes = await API_SERVICES_ACTIONS.getAPIService('apis/v4/bizgaze/integrations/anwiauth/getcurrencies'); if(currencyRes.isError){ alert("something went wrong"); console.log(currencyRes); return; } let currencyData = JSON.parse(currencyRes.response.result); console.log(currencyData,'currencyDatacurrencyDatacurrencyData'); for(let i=0;i${cityname}`; } function renderCustomStateDropdown(stateList){ let html = ``; debugger;; let maxLen = stateList.length > 10 ? 10 :stateList.length for(let i=0;i Pay Via (Card, Net Banking, Wallet) `); $('.paymentbtn').off().click(function (e){ const data = $(e.target).data('op'); if(data == 'online'){ orderBtnAction.addOrdernowBtn(); }else{ orderBtnAction.removeOrdernowBtn(); } }) $('.btnminus').each(function (i, el) { $(el).off().click(function (elm) { let id = $(elm.target).parents('.item-product-add').data('id'); let val = parseInt($(elm.target).parents('.item-product-add').find('.qtyshowinput').val()); if (val <= 1) return; val--; updateCartQuantity(id, val) $(elm.target).parents('.item-product-add').find('.qtyshowinput').val(val) }); }) $('.btnplus').each(function (i, el) { $(el).off().click(function (elm) { let id = $(elm.target).parents('.item-product-add').data('id'); let val = parseInt($(elm.target).parents('.item-product-add').find('.qtyshowinput').val()); if (val >= 11) return; val++; updateCartQuantity(id, val) $(elm.target).parents('.item-product-add').find('.qtyshowinput').val(val); }); }) $('.removecartItem').each(function (i, el) { $(el).click(function (elm) { let id = $(elm.target).parents('.item-product-add').data('id'); let len = removeCartItem(id); $(`.item-product-add[data-id="${id}"]`).remove(); if (!len) { orderBtnAction.removeOrdernowBtn(); } }); }) } function removeOrderSummary(){ $('.detailsAddressBg').removeClass('detailsAddressBg'); $('.selectAddress').addClass('detailsAddressBg'); $('.orderslist').html(''); $('.orderslist').removeClass("p-3"); orderBtnAction.removeOrdernowBtn(); // $('.detailsAddressBtn').addClass('d-none'); addresslistAction.addAddressContainer(); $('.saveanddeliver').removeClass('d-none'); $('.saveanddeliverCanel').removeClass('d-none') } function factoryErrorControl(){ let inputsArr = ['phonenumber','addressdes','zipcode','state']; let controls = {}; for(let i=0;i