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.

paymentsummary.components.js 37KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576
  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 PaymentSummary extends Unibase.Platform.Core.BaseComponent {
  10. init(formpropertyid, prop, callback) {
  11. var instance = this;
  12. }
  13. loadControl(containerid, prop) {
  14. var instance = this;
  15. var containerhtml = `<div id="paymentSummaryContainer"></div>`;
  16. $("#" + containerid).html(containerhtml);
  17. instance.loadPaymentSummaryControl("paymentSummaryContainer");
  18. }
  19. loadPaymentSummaryControl(containerid) {
  20. var instance = this;
  21. var html = '<div class="row clearfix">' +
  22. '<div class="col-md-4 ">' +
  23. '<div class="header row form-group col-sm-12"><div id="paymentmodesummary" class="col-6"><strong class="row">Mode</strong></div><div id="paymentmodeamountsummary" class="col-6"><strong class="row">Amount</strong></div></div>' +
  24. '<div class="row col-sm-12 form-group paymentsummaryItem hidden" id="div_wallet_summary"><div class="col-sm-6 col-6"><span>Wallets</span></div><div class="col-sm-6 col-6"><strong><span id="spn_wallet_amount"></span></strong></div></div>' +
  25. '<div class="row col-sm-12 form-group paymentsummaryItem hidden" id="div_coupon_summary"><div class="col-sm-6 col-6"><span>Coupons</span></div><div class="col-sm-6 col-6"><strong><span id="spn_coupon_amount"></span></strong></div></div>' +
  26. '</div>' +
  27. '<div class="col-md-3">' +
  28. '<div id="div_Discount" class="hidden col-sm-12 form-group floating-label-form-group floating-label-form-group-with-value border-0 pb-10">' +
  29. '<label for="lbl" id="lbl_Discount">Discount Account<span class="text-danger" id="spnlbl_Discount"> *</span></label>' +
  30. '<div class="input-group"><select id="txtAutoComplete_DiscountAccount" class="txtAutoComplete_DiscountAccount hidden form-control text-control select2-hidden-accessible" style="width:100%;" placeholder="Select Discount Account"></select><input type="hidden" id="hfAutoComplete_DiscountAccount" value="" class="hfAutoComplete_DiscountAccount form-control"/></div>' +
  31. '</div>' +
  32. '<div id="div_Penality" class="hidden col-sm-12 form-group floating-label-form-group floating-label-form-group-with-value border-0 pb-10">' +
  33. '<label for="lbl" id="lbl_Penality">Penality Account<span class="text-danger" id="spnlbl_Penality"> *</span></label>' +
  34. '<div class="input-group"><select id="txtAutoComplete_PenalityAccount" class="txtAutoComplete_PenalityAccount hidden form-control text-control select2-hidden-accessible" style="width:100%;" placeholder="Select Penality Account"></select><input type="hidden" id="hfAutoComplete_PenalityAccount" value="" class="hfAutoComplete_PenalityAccount form-control"/></div>' +
  35. '</div>' +
  36. '<div id="div_TDS" class="hidden col-sm-12 form-group floating-label-form-group floating-label-form-group-with-value border-0 pb-10">' +
  37. '<label for="lbl" id="lbl_TDS">TDS Account<span class="text-danger" id="spnlbl_TDS"> *</span></label>' +
  38. '<div class="input-group"><select id="txtAutoComplete_TDSAccount" class="txtAutoComplete_TDSAccount hidden form-control text-control select2-hidden-accessible" style="width:100%;" placeholder="Select TDS Account"></select><input type="hidden" id="hfAutoComplete_TDSAccount" value="" class="hfAutoComplete_TDSAccount form-control"/></div>' +
  39. '</div>' +
  40. '</div>' +
  41. '<div class="col-md-5 no-padder text-right d-none d-md-block" id="divTotalAmount">' +
  42. '<input type="hidden" class="totBalance" id="totBalance"></input>' +
  43. '<div class="row col-sm-12 form-group">' +
  44. '<div class="col-sm-6 text-right">' +
  45. '<span>Total Amount</span>' +
  46. '</div>' +
  47. '<div class="col-md-6 text-right">' +
  48. '<strong>' +
  49. '<span class="totAmount" id="totAmount">0.00</span>' +
  50. ' </strong>' +
  51. '</div>' +
  52. '</div>' +
  53. '<div class="row col-sm-12 form-group summary" id="divDiscountAmount">' +
  54. '<div class="col-md-6 text-right">' +
  55. '<span>Discount</span>' +
  56. '</div>' +
  57. '<div class="col-md-6 text-right ">' +
  58. '<strong>' +
  59. '<span class="totDiscount" id="totDiscount">0.00</span>' +
  60. '</strong>' +
  61. ' </div>' +
  62. '</div>' +
  63. '<div class="row col-sm-12 form-group summary" id="divPenalityAmount">' +
  64. '<div class="col-md-6 text-right">' +
  65. '<span>Penality</span>' +
  66. '</div>' +
  67. '<div class="col-md-6 text-right ">' +
  68. '<strong>' +
  69. '<span class="totPenality" id="totPenality">0.00</span>' +
  70. '</strong>' +
  71. ' </div>' +
  72. '</div>' +
  73. '<div class="row col-sm-12 form-group summary" id="divAdjustedAmount">' +
  74. '<div class="col-sm-6 text-right">' +
  75. '<span>Adjusted</span>' +
  76. '</div>' +
  77. '<div class="col-sm-6 text-right">' +
  78. '<strong>' +
  79. '<span class="totAdjusted" id="totAdjusted">0.00</span>' +
  80. '</strong>' +
  81. '</div>' +
  82. '</div>' +
  83. '<div class="row col-sm-12 form-group summary" id="divAdvanceAmount">' +
  84. '<div class="col-sm-6 text-right">' +
  85. '<span>Advance</span>' +
  86. '</div>' +
  87. '<div class="col-sm-6 text-right">' +
  88. '<strong>' +
  89. '<span class="totAdvance" id="totAdvance">0.00</span>' +
  90. '</strong>' +
  91. '</div>' +
  92. '</div>' +
  93. '<div class="row col-sm-12" id="divTdsAmount">' +
  94. '<div class="col-md-6 text-right">' +
  95. '<span>TDS</span>' +
  96. '</div>' +
  97. '<div class="col-md-6 text-right">' +
  98. '<strong>' +
  99. '<span class="totTds" id="totTds">0.00</span>' +
  100. '</strong>' +
  101. '</div>' +
  102. '</div>' +
  103. '</div>' +
  104. '<div class="col-sm-12 no-padder d-md-none border-top border-dark " id="divTotalAmount">' +
  105. '<input type="hidden" class="totBalance" id="totBalance"></input>' +
  106. '<div class="row col-sm-12 form-group pt-10">' +
  107. '<div class="col-6 text-left">' +
  108. '<span>Total Amount</span>' +
  109. '</div>' +
  110. '<div class="col-6 text-left">' +
  111. '<strong>' +
  112. '<span class="totAmount" id="totAmount">0.00</span>' +
  113. ' </strong>' +
  114. '</div>' +
  115. '</div>' +
  116. '<div class="row col-sm-12 form-group summary" id="divDiscountAmount">' +
  117. '<div class="col-6 ">' +
  118. '<span>Discount</span>' +
  119. '</div>' +
  120. '<div class="col-6 ">' +
  121. '<strong>' +
  122. '<span class="totDiscount" id="totDiscount">0.00</span>' +
  123. '</strong>' +
  124. ' </div>' +
  125. '</div>' +
  126. '<div class="row col-sm-12 form-group summary" id="divPenalityAmount">' +
  127. '<div class="col-6 ">' +
  128. '<span>Penality</span>' +
  129. '</div>' +
  130. '<div class="col-6 ">' +
  131. '<strong>' +
  132. '<span class="totPenality" id="totPenality">0.00</span>' +
  133. '</strong>' +
  134. ' </div>' +
  135. '</div>' +
  136. '<div class="row col-sm-12 form-group summary" id="divAdjustedAmount">' +
  137. '<div class="col-6 ">' +
  138. '<span>Adjusted.</span>' +
  139. '</div>' +
  140. '<div class="col-6 ">' +
  141. '<strong>' +
  142. '<span class="totAdjusted" id="totAdjusted">0.00</span>' +
  143. '</strong>' +
  144. '</div>' +
  145. '</div>' +
  146. '<div class="row col-sm-12 form-group summary" id="divAdvanceAmount">' +
  147. '<div class="col-6">' +
  148. '<span>Advance</span>' +
  149. '</div>' +
  150. '<div class="col-6">' +
  151. '<strong>' +
  152. '<span class="totAdvance" id="totAdvance">0.00</span>' +
  153. '</strong>' +
  154. '</div>' +
  155. '</div>' +
  156. '<div class="row col-sm-12" id="divTdsAmount">' +
  157. '<div class="col-6">' +
  158. '<span>TDS</span>' +
  159. '</div>' +
  160. '<div class="col-6">' +
  161. '<strong>' +
  162. '<span class="totTds" id="totTds">0.00</span>' +
  163. '</strong>' +
  164. '</div>' +
  165. '</div>' +
  166. '</div>' +
  167. '</div>';
  168. $("#" + containerid).html(html);
  169. instance.loadAccounts();
  170. }
  171. loadPaymentSummary() {
  172. var instance = this;
  173. var dueFormPropertyId = $("#dueControlList").parents(".divCustomProperties").data("formpropertyid");
  174. var totAdjAmount = 0;
  175. var totTds = 0;
  176. var totDiscount = 0;
  177. var totPenality = 0;
  178. var elementforDue = $('.transactonList_item_TRN' + dueFormPropertyId + '');
  179. $(elementforDue).find('.divDue_Item').each(function () {
  180. var curAdjAmt = Number($(this).find('.txtCurrentAmount').val());
  181. if (!isNaN(curAdjAmt) && curAdjAmt != 0) {
  182. totAdjAmount += curAdjAmt;
  183. var curDiscAmt = Number($(this).find(".txtDiscountAmount").val());
  184. if (!isNaN(curDiscAmt) && curDiscAmt != 0) {
  185. if (curDiscAmt > 0) {
  186. totDiscount += curDiscAmt;
  187. }
  188. else {
  189. totPenality += curDiscAmt;
  190. }
  191. }
  192. var curTds = Number($(this).find(".txtTdsAmount").val());
  193. if (!isNaN(curTds) && curTds != 0) {
  194. totTds += curTds;
  195. }
  196. }
  197. });
  198. $('.txtTotalDueAdjusted').val(totAdjAmount);
  199. var ttCreditAmt = 0;
  200. if ($("#paymentslist li").length > 1) {
  201. var amt = 0;
  202. $("#paymentslist li").each(function (e) {
  203. var curAmt = Number($(this).find(".spn_payment_amount").text());
  204. if (!isNaN(curAmt)) {
  205. amt += curAmt;
  206. }
  207. });
  208. ttCreditAmt = amt;
  209. }
  210. else {
  211. var amt = Number($("#txt_TotalCreditAmount").val());
  212. if (!isNaN(amt)) {
  213. ttCreditAmt = amt;
  214. }
  215. }
  216. var walletFormPropertyId = $("#walletControlList").parents(".divCustomProperties").data("formpropertyid");
  217. var elementforPayment = $('.transactonList_item_TRN' + walletFormPropertyId);
  218. var totWalletAdjusted = Number($(elementforPayment).find('.txtTotalWalletAdjusted_TRN' + walletFormPropertyId).val());
  219. if (!isNaN(totWalletAdjusted)) {
  220. ttCreditAmt += totWalletAdjusted;
  221. }
  222. $("#hf_TotalCreditAmount").val(ttCreditAmt);
  223. var advanceAmt = Number($("#hf_TotalCreditAmount").val()) - Number($('.txtTotalDueAdjusted').val());
  224. var advAmt = (advanceAmt > 0) ? advanceAmt : 0;
  225. $('.totAdvance').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(advAmt, 2));
  226. var totAdjusted = Number($('.txtTotalDueAdjusted').val());
  227. $('.totAdjusted').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(totAdjusted, 2));
  228. var totAmountCredited = Number($("#hf_TotalCreditAmount").val());
  229. $('.totAmount').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(totAmountCredited, 2));
  230. $('.totDiscount').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(totDiscount, 2));
  231. $('.totPenality').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(totPenality, 2));
  232. $('.totTds').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(totTds, 2));
  233. instance.showOrHideAccounts(totDiscount, totPenality, totTds);
  234. }
  235. updatePaymentSummary() {
  236. var instance = this;
  237. var cashAmt = 0;
  238. var chequeAmt = 0;
  239. var onlineAmt = 0;
  240. var neftAmt = 0;
  241. var rtgs = 0;
  242. var fundTransfer = 0;
  243. var adjustment = 0;
  244. var upiAmt = 0;
  245. var cardAmt = 0;
  246. var totalAmount = 0;
  247. var hasAdjustment = false;
  248. $("#paymentslist li").each(function () {
  249. var curPaymentMode = Number($(this).find("#hf_PaymentModeId").val());
  250. var curAmt = Number($(this).find(".spn_payment_amount").text());
  251. var flag = 1;
  252. if (!isNaN(curPaymentMode) && !isNaN(curAmt)) {
  253. flag = 1;
  254. }
  255. else {
  256. flag = 0;
  257. var ddlPaymentModeId = $("#txtAutoComplete_paymentmodeid").val();
  258. if (ddlPaymentModeId != null && ddlPaymentModeId != 0 && ddlPaymentModeId != undefined && ddlPaymentModeId != "0") {
  259. flag = 1;
  260. curPaymentMode = Number($("#txtAutoComplete_paymentmodeid").val());
  261. curAmt = Number($("#txt_TotalCreditAmount").val());
  262. }
  263. }
  264. if (flag == 1) {
  265. totalAmount += curAmt;
  266. if (curPaymentMode == 1) {
  267. cashAmt += curAmt;
  268. }
  269. else if (curPaymentMode == 2) {
  270. chequeAmt += curAmt;
  271. }
  272. else if (curPaymentMode == 3) {
  273. onlineAmt += curAmt;
  274. }
  275. else if (curPaymentMode == 4) {
  276. neftAmt += curAmt;
  277. }
  278. else if (curPaymentMode == 5) {
  279. rtgs += curAmt;
  280. }
  281. else if (curPaymentMode == 6) {
  282. fundTransfer += curAmt;
  283. }
  284. else if (curPaymentMode == 7) {
  285. hasAdjustment = true;
  286. adjustment += curAmt;
  287. }
  288. else if (curPaymentMode == 8) {
  289. upiAmt += curAmt;
  290. }
  291. else if (curPaymentMode == 9) {
  292. cardAmt += curAmt;
  293. }
  294. }
  295. });
  296. $('.paymentmodes').remove();
  297. if (cashAmt > 0) {
  298. $("#paymentmodesummary").append("<span class='row paymentmodes'>Cash</span>");
  299. $("#paymentmodeamountsummary").append("<span class='row paymentmodes'>" + Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(cashAmt, 2) + "</span>");
  300. }
  301. if (chequeAmt > 0) {
  302. $("#paymentmodesummary").append("<span class='row paymentmodes'>Cheque</span>");
  303. $("#paymentmodeamountsummary").append("<span class='row paymentmodes'>" + Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(chequeAmt, 2) + "</span>");
  304. }
  305. if (onlineAmt > 0) {
  306. $("#paymentmodesummary").append("<span class='row paymentmodes'>Online</span>");
  307. $("#paymentmodeamountsummary").append("<span class='row paymentmodes'>" + Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(onlineAmt, 2) + "</span>");
  308. }
  309. if (neftAmt > 0) {
  310. $("#paymentmodesummary").append("<span class='row paymentmodes'>NEFT</span>");
  311. $("#paymentmodeamountsummary").append("<span class='row paymentmodes'>" + Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(neftAmt, 2) + "</span>");
  312. }
  313. if (rtgs > 0) {
  314. $("#paymentmodesummary").append("<span class='row paymentmodes'>RTGS</span>");
  315. $("#paymentmodeamountsummary").append("<span class='row paymentmodes'>" + Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(rtgs, 2) + "</span>");
  316. }
  317. if (fundTransfer > 0) {
  318. $("#paymentmodesummary").append("<span class='row paymentmodes'>FundTransfer</span>");
  319. $("#paymentmodeamountsummary").append("<span class='row paymentmodes'>" + Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(fundTransfer, 2) + "</span>");
  320. }
  321. if (adjustment > 0 || hasAdjustment) {
  322. $("#paymentmodesummary").append("<span class='row paymentmodes'>Adjustment</span>");
  323. $("#paymentmodeamountsummary").append("<span class='row paymentmodes'>" + Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(adjustment, 2) + "</span>");
  324. }
  325. if (upiAmt > 0) {
  326. $("#paymentmodesummary").append("<span class='row paymentmodes'>UPI</span>");
  327. $("#paymentmodeamountsummary").append("<span class='row paymentmodes'>" + Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(upiAmt, 2) + "</span>");
  328. }
  329. if (cardAmt > 0) {
  330. $("#paymentmodesummary").append("<span class='row paymentmodes'>Card</span>");
  331. $("#paymentmodeamountsummary").append("<span class='row paymentmodes'>" + Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(cardAmt, 2) + "</span>");
  332. }
  333. instance.updatePaymentSummaryTotal();
  334. }
  335. updatePaymentSummaryTotal() {
  336. var instance = this;
  337. var amt = 0;
  338. var totalCreditAmt = Number($("#txt_TotalCreditAmount").val());
  339. if (!isNaN(totalCreditAmt)) {
  340. amt = totalCreditAmt;
  341. }
  342. $("#paymentslist li").each(function (e) {
  343. var curAmt = Number($(this).find(".spn_payment_amount").text());
  344. if (!isNaN(curAmt)) {
  345. amt += curAmt;
  346. }
  347. });
  348. var discAmt = 0;
  349. var tdsAmt = 0;
  350. var penalityAmt = 0;
  351. $("#dueControl_transactonListDiv .divDue_Item").each(function (e) {
  352. var curAdjAmt = Number($(this).find(".txtCurrentAmount").val());
  353. if (!isNaN(curAdjAmt) && curAdjAmt != 0) {
  354. var curDiscAmt = Number($(this).find(".txtDiscountAmount").val());
  355. if (!isNaN(curDiscAmt)) {
  356. if (curDiscAmt > 0) {
  357. discAmt += curDiscAmt;
  358. }
  359. else {
  360. penalityAmt += curDiscAmt;
  361. }
  362. }
  363. }
  364. });
  365. $("#dueControl_transactonListDiv .divDue_Item").each(function (e) {
  366. var curAdjAmt = Number($(this).find(".txtCurrentAmount").val());
  367. if (!isNaN(curAdjAmt) && curAdjAmt != 0) {
  368. var curTdsAmt = Number($(this).find(".txtTdsAmount").val());
  369. if (!isNaN(curTdsAmt)) {
  370. tdsAmt += curTdsAmt;
  371. }
  372. }
  373. });
  374. var walletAmt = Number($(".txtTotalWalletAdjusted").val());
  375. if (!isNaN(walletAmt)) {
  376. amt += walletAmt;
  377. }
  378. var totAdj = Number($(".txtTotalDueAdjusted").val());
  379. if (totAdj != null && totAdj != undefined && !isNaN(totAdj)) {
  380. $(".totAdjusted").text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(totAdj, 2));
  381. }
  382. else {
  383. totAdj = 0;
  384. }
  385. if (amt != null && amt != undefined && !isNaN(amt)) {
  386. $("#hf_TotalCreditAmount").val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(amt, 2));
  387. $(".totAmount").text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(amt, 2));
  388. }
  389. else {
  390. amt = 0;
  391. }
  392. var advanceAmt = amt - totAdj;
  393. var advAmt = (advanceAmt > 0) ? advanceAmt : 0;
  394. $('.totAdvance').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(advAmt, 2));
  395. var totDiscountAmount = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(discAmt, 2);
  396. $('.totDiscount').text(totDiscountAmount);
  397. var totPenalityAmount = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(penalityAmt, 2);
  398. $('.totPenality').text(totPenalityAmount);
  399. var totTDSAmount = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(tdsAmt, 2);
  400. $('.totTds').text(totTDSAmount);
  401. instance.showOrHideAccounts(discAmt, penalityAmt, tdsAmt);
  402. }
  403. loadAccounts() {
  404. var instance = this;
  405. var discount = 'Discount Account';
  406. var paymentTypeId = Number($(".hdn_paymenttypeid").val());
  407. var url = _appsettings.server_url() + '/apis/v4/bizgaze/transact/ledgers/ledgerautocomplete';
  408. var url1 = _appsettings.server_url() + '/apis/v4/bizgaze/transact/ledgers/receiptledgerautocomplete/discount/' + discount + '/paymenttypeid/' + paymentTypeId;
  409. AutoCompleteHelper.getHelper().Create("#txtAutoComplete_DiscountAccount", "#hfAutoComplete_DiscountAccount", url1, function (response) {
  410. });
  411. AutoCompleteHelper.getHelper().Create("#txtAutoComplete_PenalityAccount", "#hfAutoComplete_PenalityAccount", url, null);
  412. AutoCompleteHelper.getHelper().Create("#txtAutoComplete_TDSAccount", "#hfAutoComplete_TDSAccount", url, null);
  413. $("#txtAutoComplete_DiscountAccount").on('select2:select', function (e) {
  414. instance.accountsOnChange(Transact.Enums.PaymentDiscountType.Discount);
  415. });
  416. $("#txtAutoComplete_PenalityAccount").on('select2:select', function (e) {
  417. instance.accountsOnChange(Transact.Enums.PaymentDiscountType.Penalty);
  418. });
  419. $("#txtAutoComplete_TDSAccount").on('select2:select', function (e) {
  420. instance.accountsOnChange(Transact.Enums.PaymentDiscountType.TDS);
  421. });
  422. }
  423. accountsOnChange(accountType) {
  424. var instance = this;
  425. var accountId = 0;
  426. var accountName = "";
  427. var controlId = "";
  428. var hiddenFieldControlId = "";
  429. if (accountType == Transact.Enums.PaymentDiscountType.Discount) {
  430. accountId = Number($("#txtAutoComplete_DiscountAccount").val());
  431. accountName = $("#txtAutoComplete_DiscountAccount").text();
  432. controlId = "#txtAutoComplete_DiscountAccount";
  433. hiddenFieldControlId = "#hfAutoComplete_DiscountAccount";
  434. }
  435. else if (accountType == Transact.Enums.PaymentDiscountType.Penalty) {
  436. accountId = Number($("#txtAutoComplete_PenalityAccount").val());
  437. accountName = $("#txtAutoComplete_PenalityAccount").text();
  438. controlId = "#txtAutoComplete_PenalityAccount";
  439. hiddenFieldControlId = "#hfAutoComplete_PenalityAccount";
  440. }
  441. else if (accountType == Transact.Enums.PaymentDiscountType.TDS) {
  442. accountId = Number($("#txtAutoComplete_TDSAccount").val());
  443. accountName = $("#txtAutoComplete_TDSAccount").text();
  444. controlId = "#txtAutoComplete_TDSAccount";
  445. hiddenFieldControlId = "#hfAutoComplete_TDSAccount";
  446. }
  447. if (accountId == 0)
  448. accountName = "Select Account";
  449. if (accountId == 1 || accountId == -1)
  450. accountName = "Create New";
  451. if (accountName == "Create New") {
  452. $("#txtAutoComplete_DiscountAccount").val(null).trigger("change");
  453. $("#txtAutoComplete_PenalityAccount").val(null).trigger("change");
  454. $("#txtAutoComplete_TDSAccount").val(null).trigger("change");
  455. var FormUniqueId = "Bizgaze_Extension_Transact_Ledgers_App_Ledgers_CreateForm";
  456. var AppConfigurationUnique = "Bizgaze_Extension_Transact_Ledgers_AppConfiguration_CreateLedgers";
  457. Unibase.Platform.Forms.Managers.FormManager.Instance().getFormbyUniqueId(FormUniqueId).then(function (response) {
  458. var obj = {
  459. controlid: controlId,
  460. hiddenid: hiddenFieldControlId
  461. };
  462. var successobj = {
  463. CallBack: function (id, obj) {
  464. Bizgaze.Apps.Transact.Managers.LedgerManager.Instance().getLedgerById(id).then(function (response) {
  465. var createdLedger = new Option(response.result.LedgerName, response.result.LedgerId, true);
  466. $(obj.controlid + " option").remove();
  467. $(obj.controlid).append(createdLedger).trigger('change');
  468. $(obj.hiddenid).val(response.result.LedgerId);
  469. $(obj.controlid).parents(".transactonList_item").find('.hf_AccountId').val(response.result.LedgerId);
  470. });
  471. },
  472. Parameters: obj,
  473. };
  474. var formviewerObj = {
  475. FormId: response.result.FormId,
  476. AppConfigurationId: 0,
  477. Pk_Value: 0,
  478. PortletWidgetId: 0,
  479. OnSuccess: successobj,
  480. OnFail: null,
  481. OnLoad: null,
  482. };
  483. instance.fileCacheHelper.loadJsFile("apps/transact/managers/ledgers/ledgermanager.js", function () {
  484. Unibase.Platform.Forms.Components.FormViewer.instance.init(formviewerObj);
  485. });
  486. });
  487. }
  488. }
  489. bindAccounts(accountsObj) {
  490. if (accountsObj.DiscountAccountName != null && accountsObj.DiscountAccountName != "" && accountsObj.DiscountAccountName != undefined) {
  491. var selectedDiscountAcc = new Option(accountsObj.DiscountAccountName, accountsObj.DiscountAccountId, true);
  492. $("#txtAutoComplete_DiscountAccount").append(selectedDiscountAcc);
  493. }
  494. if (accountsObj.PenalityAccountName != null && accountsObj.PenalityAccountName != "" && accountsObj.PenalityAccountName != undefined) {
  495. var selectedPenalityAcc = new Option(accountsObj.PenalityAccountName, accountsObj.PenalityAccountId, true);
  496. $("#txtAutoComplete_PenalityAccount").append(selectedPenalityAcc);
  497. }
  498. if (accountsObj.TDSAccountName != null && accountsObj.TDSAccountName != "" && accountsObj.TDSAccountName != undefined) {
  499. var selectedTDSAcc = new Option(accountsObj.TDSAccountName, accountsObj.TDSAccountId, true);
  500. $("#txtAutoComplete_TDSAccount").append(selectedTDSAcc);
  501. }
  502. }
  503. showOrHideAccounts(discount, penality, tds) {
  504. if (discount == 0) {
  505. $("#div_Discount").addClass("hidden");
  506. $("#txtAutoComplete_DiscountAccount").removeClass("required");
  507. }
  508. else {
  509. $("#div_Discount").removeClass("hidden");
  510. $("#txtAutoComplete_DiscountAccount").addClass("required");
  511. }
  512. if (penality == 0) {
  513. $("#div_Penality").addClass("hidden");
  514. $("#txtAutoComplete_PenalityAccount").removeClass("required");
  515. }
  516. else {
  517. $("#div_Penality").removeClass("hidden");
  518. $("#txtAutoComplete_PenalityAccount").addClass("required");
  519. }
  520. if (tds == 0) {
  521. $("#div_TDS").addClass("hidden");
  522. $("#txtAutoComplete_TDSAccount").removeClass("required");
  523. }
  524. else {
  525. $("#div_TDS").removeClass("hidden");
  526. $("#txtAutoComplete_TDSAccount").addClass("required");
  527. }
  528. }
  529. getPaymentByRemoteId(remoteId, netTotal) {
  530. var sum = 0;
  531. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/managers/payments/paymentmanager.js", function () {
  532. Bizgaze.Apps.Transact.Managers.PaymentManager.Instance().getPaymentByRemoteId(remoteId).then(function (response) {
  533. var response = response.result;
  534. if (response != null) {
  535. for (var i = 0; i < response.length; i++) {
  536. var data = response[i];
  537. var totalAmount = data.paymentamount;
  538. sum = sum + totalAmount;
  539. }
  540. var orderAmount = netTotal - sum;
  541. if (orderAmount > 0) {
  542. $("#txt_TotalCreditAmount").parent().addClass("floating-label-form-group-with-value");
  543. $("#txt_TotalCreditAmount").val(orderAmount);
  544. }
  545. else {
  546. $("#txt_TotalCreditAmount").parent().addClass("floating-label-form-group-with-value");
  547. $("#txt_TotalCreditAmount").val(0);
  548. }
  549. }
  550. else {
  551. $("#txt_TotalCreditAmount").val(netTotal);
  552. }
  553. });
  554. });
  555. }
  556. loadControlSettings(controlsettingjson, formpropertyid) {
  557. return ``;
  558. }
  559. loadPropertySettings(propertysettings, formpropertyid, DocPropertyName) {
  560. return ``;
  561. }
  562. bindEditFormDetails(formpropertyid, propval, DocPropertyName) {
  563. return ``;
  564. }
  565. static Instance() {
  566. if (this.instance === undefined) {
  567. this.instance = new PaymentSummary();
  568. }
  569. return this.instance;
  570. }
  571. }
  572. Controls.PaymentSummary = PaymentSummary;
  573. })(Controls = Transact.Controls || (Transact.Controls = {}));
  574. })(Transact = Apps.Transact || (Apps.Transact = {}));
  575. })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
  576. })(Bizgaze || (Bizgaze = {}));