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.

confirmpayment.component.js 18KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  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 ConfirmPayment extends Unibase.Platform.Core.BaseComponent {
  10. init(formpropertyid, prop, callback) {
  11. var jsfiles = ['apps/transact/managers/payments/paymentmanager.js', 'platform/core/helpers/numberhelper/numberhelper.js',];
  12. this.fileCacheHelper.loadJsFiles(jsfiles, function () {
  13. });
  14. }
  15. loadControl(containerid, prop) {
  16. var instance = this;
  17. var jsfiles = ['apps/transact/managers/payments/paymentmanager.js', 'platform/core/helpers/numberhelper/numberhelper.js',];
  18. instance.fileCacheHelper.loadJsFiles(jsfiles, function () {
  19. var html = `<div class="row m-t-lg"><input type="hidden" id="hdn_customcontrol" class="value-control" value="Bizgaze.Apps.Transact.Controls.ConfirmPayment.Instance().getobj();">
  20. </div><div id="confirmPaymentDiv"><div class="col-sm-12 control-group pa-10 confirmPaymentList"></div></div>`;
  21. $("#" + containerid).html(html);
  22. var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  23. var PaymentModeId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_paymentmodeid").Value);
  24. var paymentid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_paymentid").Value);
  25. $(".divCustomProperties_paymentaccountid").addClass("hidden");
  26. $(".txtAutoComplete_paymentaccountid").removeClass("required");
  27. var html = '';
  28. Bizgaze.Apps.Transact.Managers.PaymentManager.Instance().getpayment(paymentid).then(function (response) {
  29. debugger;
  30. var paymentModes = [];
  31. var PaymentModeNames = [];
  32. for (var j = 0; j < response.result.Payments.length; j++) {
  33. debugger;
  34. var data = response.result.Payments[j];
  35. var refno = 'NA';
  36. if (data.EntryRefNo != null && data.EntryRefNo != '' && data.EntryRefNo != undefined) {
  37. refno = data.EntryRefNo;
  38. }
  39. if (data.PaymentModeId != 0) {
  40. var html = `<div class="col-sm-12 list-group-item control-group pa-10 confirmPaymentList multiAccounts" id="confirmPaymentItem_${data.JournalEntryId}">` +
  41. '<div class="row">' +
  42. '<div class="col-sm-2"><div class="floating-label-form-group m-b floating-label-form-group-with-value" style="border:0px"><span class="h6">' + data.PaymentModeName + '</span><input class="form-control value-control text-dark" disabled type="text" value="' + Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(data.PaymentAmount, 2) + '"></div></div>' +
  43. '<div class="col-sm-2"><div class="floating-label-form-group m-b floating-label-form-group-with-value" style="border:0px"><span class="h6">Ref No.</span><input class="form-control value-control text-dark txt_refno" type="text" value="' + refno + '"></div></div>' +
  44. '<div class="col-sm-2"><div class="floating-label-form-group m-b floating-label-form-group-with-value " style="border:0px"><span class="h6">Ref Date</span><input class="dateselect_1 form-control value-control datepicker-input refDateInput txt_refdate hasDatepicker floating-label-control" type="text" value="' + Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(data.RefDate, "DD/MM/YYYY") + '"/></div></div>' +
  45. '<div class="col-sm-6"><div class="floating-label-form-group" style="border:0"><span class="h6">Account <span class="text-danger">*</span></span><input type="hidden" id="hf_accountId_' + data.JournalEntryId + '" class="hfaccountid" value="0" /><select id="accountSetting_' + data.JournalEntryId + '" type="text" class="form-control account-setting-select floating-label-control" value="" data-journalentryid="' + data.JournalEntryId + '"></select><input type="hidden" id="hf_JournalEntryId" value=' + data.JournalEntryId + ' /><input type="hidden" id="hf_AccountId_' + data.JournalEntryId + '" value=' + data.LedgerId + ' /><input type="hidden" id="hf_AccountName" value="' + data.LedgerName
  46. + '" /><input type="hidden" id="hf_PaymentModeName" value=' + data.PaymentModeName + ' /></div></div>' +
  47. '</div>' +
  48. '</div>';
  49. $('#confirmPaymentDiv').find(".confirmPaymentList:last").after(html);
  50. var selectedAccount = new Option(data.LedgerName, data.LedgerId.toString(), true);
  51. $('#accountSetting_' + data.JournalEntryId).append(selectedAccount);
  52. Bizgaze.Apps.Transact.Controls.ConfirmPayment.Instance().ledgerAutoComplete(data.JournalEntryId);
  53. }
  54. }
  55. $(".refDateInput").daterangepicker({
  56. locale: {
  57. format: 'DD/MM/YYYY',
  58. },
  59. singleDatePicker: true,
  60. showDropdowns: true,
  61. minYear: 0,
  62. });
  63. $(".refDateInput").parents(".floating-label-form-group").addClass("floating-label-form-group-with-value");
  64. $('#confirmPaymentDiv .account-setting-select').change(function () {
  65. const journalEntryId = +$(this).attr('data-journalentryid');
  66. if (+$(this).val() !== -1) {
  67. $(`#hf_AccountId_${journalEntryId}`).val($(this).val());
  68. }
  69. Bizgaze.Apps.Transact.Controls.ConfirmPayment.Instance().loadform(journalEntryId);
  70. });
  71. });
  72. });
  73. }
  74. loadform(JournalEntryId) {
  75. var instance = this;
  76. var accountName = "";
  77. const selectEl = $(`#accountSetting_${JournalEntryId}`);
  78. var hiddenFieldControlId = '#hf_accountId_' + JournalEntryId;
  79. var controlId = 'hf_accountId_' + JournalEntryId;
  80. var oldValue = +$(`#hf_AccountId_${JournalEntryId}`).val();
  81. var accountId = +selectEl.val();
  82. if (accountId == 0)
  83. accountName = "Select Account";
  84. if (accountId == -1) {
  85. selectEl.val(null).trigger("change");
  86. var FormUniqueId = "Bizgaze_Extension_Transact_Ledgers_App_Ledgers_CreateForm";
  87. var AppConfigurationUnique = "Bizgaze_Extension_Transact_Ledgers_AppConfiguration_CreateLedgers";
  88. Unibase.Platform.Forms.Managers.FormManager.Instance().getFormbyUniqueId(FormUniqueId).then(function (response) {
  89. var obj = {
  90. JournalEntryId: JournalEntryId,
  91. controlid: controlId,
  92. hiddenid: hiddenFieldControlId
  93. };
  94. var successobj = {
  95. CallBack: function (id, obj) {
  96. Bizgaze.Apps.Transact.Managers.LedgerManager.Instance().getLedgerById(id).then(function (response) {
  97. var createdLedger = new Option(response.result.LedgerName, response.result.LedgerId, true);
  98. selectEl.append(createdLedger).val(response.result.LedgerId).trigger('change');
  99. $(`#hf_AccountId_${JournalEntryId}`).val(response.result.LedgerId);
  100. });
  101. },
  102. Parameters: obj,
  103. };
  104. const onCloseCallBack = {
  105. CallBack: function (id, obj) {
  106. selectEl.val(oldValue).trigger('change');
  107. },
  108. Parameters: obj,
  109. };
  110. var formviewerObj = {
  111. FormId: response.result.FormId,
  112. AppConfigurationId: 0,
  113. Pk_Value: 0,
  114. PortletWidgetId: 0,
  115. OnSuccess: successobj,
  116. OnFail: null,
  117. OnLoad: null,
  118. OnClose: onCloseCallBack
  119. };
  120. instance.fileCacheHelper.loadJsFile("apps/transact/managers/ledgers/ledgermanager.js", function () {
  121. Unibase.Platform.Forms.Components.FormViewer.instance.init(formviewerObj);
  122. });
  123. });
  124. }
  125. }
  126. loadControlSettings(controlsettingjson, formpropertyid) {
  127. throw new Error("Method not implemented.");
  128. }
  129. loadPropertySettings(propertysettings, formpropertyid, DocPropertyName) {
  130. throw new Error("Method not implemented.");
  131. }
  132. bindEditFormDetails(formpropertyid, propval, DocPropertyName) {
  133. var instance = this;
  134. }
  135. HideReceiptEditButton() {
  136. let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  137. var stage = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key.endsWith('_stageshortcode')).Value;
  138. if (stage == "VD") {
  139. $(detailContainer).find('#btn_EditReceipt').addClass('hidden');
  140. $(detailContainer).find('#btn_EditReceipt').removeClass('d-flex');
  141. }
  142. else {
  143. $(detailContainer).find('#btn_EditReceipt').removeClass('hidden');
  144. $(detailContainer).find('#btn_EditReceipt').addClass('d-flex');
  145. }
  146. }
  147. HidePaymentEditButton() {
  148. let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  149. var stage = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key.endsWith('_stageshortcode')).Value;
  150. if (stage == "VD") {
  151. $(detailContainer).find('#btn_EditPayments').addClass('hidden');
  152. $(detailContainer).find('#btn_EditPayments').removeClass('d-flex');
  153. }
  154. else {
  155. $(detailContainer).find('#btn_EditPayments').removeClass('hidden');
  156. $(detailContainer).find('#btn_EditPayments').addClass('d-flex');
  157. }
  158. }
  159. ConfirmPayment() {
  160. var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  161. let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  162. var stage = String(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_stageshortcode").Value);
  163. if (stage == "CNF") {
  164. $(detailContainer).find('.DetailSetting_' + '' + InstalledAppId + '' + '_Confirm').parent('li').addClass('hidden');
  165. }
  166. else if (stage == "RJT") {
  167. $(detailContainer).find('.DetailSetting_' + '' + InstalledAppId + '' + '_Reject').parent('li').addClass('hidden');
  168. $(detailContainer).find('.DetailSetting_' + '' + InstalledAppId + '' + '_Confirm').parent('li').addClass('hidden');
  169. }
  170. }
  171. ledgerAutoComplete(JournalEntryId) {
  172. var url = _appsettings.server_url() + '/apis/v4/bizgaze/transact/ledgers/accounttypeledgersautocompleteasync';
  173. AutoCompleteHelper.getHelper().Create("#accountSetting_" + JournalEntryId + "", "#hf_accountId_" + JournalEntryId + "", url, function (response) {
  174. var data = response;
  175. });
  176. }
  177. getobj() {
  178. var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  179. var PaymentModeId = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_paymentmodeid").Value;
  180. var RefNo = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_refno").Value;
  181. var paymenttypeid = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_paymenttypeid").Value;
  182. var paymentid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_paymentid").Value);
  183. var fromDate = $(".date_decideddate").val();
  184. var refNo = $(".txt_refno").val();
  185. var refDate = $(".txt_refdate").val();
  186. var paymentmodedata = {
  187. PaymentId: paymentid,
  188. PaymentStatusId: 4,
  189. DecidedDate: moment(fromDate, "DD/MM/YYYY").format("YYYY-MM-DD"),
  190. PaymentModeId: PaymentModeId,
  191. PaymentTypeId: paymenttypeid,
  192. RefNo: refNo,
  193. Payments: Bizgaze.Apps.Transact.Controls.ConfirmPayment.Instance().getMultiAccounts(),
  194. PaymentAccountId: Number(Bizgaze.Apps.Transact.Controls.ConfirmPayment.Instance().getMultiAccounts()[0].LedgerId),
  195. RefDate: moment(refDate, "DD/MM/YYYY").format("YYYY-MM-DD"),
  196. };
  197. var detailobj = Unibase.Themes.Compact.Components.Details.Instance();
  198. var detail_instance = Unibase.Themes.Compact.Components.Details.Instance();
  199. var containerid = detail_instance._containerId;
  200. var portletid = detail_instance.unibase_core_activeportletid;
  201. detail_instance.loadWidgets(detailobj._installedAppId, portletid, "#" + containerid + "");
  202. return paymentmodedata;
  203. }
  204. getMultiAccounts() {
  205. var payments = [];
  206. $(".multiAccounts").each(function () {
  207. var journalEntryId = Number($(this).find("#hf_JournalEntryId").val());
  208. var account = Number($(this).find(".hfaccountid").val());
  209. var rDate = $(this).find(".txt_refdate").val();
  210. var refDate = moment(rDate, "DD/MM/YYYY").format("YYYY-MM-DD");
  211. var refNo = $(this).find(".txt_refno").val();
  212. payments.push({ LedgerId: account, JournalEntryId: journalEntryId, RefDate: refDate, RefNo: refNo });
  213. });
  214. return payments;
  215. }
  216. reconcileEntry() {
  217. var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  218. var paymentId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_paymentid").Value);
  219. Bizgaze.Apps.Transact.Managers.PaymentManager.Instance().reconcileEntry(paymentId).then(function (response) {
  220. });
  221. }
  222. static Instance() {
  223. if (this._instance === undefined)
  224. this._instance = new ConfirmPayment();
  225. return this._instance;
  226. }
  227. }
  228. Controls.ConfirmPayment = ConfirmPayment;
  229. })(Controls = Transact.Controls || (Transact.Controls = {}));
  230. })(Transact = Apps.Transact || (Apps.Transact = {}));
  231. })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
  232. })(Bizgaze || (Bizgaze = {}));