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.

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