Built files from Bizgaze WebServer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

orderdetails.component.js 106KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327
  1. var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
  2. function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
  3. return new (P || (P = Promise))(function (resolve, reject) {
  4. function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
  5. function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
  6. function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
  7. step((generator = generator.apply(thisArg, _arguments || [])).next());
  8. });
  9. };
  10. var Bizgaze;
  11. (function (Bizgaze) {
  12. let Apps;
  13. (function (Apps) {
  14. let Transact;
  15. (function (Transact) {
  16. let Controls;
  17. (function (Controls) {
  18. let Subscriptions;
  19. (function (Subscriptions) {
  20. class OrderDetails extends Unibase.Platform.Core.BaseComponent {
  21. constructor() {
  22. super(...arguments);
  23. this.CartItems = [];
  24. this.AddonItems = [];
  25. this.PaymentStatus = true;
  26. }
  27. cssFiles() {
  28. return ['apps/transact/controls/subscriptions/style.subscription.css'];
  29. }
  30. jsFiles() {
  31. return ['apps/transact/components/subscriptions/userregistration.component.js'];
  32. }
  33. html() {
  34. }
  35. init(formpropertyid, prop, callback) {
  36. $("#btnRegistrationSave").click(function () {
  37. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().createOrder();
  38. });
  39. $("#btnCheckOut").click(function () {
  40. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().checkout();
  41. });
  42. }
  43. loadControl(containerid, prop) {
  44. this.fileCacheHelper.loadCssFile("apps/transact/controls/subscriptions/style.subscription.css", null);
  45. var html = `<div class="orderitemsdiv"></div>`;
  46. $(".btn_Save_Form").addClass("btn_SaveRegistration_Form");
  47. var Register = `<span><button type="button" id="btnCheckOut" class="hidden btn btn-sm btn-primary">Check Out</button></span><span><button type="button" id="btnRegistrationSave" class=" btn btn-sm btn-primary">Save</button></span>`;
  48. $(".btn_SaveRegistration_Form").removeClass("btn_Save_Form");
  49. $(".btn_SaveRegistration_Form").html(Register);
  50. $(`[data-formuniquekey="bizgaze_extension_transact_subscription_createsubscriptionorderitems"]`).css("height", '100vh').find(".simple-scroll-bar.modal-body").css("height", '100vh');
  51. $("#" + containerid).html(html);
  52. }
  53. getorderitems(id, itemid, tenureid, tenurePeriod) {
  54. OrderDetails.instance.CartItems = [];
  55. OrderDetails.instance.TenureId = tenureid;
  56. OrderDetails.instance.TenurePeriod = tenurePeriod;
  57. this.fileCacheHelper.loadJsFiles(['apps/transact/managers/subscriptions/subscriptionmanager.js', 'platform/core/helpers/navigation/interfaces/inavigationhelper.js'], function () {
  58. Bizgaze.Apps.Transact.Managers.Subscriptions.SubscriptionManager.Instance().getItem(itemid, tenureid).then(function (response) {
  59. var res = response.result;
  60. Bizgaze.Apps.Transact.Managers.Subscriptions.SubscriptionManager.Instance().getTenurePeriodAndPrice(Number(itemid), Number(tenureid), tenurePeriod).then(function (tenureresponse) {
  61. var tenureres = tenureresponse.result;
  62. var html = ``;
  63. html += `<div class="add-on-products-sec">
  64. <div class="row add-on-content-wrap biz-custom-scrollbar mx-0 p-md-4">
  65. <div class="Uaddonitems col-xl-8 col-md-6 px-0 pr-md-10 pr-lg-20 mb-30 mb-md-0 pr-xl-30">
  66. <div class="addons-wrap">
  67. <div class="addon-heading-search-wrap mb-25" id="addonHeadingSearchWrap"><h2 class="addons-heading heading-underline">Add-ons</h2><div class="addon-search-wrap"><input type="text" id="addonSearchInput" class="form-control addon-search-input" oninput="Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().searchAddons();" placeholder="Search Addons"><i class="fa fa-search search-icon"></i></div></div>
  68. <div class="addon-products-wrap biz-custom-scrollbar addonslist row justify-content-start r-gap-30"><div class="alert alert-danger err-msg text-center w-100 d-none" role="alert">No Addons Found!</div></div>
  69. </div>
  70. </div>
  71. <div class="col-xl-4 col-md-6 px-0 pl-md-10 pl-lg-20 pl-xl-30 OrderAddonItems">
  72. <div class="ml-auto w-50"><img src="../../../../imgs/biz-logo.svg" class="img-fluid" alt="Bizgaze-Logo"></div>
  73. <div class="cart-wrap biz-custom-scrollbar Uaddonitems SubsItems rounded-20 p-3 mt-15">
  74. <div class="align-items-center border-bottom cart-header d-flex justify-content-between py-10">
  75. <h5 class="cart-heading heading-underline">Cart Summary(<span class="cartcount"></span>)</h5><div><a href="javascript:;" id="btn_Proceed1" class="btn btn-block btn-warning submit-btn">Proceed</a></div><div class="cart-proceed-wrap">
  76. <a href="javascript:;" onclick="Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().createOrder()" class="btn btn-success cart-proceed-btn ProceedtoPay">Proceed to
  77. Pay</a>
  78. </div>
  79. </div>
  80. <div class="cart-footer">
  81. <div class="cart-price-details-wrap" id="cartSummaryFooter"></div>
  82. </div>
  83. <div class="cart-body biz-custom-scrollbar ListCartItems">`;
  84. html += `<div class="cart-item discount li_OrderAddonItems li_OrderAddonItems_` + res.ItemId + ` Plan_OrderItem_` + res.ItemId + ` ">
  85. <div class="item-title-price-wrap">
  86. <span class="item-title text-truncate">` + res.ItemName + `</span><select id="select_period"><option>select</option></select>
  87. <div class="price-trash-wrap"><span class="item-price inr-sign planitem-price">` + res.SalesPrice + `</span>
  88. </div>
  89. </div>
  90. <div class="item-desc-quantity-wrap">`;
  91. if (res.Description != null && res.Description != "") {
  92. html += `<p class="item-desc text-truncate">${res.Description}</p>`;
  93. }
  94. else {
  95. html += `<p class="item-desc text-truncate"></p>`;
  96. }
  97. html += ` <span class="item-quantity setupfee">( ` + res.SalesPrice + ` - 0% ) = ₹` + res.SalesPrice + `</span>
  98. </div>
  99. <div class="item-plan-offer-wrap pt-10">
  100. `;
  101. if (res.IsOfferAvailable == true) {
  102. html += ` <a href="javascrpit:;" onclick="Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().ShowOfferItems(` + 0 + `,` + res.ItemId + " ,`" + res.ItemName + "`," + 1 + `,` + `this)" class="item-offer-status btn btn-sm"><i class="fa fa-tag mr-1"></i><span>Offer applied</span></a>`;
  103. }
  104. html += `</div><input type="hidden" id="hf_Sku" value=` + res.SKU + ` /><input type="hidden" id="hf_ItemId" value=` + res.ItemId + ` /><input type="hidden" id="hf_Quantity" value=1 /><input type="hidden" class="itemprice" value=` + res.SalesPrice + ` id="hf_itemprice" /><input type="hidden" class="price hf_itemprice" value=` + res.SalesPrice + ` id="hf_price" /><input type="hidden" class="hf_discountPercent" value=0 id="hf_discountPercent" />
  105. </div>`;
  106. html += `<div class="focitem offeritems"></div><div class="AddonItemsList"></div>
  107. </div>
  108. </div>
  109. </div>
  110. </div>
  111. </div>`;
  112. $(".orderitemsdiv").html(html);
  113. $('#btn_Proceed1').hide();
  114. $('#select_period').on('change', function () {
  115. var periodTime = $('#select_period').val();
  116. var PlanId = itemid;
  117. var TenureId = tenureid;
  118. if (periodTime != undefined || PlanId != undefined || TenureId != undefined) {
  119. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().period_changebyPaynow(PlanId, TenureId, periodTime);
  120. }
  121. $(".item-quantity").text(`(` + OrderDetails.instance.planItemPrice + `-0)=` + OrderDetails.instance.planItemPrice);
  122. });
  123. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().bindTenure(itemid, tenureid);
  124. var OntimeCost = 0;
  125. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().cartItemsList(res, OntimeCost);
  126. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().setCartAddonHeight();
  127. var sf = $(".price").val().toString();
  128. $(".TotalPrice").text(sf);
  129. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().checkout();
  130. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().getAddons(res.ItemId, id, tenureid);
  131. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().LoadingOrderAddons();
  132. });
  133. });
  134. });
  135. OrderDetails.instance.organizationId = Number(id);
  136. var instance = this;
  137. var jsFiles = ["apps/crm/companies/managers/companymanager.js", "apps/crm/contacts/managers/contactmanager.js"];
  138. instance.fileCacheHelper.loadJsFiles(jsFiles, function () {
  139. if (id != 0) {
  140. Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getOrganizationById(id).then(function (response) {
  141. var data = response.result;
  142. var contactid = data.DefaultOrgContactId;
  143. Bizgaze.Apps.CRM.Companies.Managers.CompanyManager.Instance().getUserBranches(contactid).then(function (orgresponse) {
  144. var branchId = orgresponse.result[0].BranchId;
  145. OrderDetails.instance.BranchId = branchId;
  146. });
  147. });
  148. }
  149. });
  150. }
  151. getAddons(itemid, id, tenureid) {
  152. let instance = this;
  153. this.fileCacheHelper.loadJsFile('apps/transact/managers/subscriptions/subscriptionmanager.js', function () {
  154. Bizgaze.Apps.Transact.Managers.Subscriptions.SubscriptionManager.Instance().getAddonsItems(itemid, tenureid).then(function (response) {
  155. var res = response.result;
  156. var cartItemsList = [];
  157. $(".OrderAddonItems").find(".li_OrderAddonItems").each(function () {
  158. var addonItemId = Number($(this).find('#hf_ItemId').val());
  159. cartItemsList.push({
  160. ItemIds: addonItemId
  161. });
  162. });
  163. for (var i = 0; i < res.length; i++) {
  164. var imageurl = res[i].AddonImage;
  165. var image1;
  166. if (imageurl != null && imageurl != undefined && imageurl != "") {
  167. image1 = imageurl.split("~");
  168. instance.AddonImage = image1[0];
  169. }
  170. if (res[i].SalesPrice != 0) {
  171. var html = `<div class="col-md-3"><div class="product-card CartItems adoonsItems AddonValue-row" id="li_AddOnsItems_Details" data-search-term="${res[i].ItemName.toLowerCase()}"">
  172. <div class="product-card-body">
  173. <div class="product-img-wrap">
  174. <img src="${instance.AddonImage}" alt="" class="product-img">
  175. </div>
  176. <div class="product-title-desc-wrap addItemname">
  177. <p class="product-title" title="${res[i].ItemName}">${res[i].ItemName}</p>
  178. <p class="product-desc" title="Automation Evolved Evolved Evolved Evolved">
  179. ${res[i].Description || "&nbsp;"}
  180. </p>
  181. </div>
  182. </div>
  183. <div class="product-card-footer">
  184. <span class="product-price inr-sign">${res[i].SalesPrice}</span>
  185. <input type="hidden" class="addPrice" id="hf_addPrice" value=${res[i].SalesPrice} />
  186. <input type="hidden" class="Description" id = "hf_Description" value = ${res[i].Description} />`;
  187. var cartId = cartItemsList.filter(el => el.ItemIds === res[i].ItemId);
  188. if (cartId.length == 0) {
  189. html += `<a href="javascript:;" class="btn btnremove_${res[i].ItemId} cart-btn add-cart-btn btnTxt" onclick="Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().btnChange(\'btnremove_${res[i].ItemId}\',\'${tenureid}\');">Add</a>`;
  190. }
  191. else {
  192. html += `<a href="javascript:;" class="btn btnremove_${res[i].ItemId} cart-btn remove-cart-btn btnTxt" onclick="Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().btnChange(\'btnremove_${res[i].ItemId}\',\'${tenureid}\');">Remove</a>`;
  193. }
  194. html += `</div>
  195. <div class="offer-percentage">0%</div>
  196. <input type="hidden" id="hf_addonQuantity" value=${res[i].SubscriptionAddonsQuantity} /> <input type="hidden" id="hf_addonSku" value=${res[i].Sku} /> <input type="hidden" id="hf_addonItemId" value=${res[i].ItemId} />
  197. </div></div>`;
  198. $(".addonslist:first").append(html);
  199. instance.AddonImage = "";
  200. }
  201. }
  202. });
  203. });
  204. }
  205. btnChange(itemid, tenureid) {
  206. var BtnText = $("." + itemid + "").text();
  207. if (BtnText == "Add") {
  208. $("." + itemid + "").removeClass("add-cart-btn");
  209. $("." + itemid + "").addClass("remove-cart-btn");
  210. $("." + itemid + "").text("Remove");
  211. if ($('.SubsItems').find('.ListCartItems').height() < 260) {
  212. $('.SubsItems').find('.ListCartItems').css("min-height", "+=80px");
  213. }
  214. var itid = itemid.replace('btnremove_', '');
  215. Bizgaze.Apps.Transact.Managers.Subscriptions.SubscriptionManager.Instance().getItem(itid, tenureid).then(function (response) {
  216. var res = response.result;
  217. var html = `<div class="cart-item discount li_OrderAddonItems li_OrderAddonItems_` + res.ItemId + ` Plan_OrderItem_` + res.ItemId + ` ">
  218. <div class="item-title-price-wrap">
  219. <span class="item-title text-truncate">` + res.ItemName + `</span>
  220. <div class="price-trash-wrap"><span class="item-price inr-sign">` + res.SalesPrice + `</span>
  221. <a href="javascript:;" onclick="Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().deleteItem(\'Plan_OrderItem_` + res.ItemId + `\')"
  222. class="btn btn-icon btn-icon-circle btn-info btn-icon-style-3 item-remove-btn"><span class="btn-icon-wrap"><i class="fa fa-trash"></i></span></a>
  223. </div>
  224. </div>
  225. <div class="item-desc-quantity-wrap">`;
  226. if (res.Description != null && res.Description != "") {
  227. html += `<p class="item-desc text-truncate">${res.Description}</p>`;
  228. }
  229. else {
  230. html += `<p class="item-desc text-truncate"></p>`;
  231. }
  232. html += ` <span class="Addon-item-quantity">( ` + res.SalesPrice + ` - 0% ) = ₹` + res.SalesPrice + `</span>
  233. </div>
  234. <div class="item-plan-offer-wrap pt-10">
  235. `;
  236. if (res.IsOfferAvailable == true) {
  237. html += ` <a href="javascrpit:;" onclick="Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().ShowOfferItems(` + 0 + `,` + res.ItemId + " ,`" + res.ItemName + "`," + 1 + `,` + `this)" class="item-offer-status btn btn-sm"><i class="fa fa-percent mr-1"></i><span>Offer applied</span></a>`;
  238. }
  239. html += `</div><input type="hidden" id="hf_Sku" value=` + res.SKU + ` /><input type="hidden" id="hf_ItemId" value=` + res.ItemId + ` /><input type="hidden" id="hf_Quantity" value=1 /><input type="hidden" class="itemprice" value=` + res.SalesPrice + ` id="hf_itemprice" /><input type="hidden" class="price hf_itemprice" value=` + res.SalesPrice + ` id="hf_price" /><input type="hidden" class="hf_discountPercent" value=0 id="hf_discountPercent" />
  240. </div>`;
  241. $(".ListCartItems:first").append(html);
  242. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().updateCartItems(res, 0);
  243. });
  244. }
  245. if (BtnText == "Remove") {
  246. $("." + itemid + "").addClass("add-cart-btn");
  247. $("." + itemid + "").removeClass("remove-cart-btn");
  248. $("." + itemid + "").text("Add");
  249. var addItemId = itemid.replace('btnremove_', '');
  250. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().deleteItem('Plan_OrderItem_' + addItemId);
  251. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().updateCartItems(0, addItemId);
  252. }
  253. }
  254. cartItemsList(res, OntTimeCost) {
  255. var addonQuantity = 1;
  256. var addonSku = res.SKU;
  257. var addonItemId = res.ItemId;
  258. var unitPrice = res.SalesPrice + OntTimeCost;
  259. var discountPercent = res.Discount;
  260. var discountValue = 0;
  261. var itemName = res.ItemName;
  262. var subscriptionItemType = res.SubscriptionItemType;
  263. OrderDetails.instance.CartItems.push({
  264. addonQuantity: addonQuantity,
  265. addonSku: addonSku,
  266. addonItemId: addonItemId,
  267. unitPrice: unitPrice,
  268. discountPercent: discountPercent,
  269. discountValue: discountValue,
  270. itemName: itemName,
  271. subscriptionItemType: subscriptionItemType
  272. });
  273. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().checkout();
  274. }
  275. updateCartItems(res, itemid) {
  276. if (res != 0) {
  277. let instance = this;
  278. var addonQuantity = 1;
  279. var addonSku = res.SKU;
  280. var addonItemId = res.ItemId;
  281. var unitPrice = res.SalesPrice;
  282. var discountPercent = 0;
  283. var discountValue = 0;
  284. var ItemName = res.ItemName;
  285. var subscriptionItemType = res.SubscriptionItemType;
  286. OrderDetails.instance.CartItems.push({
  287. addonQuantity: addonQuantity,
  288. addonSku: addonSku,
  289. addonItemId: addonItemId,
  290. unitPrice: unitPrice,
  291. discountPercent: discountPercent,
  292. discountValue: discountValue,
  293. AddOnItemName: ItemName,
  294. subscriptionItemType: subscriptionItemType
  295. });
  296. }
  297. else {
  298. let index = OrderDetails.instance.CartItems.findIndex(z => z.addonItemId == Number(itemid));
  299. if (index != -1) {
  300. OrderDetails.instance.CartItems.splice(index, 1);
  301. }
  302. }
  303. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().checkout();
  304. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().checkout_cartAmount();
  305. }
  306. deleteItem(itemid) {
  307. var offerid = itemid;
  308. if (offerid.includes("Offer_OrderItem_")) {
  309. var offeritem = $("." + itemid + "").find("#hf_refItemId").val();
  310. $(".Plan_OrderItem_" + offeritem).find(".hf_discountPercent").val(0);
  311. var discount = $(".Plan_OrderItem_" + offeritem).find(".hf_discountPercent").val();
  312. let Price = $(".Plan_OrderItem_" + offeritem).find(".hf_itemprice").val();
  313. let DiscountAmount = Number(Price) * (Number(discount) / 100);
  314. var Total = Number(Price) - DiscountAmount;
  315. let RowTotal = "( " + Price + " - " + discount + " % ) = " + Total;
  316. $(".Plan_OrderItem_" + offeritem).find(".setupfee").text(RowTotal);
  317. let index = Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.instance.CartItems.findIndex(z => z.addonItemId == Number(offeritem));
  318. if (index != -1) {
  319. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.instance.CartItems[index].discountPercent = 0;
  320. }
  321. }
  322. if ($('.cart-item').length <= 3) {
  323. $('.SubsItems').find('.ListCartItems').css("min-height", "-=80px");
  324. }
  325. $("." + itemid + "").remove();
  326. if (offerid.includes("Offer_OrderItem_")) {
  327. var itid = itemid.replace('Offer_OrderItem_', '');
  328. }
  329. else {
  330. var itid = itemid.replace('Plan_OrderItem_', '');
  331. }
  332. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().updateCartItems(0, itid);
  333. var chkid = itemid;
  334. chkid = chkid.replace('Plan_OrderItem_', '');
  335. chkid = ("btnremove_" + chkid);
  336. $("." + chkid + "").addClass("add-cart-btn");
  337. $("." + chkid + "").removeClass("remove-cart-btn");
  338. $("." + chkid + "").text("Add");
  339. }
  340. setCartAddonHeight() {
  341. const instance = this;
  342. const formEl = $('[data-formuniquekey="bizgaze_extension_transact_subscription_createsubscriptionorderitems"]');
  343. const logoDivHeight = formEl.find('.subs-logo-wrap').outerHeight(true);
  344. const bodyPaddingTopHeight = parseInt(formEl.find('.modal-body.simple-scroll-bar').css('padding-top'));
  345. const bodyPaddingBottomHeight = parseInt(formEl.find('.modal-body.simple-scroll-bar').css('padding-bottom'));
  346. const modalBodyPaddingHeight = bodyPaddingTopHeight + bodyPaddingBottomHeight;
  347. formEl.find('.simple-scroll-bar.modal-body').css({ height: `calc(100vh - ${logoDivHeight}px)`, 'padding-top': '1rem 1.5rem' }).removeClass('bg-cyan-light-5 biz_grey_bg');
  348. let heightProperty = 'height';
  349. if ($(window).width() < 767) {
  350. heightProperty = 'max-height';
  351. }
  352. const cartHeaderHeight = formEl.find('.cart-header').outerHeight(true);
  353. const cartFooterHeight = formEl.find('.cart-footer').outerHeight(true);
  354. formEl.find('.cart-wrap .cart-body').css({ 'max-height': `calc(100% - ${cartHeaderHeight + cartFooterHeight}px)` });
  355. const addonHeaderHeight = formEl.find('.addon-heading-search-wrap').outerHeight(true);
  356. formEl.find('.addon-products-wrap').css('max-height', `calc(100% - ${addonHeaderHeight}px)`);
  357. instance.formId = Number(formEl.find('#hf_FormId').val());
  358. }
  359. searchAddons() {
  360. const searchTerm = $('#addonSearchInput').val().toString().trim().toLowerCase();
  361. if (searchTerm) {
  362. $('.addonslist .product-card').each(function (i) {
  363. if ($(this).filter('[data-search-term *= ' + searchTerm + ']').length > 0 || searchTerm.length < 1) {
  364. $(this).show();
  365. }
  366. else {
  367. $(this).hide();
  368. }
  369. if ((i == $('.addonslist .product-card').length - 1) && !$('.addonslist .product-card:visible').length) {
  370. $('.addonslist').find('.err-msg').removeClass('d-none');
  371. }
  372. else {
  373. $('.addonslist').find('.err-msg').addClass('d-none');
  374. }
  375. });
  376. }
  377. else {
  378. $('.addonslist .product-card:hidden').show();
  379. $('.addonslist').find('.err-msg').addClass('d-none');
  380. }
  381. }
  382. ShowOfferItems(OrganizationId, ItemId, ItemName, OrderType, element) {
  383. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFiles(["apps/transact/components/subscriptions/subscriptionitemofferselection.js", "apps/transact/controls/invoices/invoiceitem.component.js"], function () {
  384. Unibase.Platform.Helpers.NavigationHelper.Instance().popup(0, "", Bizgaze.Apps.Transact.Components.Subscriptions.SubscriptionItemOfferSelection.Instance(), function () {
  385. Bizgaze.Apps.Transact.Components.Subscriptions.SubscriptionItemOfferSelection.Instance().LoadOfferItems(OrganizationId, ItemId, ItemName, OrderType, $(element), "Order");
  386. }, Unibase.Platform.Helpers.Size.Large);
  387. });
  388. }
  389. checkout() {
  390. $(".cartcount").text(OrderDetails.instance.CartItems.length);
  391. var orgId = Number(OrderDetails.instance.organizationId);
  392. var defaultaddressid = "";
  393. var instance = this;
  394. instance.fileCacheHelper.loadJsFile('apps/transact/managers/subscriptions/subscriptionmanager.js', function () {
  395. Bizgaze.Apps.Transact.Managers.Subscriptions.SubscriptionManager.Instance().getCustomerDetails(orgId).then(function (response) {
  396. if (response.result != null) {
  397. var res = response.result;
  398. defaultaddressid = res.DefaultAddressId;
  399. OrderDetails.instance.OrderData = [];
  400. OrderDetails.instance.ItemData = [];
  401. var Organizationid = Number(OrderDetails.instance.organizationId);
  402. for (var i = 0; i < OrderDetails.instance.CartItems.length; ++i) {
  403. var addonQuantity = OrderDetails.instance.CartItems[i].addonQuantity;
  404. var addonSku = OrderDetails.instance.CartItems[i].addonSku;
  405. var addonItemId = OrderDetails.instance.CartItems[i].addonItemId;
  406. var unitPrice = OrderDetails.instance.CartItems[i].unitPrice;
  407. var discountPercent = OrderDetails.instance.CartItems[i].discountPercent;
  408. var discountValue = OrderDetails.instance.CartItems[i].discountValue;
  409. if (!isNaN(addonItemId)) {
  410. OrderDetails.instance.ItemData.push({
  411. SKU: addonSku,
  412. Quantity: 1,
  413. ItemId: addonItemId,
  414. UnitPrice: unitPrice,
  415. DiscountPercent: isNaN(discountPercent) ? 0 : discountPercent,
  416. DiscountValue: isNaN(discountValue) ? 0 : discountValue,
  417. ExchangeDC: false,
  418. PackCount: 1,
  419. PackSize: 1,
  420. Packs: 1,
  421. Pieces: 0,
  422. TaxGroupId: 0,
  423. });
  424. }
  425. }
  426. var orderobj = {
  427. BranchId: OrderDetails.instance.BranchId,
  428. InventoryApplyType: 1,
  429. IsCalculateTax: true,
  430. IsCompositePrice: false,
  431. IsPiecePrice: false,
  432. IsTaxInclusive: false,
  433. OrderTypeId: 1,
  434. BillingAddressId: Number(defaultaddressid),
  435. OrderItems: OrderDetails.instance.ItemData
  436. };
  437. instance.fileCacheHelper.loadJsFile('apps/transact/managers/orders/ordermanager.js', function () {
  438. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getTotals(orderobj).then(function (response) {
  439. var res = response.result;
  440. OrderDetails.instance.NetTotal = res.NetTotal;
  441. if (res != null) {
  442. let footerHtml = `<ul class="detail-list">
  443. <li class="detail-item">
  444. <span>Gross Amount</span>
  445. <span id="lblSummary_GrossAmount">₹${res.GrossAmount}/-</span>
  446. </li>
  447. <li class="detail-item">
  448. <span>Discount</span>
  449. <span id="lblSummary_TotalDiscount">₹${res.TotalDiscount}/-</span>
  450. </li>
  451. <li class="detail-item">
  452. <span>Assbl. Amount</span>
  453. <span id="lblSummary_AssessableTotal">₹${res.AssessableAmount}/-</span>
  454. </li>
  455. <li class="detail-item">
  456. <span>Total Tax</span>
  457. <span id="lblSummary_TaxTotal">₹${res.TotalTax}/-</span>
  458. </li>
  459. <li class="detail-item net-total-item border-top border-bottom py-3 mt-4">
  460. <span>Net Total</span>
  461. <span id="lblSummary_NetTotal">₹${res.NetTotal}/-</span>
  462. </li>
  463. </ul>`;
  464. $('.cart-price-details-wrap').html(footerHtml);
  465. }
  466. });
  467. });
  468. }
  469. });
  470. });
  471. }
  472. createOrder() {
  473. var instance = this;
  474. instance.navigationHelper.showLoading();
  475. var TotalAmt = OrderDetails.instance.NetTotal;
  476. OrderDetails.instance.OrderData = [];
  477. OrderDetails.instance.ItemData = [];
  478. var Organizationid = Number(OrderDetails.instance.organizationId);
  479. for (var i = 0; i < OrderDetails.instance.CartItems.length; ++i) {
  480. var addonQuantity = OrderDetails.instance.CartItems[i].addonQuantity;
  481. var addonSku = OrderDetails.instance.CartItems[i].addonSku;
  482. var addonItemId = OrderDetails.instance.CartItems[i].addonItemId;
  483. var unitPrice = OrderDetails.instance.CartItems[i].unitPrice;
  484. var discountPercent = OrderDetails.instance.CartItems[i].discountPercent;
  485. var discountValue = OrderDetails.instance.CartItems[i].discountValue;
  486. var refItemId = Number($(this).find("#hf_refItemId").val());
  487. OrderDetails.instance.ItemData.push({
  488. SKU: addonSku,
  489. Quantity: addonQuantity,
  490. ItemId: addonItemId,
  491. UnitPrice: unitPrice,
  492. DiscountPercent: isNaN(discountPercent) ? 0 : discountPercent,
  493. DiscountValue: isNaN(discountValue) ? 0 : discountValue,
  494. RefItemId: isNaN(refItemId) ? 0 : refItemId
  495. });
  496. }
  497. OrderDetails.instance.OrderData.push({
  498. OrganizationId: Organizationid,
  499. BranchId: OrderDetails.instance.BranchId,
  500. OrderItems: OrderDetails.instance.ItemData
  501. });
  502. OrderDetails.instance.OrderData;
  503. var instance = this;
  504. instance.fileCacheHelper.loadJsFile('apps/transact/enums/enum.js', function () {
  505. instance.fileCacheHelper.loadJsFile('apps/transact/managers/orders/ordermanager.js', function () {
  506. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().createOrderItems(instance.OrderData[0]).then(function (response) {
  507. var res = response.result;
  508. var orderid = response.result;
  509. if (response.status === Unibase.Data.Status.Error) {
  510. MessageHelper.Instance().showError(response.message, `div_ErrorMessage_${instance.formId}`);
  511. instance.navigationHelper.hideLoading();
  512. }
  513. else {
  514. OrderDetails.instance.arr = {
  515. BranchId: OrderDetails.instance.BranchId,
  516. BizOrderId: orderid,
  517. organizationId: OrderDetails.instance.organizationId
  518. };
  519. var OrderStatusId = Bizgaze.Apps.Transact.Enums.OrderStatus.Active;
  520. Bizgaze.Apps.Transact.Managers.Subscriptions.SubscriptionManager.Instance().updateOrdersStage(res, OrderStatusId).then(function (response) {
  521. var res = response.result;
  522. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().paymentgateway(TotalAmt, 0, OrderDetails.instance.PaymentStatus);
  523. });
  524. }
  525. });
  526. });
  527. });
  528. }
  529. createOrder_Item(Id) {
  530. var instance = this;
  531. var jsFiles = ["apps/crm/companies/managers/companymanager.js", "apps/crm/contacts/managers/contactmanager.js",
  532. "apps/transact/enums/enum.js", "apps/transact/managers/orders/ordermanager.js"];
  533. instance.fileCacheHelper.loadJsFiles(jsFiles, function () {
  534. if (Id != 0) {
  535. Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getOrganizationById(Id).then(function (response) {
  536. var data = response.result;
  537. var contactid = data.DefaultOrgContactId;
  538. Bizgaze.Apps.CRM.Companies.Managers.CompanyManager.Instance().getUserBranches(contactid).then(function (orgresponse) {
  539. var branchId = orgresponse.result[0].BranchId;
  540. OrderDetails.instance.BranchId = branchId;
  541. OrderDetails.instance.OrderData = [];
  542. OrderDetails.instance.ItemData = [];
  543. var Organizationid = Number(Id);
  544. for (var i = 0; i < OrderDetails.instance.CartItems.length; ++i) {
  545. var addonQuantity = OrderDetails.instance.CartItems[i].addonQuantity;
  546. var addonSku = OrderDetails.instance.CartItems[i].addonSku;
  547. var addonItemId = OrderDetails.instance.CartItems[i].addonItemId;
  548. var unitPrice = OrderDetails.instance.CartItems[i].unitPrice;
  549. var discountPercent = OrderDetails.instance.CartItems[i].discountPercent;
  550. var discountValue = OrderDetails.instance.CartItems[i].discountValue;
  551. var refItemId = Number($(this).find("#hf_refItemId").val());
  552. OrderDetails.instance.ItemData.push({
  553. SKU: addonSku,
  554. Quantity: addonQuantity,
  555. ItemId: addonItemId,
  556. UnitPrice: unitPrice,
  557. DiscountPercent: isNaN(discountPercent) ? 0 : discountPercent,
  558. DiscountValue: isNaN(discountValue) ? 0 : discountValue,
  559. RefItemId: isNaN(refItemId) ? 0 : refItemId
  560. });
  561. }
  562. OrderDetails.instance.OrderData.push({
  563. OrganizationId: Organizationid,
  564. BranchId: OrderDetails.instance.BranchId,
  565. OrderItems: OrderDetails.instance.ItemData
  566. });
  567. OrderDetails.instance.OrderData;
  568. instance.fileCacheHelper.loadJsFile('platform/core/infos/status.js', function () {
  569. instance.fileCacheHelper.loadJsFile('apps/transact/managers/orders/ordermanager.js', function () {
  570. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().createOrderItems(instance.OrderData[0]).then(function (response) {
  571. var res = response.result;
  572. var orderid = response.result;
  573. if (response.status === Unibase.Data.Status.Error) {
  574. MessageHelper.Instance().showError(response.message, `div_ErrorMessage_${instance.formId}`);
  575. instance.navigationHelper.hideLoading();
  576. }
  577. else {
  578. OrderDetails.instance.arr = {
  579. BranchId: OrderDetails.instance.BranchId,
  580. BizOrderId: orderid,
  581. organizationId: OrderDetails.instance.organizationId
  582. };
  583. var OrderStatusId = Bizgaze.Apps.Transact.Enums.OrderStatus.Active;
  584. var TotalAmt = OrderDetails.instance.NetTotal;
  585. Bizgaze.Apps.Transact.Managers.Subscriptions.SubscriptionManager.Instance().updateOrdersStage(res, OrderStatusId).then(function (response) {
  586. var res = response.result;
  587. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().paymentgateway(TotalAmt, Organizationid, OrderDetails.instance.PaymentStatus);
  588. });
  589. }
  590. });
  591. });
  592. });
  593. });
  594. });
  595. }
  596. });
  597. }
  598. paymentgateway(invoiceamount, organizationId, PaymentStatus) {
  599. var customerdetails = {};
  600. OrderDetails.instance.data = [];
  601. var periodTime = $('#select_period').val();
  602. var tenure_id = OrderDetails.instance.TenureId;
  603. var tenure_Period = Number(periodTime);
  604. var orgId = OrderDetails.instance.organizationId;
  605. if (isNaN(orgId)) {
  606. orgId = organizationId;
  607. }
  608. for (var i = 0; i < OrderDetails.instance.CartItems.length; i++) {
  609. var SubscriptionItemType = 1;
  610. if (OrderDetails.instance.CartItems[i].subscriptionItemType == SubscriptionItemType) {
  611. var PlanItemId = OrderDetails.instance.CartItems[i].addonItemId;
  612. }
  613. }
  614. var instance = this;
  615. instance.fileCacheHelper.loadJsFiles(['apps/transact/managers/subscriptions/subscriptionmanager.js', 'settings/settings.js'], function () {
  616. Bizgaze.Apps.Transact.Managers.Subscriptions.SubscriptionManager.Instance().getCustomerDetails(orgId).then(function (response) {
  617. if (response.result != null) {
  618. var res = response.result;
  619. var retunrUrl = window.location.origin + '/#/paymentgateway/order_id ={order_id}/order_token={order_token}';
  620. var dt = new Date();
  621. dt.setDate(dt.getDate() + 5);
  622. customerdetails = {
  623. CustomerId: String(res.OrganizationId),
  624. CustomerEmail: res.EmailAddress,
  625. CustomerPhone: res.PhoneNumber,
  626. };
  627. OrderDetails.instance.data.push({
  628. OrderAmount: invoiceamount,
  629. OrderCurrency: "INR",
  630. customer_details: customerdetails,
  631. order_meta: {
  632. "ReturnUrl": retunrUrl
  633. },
  634. OrderExpiryTime: dt
  635. });
  636. OrderDetails.instance.data;
  637. Bizgaze.Apps.Transact.Managers.Subscriptions.SubscriptionManager.Instance().createGateWayOrder(instance.data[0]).then(function (response) {
  638. var res = response.result;
  639. if (response.status === Unibase.Data.Status.Error) {
  640. MessageHelper.Instance().showError(response.message, `div_ErrorMessage_${instance.formId}`);
  641. instance.navigationHelper.hideLoading();
  642. }
  643. if (response.result != null) {
  644. var res = response.result;
  645. var url = res.payment_link;
  646. OrderDetails.instance.arr;
  647. var paymentDetails = {};
  648. paymentDetails = {
  649. OrderId: res.order_id,
  650. OrderToken: res.order_token,
  651. TenureId: Number(OrderDetails.instance.TenureId),
  652. Bizorderid: OrderDetails.instance.arr.BizOrderId,
  653. TotalAmount: invoiceamount,
  654. };
  655. var obj = {};
  656. if (PaymentStatus == true) {
  657. obj = {
  658. OrganizationId: OrderDetails.instance.arr.organizationId,
  659. BranchId: OrderDetails.instance.arr.BranchId,
  660. PlanItemId: PlanItemId,
  661. PaymentDetails: paymentDetails,
  662. TenurePeriod: tenure_Period,
  663. TenureId: tenure_id
  664. };
  665. }
  666. instance.fileCacheHelper.loadJsFile('apps/transact/managers/subscriptions/subscriptionmanager.js', function () {
  667. if (PaymentStatus == true) {
  668. Bizgaze.Apps.Transact.Managers.Subscriptions.SubscriptionManager.Instance().saveSubscriptionOrderData(obj).then(function (response) {
  669. var savinfo = response.result;
  670. instance.navigationHelper.hideLoading();
  671. window.open(url, "_self");
  672. });
  673. }
  674. });
  675. }
  676. });
  677. }
  678. });
  679. });
  680. }
  681. Orderdata(res) {
  682. OrderDetails.instance.arr = {
  683. InvoiceId: res.InvoiceId,
  684. BranchId: res.BranchId,
  685. RefDate: res.RefDate,
  686. BizOrderId: res.BizOrderId,
  687. organizationId: res.organizationId
  688. };
  689. }
  690. updateOfferCartItemsList(res) {
  691. for (var i = 0; i < res.length; i++) {
  692. var addonQuantity = 1;
  693. var addonSku = res[i].SKU;
  694. var addonItemId = res[i].ItemId;
  695. var unitPrice = res[i].SalesPrice;
  696. var discountPercent = res[i].Discount;
  697. var discountValue = 0;
  698. OrderDetails.instance.CartItems.push({
  699. addonQuantity: addonQuantity,
  700. addonSku: addonSku,
  701. addonItemId: addonItemId,
  702. unitPrice: unitPrice,
  703. discountPercent: discountPercent,
  704. discountValue: discountValue,
  705. });
  706. }
  707. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().checkout();
  708. }
  709. addOrderAddonItems() {
  710. this.fileCacheHelper.loadJsFile('apps/transact/controls/subscriptions/orderdetails.component.js', function () {
  711. var addonsList = [];
  712. $(".Uaddonitems").find(".AddonValue-row").each(function () {
  713. var addonItemName = $(this).find(".addItemname").text();
  714. var addonPrice = Number($(this).find(".addPrice").val());
  715. var addcheck = $(this).find('#addonchk').is(':checked');
  716. var addonQuantity = $(this).find('#hf_addonQuantity').val();
  717. var addonSku = $(this).find('#hf_addonSku').val();
  718. var addonItemId = $(this).find('#hf_addonItemId').val();
  719. var description = $(this).find('#hf_Description').val();
  720. if (addcheck == true) {
  721. addonsList.push({
  722. AddonItemName: addonItemName,
  723. AddonPrice: addonPrice,
  724. AddonQuantity: addonQuantity,
  725. AddonSku: addonSku,
  726. addonItemId: addonItemId,
  727. description: description
  728. });
  729. }
  730. });
  731. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().Orderaddonitems(addonsList);
  732. });
  733. }
  734. LoadingOrderAddons() {
  735. var array = Bizgaze.Apps.Transact.Components.Subscriptions.Userregistration.Instance().paymentOrderItemArray;
  736. var Instance = Bizgaze.Apps.Transact.Components.Subscriptions.Userregistration.Instance();
  737. var tenureId = this.TenureId;
  738. var AddOnsItem = [];
  739. if (array.length > 0) {
  740. for (var i = 0; i < array.length; i++) {
  741. var SubscriptionItemType = 2;
  742. if (array[i].SubscriptionItemType == SubscriptionItemType) {
  743. AddOnsItem.push(array[i].ItemId);
  744. }
  745. }
  746. if (array.length > 0) {
  747. for (var j = 0; j <= AddOnsItem.length; j++)
  748. if (AddOnsItem.length >= 0)
  749. if (AddOnsItem[j] != undefined) {
  750. this.mapAddonItem(AddOnsItem[j], tenureId);
  751. }
  752. }
  753. }
  754. }
  755. mapAddonItem(itemid, tenureid) {
  756. Bizgaze.Apps.Transact.Managers.Subscriptions.SubscriptionManager.Instance().getItem(itemid, tenureid).then(function (response) {
  757. var res = response.result;
  758. $(`.btnremove_${itemid}`).addClass("remove-cart-btn").text("Remove");
  759. var html = `<div class="cart-item discount li_OrderAddonItems li_OrderAddonItems_` + res.ItemId + ` Plan_OrderItem_` + res.ItemId + ` ">
  760. <div class="item-title-price-wrap">
  761. <span class="item-title text-truncate">` + res.ItemName + `</span>
  762. <div class="price-trash-wrap"><span class="item-price inr-sign">` + res.SalesPrice + `</span>
  763. <a href="javascript:;" onclick="Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().deleteItem(\'Plan_OrderItem_` + res.ItemId + `\')"
  764. class="btn btn-icon btn-icon-circle btn-info btn-icon-style-3 item-remove-btn"><span class="btn-icon-wrap"><i class="fa fa-trash"></i></span></a>
  765. </div>
  766. </div>
  767. <div class="item-desc-quantity-wrap">`;
  768. if (res.Description != null && res.Description != "") {
  769. html += `<p class="item-desc text-truncate">${res.Description}</p>`;
  770. }
  771. else {
  772. html += `<p class="item-desc text-truncate"></p>`;
  773. }
  774. html += `<span class="Addon-item-quantity">( ` + res.SalesPrice + ` - 0% ) = ₹` + res.SalesPrice + `</span>
  775. </div>
  776. <div class="item-plan-offer-wrap pt-10">
  777. `;
  778. if (res.IsOfferAvailable == true) {
  779. html += ` <a href="javascrpit:;" onclick="Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().ShowOfferItems(` + 0 + `,` + res.ItemId + " ,`" + res.ItemName + "`," + 1 + `,` + `this)" class="item-offer-status btn btn-sm"><i class="fa fa-percent mr-1"></i><span>Offer applied</span></a>`;
  780. }
  781. html += `</div><input type="hidden" id="hf_Sku" value=` + res.SKU + ` /><input type="hidden" id="hf_ItemId" value=` + res.ItemId + ` /><input type="hidden" id="hf_Quantity" value=1 /><input type="hidden" class="itemprice" value=` + res.SalesPrice + ` id="hf_itemprice" /><input type="hidden" class="price hf_itemprice" value=` + res.SalesPrice + ` id="hf_price" /><input type="hidden" class="hf_discountPercent" value=0 id="hf_discountPercent" />
  782. </div>`;
  783. $(".ListCartItems:first").append(html);
  784. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().updateCartItems(res, 0);
  785. });
  786. Bizgaze.Apps.Transact.Components.Subscriptions.Userregistration.Instance().paymentOrderItemArray = [];
  787. }
  788. Orderaddonitems(addonsList) {
  789. $('.AddonItemsList').empty();
  790. for (var i = 0; i <= addonsList.length - 1; i++) {
  791. let html = `<div class="cart-item li_OrderAddonItems Addon_OrderItem_` + addonsList[i].addonItemId + `">
  792. <div class="item-title-price-wrap">
  793. <span class="item-title">` + addonsList[i].AddonItemName + `</span>
  794. <div class="price-trash-wrap"><span class="item-price"><i class="fa fa-inr"></i>` + addonsList[i].AddonPrice + `</span>
  795. <a href="javascript:;" onclick="Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().deleteItem(\'Addon_OrderItem_` + addonsList[i].addonItemId + `\')"
  796. class="btn btn-icon btn-icon-circle btn-info btn-icon-style-3 item-remove-btn"><span class="btn-icon-wrap"><i class="fa fa-trash"></i></span></a>
  797. </div>
  798. </div>`;
  799. if (addonsList[i].Description != null) {
  800. html += `<div class="item-desc-quantity-wrap">
  801. <p class="item-desc">` + addonsList[i].Description + `</p>
  802. </div>`;
  803. }
  804. else {
  805. html += `<div class="item-desc-quantity-wrap">
  806. <p class="item-desc" >` + +`</p>
  807. </div>`;
  808. }
  809. html += `<div class="item-desc-quantity-wrap">
  810. <span class="item-quantity">( ` + addonsList[i].AddonPrice + ` - 0% ) = ₹` + addonsList[i].AddonPrice + `</span>
  811. </div>
  812. <div class="item-plan-offer-wrap pt-10">
  813. <input type="hidden" id="hf_Quantity" value=` + addonsList[i].AddonQuantity + ` /><input type="hidden" id="hf_Sku" value=` + addonsList[i].AddonSku + ` /><input type="hidden" id="hf_ItemId" value=` + addonsList[i].addonItemId + ` /><input type="hidden" class="hf_discountPercent" id="hf_discountPercent" value=0><input type="hidden" class="price" value=` + addonsList[i].AddonPrice + ` id="hf_price" /><input type="hidden" class="itemprice" value=` + addonsList[i].AddonPrice + ` id="hf_itemprice" />
  814. </div> </div>`;
  815. $(".AddonItemsList:first").append(html);
  816. }
  817. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().checkout();
  818. }
  819. loadingAddonItems(id, itemid, tenureid) {
  820. OrderDetails.instance.organizationId = Number(id);
  821. OrderDetails.instance.CartItems = [];
  822. OrderDetails.instance.TenureId = tenureid;
  823. this.fileCacheHelper.loadJsFiles(['apps/transact/managers/subscriptions/subscriptionmanager.js', 'platform/core/helpers/navigation/interfaces/inavigationhelper.js'], function () {
  824. var html = ``;
  825. html += `<div class="add-on-products-sec">
  826. <div class="row add-on-content-wrap biz-custom-scrollbar mx-0">
  827. <div class="Uaddonitems col-xl-8 col-md-6 px-0 pr-md-10 pr-lg-20 mb-30 mb-md-0 pr-xl-30">
  828. <div class="addons-wrap biz-custom-scrollbar">
  829. <div class="addon-heading-search-wrap mb-25" id="addonHeadingSearchWrap"><h2 class="addons-heading heading-underline">Add-ons</h2><div class="addon-search-wrap"><input type="text" id="addonSearchInput" class="form-control addon-search-input" oninput="Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().searchAddons();" placeholder="Search Addons"><i class="fa fa-search search-icon"></i></div></div>
  830. <div class="addon-products-wrap biz-custom-scrollbar addonslist"><div class="alert alert-danger err-msg text-center w-100 d-none" role="alert">No Addons Found!</div></div>
  831. </div>
  832. </div>
  833. <div class="col-xl-4 col-md-6 px-0 pl-md-10 pl-lg-20 pl-xl-30 OrderAddonItems">
  834. <div class="cart-wrap biz-custom-scrollbar Uaddonitems SubsItems">
  835. <div class="cart-header px-15 pt-10">
  836. <h5 class="cart-heading heading-underline">Cart Summary(<span class="cartcount"></span>)</h5>
  837. </div>
  838. <div class="cart-body biz-custom-scrollbar ListCartItems">`;
  839. html += `<div class="cart-item discount li_OrderAddonItems li_OrderAddonItems_` + +` Plan_OrderItem_` + +` ">
  840. <div class="item-title-price-wrap">
  841. <span class="item-title text-truncate">` + +`</span>
  842. <div class="price-trash-wrap"><span class="item-price inr-sign">` + +`</span>
  843. </div>
  844. </div>
  845. <div class="item-desc-quantity-wrap">`;
  846. html += `<p class="item-desc text-truncate"></p>`;
  847. html += `</div><input type="hidden" id="hf_Sku" value=` + +` /><input type="hidden" id="hf_ItemId" value=` + +` /><input type="hidden" id="hf_Quantity" value=1 /><input type="hidden" class="itemprice" value=` + +` id="hf_itemprice" /><input type="hidden" class="price hf_itemprice" value=` + +` id="hf_price" /><input type="hidden" class="hf_discountPercent" value=0 id="hf_discountPercent" />
  848. </div>`;
  849. html += `<div class="focitem offeritems"></div><div class="AddonItemsList"></div>`;
  850. html += `<div class="cart-footer">
  851. <div class="cart-price-details-wrap">`;
  852. html += `</div>
  853. <div class="cart-proceed-wrap">
  854. <a href="javascript:;" onclick="Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().createOrder()" class="btn btn-success cart-proceed-btn ProceedtoPay">Proceed to
  855. Pay</a>
  856. </div>
  857. </div>
  858. </div>
  859. </div>
  860. </div>
  861. </div>`;
  862. $(".orderitemsdiv").html(html);
  863. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().setCartAddonHeight();
  864. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().checkout();
  865. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().WithoutPurchaseAddonList(id, itemid, tenureid);
  866. });
  867. OrderDetails.instance.organizationId = Number(id);
  868. var instance = this;
  869. var jsFiles = ["apps/crm/companies/managers/companymanager.js", "apps/crm/contacts/managers/contactmanager.js"];
  870. instance.fileCacheHelper.loadJsFiles(jsFiles, function () {
  871. if (id != 0) {
  872. Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getOrganizationById(id).then(function (response) {
  873. var data = response.result;
  874. var contactid = data.DefaultOrgContactId;
  875. Bizgaze.Apps.CRM.Companies.Managers.CompanyManager.Instance().getUserBranches(contactid).then(function (orgresponse) {
  876. var branchId = orgresponse.result[0].BranchId;
  877. OrderDetails.instance.BranchId = branchId;
  878. });
  879. });
  880. }
  881. });
  882. }
  883. WithoutPurchaseAddonList(id, itemid, tenureid) {
  884. let instance = this;
  885. this.fileCacheHelper.loadJsFile('apps/transact/managers/subscriptions/subscriptionmanager.js', function () {
  886. Bizgaze.Apps.Transact.Managers.Subscriptions.SubscriptionManager.Instance().WithoutPurchaseAddonsItems(id, itemid, tenureid).then(function (response) {
  887. var res = response.result;
  888. var cartItemsList = [];
  889. $(".OrderAddonItems").find(".li_OrderAddonItems").each(function () {
  890. var addonItemId = Number($(this).find('#hf_ItemId').val());
  891. cartItemsList.push({
  892. ItemIds: addonItemId
  893. });
  894. });
  895. for (var i = 0; i < res.length; i++) {
  896. if (res[i].SalesPrice != 0) {
  897. var html = `<div class="col-md-6"><div class="product-card mr-40 CartItems adoonsItems AddonValue-row" id="li_AddOnsItems_Details" data-search-term="${res[i].ItemName.toLowerCase()}"">
  898. <div class="product-card-body">
  899. <div class="product-img-wrap">
  900. <img src="https://www.pteinc.com/wp-content/uploads/2021/04/Process-Automation-Icon-Redn.png" alt="" class="product-img">
  901. </div>
  902. <div class="product-title-desc-wrap addItemname">
  903. <p class="product-title" title="${res[i].ItemName}">${res[i].ItemName}</p>
  904. <p class="product-desc" title="Automation Evolved Evolved Evolved Evolved">
  905. ${res[i].Description || "&nbsp;"}
  906. </p>
  907. </div>
  908. </div>
  909. <div class="product-card-footer">
  910. <span class="product-price inr-sign">${res[i].SalesPrice}</span>
  911. <input type="hidden" class="addPrice" id="hf_addPrice" value=${res[i].SalesPrice} />
  912. <input type="hidden" class="Description" id = "hf_Description" value = ${res[i].Description} />`;
  913. var cartId = cartItemsList.filter(el => el.ItemIds === res[i].ItemId);
  914. if (cartId.length == 0) {
  915. html += `<a href="javascript:;" class="btn btnremove_${res[i].ItemId} cart-btn add-cart-btn btnTxt" onclick="Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().btnChange(\'btnremove_${res[i].ItemId}\',\'${tenureid}\');">Add</a>`;
  916. }
  917. else {
  918. html += `<a href="javascript:;" class="btn btnremove_${res[i].ItemId} cart-btn remove-cart-btn btnTxt" onclick="Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().btnChange(\'btnremove_${res[i].ItemId}\',\'${tenureid}\');">Remove</a>`;
  919. }
  920. html += `</div>
  921. <div class="offer-percentage">0%</div>
  922. <input type="hidden" id="hf_addonQuantity" value=${res[i].SubscriptionAddonsQuantity} /> <input type="hidden" id="hf_addonSku" value=${res[i].Sku} /> <input type="hidden" id="hf_addonItemId" value=${res[i].ItemId} />
  923. </div></div>`;
  924. $(".addonslist:first").append(html);
  925. }
  926. }
  927. });
  928. });
  929. }
  930. getPlanItem_List(itemid, tenureid) {
  931. OrderDetails.instance.CartItems = [];
  932. OrderDetails.instance.TenureId = tenureid;
  933. Bizgaze.Apps.Transact.Managers.Subscriptions.SubscriptionManager.Instance().getItem(itemid, tenureid).then(function (response) {
  934. var res = response.result;
  935. OrderDetails.instance.OneTimeCost = res.SetupFee;
  936. var html = ``;
  937. html += `<div class="add-on-products-sec">
  938. <div class="add-on-content-wrap biz-custom-scrollbar mx-0">
  939. <div class="Uaddonitems px-0 pr-md-10 pr-lg-20 mb-30 mb-md-0 pr-xl-30">
  940. <div class="addons-wrap ">
  941. <div class="addon-heading-search-wrap mb-25" id="addonHeadingSearchWrap"><h2 class="addons-heading font-weight-700">Add Ons</h2><div class="addon-search-wrap"><input type="text" id="addonSearchInput" class="form-control addon-search-input" oninput="Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().searchAddons();" placeholder="Search Addons"><i class="fa fa-search search-icon"></i></div></div>
  942. <div class="addon-products-wrap row biz-custom-scrollbar addonslist"><div class="alert alert-danger err-msg text-center w-100 d-none" role="alert">No Addons Found!</div></div>
  943. </div>
  944. </div>
  945. </div>
  946. </div>`;
  947. var carthtml = `
  948. <div class="w-100 OrderAddonItems add-on-products-sec orderitemsdiv mt-15">
  949. <div class="cart-wrap biz-custom-scrollbar Uaddonitems SubsItems p-3 rounded-20 bg-white">
  950. <div class="align-items-center border-bottom cart-header d-flex justify-content-between py-10">
  951. <h5 class="cart-heading font-weight-700">Cart Summary(<span class="cartcount"></span>)</h5><div><a href="javascript:;" id="btn_Proceed" class="btn btn-block btn-warning submit-btn">Proceed</a><a href="javascript:;" id="btn_Save" class="btn btn-warning submit-btn d-none" onclick="Bizgaze.Apps.Transact.Controls.Subscriptions.SubcribeUserRegistrations.Instance().proceedToPay()">Proceed To Pay</a></div>
  952. </div><div class="cart-footer bg-white px-0">
  953. <div class="cart-price-details-wrap pt-4" id="cartSummaryFooter"></div></div><div class="cart-body biz-custom-scrollbar ListCartItems mh-150p pl-0 pr-10">`;
  954. carthtml += `<div class="cart-item discount li_OrderAddonItems li_OrderAddonItems_` + res.ItemId + ` Plan_OrderItem_` + res.ItemId + ` ">
  955. <div class="item-title-price-wrap">
  956. <span class="item-title text-truncate">` + res.ItemName + `</span><select id="select_period"><option>select</option></select><div class="price-trash-wrap"><span class="planitem-price inr-sign">` + res.SalesPrice + `</span>
  957. </div>
  958. </div>
  959. <div class="item-desc-quantity-wrap">`;
  960. if (res.Description != null && res.Description != "") {
  961. carthtml += `<p class="item-desc text-truncate">${res.Description}</p>`;
  962. }
  963. else {
  964. carthtml += `<p class="item-desc text-truncate"></p>`;
  965. }
  966. carthtml += ` <span class="item-quantity setupfee">( ` + res.SalesPrice + ` - 0% ) = ₹` + res.SalesPrice + `</span>
  967. </div><div class="align-items-center d-flex justify-content-between py-10"><p class="font-weight-600">One Time Cost</p><div class="font-18 font-weight-700 inr-sign">` + res.SetupFee + `</div></div><div class="item-plan-offer-wrap pt-10">`;
  968. if (res.IsOfferAvailable == true) {
  969. carthtml += ` <a href="javascrpit:;" onclick="Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().ShowOfferItems(` + 0 + `,` + res.ItemId + " ,`" + res.ItemName + "`," + 1 + `,` + `this)" class="item-offer-status btn btn-sm"><i class="fa fa-tag mr-1"></i><span>Offer applied</span></a>`;
  970. }
  971. carthtml += `</div><input type="hidden" id="hf_Sku" value=` + res.SKU + ` /><input type="hidden" id="hf_ItemId" value=` + res.ItemId + ` /><input type="hidden" id="hf_Quantity" value=1 /><input type="hidden" class="itemprice" value=` + res.SalesPrice + ` id="hf_itemprice" /><input type="hidden" class="price hf_itemprice" value=` + res.SalesPrice + ` id="hf_price" /><input type="hidden" class="hf_discountPercent" value=0 id="hf_discountPercent" />
  972. </div>`;
  973. carthtml += `<div class="focitem offeritems"></div><div class="AddonItemsList"></div>
  974. </div>`;
  975. $("#addon-list").html(html);
  976. $("#cart_items_list").html(carthtml);
  977. $("#btn_Proceed").click(function () {
  978. $(this).addClass('d-none');
  979. $(this).parent().find('#btn_Save').removeClass('d-none');
  980. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().proceed_Subscription();
  981. });
  982. $('#select_period').on('change', function () {
  983. var period = $('#select_period').val();
  984. var PlanId = Subscriptions.SubcribeUserRegistrations.instance.PlanItemId;
  985. var TenureId = Subscriptions.SubcribeUserRegistrations.instance.Tenureid;
  986. if (period != undefined || PlanId != undefined || period != undefined) {
  987. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().period_change(PlanId, TenureId, period);
  988. }
  989. });
  990. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().cartItemsList(res, OrderDetails.instance.OneTimeCost);
  991. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().setCartAddonHeight();
  992. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().checkout_cartAmount();
  993. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().getAddonsItemsList(res.ItemId, tenureid);
  994. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().bindTenure(itemid, tenureid);
  995. });
  996. }
  997. proceedToPayHtml() {
  998. $('#addon-list').addClass('d-none');
  999. $('.registration_form').removeClass('d-none');
  1000. $('#btn_Proceed').addClass('d-none');
  1001. $('#btn_Save').removeClass('d-none');
  1002. $('.registration_back_btn').addClass('d-none');
  1003. }
  1004. backProceedHtml() {
  1005. $('#addon-list').removeClass('d-none');
  1006. $('.registration_form').addClass('d-none');
  1007. $('#btn_Proceed').removeClass('d-none');
  1008. $('#btn_Save').addClass('d-none');
  1009. }
  1010. getAddonsItemsList(itemid, tenureid) {
  1011. let instance = this;
  1012. this.fileCacheHelper.loadJsFile('apps/transact/managers/subscriptions/subscriptionmanager.js', function () {
  1013. Bizgaze.Apps.Transact.Managers.Subscriptions.SubscriptionManager.Instance().getAddonsItems(itemid, tenureid).then(function (response) {
  1014. var res = response.result;
  1015. if (res.length == 0) {
  1016. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().proceedToPayHtml();
  1017. }
  1018. if (res.length > 0) {
  1019. $('.registration_form').addClass('d-none');
  1020. }
  1021. var cartItemsList = [];
  1022. let addonImage = "";
  1023. $(".OrderAddonItems").find(".li_OrderAddonItems").each(function () {
  1024. var addonItemId = Number($(this).find('#hf_ItemId').val());
  1025. cartItemsList.push({
  1026. ItemIds: addonItemId
  1027. });
  1028. });
  1029. for (var i = 0; i < res.length; i++) {
  1030. var imageurl = res[i].AddonImage;
  1031. var image1;
  1032. if (imageurl != null && imageurl != undefined && imageurl != "") {
  1033. image1 = imageurl.split("~");
  1034. addonImage = image1[0];
  1035. }
  1036. if (res[i].SalesPrice != 0) {
  1037. OrderDetails.instance.AddonItems.push({ salesPrice: res[i].SalesPrice });
  1038. }
  1039. if (OrderDetails.instance.AddonItems.length == 0) {
  1040. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().proceedToPayHtml();
  1041. }
  1042. if (res[i].SalesPrice != 0) {
  1043. if ($('#addon-list').hasClass('d-none')) {
  1044. $('#addon-list').removeClass('d-none');
  1045. $('#btn_Proceed').removeClass('d-none');
  1046. $('#btn_Save').addClass('d-none');
  1047. $('.registration_form').addClass('d-none');
  1048. }
  1049. var html = `<div class="col-md-3"><div class="product-card CartItems adoonsItems AddonValue-row" id="li_AddOnsItems_Details" data-search-term="${res[i].ItemName.toLowerCase()}"">
  1050. <div class="product-card-body">
  1051. <div class="product-img-wrap">
  1052. <img src="${addonImage}" alt="" class="product-img">
  1053. </div>
  1054. <div class="product-title-desc-wrap addItemname">
  1055. <p class="product-title" title="${res[i].ItemName}">${res[i].ItemName}</p>
  1056. <p class="product-desc" title="Automation Evolved Evolved Evolved Evolved">
  1057. ${res[i].Description || "&nbsp;"}
  1058. </p>
  1059. </div>
  1060. </div>
  1061. <div class="product-card-footer">
  1062. <span class="product-price inr-sign">${res[i].SalesPrice}</span>
  1063. <input type="hidden" class="addPrice" id="hf_addPrice" value=${res[i].SalesPrice} />
  1064. <input type="hidden" class="Description" id = "hf_Description" value = ${res[i].Description} />`;
  1065. var cartId = cartItemsList.filter(el => el.ItemIds === res[i].ItemId);
  1066. if (cartId.length == 0) {
  1067. html += `<a href="javascript:;" class="btn btnremove_${res[i].ItemId} cart-btn add-cart-btn btnTxt" onclick="Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().btnChange(\'btnremove_${res[i].ItemId}\',\'${tenureid}\');">Add</a>`;
  1068. }
  1069. else {
  1070. html += `<a href="javascript:;" class="btn btnremove_${res[i].ItemId} cart-btn remove-cart-btn btnTxt" onclick="Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().btnChange(\'btnremove_${res[i].ItemId}\',\'${tenureid}\');">Remove</a>`;
  1071. }
  1072. html += `</div>
  1073. <div class="offer-percentage">0%</div>
  1074. <input type="hidden" id="hf_addonQuantity" value=${res[i].SubscriptionAddonsQuantity} /> <input type="hidden" id="hf_addonSku" value=${res[i].Sku} /> <input type="hidden" id="hf_addonItemId" value=${res[i].ItemId} />
  1075. </div></div>`;
  1076. $(".addonslist:first").append(html);
  1077. addonImage = "";
  1078. }
  1079. }
  1080. });
  1081. });
  1082. }
  1083. proceed_Subscription() {
  1084. $('.registration_form').removeClass('d-none');
  1085. if ($('#addon-list').hasClass('d-none') == false) {
  1086. $('#addon-list').addClass('d-none');
  1087. }
  1088. }
  1089. checkout_PayAmount(Id) {
  1090. var instance = this;
  1091. $(".cartcount").text(OrderDetails.instance.CartItems.length);
  1092. var orgId = Number(Id);
  1093. OrderDetails.instance.organizationId = Number(Id);
  1094. var defaultaddressid = "";
  1095. OrderDetails.instance.OrderData = [];
  1096. OrderDetails.instance.ItemData = [];
  1097. var Organizationid = Number(OrderDetails.instance.organizationId);
  1098. for (var i = 0; i < OrderDetails.instance.CartItems.length; ++i) {
  1099. var addonQuantity = OrderDetails.instance.CartItems[i].addonQuantity;
  1100. var addonSku = OrderDetails.instance.CartItems[i].addonSku;
  1101. var addonItemId = OrderDetails.instance.CartItems[i].addonItemId;
  1102. var unitPrice = OrderDetails.instance.CartItems[i].unitPrice;
  1103. var discountPercent = OrderDetails.instance.CartItems[i].discountPercent;
  1104. var discountValue = OrderDetails.instance.CartItems[i].discountValue;
  1105. if (!isNaN(addonItemId)) {
  1106. OrderDetails.instance.ItemData.push({
  1107. SKU: addonSku,
  1108. Quantity: 1,
  1109. ItemId: addonItemId,
  1110. UnitPrice: unitPrice,
  1111. DiscountPercent: isNaN(discountPercent) ? 0 : discountPercent,
  1112. DiscountValue: isNaN(discountValue) ? 0 : discountValue,
  1113. ExchangeDC: false,
  1114. PackCount: 1,
  1115. PackSize: 1,
  1116. Packs: 1,
  1117. Pieces: 0,
  1118. TaxGroupId: 0,
  1119. });
  1120. }
  1121. }
  1122. var orderobj = {
  1123. BranchId: 0,
  1124. InventoryApplyType: 1,
  1125. IsCalculateTax: true,
  1126. IsCompositePrice: false,
  1127. IsPiecePrice: false,
  1128. IsTaxInclusive: false,
  1129. OrderTypeId: 1,
  1130. BillingAddressId: Number(0),
  1131. OrderItems: OrderDetails.instance.ItemData
  1132. };
  1133. instance.fileCacheHelper.loadJsFile('apps/transact/managers/orders/ordermanager.js', function () {
  1134. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getTotals(orderobj).then(function (response) {
  1135. return __awaiter(this, void 0, void 0, function* () {
  1136. var res = response.result;
  1137. OrderDetails.instance.NetTotal = res.NetTotal;
  1138. if (res != null) {
  1139. let footerHtml = `<hr><ul class="detail-list">
  1140. <li class="detail-item">
  1141. <span>Gross Amount</span>
  1142. <span id="lblSummary_GrossAmount">₹${res.GrossAmount}/-</span>
  1143. </li>
  1144. <li class="detail-item">
  1145. <span>Discount</span>
  1146. <span id="lblSummary_TotalDiscount">₹${res.TotalDiscount}/-</span>
  1147. </li>
  1148. <li class="detail-item">
  1149. <span>Assbl. Amount</span>
  1150. <span id="lblSummary_AssessableTotal">₹${res.AssessableAmount}/-</span>
  1151. </li>
  1152. <li class="detail-item">
  1153. <span>Total Tax</span>
  1154. <span id="lblSummary_TaxTotal">₹${res.TotalTax}/-</span>
  1155. </li>
  1156. <li class="detail-item net-total-item border-top border-bottom py-3 mt-4">
  1157. <span>Net Total</span>
  1158. <span id="lblSummary_NetTotal">₹${res.NetTotal}/-</span>
  1159. </li>
  1160. </ul>`;
  1161. $('#cartSummaryFooter').html(footerHtml);
  1162. }
  1163. yield Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().createOrder_Item(instance.organizationId);
  1164. });
  1165. });
  1166. });
  1167. }
  1168. bindTenure(itemid, tenureid) {
  1169. let instance = this;
  1170. this.fileCacheHelper.loadJsFile('apps/transact/managers/subscriptions/subscriptionmanager.js', function () {
  1171. Bizgaze.Apps.Transact.Managers.Subscriptions.SubscriptionManager.Instance().getTenureList(itemid, tenureid).then(function (response) {
  1172. var res = response.result;
  1173. if (res)
  1174. var tenureName;
  1175. for (var i = 0; i < res.length; i++) {
  1176. if (res[i].Price != 0) {
  1177. if (tenureid == 2) {
  1178. tenureName = 'M';
  1179. }
  1180. else {
  1181. tenureName = 'Y';
  1182. }
  1183. let html;
  1184. if (i == 0) {
  1185. html = '<option value="' + response.result[i].TenurePeriod + '" selected>' + response.result[i].TenurePeriod + tenureName + '</option>';
  1186. }
  1187. else {
  1188. html = '<option value="' + response.result[i].TenurePeriod + '"> ' + response.result[i].TenurePeriod + tenureName + '</option>';
  1189. }
  1190. $('#select_period').append(html);
  1191. }
  1192. }
  1193. });
  1194. });
  1195. }
  1196. period_changebyPaynow(PlanId, TenureId, Periode) {
  1197. let instance = this;
  1198. var data = Periode.split("M")[0];
  1199. var Period_Duration = Number(Periode);
  1200. this.fileCacheHelper.loadJsFile('apps/transact/managers/subscriptions/subscriptionmanager.js', function () {
  1201. Bizgaze.Apps.Transact.Managers.Subscriptions.SubscriptionManager.Instance().getTenurePeriodAndPrice(PlanId, TenureId, Period_Duration).then(function (response) {
  1202. var res = response.result;
  1203. OrderDetails.instance.planItemPrice = response.result.Price;
  1204. if (OrderDetails.instance.CartItems[0].subscriptionItemType == 1) {
  1205. OrderDetails.instance.CartItems[0].unitPrice = OrderDetails.instance.planItemPrice;
  1206. }
  1207. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().checkout_cartAmount();
  1208. $(".item-quantity").html(`( ` + OrderDetails.instance.planItemPrice + ` - 0% ) = <span class="inr-sign">` + OrderDetails.instance.planItemPrice + `<span>`);
  1209. });
  1210. });
  1211. }
  1212. period_change(PlanId, TenureId, Periode) {
  1213. let instance = this;
  1214. var data = Periode.split("M")[0];
  1215. var Period_Duration = Number(Periode);
  1216. this.fileCacheHelper.loadJsFile('apps/transact/managers/subscriptions/subscriptionmanager.js', function () {
  1217. Bizgaze.Apps.Transact.Managers.Subscriptions.SubscriptionManager.Instance().getTenurePeriodAndPrice(PlanId, TenureId, Period_Duration).then(function (response) {
  1218. var res = response.result;
  1219. OrderDetails.instance.planItemPrice = response.result.Price;
  1220. if (OrderDetails.instance.CartItems[0].subscriptionItemType == 1) {
  1221. OrderDetails.instance.CartItems[0].unitPrice = OrderDetails.instance.planItemPrice + OrderDetails.instance.OneTimeCost;
  1222. }
  1223. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().checkout_cartAmount();
  1224. $(".item-quantity").html(`( ` + OrderDetails.instance.planItemPrice + ` - 0% ) = <span class="inr-sign">` + OrderDetails.instance.planItemPrice + `<span>`);
  1225. });
  1226. });
  1227. }
  1228. checkout_cartAmount() {
  1229. var instance = this;
  1230. $(".cartcount").text(OrderDetails.instance.CartItems.length);
  1231. var defaultaddressid = "";
  1232. OrderDetails.instance.OrderData = [];
  1233. OrderDetails.instance.ItemData = [];
  1234. var Organizationid = Number(OrderDetails.instance.organizationId);
  1235. for (var i = 0; i < OrderDetails.instance.CartItems.length; ++i) {
  1236. var addonQuantity = OrderDetails.instance.CartItems[i].addonQuantity;
  1237. var addonSku = OrderDetails.instance.CartItems[i].addonSku;
  1238. var addonItemId = OrderDetails.instance.CartItems[i].addonItemId;
  1239. var unitPrice = OrderDetails.instance.CartItems[i].unitPrice;
  1240. var discountPercent = OrderDetails.instance.CartItems[i].discountPercent;
  1241. var discountValue = OrderDetails.instance.CartItems[i].discountValue;
  1242. if (!isNaN(addonItemId)) {
  1243. OrderDetails.instance.ItemData.push({
  1244. SKU: addonSku,
  1245. Quantity: 1,
  1246. ItemId: addonItemId,
  1247. UnitPrice: unitPrice,
  1248. DiscountPercent: isNaN(discountPercent) ? 0 : discountPercent,
  1249. DiscountValue: isNaN(discountValue) ? 0 : discountValue,
  1250. ExchangeDC: false,
  1251. PackCount: 1,
  1252. PackSize: 1,
  1253. Packs: 1,
  1254. Pieces: 0,
  1255. TaxGroupId: 0,
  1256. });
  1257. }
  1258. }
  1259. var orderobj = {
  1260. BranchId: 0,
  1261. InventoryApplyType: 1,
  1262. IsCalculateTax: true,
  1263. IsCompositePrice: false,
  1264. IsPiecePrice: false,
  1265. IsTaxInclusive: false,
  1266. OrderTypeId: 1,
  1267. BillingAddressId: Number(0),
  1268. OrderItems: OrderDetails.instance.ItemData
  1269. };
  1270. instance.fileCacheHelper.loadJsFile('apps/transact/managers/orders/ordermanager.js', function () {
  1271. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getTotals(orderobj).then(function (response) {
  1272. var res = response.result;
  1273. OrderDetails.instance.NetTotal = res.NetTotal;
  1274. if (res != null) {
  1275. let footerHtml = `<ul class="detail-list">
  1276. <li class="detail-item">
  1277. <span>Gross Amount</span>
  1278. <span id="lblSummary_GrossAmount">₹${res.GrossAmount}/-</span>
  1279. </li>
  1280. <li class="detail-item">
  1281. <span>Discount</span>
  1282. <span id="lblSummary_TotalDiscount">₹${res.TotalDiscount}/-</span>
  1283. </li>
  1284. <li class="detail-item">
  1285. <span>Assbl. Amount</span>
  1286. <span id="lblSummary_AssessableTotal">₹${res.AssessableAmount}/-</span>
  1287. </li>
  1288. <li class="detail-item">
  1289. <span>Total Tax</span>
  1290. <span id="lblSummary_TaxTotal">₹${res.TotalTax}/-</span>
  1291. </li>
  1292. <li class="detail-item net-total-item border-top border-bottom py-3 mt-4">
  1293. <span>Net Total</span>
  1294. <span id="lblSummary_NetTotal">₹${res.NetTotal}/-</span>
  1295. </li>
  1296. </ul>`;
  1297. $('.planitem-price').text(OrderDetails.instance.planItemPrice);
  1298. $('#cartSummaryFooter').html(footerHtml);
  1299. }
  1300. });
  1301. });
  1302. }
  1303. loadControlSettings(controlsettingjson, formpropertyid) {
  1304. }
  1305. loadPropertySettings(propertysettings, formpropertyid, DocPropertyName) {
  1306. }
  1307. bindEditFormDetails(formpropertyid, propval, DocPropertyName) {
  1308. }
  1309. static Instance() {
  1310. if (this.instance === undefined) {
  1311. this.instance = new OrderDetails();
  1312. }
  1313. return this.instance;
  1314. }
  1315. }
  1316. Subscriptions.OrderDetails = OrderDetails;
  1317. })(Subscriptions = Controls.Subscriptions || (Controls.Subscriptions = {}));
  1318. })(Controls = Transact.Controls || (Transact.Controls = {}));
  1319. })(Transact = Apps.Transact || (Apps.Transact = {}));
  1320. })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
  1321. })(Bizgaze || (Bizgaze = {}));