122 lines
3.9 KiB
JavaScript
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");
|
|
}
|
|
} |