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 105KB

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