Nav apraksta
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

select_delivery.js 24KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720
  1. function initSelectDevlivery() {
  2. let editMode = false;
  3. let countryId = null;
  4. let currencyId = null;
  5. let billingInfo = null;
  6. let userName = null;
  7. let stateArr = [];
  8. $('.mianselectdelivery').removeClass('d-none');
  9. let orderBtnAction = {
  10. removeOrdernowBtn() {
  11. $('.ordernowbtn').parent().addClass('d-none');
  12. },
  13. addOrdernowBtn() {
  14. $('.ordernowbtn').parent().removeClass('d-none');
  15. }
  16. }
  17. let addresslistAction = {
  18. removeAddressContainer(){
  19. $('.addresslist').addClass('d-none');
  20. },
  21. addAddressContainer(){
  22. $('.addresslist').removeClass('d-none');
  23. }
  24. }
  25. let changeAddressBtnAction = {
  26. removeChangeAddressBtn() {
  27. $('.changeAddressBtn').addClass('d-none');
  28. },
  29. addChangeAddressBtn() {
  30. $('.changeAddressBtn').removeClass('d-none');
  31. }
  32. }
  33. let changesaveCancelBtnAction = {
  34. removeChangeCancelBtn() {
  35. $('.saveanddeliverCanel').addClass('d-none');
  36. },
  37. addChangeCancelBtn() {
  38. $('.saveanddeliverCanel').removeClass('d-none');
  39. }
  40. }
  41. let saveFormLoading = {
  42. addSpinner(){
  43. $('.saveanddeliver').find('.spinner-border').removeClass('d-none');
  44. $('.saveanddeliver').find('span').addClass('d-none');
  45. },
  46. removeSpinner(){
  47. $('.saveanddeliver').find('.spinner-border').addClass('d-none');
  48. $('.saveanddeliver').find('span').removeClass('d-none');
  49. },
  50. }
  51. let paymentgatewaypageAction = {
  52. addPaymentgatewaypage(){
  53. $('.paymentgatewaypage').removeClass('d-none');
  54. },
  55. removePaymentgatewaypage(){
  56. $('.paymentgatewaypage').addClass('d-none');
  57. }
  58. }
  59. let paymentContainerAction = {
  60. paymentContainerAdd(){
  61. $('.orderslist').parent().removeClass('d-none');
  62. },
  63. paymentContainerRemove(){
  64. $('.orderslist').parent().addClass('d-none');
  65. }
  66. }
  67. const {phonenumber_errorhandler,addressdes_errorhandler,zipcode_errorhandler,state_errorhandler} = factoryErrorControl();
  68. function init() {
  69. getAddressRes();
  70. loadEvents();
  71. updateSummaryPriceAdd();
  72. // changeAddressBtnAction.removeChangeAddressBtn();
  73. }
  74. function removeAllFormError(){
  75. phonenumber_errorhandler.removeError();
  76. addressdes_errorhandler.removeError();
  77. zipcode_errorhandler.removeError();
  78. state_errorhandler.removeError();
  79. $('.errMsgFormEdit').addClass('d-none');
  80. $('.errMsgFormEdit').html('');
  81. }
  82. function clearAllInputs(){
  83. $("#state").select2({
  84. placeholder: "Select a City",
  85. allowClear: true
  86. });
  87. $('#phonenumber').val(null);
  88. $('#addressdes').val(null);
  89. $('#zipcode').val(null);
  90. }
  91. async function appendFormDetails(){
  92. let cookieRes = COOKIE_HELPER_ACTIONS.getCookie();
  93. console.log(cookieRes);
  94. const { errorMsg, isError, response } = await API_SERVICES_ACTIONS.getAPIService(`apis/v4/bizgaze/integrations/products/getbillinginfo/contactid/${cookieRes.userId}`);
  95. let res = JSON.parse(response.result)[0];
  96. debugger;
  97. const {cityid, lobid,organizationname,addressline,cityname,phonenumber,zipcode,name } =res;
  98. setAddressHeader({name:organizationname,phonenumber,addressline,cityname,zipcode});
  99. $('#phonenumber').val(phonenumber);
  100. $('#addressdes').val(addressline);
  101. $('#zipcode').val(zipcode);
  102. debugger;
  103. $('.userNamelogin').html(`${userName}`);
  104. editMode = true;
  105. console.log(stateArr);
  106. renderStates(stateArr);
  107. }
  108. async function getAddressRes() {
  109. let cookieRes = COOKIE_HELPER_ACTIONS.getCookie();
  110. console.log(cookieRes);
  111. const { errorMsg, isError, response } = await API_SERVICES_ACTIONS.getAPIService(`apis/v4/bizgaze/integrations/products/getbillinginfo/contactid/${cookieRes.userId}`);
  112. let res = JSON.parse(response.result);
  113. console.log(res, 'befores');
  114. res = res[res.length - 1];
  115. //createBillingForm();
  116. const {cityid, lobid,organizationname,addressline,cityname,phonenumber,zipcode,name } =res;
  117. billingInfo = res;
  118. debugger;
  119. console.log(res);
  120. if (cityid != 0) {
  121. $('.addnewAddressContainer').addClass('d-none');
  122. $('.detailsAddressBg').removeClass('detailsAddressBg');
  123. $('.ordersummaryheader').addClass('detailsAddressBg');
  124. $('.displayadress').removeClass('d-none')
  125. // $('.addresslist').removeClass('d-none');
  126. loadShippingProducts();
  127. userName = organizationname;
  128. setAddressHeader({name:organizationname,phonenumber,addressline,cityname,zipcode});
  129. debugger;
  130. editMode = true;
  131. // adding values
  132. $('#phonenumber').val(phonenumber);
  133. $('#addressdes').val(addressline);
  134. $('#zipcode').val(zipcode);
  135. debugger;
  136. $('.userNamelogin').html(`${userName}`);
  137. changeAddressBtnAction.addChangeAddressBtn()
  138. getCountryStateCurrency();
  139. }else{
  140. $('.userNamelogin').html(`${organizationname}`);
  141. loadShippingProducts();
  142. paymentContainerAction.paymentContainerRemove();
  143. getCountryStateCurrency();
  144. orderBtnAction.removeOrdernowBtn();
  145. $('.detailsAddressBg').removeClass('detailsAddressBg');
  146. $('.selectAddress').addClass('detailsAddressBg');
  147. }
  148. }
  149. function setAddressHeader({name,phonenumber,addressline,cityname,zipcode}){
  150. $('.innerDisplayAddress').html(`${name}-${phonenumber}, ${addressline}, ${cityname} - `);
  151. $('.zipcodeAddress').html(`${zipcode}`);
  152. }
  153. function checkForm(){
  154. let number = $('#phonenumber').val();
  155. let zipcode = $('#zipcode').val();
  156. let state = $('#state').val();
  157. let address = $('#addressdes').val();
  158. let isTrue = false;
  159. if(!number || number.length!=10){
  160. isTrue = true;
  161. phonenumber_errorhandler.addError();
  162. }
  163. if(zipcode.length<6 || zipcode.length>6){
  164. isTrue = true;
  165. zipcode_errorhandler.addError();
  166. }
  167. if(!state){
  168. isTrue = true;
  169. state_errorhandler.addError();
  170. }
  171. if(!address){
  172. isTrue = true;
  173. addressdes_errorhandler.addError();
  174. }
  175. return isTrue;
  176. }
  177. async function createBillingForm(){
  178. debugger;
  179. let cookieRes = COOKIE_HELPER_ACTIONS.getCookie();
  180. let { userId, name } = cookieRes;
  181. const ctyId = await getCountryId();
  182. let stateId = parseInt($('#state').val());
  183. let payload = {
  184. "cityid": stateId,
  185. "CityName":$(`[data-id="${stateId}"`).html(),
  186. "addressline1": $('#addressdes').val(),
  187. "OrganizationType": 2,
  188. "organizationname": name,
  189. //"OrganizationId":,
  190. "ContactName": name,
  191. "ContactId": userId,
  192. "countryname": 'india',
  193. "countryid": ctyId,
  194. "statename":$(`[data-id="${stateId}"`).html(),
  195. "phonenumber": $('#phonenumber').val(),
  196. "OrganizationId": userId,
  197. "currencyid": 2,
  198. "taxno": '0',
  199. "BillingInfoExists": false,
  200. "lobid": 0,
  201. "lobname": "IT Products",
  202. "gstindetailid": 0,
  203. zipcode:$('#zipcode').val()
  204. }
  205. const res = await API_SERVICES_ACTIONS.postAPIService('apis/v4/bizgaze/crm/address/savebillinginfo', payload);
  206. // http://localhost:3088/apis/v4/bizgaze/crm/address/savebillinginfo
  207. setAddressHeader({name,phonenumber:$('#phonenumber').val(),addressline: $('#addressdes').val(),cityname:$(`[data-id="${stateId}"`).html(),zipcode:$('#zipcode').val()});
  208. return new Promise((reslove,reject) => {
  209. reslove(res);
  210. })
  211. console.log(res);
  212. }
  213. async function saveForm() {
  214. let cookieRes = COOKIE_HELPER_ACTIONS.getCookie();
  215. let { userId, name } = cookieRes;
  216. const { errorMsg, isError, response } = await API_SERVICES_ACTIONS.getAPIService(`apis/v4/bizgaze/integrations/products/getbillinginfo/contactid/${cookieRes.userId}`);
  217. let resAnwi = JSON.parse(response.result);
  218. console.log(resAnwi, 'befores');
  219. resAnwi = resAnwi[resAnwi.length - 1];
  220. let stateId = parseInt($('#state').val());
  221. let payload = {
  222. ...resAnwi,
  223. phonenumber:$('#phonenumber').val(),
  224. addressline1:$('#addressdes').val(),
  225. zipcode:$('#zipcode').val(),
  226. cityid:stateId,
  227. CityName:$(`[data-id="${stateId}"`).html(),
  228. }
  229. console.log(payload,"ertyuioghjkl");
  230. //
  231. const res = await API_SERVICES_ACTIONS.postAPIService('apis/v4/bizgaze/crm/address/savebillinginfo', payload);
  232. return new Promise((reslove,reject) => {
  233. reslove(res);
  234. })
  235. }
  236. async function loadEvents() {
  237. $('.addnewAddressContainer').off('click').click(function (e) {
  238. $('.addnewAddressContainer').addClass('d-none');
  239. $('.addresslist').removeClass('d-none');
  240. changeAddressBtnAction.removeChangeAddressBtn();
  241. changesaveCancelBtnAction.addChangeCancelBtn();
  242. });
  243. $('.saveanddeliverCanel').off('click').click(function (){
  244. if(!editMode){
  245. $('.addnewAddressContainer').removeClass('d-none');
  246. $('.addresslist').addClass('d-none');
  247. changeAddressBtnAction.removeChangeAddressBtn();
  248. changesaveCancelBtnAction.removeChangeCancelBtn();
  249. }else{
  250. loadShippingProducts();
  251. addresslistAction.removeAddressContainer()
  252. changeAddressBtnAction.addChangeAddressBtn();
  253. paymentContainerAction.paymentContainerAdd();
  254. $('.displayadress').removeClass('d-none');
  255. }
  256. clearAllInputs();
  257. });
  258. $('.changeAddressBtn').off('click').click(function (e){
  259. console.log(e.target);
  260. //getAddressRes();
  261. appendFormDetails();
  262. removeOrderSummary();
  263. changeAddressBtnAction.removeChangeAddressBtn();
  264. $('.displayadress').addClass('d-none')
  265. })
  266. $('.saveanddeliver').off('click').click(async function (e) {
  267. saveFormLoading.addSpinner()
  268. let isErrorForm = checkForm();
  269. if(isErrorForm){
  270. saveFormLoading.removeSpinner();
  271. return;
  272. }
  273. let res;
  274. if(editMode){
  275. res = await saveForm();
  276. }else{
  277. res = createBillingForm();
  278. }
  279. saveFormLoading.removeSpinner();
  280. const {isError,errorMsg,response} = res;
  281. console.log(errorMsg);
  282. if(isError){
  283. $('.errMsgFormEdit').removeClass('d-none');
  284. $('.errMsgFormEdit').html(`${errorMsg.message}`);
  285. return;
  286. }
  287. debugger;
  288. editMode = true;
  289. let {name} = COOKIE_HELPER.getCookie();
  290. // phonenumber:$('#phonenumber').val(),
  291. // addressline1:$('#addressdes').val(),
  292. // zipcode:$('#zipcode').val(),
  293. // cityid:stateId,
  294. // CityName:$(`[data-id="${stateId}"`).html(),
  295. let stateId = parseInt($('#state').val());
  296. setAddressHeader({name,addressline:$('#addressdes').val(),cityname:$(`[data-id="${stateId}"`).html(),phonenumber:$('#phonenumber').val(),zipcode:$('#zipcode').val()});
  297. $('.errMsgFormEdit').html('');
  298. loadShippingProducts();
  299. addresslistAction.removeAddressContainer()
  300. changeAddressBtnAction.addChangeAddressBtn();
  301. paymentContainerAction.paymentContainerAdd();
  302. $('.displayadress').removeClass('d-none');
  303. });
  304. $('.ordernowbtn').off().click(async function (e){
  305. let cookieRes = COOKIE_HELPER_ACTIONS.getCookie();
  306. let { userId, name } = cookieRes;
  307. paymentgatewaypageAction.addPaymentgatewaypage();
  308. let payload = {
  309. "OrganizationName": name,
  310. "BranchId": 106632280000001,
  311. "OrderItems": [
  312. {
  313. "UnitPrice": 20,
  314. "Quantity": 1,
  315. "SKU": "11",
  316. "DiscountValue": 0,
  317. "DiscountPercent": 0
  318. }
  319. ]
  320. }
  321. $('.paymentgatewaypage').removeClass('d-none');
  322. const data = getCartData();
  323. let orderItems = [];
  324. for(let i in data){
  325. const {price,quantity,sku} = data[i];
  326. let payload = {
  327. "UnitPrice": price,
  328. "Quantity": quantity,
  329. "SKU": sku,
  330. "DiscountValue": 0,
  331. "DiscountPercent": 0
  332. }
  333. orderItems.push(payload)
  334. }
  335. payload['OrderItems'] = orderItems;
  336. debugger;
  337. try {
  338. const res = await API_SERVICES_ACTIONS.postAPIService(`apis/v4/bizgaze/integrations/salesorder/save`,payload);
  339. console.log(res.response.result);;
  340. if(!res.response.result){
  341. paymentgatewaypageAction.removePaymentgatewaypage();
  342. }
  343. // `http://localhost:3088/apis/v4/bizgaze/transact/orders/getpaymentgatewaytransaction/refid/106633780000069`
  344. let response = await API_SERVICES_ACTIONS.getAPIService(`apis/v4/bizgaze/transact/orders/getpaymentgatewaytransaction/refid/${res.response.result}`);
  345. let {PaymentLink} = JSON.parse(response.response.result);
  346. window.location.href = PaymentLink;
  347. } catch (error) {
  348. paymentgatewaypageAction.removePaymentgatewaypage();
  349. }
  350. });
  351. }
  352. function getItemProductHTML(item) {
  353. const { img, name, price, quantity, sku, id } = item;
  354. return ` <div class="align-items-center item-product-add d-flex w-100" data-id="${id}" data-sku="${sku}">
  355. <div style="max-width: 100px;" class="">
  356. <img class="w-100" src="${img}" alt="">
  357. </div>
  358. <div class="" style="margin-left:10px">
  359. <div>
  360. <div style="font-size:12px">${name}</div>
  361. </div>
  362. <div>
  363. <span style="font-size:12px" class="font-weight-600">${getCurrencySymbol(price)}</span> <span>x <span class="qtyitem" style="font-size:12px">${quantity}</span></span>
  364. </div>
  365. </div>
  366. </div>`;
  367. return ` <div class="item-product-add" data-id="${id}" data-sku="${sku}">
  368. <div class="row py-2">
  369. <div class="col-sm-2">
  370. <div class="w-100 d-flex justify-content-around">
  371. <div class="d-flex flex-column align-items-baseline">
  372. <div class="px-4 py-2 selectaddressimgshow">
  373. <img class="w-100" src="${img}" alt="" class="w-100">
  374. </div>
  375. <div class="addresscontrol w-100 d-flex justify-content-center gap-1">
  376. <div class="rounded-contain btnminus">
  377. -
  378. </div>
  379. <div class="w-100p">
  380. <input class="qtyshowinput" disabled value="${quantity}" type="number">
  381. </div>
  382. <div class="rounded-contain btnplus">
  383. +
  384. </div>
  385. </div>
  386. </div>
  387. </div>
  388. </div>
  389. <div class="col-sm-10">
  390. <div class="row h-100">
  391. <div class="col-sm-8">
  392. <div class="h-100 d-flex flex-column justify-content-between">
  393. <div> ${name}</div>
  394. <div>
  395. <span>$</span> ${price} <span class="d-none">56% Off 2 offers applied</span>
  396. </div>
  397. <div class="d-flex gap-3">
  398. <span class="text-uppercase d-none">Save for later</span>
  399. <span class="text-uppercase cursor-pointer removecartItem">Remove</span>
  400. </div>
  401. </div>
  402. </div>
  403. </div>
  404. </div>
  405. </div>
  406. </div>`;
  407. }
  408. async function getCountryId(){
  409. const countryRes = await API_SERVICES_ACTIONS.getAPIService('apis/v4/bizgaze/integrations/products/getcountry');;
  410. if (countryRes.isError) {
  411. alert("something went wrong");
  412. console.log(countryRes);
  413. return;
  414. }
  415. let ctyId = 0
  416. let countryData = JSON.parse(countryRes.response.result);
  417. console.log(countryData);
  418. for (let i = 0; i < countryData.length; i++) {
  419. if (countryData[i].countryname.toLowerCase() === 'india') {
  420. countryId = countryData[i].countryid;
  421. ctyId = countryId
  422. countrynameData = countryData[i].countryname;
  423. break;
  424. }
  425. }
  426. return ctyId;
  427. }
  428. function renderStates(data){
  429. $('#state').off('select2:select');
  430. let html = '';
  431. for (let i = 0; i < data.length; i++) {
  432. html += `<option value="${data[i].cityid}" data-id="${data[i].cityid}">${data[i].cityname}</option>`
  433. }
  434. $('#state').append(html);
  435. $("#state").select2({
  436. placeholder: "Select a City",
  437. allowClear: true
  438. });
  439. }
  440. async function getCountryStateCurrency() {
  441. const countryRes = await API_SERVICES_ACTIONS.getAPIService('apis/v4/bizgaze/integrations/products/getcountry');;
  442. if (countryRes.isError) {
  443. alert("something went wrong");
  444. console.log(countryRes);
  445. return;
  446. }
  447. let countryData = JSON.parse(countryRes.response.result);
  448. console.log(countryData);
  449. for (let i = 0; i < countryData.length; i++) {
  450. if (countryData[i].countryname.toLowerCase() === 'india') {
  451. countryID = countryData[i].countryid;
  452. countrynameData = countryData[i].countryname;
  453. break;
  454. }
  455. }
  456. const stateRes = await API_SERVICES_ACTIONS.getAPIService(`apis/v4/bizgaze/integrations/products/getcities/countryid/${countryID}`);
  457. if (stateRes.isError) {
  458. alert("something went wrong");
  459. console.log(stateRes);
  460. return;
  461. }
  462. let stateData = JSON.parse(stateRes.response.result);
  463. console.log(stateData, 'state');
  464. $('#state').html('');
  465. console.log("start")
  466. let html = '';
  467. statesList = stateData;
  468. stateArr = stateData;
  469. renderStates(stateArr)
  470. const currencyRes = await API_SERVICES_ACTIONS.getAPIService('apis/v4/bizgaze/integrations/products/getcurrencies');
  471. if(currencyRes.isError){
  472. alert("something went wrong");
  473. console.log(currencyRes);
  474. return;
  475. }
  476. let currencyData = JSON.parse(currencyRes.response.result);
  477. console.log(currencyData,'currencyDatacurrencyDatacurrencyData');
  478. for(let i=0;i<currencyData.length;i++){
  479. const curr = currencyData[i];
  480. if(curr.currencyname.toLowerCase().includes('india')){
  481. currencyid = curr.currencyid;
  482. }
  483. }
  484. }
  485. function loadShippingProducts(){
  486. $('.detailsAddressBg').removeClass('detailsAddressBg');
  487. $('.ordersummaryheader ').addClass('detailsAddressBg')
  488. debugger;
  489. const products = getCartData();
  490. console.log(products);
  491. if (Object.keys(products||{}).length) orderBtnAction.addOrdernowBtn();
  492. let productsHTML = '';
  493. for (let item in products) {
  494. const currItem = products[item];
  495. productsHTML += getItemProductHTML({ ...currItem, id: item })
  496. }
  497. $('.orderlistcart').html(productsHTML);
  498. // $('.orderslist').html(productsHTML);
  499. $('.orderslist').addClass("p-3")
  500. $('.orderslist').html(` <label for="online">
  501. Online
  502. <input checked data-op="online" name="payment" type="radio" class="paymentbtn " id="online">
  503. </label>
  504. <label for="cod">
  505. Cash on delivery
  506. <input data-op="cod" name="payment" type="radio" class="paymentbtn " id="cod">
  507. </label>`);
  508. $('.paymentbtn').off().click(function (e){
  509. const data = $(e.target).data('op');
  510. if(data == 'online'){
  511. orderBtnAction.addOrdernowBtn();
  512. }else{
  513. orderBtnAction.removeOrdernowBtn();
  514. }
  515. })
  516. $('.btnminus').each(function (i, el) {
  517. $(el).off().click(function (elm) {
  518. let id = $(elm.target).parents('.item-product-add').data('id');
  519. let val = parseInt($(elm.target).parents('.item-product-add').find('.qtyshowinput').val());
  520. if (val <= 1) return;
  521. val--;
  522. updateCartQuantity(id, val)
  523. $(elm.target).parents('.item-product-add').find('.qtyshowinput').val(val)
  524. });
  525. })
  526. $('.btnplus').each(function (i, el) {
  527. $(el).off().click(function (elm) {
  528. let id = $(elm.target).parents('.item-product-add').data('id');
  529. let val = parseInt($(elm.target).parents('.item-product-add').find('.qtyshowinput').val());
  530. if (val >= 11) return;
  531. val++;
  532. updateCartQuantity(id, val)
  533. $(elm.target).parents('.item-product-add').find('.qtyshowinput').val(val);
  534. });
  535. })
  536. $('.removecartItem').each(function (i, el) {
  537. $(el).click(function (elm) {
  538. let id = $(elm.target).parents('.item-product-add').data('id');
  539. let len = removeCartItem(id);
  540. $(`.item-product-add[data-id="${id}"]`).remove();
  541. if (!len) {
  542. orderBtnAction.removeOrdernowBtn();
  543. }
  544. });
  545. })
  546. }
  547. function removeOrderSummary(){
  548. $('.detailsAddressBg').removeClass('detailsAddressBg');
  549. $('.selectAddress').addClass('detailsAddressBg');
  550. $('.orderslist').html('');
  551. $('.orderslist').removeClass("p-3");
  552. orderBtnAction.removeOrdernowBtn();
  553. // $('.detailsAddressBtn').addClass('d-none');
  554. addresslistAction.addAddressContainer();
  555. $('.saveanddeliver').removeClass('d-none');
  556. $('.saveanddeliverCanel').removeClass('d-none')
  557. }
  558. function factoryErrorControl(){
  559. let inputsArr = ['phonenumber','addressdes','zipcode','state'];
  560. let controls = {};
  561. for(let i=0;i<inputsArr.length;i++){
  562. const id =inputsArr[i];
  563. controls[`${id}_errorhandler`] = {
  564. addError(){
  565. debugger;
  566. $(`#${id}`).parents('.col-sm-6').find('.invalid-feedback').addClass('d-block');
  567. },
  568. removeError(){
  569. $(`#${id}`).parents('.col-sm-6').find('.invalid-feedback').addClass('d-block');
  570. }
  571. }
  572. }
  573. return controls;
  574. }
  575. init();
  576. }
  577. checkValidAuth(initSelectDevlivery);