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.

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