Built files from Bizgaze WebServer
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

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 = {}));