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.

couponpayment.component.js 18KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  1. var Bizgaze;
  2. (function (Bizgaze) {
  3. let Apps;
  4. (function (Apps) {
  5. let Transact;
  6. (function (Transact) {
  7. let Controls;
  8. (function (Controls) {
  9. class CouponPayment extends Unibase.Platform.Core.BaseComponent {
  10. constructor() {
  11. super(...arguments);
  12. this.bizgazetransact_payments_edit_couponItems = [];
  13. }
  14. init(formpropertyid, prop, callback) {
  15. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("platform/core/helpers/numberhelper/numberhelper.js", function () {
  16. });
  17. $("#btn_AddCoupon").click(function () {
  18. CouponPayment.instance.Addcoupnrow();
  19. $("#txtCouponCount").removeClass('floating-label-form-group-with-value');
  20. });
  21. }
  22. loadControl(containerid, prop) {
  23. $(".section_Coupons").find(".card-body").addClass("hidden");
  24. $(".section_Coupons").find(".card-body").addClass("pt-5");
  25. var duesHeader = '<div class="row" id="divCoupons">' +
  26. '<div class="col-sm-9 my-auto">' +
  27. '<a class="pull-left" href="#rowCoupons" data-target="#rowCoupons" data-toggle="collapse" id="btn_collapseCoupons"><u><span class="h6" style="color:deepskyblue">Coupons: <span id="totalCouponAmount">0.00</span></u></a>' +
  28. '</div>' +
  29. '<div class="col-sm-3">' +
  30. '<div class="row">' +
  31. '<div class="col-sm-5 text-right pa-0 my-auto d-none d-md-block">Adjust:</div><div class="col-5 d-md-none my-auto">Adjust:</div>' +
  32. '<div class="col-sm-7 col-7"><input type="text" id="txtCouponAdjustAmount" class="form-control decimal_numerics h-30p" placeholder="0.00"/></div>' +
  33. '</div>' +
  34. '</div>' +
  35. '</div>';
  36. $(".section_Coupons").find(".card-header").append(duesHeader);
  37. $("#btn_collapseCoupons").click(function () {
  38. $(".section_Coupons").find(".card-body").toggleClass("hidden");
  39. });
  40. var html = '<div class="collapse" id="rowCoupons">' +
  41. '<div class="row"><div class="col-md-6">' +
  42. '<div class="floating-label-form-group" style="border:0px">' +
  43. '<label for="txtCoupon">Select Coupon</label>' +
  44. '<div class="input-group">' +
  45. '<input type="hidden" id="hfCouponid" value="0" />' +
  46. '<input type="hidden" id="hfCouponTypeid" value="0" />' +
  47. '<select type="text" id="txtCoupon" class="form-control floating-label-control" placeholder="Select Coupon" style="width:100%" ></select>' +
  48. '</div>' +
  49. '</div>' +
  50. '</div>' +
  51. '<div class="col-md-5 col-10">' +
  52. '<div class="floating-label-form-group" id="txtCouponCount">' +
  53. '<label for="">Coupon count</label>' +
  54. '<div class="input-group">' +
  55. '<input type="text" class="form-control value-control decimal_numerics" placeholder="Coupon Count" id="txtQty" />' +
  56. '</div>' +
  57. '</div>' +
  58. '</div>' +
  59. '<div class="col-1 my-auto pa-0 mt-30">' +
  60. '<a class="btn btn-icon btn-icon-circle btn-pink btn-icon-style-3" href="#" id="btn_AddCoupon"><span class="btn-icon-wrap"><i class="fa fa-plus"></i></span></a>' +
  61. '</div>' +
  62. '</div>' +
  63. '<div class="col-sm-12 pa-10 mt-10 border d-none d-md-block"><div class="row"><strong class="sale-info col-sm-4">Coupon Name</strong><strong class="sale-num col-sm-2">Expires On</strong><strong class="sale-num col-sm-2">LoB</strong><strong class="sale-num col-sm-2">Balance</strong><strong class="sale-num col-sm-2">Redeem</strong></div></div><div class="d-md-none header border pa-5 mt-10"><strong>Details</strong></div>' +
  64. '<div class="" id="lstCoupons ">' +
  65. '<ul class="list-group" id="ulCoupon">' +
  66. '<li class="list-group-item couponitem format-addeditem hidden">' +
  67. '</li>' +
  68. '</ul>' +
  69. '</div></div>';
  70. $("#" + containerid).html(html);
  71. Bizgaze.Apps.Transact.Controls.CouponPayment.Instance().couponAutoComplete();
  72. }
  73. loadControlSettings(controlsettingjson, formpropertyid) {
  74. return ``;
  75. }
  76. loadPropertySettings(propertysettings, formpropertyid, DocPropertyName) {
  77. return ``;
  78. }
  79. bindEditFormDetails(formpropertyid, propval, DocPropertyName) {
  80. return ``;
  81. }
  82. couponAutoComplete() {
  83. var url = _appsettings.server_url() + '/apis/v4/bizgaze/transact/coupons/getcouponsautcomplete';
  84. AutoCompleteHelper.getHelper().Create("#txtCoupon", "hfCouponid", url, function (response) { });
  85. }
  86. Addcoupnrow() {
  87. if ($('#txtQty').val() == 0 || $('#txtQty').val() == '' || $('#txtQty').val() == undefined) {
  88. alert("Please enter number of quantity to add");
  89. return;
  90. }
  91. var couponId = $("#hfCouponid").val();
  92. var couponTypeId = $("#hfCouponTypeid").val();
  93. var couponName = $("#txtCoupon option:selected").text();
  94. var couponNo = "";
  95. var Qty = $('#txtQty').val();
  96. var couponvalue = $("#lblcouponvalue").text();
  97. var couponusedvalue = 0;
  98. var amount = 0;
  99. if ((Number(Qty) > 1) && (couponTypeId == "1" || couponTypeId == "3"))
  100. Qty = 1;
  101. var couponFound = false;
  102. if (couponFound == false) {
  103. var accountId = 0;
  104. var createdDate = "";
  105. var lobName = "";
  106. var couponNo = "";
  107. amount = Number(Qty) * Number(2323);
  108. accountId = 232;
  109. lobName = "Mobil";
  110. couponNo = "23213";
  111. couponusedvalue = 23231;
  112. if (couponName == "")
  113. couponName = "Coupon1";
  114. if (couponusedvalue == undefined)
  115. couponusedvalue = 0;
  116. CouponPayment.instance.bizgazetransact_payments_edit_couponItems.push({
  117. couponid: couponId,
  118. couponName: couponName,
  119. qty: Qty,
  120. couponvalue: couponvalue,
  121. amount: amount,
  122. couponTypeId: 1,
  123. accountId: accountId,
  124. CreatedDate: createdDate,
  125. lobName: lobName,
  126. couponNo: couponNo,
  127. ToDate: "",
  128. RedeemedAmount: couponusedvalue,
  129. OtpEnabled: ""
  130. });
  131. CouponPayment.instance.addlatestCoupon(CouponPayment.instance.bizgazetransact_payments_edit_couponItems.length - 1);
  132. if ((Number(Qty) > 1) && (couponTypeId == "1" || couponTypeId == "3"))
  133. Qty = 1;
  134. }
  135. $(".decimal_numerics").keypress(function (key) {
  136. if (key.charCode < 46 || key.charCode > 58)
  137. return false;
  138. });
  139. $("#txtCoupon").empty();
  140. $('#hfCouponid').val("0");
  141. $("#txtQty").val("");
  142. $("#txtCoupon").focus();
  143. }
  144. addlatestCoupon(length) {
  145. var totalamount = $('#totalCouponAmount').val();
  146. var totalqty = 0;
  147. for (var i = length; i < CouponPayment.instance.bizgazetransact_payments_edit_couponItems.length; i++) {
  148. var per = '';
  149. var couponid = CouponPayment.instance.bizgazetransact_payments_edit_couponItems[i].couponid;
  150. var qty = CouponPayment.instance.bizgazetransact_payments_edit_couponItems[i].qty;
  151. var coupontypeId = CouponPayment.instance.bizgazetransact_payments_edit_couponItems[i].coupontypeId;
  152. var amount = CouponPayment.instance.bizgazetransact_payments_edit_couponItems[i].amount;
  153. var balanceamount = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(CouponPayment.instance.bizgazetransact_payments_edit_couponItems[i].amount, 2) - Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(CouponPayment.instance.bizgazetransact_payments_edit_couponItems[i].RedeemedAmount, 2);
  154. var couponName = CouponPayment.instance.bizgazetransact_payments_edit_couponItems[i].couponName;
  155. var couponNo = CouponPayment.instance.bizgazetransact_payments_edit_couponItems[i].couponNo;
  156. var initialamount = 0;
  157. var isotpenabled = 0;
  158. if (CouponPayment.instance.bizgazetransact_payments_edit_couponItems[i].OtpEnabled == true) {
  159. isotpenabled = 1;
  160. }
  161. if (coupontypeId == "3" || coupontypeId == "4")
  162. per = '%';
  163. var available = 0;
  164. var html = '<li class="list-group-item couponitem format-addeditem ">' +
  165. '<input type="hidden" class="coupon-itemid" value="' + couponid + '" />' +
  166. '<input type="hidden" class="coupon-typeid" value="' + coupontypeId + '" />' +
  167. '<input type="hidden" class="couponAccountId" value="' + CouponPayment.instance.bizgazetransact_payments_edit_couponItems[i].accountId + '" />' +
  168. '<input type="hidden" class="couponquantity" value="' + qty + '" />' +
  169. '<input type="hidden" class="couponusedamount" value="' + CouponPayment.instance.bizgazetransact_payments_edit_couponItems[i].RedeemedAmount + '" />' +
  170. '<input type="hidden" class="couponavailableamount" value="' + available + '" />' +
  171. '<input type="hidden" class="coupontotalamount-' + couponid + ' ctotalAmount" value="' + Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(amount, 2) + '" />' +
  172. '<div class="row">' +
  173. '<div class="col-md-4 my-auto"><span class="text-muted"><strong>' + couponName + '</strong><span>(' + amount + ')</span></span><br /><span>' + couponNo + '</span></div>' +
  174. '<div class="col-md-2 my-auto"><span>' + CouponPayment.instance.bizgazetransact_payments_edit_couponItems[i].ToDate + '</span></div>' +
  175. '<div class="col-md-2 my-auto"><span>' + CouponPayment.instance.bizgazetransact_payments_edit_couponItems[i].lobName + '</span></div>' +
  176. '<div class="col-md-2 my-auto"><span class="couponremainingamount-' + couponid + ' cremainAmount ">' + Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(balanceamount, 2) + '</span></div>' +
  177. '<div class="col-md-2 my-auto"><div class="floating-label-form-group floating-label-form-group-with-value" id="div_inputamount"><label>Amount</label><input type="hidden" id="hf_otp" class="hf_otp" value="' + isotpenabled + '" /><input type="hidden" class="coupontotalamount-' + couponid + ' ctotalAmount" value="' + Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(amount, 2) + '" /><input type="text" class="currentAmount decimal_numerics number form-control floating-label-control couponredeemamount-' + couponid + '" value="' + Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(CouponPayment.instance.bizgazetransact_payments_edit_couponItems[i].RedeemedAmount, 2) + '" data-isdynamic="false" data-label="Amount" data-placeholder="Amount" /></div></div>' +
  178. '</div>' +
  179. '</li>';
  180. $(".couponitem:last").after(html);
  181. totalamount = Number(Number(totalamount) + Number(balanceamount));
  182. totalqty += Number(CouponPayment.instance.bizgazetransact_payments_edit_couponItems[i].qty);
  183. CouponPayment.instance.bind();
  184. }
  185. $('#cpnamount').html(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(totalamount, 2));
  186. $('#totalCouponAmount').html(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(totalamount, 2));
  187. $(".deletecpn").click(function () {
  188. var deleteitemindex = -1;
  189. var couponVal = $(this).parents(".couponitem").find(".cremainAmount").text();
  190. var delQty = 0;
  191. var cupid = $(this).parents(".couponitem").find(".coupon-itemid").val();
  192. for (var i = 0; i < CouponPayment.instance.bizgazetransact_payments_edit_couponItems.length; i++) {
  193. if (CouponPayment.instance.bizgazetransact_payments_edit_couponItems[i].couponid == cupid) {
  194. deleteitemindex = i;
  195. delQty = CouponPayment.instance.bizgazetransact_payments_edit_couponItems[i].qty;
  196. break;
  197. }
  198. }
  199. if (deleteitemindex != -1) {
  200. CouponPayment.instance.bizgazetransact_payments_edit_couponItems.splice(deleteitemindex, 1);
  201. var totamamount = Number($("#totalCouponAmount").text());
  202. totamamount = Number(totamamount) - Number(couponVal);
  203. $("#totalCouponAmount").text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(totamamount, 2));
  204. }
  205. $(this).parents(".couponitem").remove();
  206. });
  207. }
  208. bind() {
  209. $(".walletitem-addedrow").find(".currentAmount").blur(function (e) {
  210. var amount = $(this).val();
  211. var due = $(this).parent().find("#hf_walletamount").val();
  212. if (Number($(this).val()) > Number($(this).parent().find("#hf_walletamount").val())) {
  213. $(this).val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number($(this).parent().find("#hf_walletamount").val()), 2));
  214. }
  215. });
  216. $(".paymentitem-addedrow").find(".currentAmount").blur(function () {
  217. var journalid = $(this).parents(".paymentitem-row").find(".hf_journalId").val();
  218. if (Number($(this).val()) > Number($(this).parent().find("#hf_walletamount").val())) {
  219. $(this).val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number($(this).parent().find("#hf_walletamount").val()), 2));
  220. }
  221. });
  222. $(".txtDiscountAmount").blur(function () {
  223. var discountAmount = $(this).val();
  224. var newDue = 0;
  225. var element = $(this).parents(".paymentitemid");
  226. if (Number(element.find(".withoutDiscount").val()) != 0)
  227. newDue = Number(element.find(".withoutDiscount").val()) - Number(discountAmount);
  228. });
  229. }
  230. static Instance() {
  231. if (this.instance === undefined) {
  232. this.instance = new CouponPayment();
  233. }
  234. return this.instance;
  235. }
  236. }
  237. Controls.CouponPayment = CouponPayment;
  238. })(Controls = Transact.Controls || (Transact.Controls = {}));
  239. })(Transact = Apps.Transact || (Apps.Transact = {}));
  240. })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
  241. })(Bizgaze || (Bizgaze = {}));