123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- var Bizgaze;
- (function (Bizgaze) {
- let Apps;
- (function (Apps) {
- let Transact;
- (function (Transact) {
- let Controls;
- (function (Controls) {
- class AdvanceApprove 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 = '<div class="table-wrap">' +
- '<div class="table-responsive advanceapproveexpenseitem"></div></div>' +
- '<input type="hidden" id="hdn_advanceapproveexpenseitemcontrol" class="value-control" value="Bizgaze.Apps.Transact.Controls.AdvanceApprove.Instance().AdvanceApproveExpenseItemObject();"/>';
- $("#" + containerid).html(html);
- Bizgaze.Apps.Transact.Controls.AdvanceApprove.Instance().bindloginuser();
- Bizgaze.Apps.Transact.Controls.AdvanceApprove.Instance().advanceapproveexpenseitemdetails();
- }
- 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');
- });
- });
- }
- advanceapproveexpenseitemdetails() {
- 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().advanceitemdetails(expenseId).then(function (response) {
- var html = '';
- html += '<table class="table mb-0">' +
- '<thead>' +
- '<tr>' +
- '<th> Category Name </th>' +
- '<th> Advance Amount </th>' +
- '<th> Claim Amount </th>' +
- '<th> Description </th>' +
- '<th> Balance </th>' +
- '</tr>' +
- '</thead>' +
- '<tbody>';
- for (var i = 0; i < response.result.length; i++) {
- const expenseItemId = response.result[i].expenseitemid;
- const expenseId = response.result[i].expenseid;
- html += `<tr id="expenseItemRow_${expenseItemId}">
- <input type="hidden" class="hf_expenseid" value="${expenseId}" />
- <input type="hidden" class="hf_expenseitemid" value="${expenseItemId}" />
- <td class="txt_categoryname" id="categoryname_${expenseItemId}">${response.result[i].categoryname}</td>
- <td class="txt_expenseamount" id="expenseAmount_${expenseItemId}">${response.result[i].expamount}</td>
- <td> <input type="text" placeholder="Enter Claim Amount" class="form-control txt_claimamount txt_disable_${expenseItemId} required" id="claimAmount_${expenseItemId}" value = "${response.result[i].claimamount}" onkeyup="Bizgaze.Apps.Transact.Controls.AdvanceApprove.Instance().ClaimAmountValidation(${expenseItemId},${response.result[i].expamount});"> </td>
- <td> <input type="text" placeholder="Enter Description" class="form-control txt_descriptionn txt_disable_${expenseItemId}" id="Descriptionn_${expenseItemId}" value = "${response.result[i].description}"> </td>
- <td> <input type="text" class="form-control txt_balance txt_disable_${expenseItemId}" value = ${response.result[i].balanceamount} id="txt_balance_${expenseItemId}" disabled > </td>
- </tr>`;
- }
- html += '</tbody>' +
- '</table>';
- $(".advanceapproveexpenseitem").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;
- }
- }
- AdvanceApproveExpenseItemObject() {
- const instance = this;
- var data = new Array();
- let isClaimValid = true;
- $(".advanceapproveexpenseitem").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_advanceapproveexpenseitem").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 AdvanceApprove();
- }
- return this.instance;
- }
- }
- Controls.AdvanceApprove = AdvanceApprove;
- })(Controls = Transact.Controls || (Transact.Controls = {}));
- })(Transact = Apps.Transact || (Apps.Transact = {}));
- })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
- })(Bizgaze || (Bizgaze = {}));
|