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 39KB

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