Iniit
Этот коммит содержится в:
@@ -0,0 +1,278 @@
|
||||
var Bizgaze;
|
||||
(function (Bizgaze) {
|
||||
let Apps;
|
||||
(function (Apps) {
|
||||
let Hrms;
|
||||
(function (Hrms) {
|
||||
let Payroll;
|
||||
(function (Payroll) {
|
||||
let Controls;
|
||||
(function (Controls) {
|
||||
let PayRun;
|
||||
(function (PayRun) {
|
||||
class TerminateEmployee extends Unibase.Platform.Core.BaseComponent {
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
this.strtxt = "0";
|
||||
this.strDeductionstxt = "0";
|
||||
this.t_VisibleContainerId = "";
|
||||
this.delete_Array = [];
|
||||
}
|
||||
init(formpropertyid, prop, callback) {
|
||||
var container = "control-container-" + formpropertyid;
|
||||
var instance = this;
|
||||
instance.fileCacheHelper.loadJsFiles(['platform/core/helpers/numberhelper/numberhelper.js'], function () {
|
||||
let listCount = +$('#addNewEarningBtn').attr('data-count');
|
||||
instance.calculatenetpay();
|
||||
});
|
||||
}
|
||||
loadControl(containerid, prop) {
|
||||
var instance = this;
|
||||
instance.transactionId = prop.FormPropertyId;
|
||||
instance.t_VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
|
||||
Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().delete_Array = [];
|
||||
var html = `<div class="ul_terminateemployeedetails">
|
||||
<div class="terminateemployeeearningdetails">
|
||||
<div class='row text-dark font-weight-600'>
|
||||
<div class='col-md-6'>Additional Earnings</div>
|
||||
<div class='col-md-6'>AMOUNT</div>
|
||||
</div>
|
||||
<ul id="earningTypesList"></ul>
|
||||
<ul id="transactionList"></ul>
|
||||
<a href="javascript:;" id="addNewEarningBtn" class="btn btn-primary btn-sm mt-10" onclick="Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().addearnings();" data-count="0"> + Add Earning</a>
|
||||
<input type="hidden" id="hdn_termenateemployeeearningcontrol" class="value-control"
|
||||
value="Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().employeeearningobject();"/></div>`;
|
||||
html += ` <div class="terminateemployeedeductiondetails">
|
||||
<div class='row text-dark font-weight-600'>
|
||||
<div class='col-md-6'>Deductions</div>
|
||||
<div class='col-md-6'>AMOUNT</div>
|
||||
</div>
|
||||
<ul id="DeductionList"></ul>
|
||||
<ul id="DeductiontransactionList"></ul>
|
||||
<a href="javascript:;" id="addNewDeductionBtn" class="btn btn-primary btn-sm mt-10" onclick="Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().addDeduction();" data-count="0">+ Add Deduction</a><input type="hidden" id="hdn_terminateemployeedeductioncontrol" class="value-control"
|
||||
value="Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().employeedeductionobject();"/></div></div></div>`;
|
||||
$("#" + containerid).html(html);
|
||||
Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().getPayRunEmployeedetails();
|
||||
Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().getpayrunemployeesalarycomponents();
|
||||
}
|
||||
loadControlSettings(controlsettingjson, formpropertyid) { }
|
||||
loadPropertySettings(propertysettings, formpropertyid, DocPropertyName) { }
|
||||
bindEditFormDetails(formpropertyid, propval, DocPropertyName) { }
|
||||
calculatenetpay() {
|
||||
$(".txt_lopdays").keyup(function () {
|
||||
var lopdays = Number($(".txt_lopdays").val());
|
||||
var payabledays = Number($(".txt_payabledays").val());
|
||||
var actualdays = Number($(".txt_actualpayabledays").val());
|
||||
var actual_days = actualdays - lopdays;
|
||||
$(".txt_actualpayabledays").val(actual_days);
|
||||
var netpay = Number($(".number_netpay").val());
|
||||
var totalnetpay = Math.round(netpay / payabledays);
|
||||
$(".number_netpay").val(Math.round(totalnetpay * actual_days));
|
||||
});
|
||||
}
|
||||
getPayRunEmployeedetails() {
|
||||
var instance = this;
|
||||
var payrunemployeeid = +$(".active-employee-item").find("#hf_widgetitem_Id").val();
|
||||
Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/hrms/payroll/managers/payrollmanager.js", function () {
|
||||
Bizgaze.Apps.Hrms.Payroll.Managers.PayRollManager.Instance().getemployee(payrunemployeeid).then(function (responce) {
|
||||
var employeeid = responce.result.EmployeeId;
|
||||
$("._employee").val(employeeid);
|
||||
var empname = responce.result.FirstName;
|
||||
var employee = new Option(empname, employeeid);
|
||||
$(".txtAutoComplete_employeeid").append(employee);
|
||||
$(".txtAutoComplete_employeeid").prop("disabled", true);
|
||||
$(".number_netpay").val(responce.result.NetPay);
|
||||
$(".txt_payabledays").val(responce.result.PayableDays);
|
||||
$(".txt_actualpayabledays").val(responce.result.ActualPayabledays);
|
||||
$(".txt_lopdays").val(responce.result.LOPDays);
|
||||
});
|
||||
});
|
||||
}
|
||||
getpayrunemployeesalarycomponents() {
|
||||
var instance = this;
|
||||
let listCount = +$('#addNewEarningBtn').attr('data-count');
|
||||
var payrunemployeeid = +$(".active-employee-item").find("#hf_widgetitem_Id").val();
|
||||
Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/hrms/payroll/managers/payrollmanager.js", function () {
|
||||
Bizgaze.Apps.Hrms.Payroll.Managers.PayRollManager.Instance().getemployeeterminatesalarycomponents(payrunemployeeid).then(function (response) {
|
||||
for (var i = 0; i < response.result.length; i++) {
|
||||
var data = response.result[i];
|
||||
var earningTypeId = data.SalaryComponentId;
|
||||
var html = `<li class="row my-10 liupdatepayrunearningdetails li_terminateemployeeearningdetails" id="earningTypeItem_${earningTypeId}">
|
||||
<input type="hidden" class='hf_earningtypeid' value='${earningTypeId}'/>
|
||||
<input type="hidden" class='hf_isactive' value='true'/>
|
||||
<input type="hidden" id="hfAutoCompleteId_SalaryComponents_${earningTypeId}" data-earningid=${earningTypeId} class="hf_earningtypeid" value="${earningTypeId}"/>
|
||||
<div class='col-md-5'><input type="text" class="form-control txt_earningname_${data.SalaryComponentId}" value='${response.result[i].PaySlipName}' /></div>
|
||||
<div class='col-md-5'><input type="text" id="txt_earningamount_${data.SalaryComponentId}" class="form-control txt_amount" value='${response.result[i].Amount}'></div>
|
||||
<div class='col-md-2 text-right'><a href="javascript:;" class="btn btn-sm btn-outline-danger btn-icon btn-with-icon" onclick="Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().${data.ComponentTypeId == 1 ? "deleteEarningType" : "deleteDeductionType"}(${data.SalaryComponentId})"><span class="btn-icon-wrap"><i class="las la-trash font-22"></i></span></a><input type="hidden" id="hdn_termenateemployeeearningcontrol" class="value-control"
|
||||
value="Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().employeeearningobject();"/></div>
|
||||
</li>`;
|
||||
var componenttypeid = data.ComponentTypeId;
|
||||
instance.strtxt = instance.strtxt.split('|');
|
||||
instance.strtxt.push(data.SalaryComponentId);
|
||||
instance.strtxt = instance.strtxt.join('|');
|
||||
$('#addNewDeductionBtn').attr('data-count', listCount + 1);
|
||||
if (componenttypeid == 1) {
|
||||
$("#transactionList").append(html);
|
||||
}
|
||||
else {
|
||||
$("#DeductionList").append(html);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
addearnings() {
|
||||
const instance = this;
|
||||
let listCount = +$('#addNewEarningBtn').attr('data-count');
|
||||
var html = `<li class='row my-10 literminateemployeeearningdetails li_terminateemployeeearningdetails' id="earningTypeItem_${listCount}" >
|
||||
<div class='col-md-5'>
|
||||
<select class="form-control hf_salarycomponentid" class="txtAutoComplete_Salary" id ="txtAutoComplete_Salary_${listCount}" data-placeholder="Select"></select><input type="hidden" id="hfAutoCompleteId_SalaryComponents_${listCount}" class="hf_earningtypeid" /><input type="hidden" class='hf_isactive' value='true'/></div>
|
||||
<div class='col-md-5'><input type="text" id="txt_earningamount_${listCount}" class="form-control txt_amount" onpaste = "return Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().isNumberKey(event)" oninput = "return Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().isNumberKey(event)"/></div>
|
||||
<div class='col-md-2 text-right'><a href="javascript:;" class="btn btn-sm btn-outline-danger btn-icon btn-with-icon" onclick="Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().deleteEarningType(${listCount})"><span class="btn-icon-wrap"><i class="las la-trash font-22"></i></span></a></div>
|
||||
</li>`;
|
||||
$("#transactionList").append(html);
|
||||
instance.autocompleteEarningType(listCount);
|
||||
$('#addNewEarningBtn').attr('data-count', listCount + 1);
|
||||
}
|
||||
autocompleteEarningType(id) {
|
||||
const instance = this;
|
||||
var url = _appsettings.server_url() + '/apis/v4/bizgaze/hrms/payroll/getearningforterminationautocomplete/componenttypeid/' + 1 + '/salarycomponentids/' + instance.strtxt + '/earningtypeid/' + 0;
|
||||
AutoCompleteHelper.getHelper().Create(`#txtAutoComplete_Salary_${id}`, $(`#hfAutoCompleteId_SalaryComponents_${id}`), url, function () {
|
||||
$(`#txtAutoComplete_Salary_${id}`).off('select2:select').on('select2:select', function () {
|
||||
const earningTypeId = $(this).val();
|
||||
if (!$.isArray(instance.strtxt)) {
|
||||
instance.strtxt = instance.strtxt.split('|');
|
||||
instance.strtxt.push(earningTypeId);
|
||||
instance.strtxt = instance.strtxt.join('|');
|
||||
}
|
||||
});
|
||||
$(`#txtAutoComplete_Salary_${id}`).off('select2:clear').on('select2:clear', function () {
|
||||
instance.updateEarningsType(id);
|
||||
});
|
||||
});
|
||||
}
|
||||
deleteEarningType(SalaryComponentId) {
|
||||
const instance = this;
|
||||
let earamount = Number($('#txt_earningamount_' + SalaryComponentId).val());
|
||||
if (earamount == 0) {
|
||||
$(`#earningTypeItem_${SalaryComponentId}`).remove();
|
||||
}
|
||||
var item = {
|
||||
amount: earamount,
|
||||
SalaryComponentId: SalaryComponentId
|
||||
};
|
||||
Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().delete_Array.push(item);
|
||||
instance.updateEarningsType(SalaryComponentId);
|
||||
$(`#earningTypeItem_${SalaryComponentId}`).remove();
|
||||
}
|
||||
updateEarningsType(id) {
|
||||
const instance = this;
|
||||
const earningTypeId = $(`#hfAutoCompleteId_SalaryComponents_${id}`).val();
|
||||
instance.strtxt = instance.strtxt.split('|');
|
||||
instance.strtxt = instance.strtxt.filter(v => v != earningTypeId).join('|');
|
||||
}
|
||||
employeeearningobject() {
|
||||
var earningobject = new Array();
|
||||
var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
|
||||
var payRunId = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_payrunid").Value;
|
||||
$(".ul_terminateemployeedetails").find(".li_terminateemployeeearningdetails").each(function () {
|
||||
var earningType = Number($(this).find('.hf_earningtypeid').val());
|
||||
earningobject.push({
|
||||
EarningName: $(this).find(".txtAutoComplete_Salary").text(),
|
||||
Amount: Number($(this).find(".txt_amount").val()),
|
||||
EarningType: earningType != null ? earningType : 0,
|
||||
PayRunId: payRunId,
|
||||
PayRunEmployeeId: +$(".active-employee-item").find("#hf_widgetitem_Id").val(),
|
||||
IsActive: $(this).find('.hf_isactive').val(),
|
||||
SalaryComponentId: Number($(this).find('.hf_earningtypeid').val()),
|
||||
deletedata: Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().delete_Array,
|
||||
});
|
||||
});
|
||||
return earningobject;
|
||||
}
|
||||
isNumberKey(evt) {
|
||||
let instance = this;
|
||||
if (evt.type == "paste") {
|
||||
let pastedData = evt.clipboardData.getData('text');
|
||||
let regExp = /[a-zA-Z]/g;
|
||||
if (regExp.test(pastedData)) {
|
||||
evt.preventDefault();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else if (evt.type == "input") {
|
||||
const inputVal = $("#" + instance.t_VisibleContainerId).find(evt.currentTarget).val();
|
||||
$("#" + instance.t_VisibleContainerId).find(evt.currentTarget).val(inputVal.replace(/\D/g, ''));
|
||||
}
|
||||
else {
|
||||
if (evt.which != 8 && evt.which != 0 && (evt.which < 48 || evt.which > 57)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
addDeduction() {
|
||||
const instance = this;
|
||||
let listCount = +$('#addNewDeductionBtn').attr('data-count');
|
||||
var html = `<li class='row my-10 literminateemployeedeductiondetails li_terminateemployeeearningdetails' id="earningTypeItem_${listCount}">
|
||||
<input type="hidden" class='hf_isactive' value='true'/>
|
||||
<div class='col-md-5'>
|
||||
<select class="form-control hf_salarycomponentid" class="txtAutoComplete_deductionSalary" id ="txtAutoComplete_deductionSalary_${listCount}" data-placeholder="Select"></select><input type="hidden" id="hfAutoCompleteId_deductionSalaryComponents_${listCount}" class="hf_earningtypeid" /></div>
|
||||
<div class='col-md-5'><input type="text" id="txt_earningamount_${listCount}" class="form-control txt_deductionamount_${listCount} txt_amount" onpaste = "return Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().isNumberKey(event)" oninput = "return Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().isNumberKey(event)"/></div>
|
||||
<div class='col-md-2 text-right'><a href="javascript:;" class="btn btn-sm btn-outline-danger btn-icon btn-with-icon" onclick="Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().deleteDeductionType(${listCount})"><span class="btn-icon-wrap"><i class="las la-trash font-22"></i></span></a></div>
|
||||
</li>`;
|
||||
$("#DeductiontransactionList").append(html);
|
||||
instance.autocompleteDeductionType(listCount);
|
||||
$('#addNewDeductionBtn').attr('data-count', listCount + 1);
|
||||
}
|
||||
autocompleteDeductionType(id) {
|
||||
const instance = this;
|
||||
var url = _appsettings.server_url() + '/apis/v4/bizgaze/hrms/payroll/getearningforterminationautocomplete/componenttypeid/' + 3 + '/salarycomponentids/' + instance.strDeductionstxt + '/earningtypeid/' + 0;
|
||||
AutoCompleteHelper.getHelper().Create(`#txtAutoComplete_deductionSalary_${id}`, $(`#hfAutoCompleteId_deductionSalaryComponents_${id}`), url, function () {
|
||||
$(`#txtAutoComplete_deductionSalary_${id}`).off('select2:select').on('select2:select', function () {
|
||||
const deductionTypeId = $(this).val();
|
||||
if (!$.isArray(instance.strDeductionstxt)) {
|
||||
instance.strDeductionstxt = instance.strDeductionstxt.split('|');
|
||||
instance.strDeductionstxt.push(deductionTypeId);
|
||||
instance.strDeductionstxt = instance.strDeductionstxt.join('|');
|
||||
}
|
||||
});
|
||||
$(`#txtAutoComplete_deductionSalary_${id}`).off('select2:clear').on('select2:clear', function () {
|
||||
instance.updateDeductionsType(id);
|
||||
});
|
||||
});
|
||||
}
|
||||
deleteDeductionType(SalaryComponentId) {
|
||||
const instance = this;
|
||||
let earamount = Number($('#txt_earningamount_' + SalaryComponentId).val());
|
||||
if (earamount == 0) {
|
||||
$(`#earningTypeItem_${SalaryComponentId}`).remove();
|
||||
}
|
||||
var item = {
|
||||
amount: earamount,
|
||||
SalaryComponentId: SalaryComponentId
|
||||
};
|
||||
Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().delete_Array.push(item);
|
||||
instance.updateDeductionsType(SalaryComponentId);
|
||||
$(`#earningTypeItem_${SalaryComponentId}`).remove();
|
||||
}
|
||||
updateDeductionsType(id) {
|
||||
const instance = this;
|
||||
const deductionTypeId = $(`#hfAutoCompleteId_deductionSalaryComponents_${id}`).val();
|
||||
instance.strDeductionstxt = instance.strDeductionstxt.split('|');
|
||||
instance.strDeductionstxt = instance.strDeductionstxt.filter(v => v != deductionTypeId).join('|');
|
||||
}
|
||||
static Instance() {
|
||||
if (this.instance === undefined) {
|
||||
this.instance = new TerminateEmployee();
|
||||
}
|
||||
return this.instance;
|
||||
}
|
||||
}
|
||||
PayRun.TerminateEmployee = TerminateEmployee;
|
||||
})(PayRun = Controls.PayRun || (Controls.PayRun = {}));
|
||||
})(Controls = Payroll.Controls || (Payroll.Controls = {}));
|
||||
})(Payroll = Hrms.Payroll || (Hrms.Payroll = {}));
|
||||
})(Hrms = Apps.Hrms || (Apps.Hrms = {}));
|
||||
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
|
||||
})(Bizgaze || (Bizgaze = {}));
|
||||
@@ -0,0 +1,33 @@
|
||||
var Bizgaze;
|
||||
(function (Bizgaze) {
|
||||
let Apps;
|
||||
(function (Apps) {
|
||||
let Hrms;
|
||||
(function (Hrms) {
|
||||
let Payroll;
|
||||
(function (Payroll) {
|
||||
let Controls;
|
||||
(function (Controls) {
|
||||
let PayRun;
|
||||
(function (PayRun) {
|
||||
class TerminateEmployee_Settings extends Unibase.Platform.Core.BaseComponent {
|
||||
loadSettingHtml(container) { }
|
||||
bindControlData(controldatajson) { }
|
||||
SaveControlData(controldatajson) { }
|
||||
loadControlPropertiesHtml(controlpropList, container) { }
|
||||
bindPropertySettings(prop) { }
|
||||
savePropertySettings(prop) { }
|
||||
static Instance() {
|
||||
if (this.instance === undefined) {
|
||||
this.instance = new TerminateEmployee_Settings();
|
||||
}
|
||||
return this.instance;
|
||||
}
|
||||
}
|
||||
PayRun.TerminateEmployee_Settings = TerminateEmployee_Settings;
|
||||
})(PayRun = Controls.PayRun || (Controls.PayRun = {}));
|
||||
})(Controls = Payroll.Controls || (Payroll.Controls = {}));
|
||||
})(Payroll = Hrms.Payroll || (Hrms.Payroll = {}));
|
||||
})(Hrms = Apps.Hrms || (Apps.Hrms = {}));
|
||||
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
|
||||
})(Bizgaze || (Bizgaze = {}));
|
||||
@@ -0,0 +1,536 @@
|
||||
var Bizgaze;
|
||||
(function (Bizgaze) {
|
||||
let Apps;
|
||||
(function (Apps) {
|
||||
let Hrms;
|
||||
(function (Hrms) {
|
||||
let Payroll;
|
||||
(function (Payroll) {
|
||||
let Controls;
|
||||
(function (Controls) {
|
||||
let PayRun;
|
||||
(function (PayRun) {
|
||||
class UpdatePayRunDetails extends Unibase.Platform.Core.BaseComponent {
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
this.strtxt = "";
|
||||
this.employeeid = "";
|
||||
}
|
||||
init(formpropertyid, prop, callback) { }
|
||||
loadControl(containerid, prop) {
|
||||
var instance = this;
|
||||
instance.transactionId = prop.FormPropertyId;
|
||||
instance.fileCacheHelper.loadJsFiles(['apps/hrms/enums/earningtypes.js', 'apps/hrms/enums/componenttypes.js', 'apps/hrms/enums//statutorytypes.js'], null);
|
||||
var html = `<div class="ul_updatepayrundetails">
|
||||
<div class="updatepayrunearningdetails">
|
||||
<div class='row text-dark font-weight-600'>
|
||||
<div class='col-md-6'>(+) EARNINGS</div>
|
||||
<div class='col-md-6'>AMOUNT</div>
|
||||
</div>
|
||||
<ul id="earningTypesList"></ul>
|
||||
<ul id="transactionList"></ul>
|
||||
<a href="javascript:;" id="addNewEarningBtn" class="btn btn-primary btn-sm mt-10" onclick="Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.UpdatePayRunDetails.Instance().addTransaction();" data-count="0"> + Add New</a>
|
||||
<input type="hidden" id="hdn_updatepayrundetailscontrol" class="value-control" value="Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.UpdatePayRunDetails.Instance().UpdatePayRunEarningsObject();"/>
|
||||
</div>`;
|
||||
html += `<div class="updatepayrundeductiondetails">
|
||||
<div class='row text-dark font-weight-600'>
|
||||
<div class='col-md-6'>(-) DEDUCTIONS</div>
|
||||
<div class='col-md-6'>AMOUNT</div>
|
||||
</div>
|
||||
|
||||
<div class='row font-weight-600'>
|
||||
<div class='col-md-6'>Pre-Tax Deductions</div>
|
||||
<div class='col-md-6'></div>
|
||||
</div>
|
||||
|
||||
<ul id="PreTaxDeductionList"></ul>
|
||||
|
||||
<div class='row font-weight-600'>
|
||||
<div class='col-md-6'>Taxes</div>
|
||||
<div class='col-md-6'></div>
|
||||
</div>
|
||||
|
||||
<ul id="DeductionTaxesList"></ul>
|
||||
<div class='row font-weight-600'>
|
||||
<div class='col-md-6'>Post-Tax Deductions</div>
|
||||
<div class='col-md-6'></div>
|
||||
</div>
|
||||
<ul id="DeductionList"></ul>
|
||||
<ul id="DeductiontransactionList"></ul>
|
||||
<a href="javascript:;" id="addNewDeductionBtn" class="btn btn-primary btn-sm mt-10" onclick="Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.UpdatePayRunDetails.Instance().addDeduction();" data-count="0"> + Add New</a>
|
||||
<input type="hidden" id="hdn_updatepayrundetailscontrol" class="value-control" value="Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.UpdatePayRunDetails.Instance().UpdatePayRunDeductionsObject();"/>
|
||||
</div>`;
|
||||
$("#" + containerid).html(html);
|
||||
Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.UpdatePayRunDetails.Instance().getPayRunEmployee();
|
||||
}
|
||||
loadControlSettings(controlsettingjson, formpropertyid) { }
|
||||
loadPropertySettings(propertysettings, formpropertyid, DocPropertyName) { }
|
||||
bindEditFormDetails(formpropertyid, propval, DocPropertyName) { }
|
||||
getPayRunEmployee() {
|
||||
var instance = this;
|
||||
var payrunemployeeid = +$(".active-employee-item").find("#hf_widgetitem_Id").val();
|
||||
Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/hrms/payroll/managers/payrollmanager.js", function () {
|
||||
Bizgaze.Apps.Hrms.Payroll.Managers.PayRollManager.Instance().getemployee(payrunemployeeid).then(function (responce) {
|
||||
instance.employeeid = responce.result.EmployeeId;
|
||||
$("._employee").val(instance.employeeid);
|
||||
var empname = responce.result.FirstName;
|
||||
var employee = new Option(empname, instance.employeeid);
|
||||
$(".txtAutoComplete_employeeid").append(employee);
|
||||
$(".number_netpay").val(responce.result.NetPay);
|
||||
Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.UpdatePayRunDetails.Instance().GetPayRunEarningDetails(payrunemployeeid);
|
||||
});
|
||||
});
|
||||
}
|
||||
GetPayRunEarningDetails(payrunemployeeid) {
|
||||
var instance = this;
|
||||
instance.strtxt = '';
|
||||
instance.fileCacheHelper.loadJsFile("apps/hrms/payroll/managers/payrollmanager.js", function () {
|
||||
Bizgaze.Apps.Hrms.Payroll.Managers.PayRollManager.Instance().getpayrunemployeesalarycomponents(payrunemployeeid).then(function (response) {
|
||||
Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.UpdatePayRunDetails.Instance().bindHtml(response.result);
|
||||
});
|
||||
});
|
||||
}
|
||||
bindHtml(data) {
|
||||
$("#earningTypesList").empty();
|
||||
$("#PreTaxDeductionList").empty();
|
||||
$("#DeductionTaxesList").empty();
|
||||
$("#DeductionList").empty();
|
||||
var instance = this;
|
||||
var html = '';
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
var componenttypeid = data[i].ComponentTypeId;
|
||||
var salaryComponentId = data[i].SalaryComponentId;
|
||||
html = Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.UpdatePayRunDetails.Instance().getHtml(data[i]);
|
||||
if (componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.Earnings || componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.Reimbursements) {
|
||||
$("#earningTypesList").after(html);
|
||||
}
|
||||
if (componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.PreTaxDeductions && data[i].StatutoryTypeId != Bizgaze.Apps.Hrms.Enums.StatutoryTypes.ProfessionalTax) {
|
||||
$("#PreTaxDeductionList").after(html);
|
||||
}
|
||||
if (componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.Taxes || data[i].StatutoryTypeId == Bizgaze.Apps.Hrms.Enums.StatutoryTypes.ProfessionalTax) {
|
||||
$("#DeductionTaxesList").after(html);
|
||||
}
|
||||
if (componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.PostTaxDeductions) {
|
||||
$("#DeductionList").after(html);
|
||||
}
|
||||
instance.strtxt += "|" + salaryComponentId;
|
||||
}
|
||||
instance.strtxt = instance.strtxt.slice(1);
|
||||
}
|
||||
getHtml(data) {
|
||||
var html = '';
|
||||
html = `<li class='row my-10 listitems_component_${data.SalaryComponentId} liupdatepayrunearningdetails li_updatepayrundetails'>
|
||||
<input type="hidden" class='hf_earningtypeid' value='${data.ComponentTypeId}'/>
|
||||
<input type="hidden" class='hf_salarycomponentid' value='${data.SalaryComponentId}'/>
|
||||
<input type="hidden" class='hf_isactive' value='${data.IsAdded}'/>`;
|
||||
if (!data.IsAdded)
|
||||
html += `<div class='col-md-5'><input type="text" class="form-control txt_earningname" value='${data.PaySlipName}' disabled /></div>
|
||||
<div class='col-md-5'><input type="text" class="form-control txt_amount" disabled value='${data.Amount}'></div>
|
||||
<div class='col-md-2'></div>
|
||||
</li>`;
|
||||
else
|
||||
html += `<div class='col-md-5'><input type="text" class="form-control txt_earningname" value='${data.PaySlipName}' disabled /></div>
|
||||
<div class='col-md-5'><input type="text" class="form-control txt_amount" value='${data.Amount}'></div>
|
||||
<div class='col-md-2'><a href="javascript:;" class="btn btn-sm btn-outline-danger btn-icon btn-with-icon" onclick="Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.UpdatePayRunDetails.Instance().deleteEarningType(${data.SalaryComponentId})"><span class="btn-icon-wrap"><i class="las la-trash font-22"></i></span></a></div>
|
||||
</li>`;
|
||||
return html;
|
||||
}
|
||||
taxComment() {
|
||||
var oldTaxAmount = Number($(".hf_pre_taxamount").val());
|
||||
var newTaxAmount = Number($(".txt_new_taxamount").val());
|
||||
if (oldTaxAmount != newTaxAmount) {
|
||||
$(".div_taxreason").removeClass("hidden");
|
||||
}
|
||||
else {
|
||||
$(".div_taxreason").addClass("hidden");
|
||||
$(".txt_taxreason").val('');
|
||||
}
|
||||
}
|
||||
deleteEarningType(id) {
|
||||
const instance = this;
|
||||
instance.updateEarningsTypeArr(id);
|
||||
$(`.listitems_component_${id}`).remove();
|
||||
$(`#earningTypeItem_${id}`).remove();
|
||||
}
|
||||
updateEarningsTypeArr(id) {
|
||||
const instance = this;
|
||||
const expenseTypeId = $(`#hfAutoCompleteId_SalaryComponents_${id}`).val();
|
||||
instance.strtxt = instance.strtxt.split('|');
|
||||
instance.strtxt = instance.strtxt.filter(v => v != expenseTypeId).join('|');
|
||||
}
|
||||
UpdatePayRunEarningsObject() {
|
||||
var data = new Array();
|
||||
var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
|
||||
var payRunId = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_payrunid").Value;
|
||||
$(".ul_updatepayrundetails").find(".li_updatepayrundetails").each(function () {
|
||||
var earningType = Number($(this).find('.hf_earningtypeid').val());
|
||||
data.push({
|
||||
EarningName: $(this).find('.txt_earningname').val(),
|
||||
Amount: Number($(this).find('.txt_amount').val()),
|
||||
EarningType: earningType != null ? earningType : 0,
|
||||
PayRunId: payRunId,
|
||||
PayRunEmployeeId: +$(".active-employee-item").find("#hf_widgetitem_Id").val(),
|
||||
IsAdded: $(this).find('.hf_isactive').val(),
|
||||
SalaryComponentId: Number($(this).find('.hf_salarycomponentid').val()),
|
||||
});
|
||||
});
|
||||
return data;
|
||||
}
|
||||
addTransaction() {
|
||||
const instance = this;
|
||||
let listCount = +$('#addNewEarningBtn').attr('data-count');
|
||||
var html = `<li class='row my-10 liupdatepayrunearningdetails li_updatepayrundetails ' id="earningTypeItem_${listCount}" >
|
||||
<div class='col-md-5'>
|
||||
<select class="form-control hf_salarycomponentid" id ="txtAutoComplete_Salary_${listCount}" data-placeholder="Select"></select><input type="hidden" id="hfAutoCompleteId_SalaryComponents_${listCount}" class="hf_earningtypeid" /><input type="hidden" class='hf_isactive' value='true'/></div>
|
||||
<div class='col-md-5'><input type="text" class="form-control txt_amount"/></div>
|
||||
<div class='col-md-2 text-right'><a href="javascript:;" class="btn btn-sm btn-outline-danger btn-icon btn-with-icon" onclick="Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.UpdatePayRunDetails.Instance().deleteEarningType(${listCount})"><span class="btn-icon-wrap"><i class="las la-trash font-22"></i></span></a></div>
|
||||
</li>`;
|
||||
$("#transactionList").append(html);
|
||||
instance.autocompleteComponent(listCount, Bizgaze.Apps.Hrms.Enums.ComponentTypes.Earnings);
|
||||
$('#addNewEarningBtn').attr('data-count', listCount + 1);
|
||||
}
|
||||
addDeduction() {
|
||||
const instance = this;
|
||||
let listCount = +$('#addNewDeductionBtn').attr('data-count');
|
||||
var html = `<li class='row my-10 liupdatepayrundeductiondetails li_updatepayrundetails' id="deductionTypeItem_${listCount}" >
|
||||
<input type="hidden" class='hf_isactive' value='true'/>
|
||||
<div class='col-md-5'>
|
||||
<select class="form-control hf_salarycomponentid" id ="txtAutoComplete_deductionSalary_${listCount}" data-placeholder="Select"></select><input type="hidden" class='hf_earningtypeid' value='0'/><input type="hidden" id="hfAutoCompleteId_deductionSalaryComponents_${listCount}" class="hf_deductiontypeid" /></div>
|
||||
<div class='col-md-5'><input type="text" class="form-control txt_amount"/></div>
|
||||
<div class='col-md-2 text-right'><a href="javascript:;" class="btn btn-sm btn-outline-danger btn-icon btn-with-icon" onclick="Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.UpdatePayRunDetails.Instance().deleteDeductionType(${listCount})"><span class="btn-icon-wrap"><i class="las la-trash font-22"></i></span></a></div>
|
||||
</li>`;
|
||||
$("#DeductiontransactionList").append(html);
|
||||
instance.autocompleteComponent(listCount, Bizgaze.Apps.Hrms.Enums.ComponentTypes.PostTaxDeductions);
|
||||
$('#addNewDeductionBtn').attr('data-count', listCount + 1);
|
||||
}
|
||||
autocompleteComponent(rowindexid, componenttypeid) {
|
||||
const instance = this;
|
||||
let componentname = $(`#hfAutoCompleteId_SalaryComponents_${rowindexid}`);
|
||||
let componentname1 = `#txtAutoComplete_Salary_${rowindexid}`;
|
||||
if (componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.PostTaxDeductions) {
|
||||
componentname = $(`#hfAutoCompleteId_deductionSalaryComponents_${rowindexid}`);
|
||||
componentname1 = `#txtAutoComplete_deductionSalary_${rowindexid}`;
|
||||
}
|
||||
var url = _appsettings.server_url() + '/apis/v4/bizgaze/hrms/payroll/getsalarycomponentautocomplete/componenttypeid/' + componenttypeid + '/salarycomponentids/' + instance.strtxt + '/earningtypeid/' + 0;
|
||||
AutoCompleteHelper.getHelper().Create(componentname1, componentname, url, function (response) {
|
||||
$(`#txtAutoComplete_Salary_${rowindexid}`).off('select2:select').on('select2:select', function () {
|
||||
const expenseTypeId = $(this).val();
|
||||
if (!$.isArray(instance.strtxt)) {
|
||||
instance.strtxt = instance.strtxt.split('|');
|
||||
instance.strtxt.push(expenseTypeId);
|
||||
instance.strtxt = instance.strtxt.join('|');
|
||||
}
|
||||
});
|
||||
$(componentname1).off('select2:clear').on('select2:clear', function () {
|
||||
instance.updateEarningsTypeArr(rowindexid);
|
||||
});
|
||||
});
|
||||
}
|
||||
deleteDeductionType(id) {
|
||||
const instance = this;
|
||||
instance.updateDeductionsTypeArr(id);
|
||||
$(`#deductionTypeItem_${id}`).remove();
|
||||
$(`.listitems_component_${id}`).remove();
|
||||
}
|
||||
updateDeductionsTypeArr(id) {
|
||||
const instance = this;
|
||||
const expenseTypeId = $(`#hfAutoCompleteId_deductionSalaryComponents_${id}`).val();
|
||||
instance.strtxt = instance.strtxt.split('|');
|
||||
instance.strtxt = instance.strtxt.filter(v => v != expenseTypeId).join('|');
|
||||
}
|
||||
printPayslip(payrunEmployeeId) {
|
||||
var instance = this;
|
||||
var payrunEmployeeIda = $("#hf_widgetitem_Id").val();
|
||||
Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFiles(["apps/hrms/payroll/managers/payrollmanager.js", "platform/core/helpers/printhelper/printhelper.js"], function () {
|
||||
Bizgaze.Apps.Hrms.Payroll.Managers.PayRollManager.Instance().payslipPrint(payrunEmployeeId).then(function (response) {
|
||||
Unibase.Platform.Helpers.PrintHelper.Instance().printPopup(response.result.PrintHTML);
|
||||
});
|
||||
});
|
||||
}
|
||||
printPopup(data) {
|
||||
var mywindow = window.open('', 'my Print', 'height=400,width=850');
|
||||
var content = '<html><head><title>Print</title><link rel="stylesheet" href="lib/bizgaze/print.css" /><link rel="stylesheet" href="lib/bootstrap/bootstrap-theme.min.css" /></head><body>';
|
||||
content += data;
|
||||
content += "<script>print();</script>";
|
||||
content += '</body></html>';
|
||||
mywindow.document.write(content);
|
||||
return true;
|
||||
}
|
||||
getEmployeeCount() {
|
||||
var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
|
||||
var payrunId = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_payrunid").Value;
|
||||
Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFiles(["apps/hrms/payroll/managers/payrollmanager.js", "platform/core/helpers/printhelper/printhelper.js"], function () {
|
||||
Bizgaze.Apps.Hrms.Payroll.Managers.PayRollManager.Instance().getEmployeeCount(payrunId).then(function (response) {
|
||||
if (response.result.length != 0) {
|
||||
var employeeCount = response.result[0];
|
||||
$(".number_empcount").val(employeeCount);
|
||||
}
|
||||
else {
|
||||
$(".number_empcount").val(0);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
ConfirmPayrun() {
|
||||
var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
|
||||
let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
|
||||
var stage = String(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_shortcode").Value);
|
||||
if ((stage == "APD") || (stage == "INP")) {
|
||||
$(detailContainer).find('.DetailSetting_' + '' + InstalledAppId + '' + '_Confirm').parent('li').removeClass('hidden');
|
||||
}
|
||||
else {
|
||||
$(detailContainer).find('.DetailSetting_' + '' + InstalledAppId + '' + '_Confirm').parent('li').addClass('hidden');
|
||||
}
|
||||
}
|
||||
stageChange() {
|
||||
var instance = this;
|
||||
var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
|
||||
var versionGuid = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_versionguid").Value;
|
||||
var stageId = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_stageid").Value;
|
||||
let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
|
||||
var stage = String(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_shortcode").Value);
|
||||
if (stage == "DFT") {
|
||||
$(detailContainer).find('.DetailSetting_' + '' + installedAppId + '' + '_SubmitForApproval').parent('li').removeClass('hidden');
|
||||
}
|
||||
else {
|
||||
$(detailContainer).find('.DetailSetting_' + '' + installedAppId + '' + '_SubmitForApproval').parent('li').addClass('hidden');
|
||||
}
|
||||
$(".DetailSetting_" + installedAppId + "_SubmitForApproval").click(function () {
|
||||
instance.fileCacheHelper.loadJsFile('apps/hrms/payroll/managers/payrollmanager.js', function () {
|
||||
Bizgaze.Apps.Hrms.Payroll.Managers.PayRollManager.Instance().stageChange(installedAppId, versionGuid, stageId).then(function (response) {
|
||||
MessageHelper.Instance().showSuccess(response.message, "div_message");
|
||||
let obj = Unibase.Themes.Compact.Components.Details.Instance();
|
||||
obj._recordId = Unibase.Themes.Compact.Components.Details.Instance()._recordId;
|
||||
obj._installedAppId = Unibase.Themes.Compact.Components.Details.Instance()._installedAppId;
|
||||
Unibase.Themes.Compact.Components.Details.Instance().loadPortlets(obj);
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
GetPayRunDetails(employeeid) {
|
||||
var instance = this;
|
||||
var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
|
||||
var toDate = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_todate").Value;
|
||||
var fromDate = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_fromdate").Value;
|
||||
var Fdate = moment(fromDate, "DD/MM/YYYY").format("DD-MM-YYYY");
|
||||
var Tdate = moment(toDate, "DD/MM/YYYY").format("DD-MM-YYYY");
|
||||
instance.fileCacheHelper.loadJsFile('apps/hrms/payroll/managers/payrollmanager.js', function () {
|
||||
Bizgaze.Apps.Hrms.Payroll.Managers.PayRollManager.Instance().getPayRunDetails(employeeid, Fdate, Tdate).then(function (response) {
|
||||
});
|
||||
});
|
||||
}
|
||||
esiNumberValidation(e, id) {
|
||||
let inputVal = e.target.value;
|
||||
let isLastElemet = e.originalEvent.data;
|
||||
if (isLastElemet === null) {
|
||||
return;
|
||||
}
|
||||
let lastElemG = inputVal[inputVal.length - 1];
|
||||
let hasSpecialChar = true;
|
||||
const charCodeSpec = inputVal.charCodeAt(inputVal.length - 1);
|
||||
if ((charCodeSpec >= 33 && charCodeSpec <= 47) || (charCodeSpec >= 58 && charCodeSpec <= 64) || (charCodeSpec >= 91 && charCodeSpec <= 96) || (charCodeSpec >= 123 && charCodeSpec <= 126)) {
|
||||
hasSpecialChar = false;
|
||||
}
|
||||
let isAlphaSlash = true;
|
||||
const charCode = inputVal.charCodeAt(inputVal.length - 1);
|
||||
if (!(charCode >= 65 && charCode <= 90 || charCode >= 97 && charCode <= 122 || charCode === 47)) {
|
||||
isAlphaSlash = false;
|
||||
}
|
||||
if (!hasSpecialChar || lastElemG === " " || isAlphaSlash) {
|
||||
const slipt = inputVal.slice(0, inputVal.length - 1);
|
||||
$(`#${id}`).val(slipt);
|
||||
return;
|
||||
}
|
||||
if (inputVal.length > 21) {
|
||||
const slipt = inputVal.slice(0, inputVal.length - 1);
|
||||
$(`#${id}`).val(slipt);
|
||||
return;
|
||||
}
|
||||
let textLen = inputVal.length;
|
||||
if (textLen === 3 || textLen == 6 || textLen == 13 || textLen == 17) {
|
||||
const lasChar = inputVal.charCodeAt(inputVal.length - 1);
|
||||
if (lasChar != '-') {
|
||||
let lastTemp = inputVal[inputVal.length - 1];
|
||||
inputVal = inputVal.slice(0, inputVal.length - 1) + "-" + lastTemp;
|
||||
}
|
||||
}
|
||||
let temp = inputVal;
|
||||
if (textLen == 2 || textLen == 5 || textLen == 12 || textLen == 16) {
|
||||
temp += "-";
|
||||
}
|
||||
$(`#${id}`).val(temp);
|
||||
}
|
||||
epfNumberValidation(e, id) {
|
||||
console.log(id);
|
||||
let inputVal = e.target.value;
|
||||
let isLastElemet = e.originalEvent.data;
|
||||
if (isLastElemet === null) {
|
||||
return;
|
||||
}
|
||||
let lastElemG = inputVal[inputVal.length - 1];
|
||||
let hasSpecialChar = true;
|
||||
const charCode = inputVal.charCodeAt(inputVal.length - 1);
|
||||
if ((charCode >= 33 && charCode <= 47) || (charCode >= 58 && charCode <= 64) || (charCode >= 91 && charCode <= 96) || (charCode >= 123 && charCode <= 126)) {
|
||||
hasSpecialChar = false;
|
||||
}
|
||||
if (!hasSpecialChar || lastElemG === " ") {
|
||||
const slipt = inputVal.slice(0, inputVal.length - 1);
|
||||
$(`#${id}`).val(slipt);
|
||||
return;
|
||||
}
|
||||
if (inputVal.length > 27) {
|
||||
const slipt = inputVal.slice(0, inputVal.length - 1);
|
||||
$(`#${id}`).val(slipt);
|
||||
return;
|
||||
}
|
||||
let modText = "";
|
||||
if (inputVal.length <= 6) {
|
||||
let lastElem = inputVal[inputVal.length - 1];
|
||||
let isNumberSlash = true;
|
||||
const charCode = inputVal.charCodeAt(inputVal.length - 1);
|
||||
if (!(charCode >= 48 && charCode <= 57 || charCode === 47)) {
|
||||
isNumberSlash = false;
|
||||
}
|
||||
if (isNumberSlash) {
|
||||
const slipt = inputVal.slice(0, inputVal.length - 1);
|
||||
$(`#${id}`).val(slipt);
|
||||
return;
|
||||
}
|
||||
;
|
||||
if (inputVal.length == 3 || inputVal.length == 7) {
|
||||
if (inputVal[inputVal.length - 1] != "/") {
|
||||
let lastTemp = inputVal[inputVal.length - 1];
|
||||
inputVal = inputVal.slice(0, inputVal.length - 1) + "/" + lastTemp;
|
||||
}
|
||||
}
|
||||
let temp = inputVal.toUpperCase();
|
||||
if (inputVal.length == 2 || inputVal.length == 6) {
|
||||
temp += "/";
|
||||
}
|
||||
$(`#${id}`).val(temp);
|
||||
}
|
||||
else {
|
||||
if (inputVal.length === 7) {
|
||||
if (inputVal[inputVal.length - 1] != "/") {
|
||||
let lastTemp = inputVal[inputVal.length - 1];
|
||||
inputVal = inputVal.slice(0, inputVal.length - 1) + "/" + lastTemp;
|
||||
}
|
||||
}
|
||||
let lastElem = inputVal[inputVal.length - 1];
|
||||
let isAlphaSlash = true;
|
||||
const charCode = inputVal.charCodeAt(inputVal.length - 1);
|
||||
if (!(charCode >= 65 && charCode <= 90 || charCode >= 97 && charCode <= 122 || charCode === 47)) {
|
||||
isAlphaSlash = false;
|
||||
}
|
||||
if (isAlphaSlash) {
|
||||
const slipt = inputVal.slice(0, inputVal.length - 1);
|
||||
$(`#${id}`).val(slipt);
|
||||
return;
|
||||
}
|
||||
if (inputVal.length == 15 || inputVal.length == 19) {
|
||||
if (inputVal[inputVal.length - 1] != "/") {
|
||||
let lastTemp = inputVal[inputVal.length - 1];
|
||||
inputVal = inputVal.slice(0, inputVal.length - 1) + "/" + lastTemp;
|
||||
}
|
||||
}
|
||||
let temp = inputVal;
|
||||
if (inputVal.length == 14 || inputVal.length == 18) {
|
||||
temp += "/";
|
||||
}
|
||||
$(`#${id}`).val(temp);
|
||||
}
|
||||
}
|
||||
payrunEpfNumberValidation(e, id) {
|
||||
console.log(id);
|
||||
let inputVal = e.target.value;
|
||||
let isLastElemet = e.originalEvent.data;
|
||||
if (isLastElemet === null) {
|
||||
return;
|
||||
}
|
||||
let lastElemG = inputVal[inputVal.length - 1];
|
||||
let hasSpecialChar = true;
|
||||
const charCode = inputVal.charCodeAt(inputVal.length - 1);
|
||||
if ((charCode >= 33 && charCode <= 47) || (charCode >= 58 && charCode <= 64) || (charCode >= 91 && charCode <= 96) || (charCode >= 123 && charCode <= 126)) {
|
||||
hasSpecialChar = false;
|
||||
}
|
||||
if (!hasSpecialChar || lastElemG === " ") {
|
||||
const slipt = inputVal.slice(0, inputVal.length - 1);
|
||||
$(`#${id}`).val(slipt);
|
||||
return;
|
||||
}
|
||||
if (inputVal.length > 18) {
|
||||
const slipt = inputVal.slice(0, inputVal.length - 1);
|
||||
$(`#${id}`).val(slipt);
|
||||
return;
|
||||
}
|
||||
let modText = "";
|
||||
if (inputVal.length <= 6) {
|
||||
let lastElem = inputVal[inputVal.length - 1];
|
||||
let isNumberSlash = true;
|
||||
const charCode = inputVal.charCodeAt(inputVal.length - 1);
|
||||
if (!(charCode >= 48 && charCode <= 57 || charCode === 47)) {
|
||||
isNumberSlash = false;
|
||||
}
|
||||
if (isNumberSlash) {
|
||||
const slipt = inputVal.slice(0, inputVal.length - 1);
|
||||
$(`#${id}`).val(slipt);
|
||||
return;
|
||||
}
|
||||
;
|
||||
if (inputVal.length == 3 || inputVal.length == 7) {
|
||||
if (inputVal[inputVal.length - 1] != "/") {
|
||||
let lastTemp = inputVal[inputVal.length - 1];
|
||||
inputVal = inputVal.slice(0, inputVal.length - 1) + "/" + lastTemp;
|
||||
}
|
||||
}
|
||||
let temp = inputVal.toUpperCase();
|
||||
if (inputVal.length == 2 || inputVal.length == 6) {
|
||||
temp += "/";
|
||||
}
|
||||
$(`#${id}`).val(temp);
|
||||
}
|
||||
else {
|
||||
if (inputVal.length === 7) {
|
||||
if (inputVal[inputVal.length - 1] != "/") {
|
||||
let lastTemp = inputVal[inputVal.length - 1];
|
||||
inputVal = inputVal.slice(0, inputVal.length - 1) + "/" + lastTemp;
|
||||
}
|
||||
}
|
||||
let lastElem = inputVal[inputVal.length - 1];
|
||||
let isAlphaSlash = true;
|
||||
const charCode = inputVal.charCodeAt(inputVal.length - 1);
|
||||
if (!(charCode >= 65 && charCode <= 90 || charCode >= 97 && charCode <= 122 || charCode === 47)) {
|
||||
isAlphaSlash = false;
|
||||
}
|
||||
if (isAlphaSlash) {
|
||||
const slipt = inputVal.slice(0, inputVal.length - 1);
|
||||
$(`#${id}`).val(slipt);
|
||||
return;
|
||||
}
|
||||
if (inputVal.length == 15) {
|
||||
if (inputVal[inputVal.length - 1] != "/") {
|
||||
let lastTemp = inputVal[inputVal.length - 1];
|
||||
inputVal = inputVal.slice(0, inputVal.length - 1) + "/" + lastTemp;
|
||||
}
|
||||
}
|
||||
let temp = inputVal;
|
||||
if (inputVal.length == 14) {
|
||||
temp += "/";
|
||||
}
|
||||
$(`#${id}`).val(temp);
|
||||
}
|
||||
}
|
||||
static Instance() {
|
||||
if (this.instance === undefined) {
|
||||
this.instance = new UpdatePayRunDetails();
|
||||
}
|
||||
return this.instance;
|
||||
}
|
||||
}
|
||||
PayRun.UpdatePayRunDetails = UpdatePayRunDetails;
|
||||
})(PayRun = Controls.PayRun || (Controls.PayRun = {}));
|
||||
})(Controls = Payroll.Controls || (Payroll.Controls = {}));
|
||||
})(Payroll = Hrms.Payroll || (Hrms.Payroll = {}));
|
||||
})(Hrms = Apps.Hrms || (Apps.Hrms = {}));
|
||||
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
|
||||
})(Bizgaze || (Bizgaze = {}));
|
||||
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
@@ -0,0 +1,33 @@
|
||||
var Bizgaze;
|
||||
(function (Bizgaze) {
|
||||
let Apps;
|
||||
(function (Apps) {
|
||||
let Hrms;
|
||||
(function (Hrms) {
|
||||
let Payroll;
|
||||
(function (Payroll) {
|
||||
let Controls;
|
||||
(function (Controls) {
|
||||
let PayRun;
|
||||
(function (PayRun) {
|
||||
class UpdatePayRunDetails_Settings extends Unibase.Platform.Core.BaseComponent {
|
||||
loadSettingHtml(container) { }
|
||||
bindControlData(controldatajson) { }
|
||||
SaveControlData(controldatajson) { }
|
||||
loadControlPropertiesHtml(controlpropList, container) { }
|
||||
bindPropertySettings(prop) { }
|
||||
savePropertySettings(prop) { }
|
||||
static Instance() {
|
||||
if (this.instance === undefined) {
|
||||
this.instance = new UpdatePayRunDetails_Settings();
|
||||
}
|
||||
return this.instance;
|
||||
}
|
||||
}
|
||||
PayRun.UpdatePayRunDetails_Settings = UpdatePayRunDetails_Settings;
|
||||
})(PayRun = Controls.PayRun || (Controls.PayRun = {}));
|
||||
})(Controls = Payroll.Controls || (Payroll.Controls = {}));
|
||||
})(Payroll = Hrms.Payroll || (Hrms.Payroll = {}));
|
||||
})(Hrms = Apps.Hrms || (Apps.Hrms = {}));
|
||||
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
|
||||
})(Bizgaze || (Bizgaze = {}));
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"updatepayrundetails.settings.js","sourceRoot":"","sources":["updatepayrundetails.settings.ts"],"names":[],"mappings":"AAAA,IAAU,OAAO,CA4BhB;AA5BD,WAAU,OAAO;IACb,IAAiB,IAAI,CA0BpB;IA1BD,WAAiB,IAAI;QACjB,IAAiB,IAAI,CAwBpB;QAxBD,WAAiB,IAAI;YACjB,IAAiB,OAAO,CAsBvB;YAtBD,WAAiB,OAAO;gBACpB,IAAiB,QAAQ,CAoBxB;gBApBD,WAAiB,QAAQ;oBACrB,IAAiB,MAAM,CAkBtB;oBAlBD,WAAiB,MAAM;wBACnB,MAAa,4BAA6B,SAAQ,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa;4BAEjF,eAAe,CAAC,SAAS,IAAI,CAAC;4BAC9B,eAAe,CAAC,eAAe,IAAI,CAAC;4BACpC,eAAe,CAAC,eAAe,IAAI,CAAC;4BACpC,yBAAyB,CAAC,eAAsC,EAAE,SAAS,IAAI,CAAC;4BAChF,oBAAoB,CAAC,IAAgB,IAAI,CAAC;4BAC1C,oBAAoB,CAAC,IAAgB,IAAI,CAAC;4BAG1C,MAAM,CAAC,QAAQ;gCACX,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;oCAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,4BAA4B,EAAE,CAAC;iCACtD;gCACD,OAAO,IAAI,CAAC,QAAQ,CAAC;4BACzB,CAAC;yBACJ;wBAhBY,mCAA4B,+BAgBxC,CAAA;oBACL,CAAC,EAlBgB,MAAM,GAAN,eAAM,KAAN,eAAM,QAkBtB;gBACL,CAAC,EApBgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAoBxB;YACL,CAAC,EAtBgB,OAAO,GAAP,YAAO,KAAP,YAAO,QAsBvB;QACL,CAAC,EAxBgB,IAAI,GAAJ,SAAI,KAAJ,SAAI,QAwBpB;IACL,CAAC,EA1BgB,IAAI,GAAJ,YAAI,KAAJ,YAAI,QA0BpB;AACL,CAAC,EA5BS,OAAO,KAAP,OAAO,QA4BhB"}
|
||||
Ссылка в новой задаче
Block a user