Files
Backend-Api/ServiceHost/wwwroot/AssetsClient/pages/Employees/js/CreateEmployeeForm.js
2025-05-06 18:18:20 +03:30

122 lines
3.9 KiB
JavaScript

var currentUrl = window.location.href;
$(document).ready(function () {
$("#NationalitySelect").select2({
language: "fa",
dir: "rtl"
});
var jobsLoadAjaxURL = '';
if (currentUrl.includes("/Client#showmodal=/Client?handler=CreateEmployee")) {
jobsLoadAjaxURL = jobsLoadHomeAjaxUrl;
} else if (currentUrl.includes("/Client/Company/Employees/EmployeeList")) {
jobsLoadAjaxURL = jobsLoadEmployeeAjaxUrl;
} else {
jobsLoadAjaxURL = jobsLoadRollCallAjaxUrl;
}
$(".JobSelect2Option").select2({
language: "fa",
dir: "rtl",
ajax: {
url: jobsLoadAjaxURL,
dataType: 'json',
delay: 250,
data: function (params) {
return {
jobName: params.term
};
},
processResults: function (data) {
return {
results: data.map(item => ({
id: item.id,
text: item.jobName
}))
};
},
cache: false
},
minimumInputLength: 0,
dropdownParent: $('#MainModal')
});
$("#startWork, #sematSelect, input[name='Command.MaritalStatus']").on("input change", checkConditions);
$(".cancelButton").click(function () {
$("#MainModal").modal("hide");
});
$(".startLeftWorkDate").each(function () {
let element = $(this);
element.on('input', function () {
let value = convertPersianNumbersToEnglish(element.val());
element.val(value);
});
new Cleave(this, {
delimiters: ['/', '/'],
blocks: [4, 2, 2],
numericOnly: true
});
//new Cleave(this, {
// date: true,
// delimiter: '/',
// datePattern: ['Y', 'm', 'd']
//});
});
});
function checkInputs() {
const genderSelected = $(".genderStatus:checked").length > 0;
const maritalStatusSelected = $(".maritalStatus:checked").length > 0;
const nationality = $("#NationalitySelect").val();
const fName = $("#firstName").val();
const lName = $("#lastName").val();
const startWork = $("#startWork").val().trim();
const startWorkIsValidDate = /^\d{4}[-\/]\d{2}[-\/]\d{2}$/.test(startWork);
const semat = $("#sematSelect").val();
let isEmpty = false;
if (!genderSelected || !maritalStatusSelected || !nationality || !fName || !lName || !startWork || !startWorkIsValidDate || semat === "0") {
isEmpty = true;
}
if (isEmpty) {
if (!$("input[name='Command.MaritalStatus']:checked").val()) {
validateField(".validMariage", "لطفا وضعیت تاهل را مشخص کنید.");
return false;
}
if (startWork === "") {
validateField("#startWork", "لطفا تاریخ شروع بکار را مشخص کنید");
return false;
} else if (!/^\d{4}[-\/]\d{2}[-\/]\d{2}$/.test(startWork)) {
validateField("#startWork", "تاریخ شروع بکار را به درستی وارد کنید.");
return false;
}
if (semat === "0") {
validateField(".sematValid", "لطفا سمت را مشخص کنید.");
return false;
}
return false;
} else {
return true;
}
}
function checkConditions() {
let numberInput = $("#startWork").val().trim();
let selectValue = $("#sematSelect").val();
let isValidDate = /^\d{4}[-\/]\d{2}[-\/]\d{2}$/.test(numberInput);
let isValidSelect = selectValue !== "0";
let isMaritalStatusChecked = $("input[name='Command.MaritalStatus']:checked").length > 0;
if (isValidDate && isValidSelect && isMaritalStatusChecked) {
$("#submitStep2").removeClass("disable");
} else {
$("#submitStep2").addClass("disable");
}
}