var Bizgaze; (function (Bizgaze) { let Apps; (function (Apps) { let Transact; (function (Transact) { let Controls; (function (Controls) { class ApproveExpense extends Unibase.Platform.Core.BaseComponent { constructor() { super(...arguments); this.ApproveExpenseItems = []; } init(formpropertyid, prop, callback) { } loadControlSettings(controlsettingjson, formpropertyid) { } loadPropertySettings(propertysettings, formpropertyid, DocPropertyName) { } bindEditFormDetails(formpropertyid, propval, DocPropertyName) { } loadControl(containerid, prop) { var instance = this; instance.transactionId = prop.FormPropertyId; var html = '
' + '
' + ''; $("#" + containerid).html(html); Bizgaze.Apps.Transact.Controls.ApproveExpense.Instance().bindloginuser(); Bizgaze.Apps.Transact.Controls.ApproveExpense.Instance().approveexpenseitemdetails(); } bindloginuser() { let UserId = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().userId; var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; var fromdate = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_fromdate").Value; var _fromdate = Unibase.Platform.Helpers.DateTimeHelper.instance.formatServerDateTime(fromdate); Unibase.Platform.Analytics.Reports.ReportBuilder.Instance().fileCacheHelper.loadJsFile("apps/crm/contacts/managers/contactmanager.js", function () { Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getContactByUserId(UserId).then(function (response) { let contactId = response.result.ContactId; let organizationName = response.result.ContactName; let contact = new Option(organizationName, contactId.toString(), true); $(".txtAutoComplete_approvalby").append(contact); $(".txtAutoComplete_approvalby").val(contactId).trigger("change"); $(".date_fromdate").val(fromdate).attr("disabled", "disabled"); $(".hfdate_fromdate").val(_fromdate); $(".date_fromdate").closest('.floating-label-form-group').addClass('floating-label-form-group-with-value'); }); }); } approveexpenseitemdetails() { var instance = this; var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; var expenseId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_expenseid").Value); instance.fileCacheHelper.loadJsFile("apps/transact/managers/expenses/expensemanager.js", function () { Bizgaze.Apps.Transact.Managers.Expenses.ExpenseManager.Instance().approveexpenseitemlist(expenseId).then(function (response) { var html = ''; html += '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + ''; for (var i = 0; i < response.result.length; i++) { const expenseItemId = response.result[i].expenseitemid; const expenseId = response.result[i].expenseid; html += ``; } html += '' + '
Category Name Expense Amount Claim Amount Description Balance
${response.result[i].categoryname} ${response.result[i].expamount}
'; $(".approveexpenseitem").append(html); for (var i = 0; i < response.result.length; i++) { if (response.result[i].checkexpenseitem == true) { const expenseItemId = response.result[i].expenseitemid; $(`#Descriptionn_${expenseItemId}`).prop("disabled", false); $(`#claimAmount_${expenseItemId}`).prop("disabled", false); $(`#checkExpenseItem_${expenseItemId}`).prop("checked", true); } } }); }); } ClaimAmountValidation(expenseitemid, expamount) { var claimAmount = Number($(`#claimAmount_${expenseitemid}`).val()); if (claimAmount <= expamount) { var balance = (expamount - claimAmount).toFixed(2); $(`#txt_balance_${expenseitemid}`).val(balance); } else { Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Claim Amount Cannot Be Greater Than ExpenseAmount"); $(`#txt_balance_${expenseitemid}`).val(0); $(`#claimAmount_${expenseitemid}`).val(""); $(`#claimAmount_${expenseitemid}`).addClass("required"); return false; } } ApproveExpenseItemObject() { const instance = this; var data = new Array(); let isClaimValid = true; $(".approveexpenseitem").find("tbody tr").each(function () { var balanceamount = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number($(this).find('.txt_balance').val()), 2); var ClaimAmount = Number($(this).find('.txt_claimamount').val()); if (ClaimAmount == 0) { const containerid = instance.navigationHelper.getLastContainerId(); const errEl = $(`#${containerid} .form-error-message`).attr('id'); MessageHelper.Instance().showError("Claim Amount Should Be Greater Than Zero", errEl); isClaimValid = false; return false; } else { data.push({ ClaimAmount: Number($(this).find('.txt_claimamount').val()), BalanceAmount: Number(balanceamount), Description: $(this).find('.txt_descriptionn').val(), ExpAmount: Number($(this).find('.txt_expenseamount').text()), ExpenseItemId: Number($(this).find('.hf_expenseitemid').val()), ExpenseId: Number($(this).find('.hf_expenseid').val()), CheckExpenseItem: $(this).find(".chk_approveexpenseitem").prop("checked"), }); } }); if (!isClaimValid) { return false; } return data; } refreshpage() { var detailobj = Unibase.Themes.Compact.Components.Details.Instance(); detailobj._recordId = Unibase.Themes.Providers.DetailHelper.recordId; detailobj._installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; detailobj._containerId = this.navigationHelper.getLastContainerId(); var idetailObj = detailobj; detailobj.loadPortlets(idetailObj); } static Instance() { if (this.instance === undefined) { this.instance = new ApproveExpense(); } return this.instance; } } Controls.ApproveExpense = ApproveExpense; })(Controls = Transact.Controls || (Transact.Controls = {})); })(Transact = Apps.Transact || (Apps.Transact = {})); })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {})); })(Bizgaze || (Bizgaze = {}));