Built files from Bizgaze WebServer
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

subscriptionitemofferselection.js 15KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. var Bizgaze;
  2. (function (Bizgaze) {
  3. let Apps;
  4. (function (Apps) {
  5. let Transact;
  6. (function (Transact) {
  7. let Components;
  8. (function (Components) {
  9. let Subscriptions;
  10. (function (Subscriptions) {
  11. class SubscriptionItemOfferSelection extends Unibase.Platform.Core.BaseComponent {
  12. constructor() {
  13. super(...arguments);
  14. this.Bizgaze_Transact_Selected_Plan = new Array();
  15. }
  16. jsFiles() {
  17. return ['platform/core/helpers/numberhelper/numberhelper.js', 'apps/transact/managers/invoicemanager.js', 'apps/transact/controls/orders/orderitems.component.js', 'apps/transact/controls/orders/order.component.js', 'apps/transact/components/subscriptions/subscriptionitemofferselection.js'];
  18. }
  19. cssFiles() {
  20. return [];
  21. }
  22. html() {
  23. let html = '<form id="frm_Bizgazetransact_SubscriptionItemOfferSelection" method="post" data-validate="parsley"><div class="b-b bg-white modal-header"><strong class="text-dark titlename">Offer of <strong id="sg_item"></strong></strong></div><div data-simplebar class="bg-light simple-scroll-bar control-sorting modal-body"><div class="card"><div class="card-body"><ul><li class="hidden list-group-item Plan_Vlm_row" id ="li_Invoice_OfferItem"></li></ul></div></div></div><div class="bg-white modal-footer"><a href="javascript:;" class="btn btn-light btn-sm mr-auto btn_close">Close</a><span class="mr-auto" id="spn_Quantity"></span> <a href="javascript:;" class="btn btn-primary btn-sm" id ="btn_Apply">Apply</a></div ></form>';
  24. return html;
  25. }
  26. load(item) {
  27. this.Bizgaze_Transact_Selected_Plan = new Array();
  28. var inst = this;
  29. $(".btn_close").click(function () {
  30. inst.navigationHelper.closePopUp();
  31. });
  32. }
  33. LoadOfferItems(OrganizationId, ItemId, ItemName, InvoiceApplyType, element, Type) {
  34. var instance = this;
  35. this.Bizgaze_Transact_Selected_Plan = new Array();
  36. $('#sg_item').text(ItemName);
  37. SubscriptionItemOfferSelection.Instance().GetPlanVolume(OrganizationId, ItemId, InvoiceApplyType, Type);
  38. $('#btn_Apply').click(function () {
  39. instance.navigationHelper.closePopUp();
  40. if (instance.Bizgaze_Transact_Selected_Plan.length > 0) {
  41. instance.ApplyOffer(instance.Bizgaze_Transact_Selected_Plan);
  42. }
  43. });
  44. }
  45. GetPlanVolume(OrganizationId, ItemId, InvoiceApplyType, Type) {
  46. Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getPlanVolume(ItemId, OrganizationId, InvoiceApplyType).then(function (result) {
  47. for (var i = 0; i < result.result.length; i++) {
  48. SubscriptionItemOfferSelection.Instance().ShowItemOffers(result.result[i], ItemId, Type);
  49. }
  50. });
  51. }
  52. ShowItemOffers(data, ItemId, Type) {
  53. var instance = this;
  54. var value;
  55. if (data.DiscountType == 1) {
  56. value = data.PayoutValue;
  57. }
  58. else {
  59. if (data.DiscountType == 2) {
  60. value = data.PayoutPercent;
  61. }
  62. else {
  63. if (data.DiscountType == 3) {
  64. value = data.OPayoutValue;
  65. }
  66. }
  67. }
  68. var len = $('.Plan_Vlm_row').length;
  69. var html = '<li class="list-group-item Plan_Vlm_row" id="li_Pln_Vlm' + len + '" style="margin-bottom:0px">' +
  70. '<a href="javascript:;">' +
  71. '<div class="row" id="div_PlanVlm_' + len + '">' +
  72. '<div class="col-sm-10"><strong>Min-Qty : ' + data.Volume + '</strong><br> <div class="col-sm-12 row"> <span class="col-sm-4 pl-0"> Plan: <small>' + data.PlanName + '</small> </span> <span class="col-sm-4"> Offer: <small>' + data.OfferName + '</small> </span> <span class="col-sm-4"> Scheme: <small>' + data.SchemeName + '</small> </span></div></div>' +
  73. '<div class="col-sm-2"><span class="badge badge-outline pull-right" id="spn_Discount"></span></div>' +
  74. '</div></a></li>';
  75. $('#li_Invoice_OfferItem').after(html);
  76. $("#li_Pln_Vlm" + len).click(function () {
  77. SubscriptionItemOfferSelection.Instance().PlanSelection(data.Volume, value, data.DiscountType, data.PlanVolumeId, ItemId, len);
  78. });
  79. if (data.DiscountType == 2) {
  80. $('#spn_Discount').text(value + "%");
  81. }
  82. else {
  83. if (data.DiscountType == 3 || data.DiscountType == 1)
  84. $('#spn_Discount').text(value);
  85. }
  86. if (data.ItemVolumePayouts.length > 0) {
  87. html = '<div class="line line-dashed" id="div_Foc_' + len + '"></div>';
  88. $('#div_PlanVlm_' + len).after(html);
  89. for (var i = 0; i < data.ItemVolumePayouts.length; i++) {
  90. SubscriptionItemOfferSelection.Instance().AddFoCItem(data.ItemVolumePayouts[i], len, Type, ItemId);
  91. }
  92. }
  93. }
  94. AddFoCItem(FocItem, len, Type, RefItemId) {
  95. var html = '<div class="row mb-10"><div class="col-sm-6 ml-0 pl-0"><span class="col-sm-1"><input type="checkbox" id="IsApplyOffer_' + FocItem.ItemVolumePayoutId + '"></span><span class="col-sm-5">' + FocItem.ItemName + '</span></div>' +
  96. '<div class="col-sm-6"><span class="badge badge-outline pull-right">' + FocItem.Discount + '% </span> <span class="badge badge-outline pull-right mr-10">' + FocItem.Quantity + '</span> </div>' +
  97. '</div>';
  98. $('#div_Foc_' + len).after(html);
  99. var ValidFocItemIndex = Bizgaze.Apps.Transact.Controls.OrderItems.Instance().g_ValidFocItems.findIndex(x => x.ItemId == FocItem.ItemId && x.RefItemIds == RefItemId);
  100. if (Type == "Order") {
  101. if (!FocItem.IsFoC) {
  102. $("#IsApplyOffer_" + FocItem.ItemVolumePayoutId).prop("checked", true);
  103. $("#IsApplyOffer_" + FocItem.ItemVolumePayoutId).attr("disabled", "true");
  104. }
  105. else if (FocItem.IsFoC && ValidFocItemIndex != -1) {
  106. $("#IsApplyOffer_" + FocItem.ItemVolumePayoutId).prop("checked", true);
  107. }
  108. $("#IsApplyOffer_" + FocItem.ItemVolumePayoutId).change(function () {
  109. var Checked = $("#IsApplyOffer_" + FocItem.ItemVolumePayoutId).prop("checked");
  110. var FocItemIndex = Bizgaze.Apps.Transact.Controls.OrderItems.Instance().g_ValidFocItems.findIndex(x => x.ItemId == FocItem.ItemId && x.RefItemIds == RefItemId);
  111. if (Checked) {
  112. if (FocItemIndex == -1) {
  113. Bizgaze.Apps.Transact.Controls.OrderItems.Instance().g_ValidFocItems.push({ ItemId: FocItem.ItemId, RefItemIds: RefItemId });
  114. }
  115. }
  116. else {
  117. if (FocItemIndex != -1) {
  118. Bizgaze.Apps.Transact.Controls.OrderItems.Instance().g_ValidFocItems.splice(FocItemIndex, 1);
  119. }
  120. }
  121. });
  122. }
  123. }
  124. PlanSelection(Volume, value, DiscountType, PlanVolumeId, ItemId, len) {
  125. $('.Plan_Vlm_row').css('background-color', '');
  126. $('#spn_Quantity').text(Volume);
  127. $('#li_Pln_Vlm' + len).css('background-color', '#F0F0F0');
  128. this.Bizgaze_Transact_Selected_Plan = new Array();
  129. this.Bizgaze_Transact_Selected_Plan.push({
  130. Volume: Volume, value: value, DiscountType: DiscountType, PlanVolumeId: PlanVolumeId, ItemId: ItemId
  131. });
  132. }
  133. ApplyOffer(Item) {
  134. $(".li_OrderAddonItems_" + Item[0].ItemId).find(".hf_discountPercent").val(Item[0].value);
  135. var aa = $(".li_OrderAddonItems_" + Item[0].ItemId).find(".hf_discountPercent").val();
  136. $(".li_OrderAddonItems_" + Item[0].ItemId).find(".itemdiscount").text("1 x 1 (No.s) - " + Item[0].value + " %");
  137. let Price = $(".li_OrderAddonItems_" + Item[0].ItemId).find(".hf_itemprice").val();
  138. let RowTotal = Price.toString();
  139. if (Item[0].value > 0) {
  140. let DiscountAmount = Number(Price) * (Item[0].value / 100);
  141. var Total = Number(Price) - DiscountAmount;
  142. RowTotal = "( " + Price + " - " + Item[0].value + " % ) = ₹" + Total;
  143. $(".li_OrderAddonItems_" + Item[0].ItemId).find(".setupfee").text(RowTotal);
  144. let index = Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.instance.CartItems.findIndex(z => z.addonItemId == Number(Item[0].ItemId));
  145. if (index != -1) {
  146. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.instance.CartItems[index].discountPercent = Item[0].value;
  147. }
  148. }
  149. $('.focitem').html('');
  150. var instance = this;
  151. instance.fileCacheHelper.loadJsFiles(["apps/transact/managers/subscriptions/subscriptionmanager.js", "apps/transact/controls/subscriptions/orderdetails.component.js"], function () {
  152. Bizgaze.Apps.Transact.Managers.Subscriptions.SubscriptionManager.Instance().getOfferItems(Item[0].ItemId).then(function (response) {
  153. var res = response.result;
  154. for (var i = 0; i < res.length; i++) {
  155. let html = `<div class="cart-item adoonsItemslist li_OrderAddonItems Offer_OrderItem_` + res[i].ItemId + `">
  156. <div class="item-title-price-wrap">
  157. <span class="item-title">` + res[i].ItemName + `</span>
  158. <div class="price-trash-wrap"><span class="item-price"><i class="fa fa-inr"></i>` + res[i].SalesPrice + `</span>
  159. <a href="javascript:;" onclick="Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().deleteItem(\'Offer_OrderItem_` + res[i].ItemId + `\')"
  160. 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>
  161. </div>
  162. </div>
  163. <div class="item-desc-quantity-wrap">
  164. <p class="item-desc">Automation Evolved New Registration</p>
  165. <span class="item-quantity Itemprice">1 x 1 (No.s) - 30%</span>
  166. </div>
  167. <div class="item-plan-offer-wrap pt-10">
  168. </div>
  169. <input type="hidden" id="hf_refItemId" value="` + Item[0].ItemId + `">
  170. </div>
  171. </div>`;
  172. $(".offeritems:first").append(html);
  173. let focPrice = res[i].SalesPrice;
  174. let RowTotal = focPrice.toString();
  175. if (res[i].Discount > 0) {
  176. let DiscountAmount = Number(focPrice) * (res[i].Discount / 100);
  177. var Total = Number(focPrice) - DiscountAmount;
  178. RowTotal = "( " + focPrice + " - " + res[i].Discount + " % ) = ₹" + Total;
  179. }
  180. $(".Offer_OrderItem_" + res[i].ItemId).find(".Itemprice").text(RowTotal);
  181. }
  182. Bizgaze.Apps.Transact.Controls.Subscriptions.OrderDetails.Instance().updateOfferCartItemsList(res);
  183. });
  184. });
  185. }
  186. static Instance() {
  187. if (this.instance === undefined) {
  188. this.instance = new Bizgaze.Apps.Transact.Components.Subscriptions.SubscriptionItemOfferSelection();
  189. }
  190. return this.instance;
  191. }
  192. }
  193. Subscriptions.SubscriptionItemOfferSelection = SubscriptionItemOfferSelection;
  194. })(Subscriptions = Components.Subscriptions || (Components.Subscriptions = {}));
  195. })(Components = Transact.Components || (Transact.Components = {}));
  196. })(Transact = Apps.Transact || (Apps.Transact = {}));
  197. })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
  198. })(Bizgaze || (Bizgaze = {}));