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.

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