Merge branch 'sepration-js' of https://github.com/syntax24/OriginalGozareshgir into sepration-js

This commit is contained in:
MahanCh
2025-05-13 18:52:57 +03:30
16 changed files with 3121 additions and 9327 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,148 +0,0 @@
@model CompanyManagment.App.Contracts.LeftWork.EditLeftWork
@{
}
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<form asp-page="./Index" asp-page-handler="EditLeftWork" autocomplete="off"
method="post"
data-ajax="true"
data-callback=""
data-action="ReloadLeftWork">
<div class="modal-body">
<div class="row">
<fieldset style="border: 1px solid #999797; height: 120px; border-radius: 10px; padding: revert">
<legend style="margin-bottom: 5px; font-size: large; border-bottom: 0px; color: #505458; width: 140px;text-align: center;">ویرایش </legend>
<div class="row">
<div class="col-md-6">
<div class="form-group m-b-0" dir="rtl">
<label asp-for="StartWorkDate" class="control-label m-r-5">تاریخ شروع به کار</label>
<input id="endDate" dir="ltr" maxlength="10" style="text-align: center" class="form-control persianDateInputb" onchange="validDate(this);" asp-for="StartWorkDate"/>
<span asp-validation-for="StartWorkDate" class="error"></span>
</div>
</div>
<div class="col-md-6">
<div class="form-group m-b-0" dir="rtl">
<label asp-for="LeftWorkDate" class="control-label m-r-5">تاریخ ترک کار</label>
<input id="endDate" dir="ltr" maxlength="10" style="text-align: center" class="form-control persianDateInputb" onchange="validDate(this);" asp-for="LeftWorkDate"/>
<span asp-validation-for="LeftWorkDate" class="error"></span>
</div>
</div>
</div>
</fieldset>
</div>
</div>
<input type="hidden" asp-for="Id" value="@Model.Id"/>
<input type="hidden" asp-for="EmployeeId"/>
<input type="hidden" asp-for="WorkshopId"/>
<input type="hidden" asp-for="WorkshopName"/>
<input type="hidden" asp-for="EmployeeFullName"/>
<div class="modal-footer">
<button type="submit" class="btn btn-success btn-rounded waves-effect waves-light">ذخیره</button>
<a href="#showmodal=@Url.Page("/Company/Contracts/Index", "CreateLeftWork", new { employeeId = Model.EmployeeId, workshopId = Model.WorkshopId, hd = 1 })" class="btn btn-default btn-rounded waves-effect waves-light m-b-5"> بازگشت</a>
</div>
</form>
</div>
<script>
function validDate(inputField) {
var persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g],
arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g],
fixNumbers = function(str) {
if (typeof str === 'string') {
for (let i = 0; i < 10; i++) {
str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i);
}
}
return str;
};
let getdate = inputField.value;
var m1, m2;
var y1, y2, y3, y4;
var d1, d2;
var s1, s2;
for (var i = 0; i < getdate.length; i++) {
if (i === 0) {
y1 = fixNumbers(getdate[i]);
}
if (i === 1) {
y2 = fixNumbers(getdate[i]);
}
if (i === 2) {
y3 = fixNumbers(getdate[i]);
}
if (i === 3) {
y4 = fixNumbers(getdate[i]);
}
if (i === 4) {
s1 = fixNumbers(getdate[i]);
}
if (i === 5) {
m1 = fixNumbers(getdate[i]);
}
if (i === 6) {
m2 = fixNumbers(getdate[i]);
}
if (i === 7) {
s2 = fixNumbers(getdate[i]);
}
if (i === 8) {
d1 = fixNumbers(getdate[i]);
}
if (i === 9) {
d2 = fixNumbers(getdate[i]);
}
}
var yRes = y1 + y2 + y3 + y4;
var year = parseInt(yRes);
var mRes = m1 + m2;
var month = parseInt(mRes);
var dRes = d1 + d2;
var day = parseInt(dRes);
var FixResult = yRes + s1 + mRes + s2 + dRes;
var isValid = /^([1][3-4][0-9][0-9][/])([0][1-9]|[1][0-2])([/])([0][1-9]|[1-2][0-9]|[3][0-1])$/.test(FixResult);
if (isValid) {
inputField.style.backgroundColor = '#a6e9a6';
$("button[type=submit]").attr('disabled', false);
validCheck = true;
} else {
inputField.style.backgroundColor = '#f94c4c';
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا تاریخ را بصورت صحیح وارد کنید");
$("button[type=submit]").attr('disabled', true);
validCheck = false;
}
return validCheck;
}
</script>

View File

@@ -1,6 +1,7 @@
@model CompanyManagment.App.Contracts.Leave.EditLeave
@{
//int i = 1;
string adminVersion = _0_Framework.Application.Version.AdminVersion;
}
@{
<style>
@@ -226,409 +227,12 @@
background-color: #ffb9b9 !important;
}
</style>
<script>
$(document).ready(function() {
const IsAcceptedCheck = $('#IsAccepted').is(':checked');
if (IsAcceptedCheck) {
$('#descriptionAcceptedCheck').removeClass('errored');
$('#descriptionAcceptedCheck').addClass('disable-input');
$("#descriptionAcceptedCheck").prop('disabled', true);
} else {
$('#descriptionAcceptedCheck').removeClass('disable-input');
$("#descriptionAcceptedCheck").prop('disabled', false);
}
});
$(document).ready(
function() {
computeHourse();
const saati = $('input:radio[class="saati"]');
const roozane = $('input:radio[class="roozane"]');
if ($(roozane).is(':checked') && $(roozane).val() == 'روزانه') {
$("#hours").val('');
$("#hours").attr("disabled", "disabled");
$("#endLeave").removeAttr("disabled");
$("#saati").css("visibility", "hidden");
$('.hourses').css({
display: "none"
});
$('.sumHourseDiv').hide();
$('.sumDaysDiv').show();
$('.res').remove();
$('.validTime').removeClass("validTime");
} else if ($(saati).is(':checked') && $(saati).val() == 'ساعتی') {
$("#endLeave").val('');
$("#endLeave").attr("disabled", "disabled");
$("#endLeave").hide();
$('.endLeaveLabal').hide();
$('.hourses').css({
display: "flex"
});
$("#hours").removeAttr("disabled");
$('.sumHourseDiv').show();
$('#roozaneh').hide();
$('.sumDaysDiv').hide();
}
});
var computeLeavHourseAjaxUrl = '@Url.Page("/Company/Contracts/Index", "ComputeLeavHourse")';
var computeLeavDaysAjaxUrl = '@Url.Page("/Company/Contracts/Index", "ComputeLeavdays")';
var checkIfValidToEditAjaxUrl = '@Url.Page("/Company/Contracts/Index", "CheckIfValidToEdit")';
</script>
<script>
computeDays();
<script src="~/AssetsAdmin/page/Contracts/js/editPaidLeave.js?ver=@adminVersion"></script>
$('#save').on('click',
function() {
$("#descriptionAcceptedCheck").on("change",
function() {
$('#descriptionAcceptedCheck').removeClass('errored');
});
const IsAcceptedCheck = $('#IsAccepted').is(':checked');
const descriptionAcceptedCheck = $('#descriptionAcceptedCheck').val();
if (!IsAcceptedCheck && descriptionAcceptedCheck.length === 0) {
$('#descriptionAcceptedCheck').addClass('errored');
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا توضیحات در صورت عدم موافقت را پر کنید.");
return;
}
if ($('.errored').length < 1 && $('.invalidTime').length < 1) {
$('#editFinaly').click();
}
});
$(".date").mask("0000/00/00");
$('.date').on('input',
function() {
const startDate = this.value;
if (startDate.length == 10) {
const submitcheck = dateValidcheck(this);
if (submitcheck) {
$(this).removeClass('errored');
if ($('#startLeave').val() != '' && $('#endLeave').val() != '') {
computeDays();
}
} else {
$(this).addClass('errored');
}
} else {
$(this).addClass('errored');
}
});
/////////////////Time Input Validatet/////////////////
$('#StartHoure').on("keyup",
function() {
const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test($(this).val());
if (isValid) {
$(this).addClass("validTime");
$(this).removeClass("invalidTime");
if (!$('#EndHours').hasClass('invalidTime') && $('#EndHours').val() != null) {
computeHourse();
}
} else {
$(this).removeClass("validTime");
$(this).addClass("invalidTime");
}
});
$('#EndHours').on("keyup",
function() {
const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test($(this).val());
if (isValid) {
$(this).addClass("validTime");
$(this).removeClass("invalidTime");
if (!$('#StartHoure').hasClass('invalidTime') && $('#StartHoure').val() != null) {
computeHourse();
}
} else {
$(this).removeClass("validTime");
$(this).addClass("invalidTime");
}
});
function computeHourse() {
$('.res').remove();
$.ajax({
/* contentType: 'charset=utf-8',*/
async: false,
dataType: 'json',
type: 'GET',
url: '@Url.Page("/Company/Contracts/Index", "ComputeLeavHourse")',
headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() },
data: { "startHours": $('#StartHoure').val(), "endHourse": $('#EndHours').val() },
success: function(response) {
const res = ` <span class="res"><span>&nbsp;</span><span>:</span> <span>&nbsp;</span><span>${response.res}</span></span>`;
$('.sumHours').append(res);
},
failure: function(response) {
console.log(5, response);
}
});
}
function computeDays() {
$('.resultDays').remove();
$.ajax({
/* contentType: 'charset=utf-8',*/
async: false,
dataType: 'json',
type: 'GET',
url: '@Url.Page("/Company/Contracts/Index", "ComputeLeavdays")',
headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() },
data: { "startDay": $('#startLeave').val(), "endDay": $('#endLeave').val() },
success: function(response) {
const res = ` <span class="resultDays"><span>&nbsp;</span><span>:</span> <span>&nbsp;</span><span>${response.res}</span></span>`;
$('.sumDays').append(res);
},
failure: function(response) {
console.log(5, response);
}
});
}
function dateValidcheck(inputField1) {
const persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g];
const arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g];
const fixNumbers = function(str) {
if (typeof str === 'string') {
for (let i = 0; i < 10; i++) {
str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i);
}
}
return str;
};
const getdate = inputField1.value;
let m1, m2;
let y1, y2, y3, y4;
let d1, d2;
let s1, s2;
for (let i = 0; i < getdate.length; i++) {
if (i === 0) {
y1 = fixNumbers(getdate[i]);
}
if (i === 1) {
y2 = fixNumbers(getdate[i]);
}
if (i === 2) {
y3 = fixNumbers(getdate[i]);
}
if (i === 3) {
y4 = fixNumbers(getdate[i]);
}
if (i === 4) {
s1 = fixNumbers(getdate[i]);
}
if (i === 5) {
m1 = fixNumbers(getdate[i]);
}
if (i === 6) {
m2 = fixNumbers(getdate[i]);
}
if (i === 7) {
s2 = fixNumbers(getdate[i]);
}
if (i === 8) {
d1 = fixNumbers(getdate[i]);
}
if (i === 9) {
d2 = fixNumbers(getdate[i]);
}
}
const yRes = y1 + y2 + y3 + y4;
const year = parseInt(yRes);
const mRes = m1 + m2;
const month = parseInt(mRes);
const dRes = d1 + d2;
const day = parseInt(dRes);
const fixResult = yRes + s1 + mRes + s2 + dRes;
const test1 = checkEnValid(inputField1.value);
const isValid = /^([1][3-4][0-9][0-9][/])([0][1-9]|[1][0-2])([/])([0][1-9]|[1-2][0-9]|[3][0-1])$/.test(fixResult);
if (isValid && test1) {
// inputField1.style.backgroundColor = '#a6e9a6';
start1valid = true;
} else {
if (inputField1.value != "") {
// inputField1.style.backgroundColor = '#f94c4c';
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا تاریخ را بصورت صحیح وارد کنید");
start1valid = false;
}
}
return start1valid;
}
function checkEnValid(fixDate1) {
let persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g],
arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g],
fixNumbers = function(str) {
if (typeof str === 'string') {
for (let i = 0; i < 10; i++) {
str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i);
}
}
return str;
};
let getdate = fixDate1;
let m1, m2;
let y1, y2, y3, y4;
let d1, d2;
for (let i = 0; i < getdate.length; i++) {
if (i === 0) {
y1 = fixNumbers(getdate[i]);
}
if (i === 1) {
y2 = fixNumbers(getdate[i]);
}
if (i === 2) {
y3 = fixNumbers(getdate[i]);
}
if (i === 3) {
y4 = fixNumbers(getdate[i]);
}
if (i === 5) {
m1 = fixNumbers(getdate[i]);
}
if (i === 6) {
m2 = fixNumbers(getdate[i]);
}
if (i === 8) {
d1 = fixNumbers(getdate[i]);
}
if (i === 9) {
d2 = fixNumbers(getdate[i]);
}
}
let yRes = y1 + y2 + y3 + y4;
let year = parseInt(yRes);
let mRes = m1 + m2;
let month = parseInt(mRes);
let dRes = d1 + d2;
let day = parseInt(dRes);
let kabiseh = false;
if (month <= 6 && day > 31) {
return false;
} else if (month > 6 && month < 12 && day > 30) {
return false;
} else if (month === 12) {
switch (year) {
case 1346:
kabiseh = true;
break;
case 1350:
kabiseh = true;
break;
case 1354:
kabiseh = true;
break;
case 1358:
kabiseh = true;
break;
case 1362:
kabiseh = true;
break;
case 1366:
kabiseh = true;
break;
case 1370:
kabiseh = true;
break;
case 1375:
kabiseh = true;
break;
case 1379:
kabiseh = true;
break;
case 1383:
kabiseh = true;
break;
case 1387:
kabiseh = true;
break;
case 1391:
kabiseh = true;
break;
case 1395:
kabiseh = true;
break;
case 1399:
kabiseh = true;
break;
case 1403:
kabiseh = true;
break;
case 1408:
kabiseh = true;
break;
case 1412:
kabiseh = true;
break;
case 1416:
kabiseh = true;
break;
case 1420:
kabiseh = true;
break;
case 1424:
kabiseh = true;
break;
case 1428:
kabiseh = true;
break;
case 1432:
kabiseh = true;
break;
case 1436:
kabiseh = true;
break;
case 1441:
kabiseh = true;
break;
case 1445:
kabiseh = true;
break;
default:
kabiseh = false;
}
if (kabiseh == true && day > 30) {
return false;
} else if (kabiseh == false && day > 29) {
return false;
} else {
return true;
}
} else {
return true;
}
}
</script>
<script>
$(document).ready(function() {
setTimeout(function() {
window.location.hash = "##";
},
1000);
});
</script>

View File

@@ -1,6 +1,7 @@
@model CompanyManagment.App.Contracts.Leave.EditLeave
@{
string adminVersion = _0_Framework.Application.Version.AdminVersion;
<style>
.panel-title {
font-size: 14px;
@@ -169,344 +170,8 @@
<script src="~/admintheme/js/jquery.mask_1.14.16.min.js"></script>
<script>
$(document).ready(function() {
const IsAcceptedCheck = $('#IsAccepted').is(':checked');
if (IsAcceptedCheck) {
$('#descriptionAcceptedCheck').removeClass('errored');
$('#descriptionAcceptedCheck').addClass('disable-input');
$("#descriptionAcceptedCheck").prop('disabled', true);
} else {
$('#descriptionAcceptedCheck').removeClass('disable-input');
$("#descriptionAcceptedCheck").prop('disabled', false);
}
});
$('#save').on('click',
function() {
$("#descriptionAcceptedCheck").on("change",
function() {
$('#descriptionAcceptedCheck').removeClass('errored');
});
const IsAcceptedCheck = $('#IsAccepted').is(':checked');
const descriptionAcceptedCheck = $('#descriptionAcceptedCheck').val();
if (!IsAcceptedCheck && descriptionAcceptedCheck.length === 0) {
$('#descriptionAcceptedCheck').addClass('errored');
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا توضیحات در صورت عدم موافقت را پر کنید.");
return;
}
if ($('.errored').length < 1) {
$('#editFinaly').click();
}
});
$(".date").mask("0000/00/00");
$('.date').on('input',
function() {
const startDate = this.value;
if (startDate.length == 10) {
const submitcheck = dateValidcheck(this);
if (submitcheck) {
$(this).removeClass('errored');
if ($('#startLeave').val() != '' && $('#endLeave').val() != '') {
computeDays();
}
} else {
$(this).addClass('errored');
}
} else {
$(this).addClass('errored');
}
});
function dateValidcheck(inputField1) {
const persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g];
const arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g];
const fixNumbers = function(str) {
if (typeof str === 'string') {
for (let i = 0; i < 10; i++) {
str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i);
}
}
return str;
};
const getdate = inputField1.value;
let m1, m2;
let y1, y2, y3, y4;
let d1, d2;
let s1, s2;
for (let i = 0; i < getdate.length; i++) {
if (i === 0) {
y1 = fixNumbers(getdate[i]);
}
if (i === 1) {
y2 = fixNumbers(getdate[i]);
}
if (i === 2) {
y3 = fixNumbers(getdate[i]);
}
if (i === 3) {
y4 = fixNumbers(getdate[i]);
}
if (i === 4) {
s1 = fixNumbers(getdate[i]);
}
if (i === 5) {
m1 = fixNumbers(getdate[i]);
}
if (i === 6) {
m2 = fixNumbers(getdate[i]);
}
if (i === 7) {
s2 = fixNumbers(getdate[i]);
}
if (i === 8) {
d1 = fixNumbers(getdate[i]);
}
if (i === 9) {
d2 = fixNumbers(getdate[i]);
}
}
const yRes = y1 + y2 + y3 + y4;
const year = parseInt(yRes);
const mRes = m1 + m2;
const month = parseInt(mRes);
const dRes = d1 + d2;
const day = parseInt(dRes);
const fixResult = yRes + s1 + mRes + s2 + dRes;
const test1 = checkEnValid(inputField1.value);
const isValid = /^([1][3-4][0-9][0-9][/])([0][1-9]|[1][0-2])([/])([0][1-9]|[1-2][0-9]|[3][0-1])$/.test(fixResult);
if (isValid && test1) {
// inputField1.style.backgroundColor = '#a6e9a6';
start1valid = true;
} else {
if (inputField1.value != "") {
// inputField1.style.backgroundColor = '#f94c4c';
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا تاریخ را بصورت صحیح وارد کنید");
start1valid = false;
}
}
return start1valid;
}
function checkEnValid(fixDate1) {
let persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g],
arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g],
fixNumbers = function(str) {
if (typeof str === 'string') {
for (let i = 0; i < 10; i++) {
str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i);
}
}
return str;
};
let getdate = fixDate1;
let m1, m2;
let y1, y2, y3, y4;
let d1, d2;
for (let i = 0; i < getdate.length; i++) {
if (i === 0) {
y1 = fixNumbers(getdate[i]);
}
if (i === 1) {
y2 = fixNumbers(getdate[i]);
}
if (i === 2) {
y3 = fixNumbers(getdate[i]);
}
if (i === 3) {
y4 = fixNumbers(getdate[i]);
}
if (i === 5) {
m1 = fixNumbers(getdate[i]);
}
if (i === 6) {
m2 = fixNumbers(getdate[i]);
}
if (i === 8) {
d1 = fixNumbers(getdate[i]);
}
if (i === 9) {
d2 = fixNumbers(getdate[i]);
}
}
let yRes = y1 + y2 + y3 + y4;
let year = parseInt(yRes);
let mRes = m1 + m2;
let month = parseInt(mRes);
let dRes = d1 + d2;
let day = parseInt(dRes);
let kabiseh = false;
if (month <= 6 && day > 31) {
return false;
} else if (month > 6 && month < 12 && day > 30) {
return false;
} else if (month === 12) {
switch (year) {
case 1346:
kabiseh = true;
break;
case 1350:
kabiseh = true;
break;
case 1354:
kabiseh = true;
break;
case 1358:
kabiseh = true;
break;
case 1362:
kabiseh = true;
break;
case 1366:
kabiseh = true;
break;
case 1370:
kabiseh = true;
break;
case 1375:
kabiseh = true;
break;
case 1379:
kabiseh = true;
break;
case 1383:
kabiseh = true;
break;
case 1387:
kabiseh = true;
break;
case 1391:
kabiseh = true;
break;
case 1395:
kabiseh = true;
break;
case 1399:
kabiseh = true;
break;
case 1403:
kabiseh = true;
break;
case 1408:
kabiseh = true;
break;
case 1412:
kabiseh = true;
break;
case 1416:
kabiseh = true;
break;
case 1420:
kabiseh = true;
break;
case 1424:
kabiseh = true;
break;
case 1428:
kabiseh = true;
break;
case 1432:
kabiseh = true;
break;
case 1436:
kabiseh = true;
break;
case 1441:
kabiseh = true;
break;
case 1445:
kabiseh = true;
break;
default:
kabiseh = false;
}
if (kabiseh == true && day > 30) {
return false;
} else if (kabiseh == false && day > 29) {
return false;
} else {
return true;
}
} else {
return true;
}
}
var computeLeavDaysAjaxUrl = '@Url.Page("/Company/Contracts/Index", "ComputeLeavdays")';
</script>
<script>
$(document).ready(function() {
computeDays();
const saati = $('input:radio[class="saati"]');
const roozane = $('input:radio[class="roozane"]');
if ($(roozane).is(':checked') && $(roozane).val() == 'روزانه') {
$("#hours").val('');
$("#hours").attr("disabled", "disabled");
$("#endLeave").removeAttr("disabled");
$("#saati").css("visibility", "hidden");
$('.hourses').css({
display: "none"
});
$('.sumHourseDiv').hide();
$('.sumDaysDiv').show();
$('.res').remove();
$('.validTime').removeClass("validTime");
}
});
function computeDays() {
$('.resultDays').remove();
$.ajax({
/* contentType: 'charset=utf-8',*/
async: false,
dataType: 'json',
type: 'GET',
url: '@Url.Page("/Company/Contracts/Index", "ComputeLeavdays")',
headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() },
data: { "startDay": $('#startLeave').val(), "endDay": $('#endLeave').val() },
success: function(response) {
const res = ` <span class="resultDays"><span>&nbsp;</span><span>:</span> <span>&nbsp;</span><span>${response.res}</span></span>`;
$('.sumDays').append(res);
},
failure: function(response) {
console.log(5, response);
}
});
}
$(document).ready(function() {
setTimeout(function() {
window.location.hash = "##";
},
1000);
});
</script>
<script src="~/AssetsAdmin/page/Contracts/js/editSickLeave.js?ver=@adminVersion"></script>

View File

@@ -1,150 +0,0 @@
@model CompanyManagment.App.Contracts.LeftWork.EditLeftWork
@{
}
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<form asp-page="./Index" asp-page-handler="EditLeftWork" autocomplete="off"
method="post"
data-ajax="true"
data-callback=""
data-action="ReloadLeftWork">
<div class="modal-body">
<div class="row">
<fieldset style="border: 1px solid #999797; height: 120px; border-radius: 10px; padding: revert">
<legend style="margin-bottom: 5px; font-size: large; border-bottom: 0px; color: #505458; width: 140px;text-align: center;">ویرایش </legend>
<div class="row">
<div class="col-md-12">
<div class="form-group m-b-0" dir="rtl">
<label asp-for="LeftWorkDate" class="control-label m-r-5">تاریخ ترک کار</label>
<input id="endDate" dir="ltr" maxlength="10" style="text-align: center" class="form-control persianDateInputb" onchange="validDate(this);" asp-for="LeftWorkDate"/>
<span asp-validation-for="LeftWorkDate" class="error"></span>
</div>
</div>
</div>
</fieldset>
</div>
</div>
<input type="hidden" asp-for="Id" value="@Model.Id"/>
<input type="hidden" asp-for="EmployeeId"/>
<input type="hidden" asp-for="WorkshopId"/>
<input type="hidden" asp-for="StartWorkDate"/>
<input type="hidden" asp-for="WorkshopName"/>
<input type="hidden" asp-for="EmployeeFullName"/>
<div class="modal-footer">
<button type="submit" class="btn btn-success btn-rounded waves-effect waves-light">ذخیره</button>
<a href="#showmodal=@Url.Page("/Company/Contracts/Index", "CreateLeftWork", new { employeeId = Model.EmployeeId })" class="btn btn-default btn-rounded waves-effect waves-light m-b-5"> بازگشت</a>
</div>
</form>
</div>
<script>
function validDate(inputField) {
var persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g],
arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g],
fixNumbers = function(str) {
if (typeof str === 'string') {
for (let i = 0; i < 10; i++) {
str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i);
}
}
return str;
};
let getdate = inputField.value;
var m1, m2;
var y1, y2, y3, y4;
var d1, d2;
var s1, s2;
for (var i = 0; i < getdate.length; i++) {
if (i === 0) {
y1 = fixNumbers(getdate[i]);
}
if (i === 1) {
y2 = fixNumbers(getdate[i]);
}
if (i === 2) {
y3 = fixNumbers(getdate[i]);
}
if (i === 3) {
y4 = fixNumbers(getdate[i]);
}
if (i === 4) {
s1 = fixNumbers(getdate[i]);
}
if (i === 5) {
m1 = fixNumbers(getdate[i]);
}
if (i === 6) {
m2 = fixNumbers(getdate[i]);
}
if (i === 7) {
s2 = fixNumbers(getdate[i]);
}
if (i === 8) {
d1 = fixNumbers(getdate[i]);
}
if (i === 9) {
d2 = fixNumbers(getdate[i]);
}
}
var yRes = y1 + y2 + y3 + y4;
var year = parseInt(yRes);
var mRes = m1 + m2;
var month = parseInt(mRes);
var dRes = d1 + d2;
var day = parseInt(dRes);
var FixResult = yRes + s1 + mRes + s2 + dRes;
var isValid = /^([1][3-4][0-9][0-9][/])([0][1-9]|[1][0-2])([/])([0][1-9]|[1-2][0-9]|[3][0-1])$/.test(FixResult);
if (isValid) {
inputField.style.backgroundColor = '#a6e9a6';
$("button[type=submit]").attr('disabled', false);
validCheck = true;
} else {
inputField.style.backgroundColor = '#f94c4c';
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا تاریخ را بصورت صحیح وارد کنید");
$("button[type=submit]").attr('disabled', true);
validCheck = false;
}
return validCheck;
}
</script>
<script>
$(document).ready(function() {
setTimeout(function() {
window.location.hash = "##";
},
1000);
});
</script>

File diff suppressed because it is too large Load Diff

View File

@@ -1,388 +0,0 @@
@model CompanyManagment.App.Contracts.LeftWork.CreateLeftWork
@{
var i = 1;
}
@{
<style>
.panel-title {
font-size: 14px;
text-transform: uppercase;
margin-bottom: 0;
margin-top: 0;
padding: 5px 7px 5px 7px;
}
.rad {
border-radius: 8px !important;
/* padding: 10px; */
padding: 2px 5px 0px 5px;
}
.faSize {
font-size: 22px !important;
}
</style>
<link href="~/AdminTheme/assets/datatables/jquery.dataTables.min.css" rel="stylesheet" type="text/css"/>
}
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<form asp-page="./Index" asp-page-handler="CreateLetWork" autocomplete="off"
method="post"
data-ajax="true"
data-callback=""
data-action="ReloadLeftWork">
<div class="modal-body">
<div class="row">
<fieldset style="border: 1px solid #999797; border-radius: 10px; padding: revert">
<legend style="margin-bottom: 5px; font-size: 14px; border-bottom: 0px; color: #505458; width: 145px; text-align: center;"> شروع به کار / ترک کار </legend>
<div class="row">
<div class="form-group col-md-12" dir="rtl" style="padding-left: 2.5%">
<label class="sr-only" asp-for="WorkshopId"></label>
<select class="form-control select-city" asp-for="WorkshopId" asp-items='new SelectList(Model.Workshops, "Id", "WorkshopFullName")'>
<option value="">انتخاب کارگاه</option>
</select>
<span asp-validation-for="WorkshopId" class="error"></span>
</div>
<div class="col-md-12">
<div class="form-group m-b-0" dir="rtl">
<input id="endDate" dir="ltr" maxlength="10" style="text-align: center" placeholder="تاریخ شروع به کار" class="form-control persianDateInputb" onchange="validDate(this);" asp-for="StartWorkDate"/>
<span asp-validation-for="StartWorkDate" class="error"></span>
</div>
</div>
</div>
</fieldset>
</div>
<div class="row">
<div class="m-t-10">
<div class="panel panel-default" style="margin-bottom: 0px">
<div class="panel-heading">
<h3 class="panel-title"><i class="fa fa-list" style="padding-left: 3px; font-size: 14px"></i> سوابق شروع بکار و ترک کار(@Model.EmployeeFullName) </h3>
</div>
<div class="panel-body">
<div class="row">
<div class="col-sm-12 col-sm-12 col-xs-12">
<table id="datatable" class="table table-striped table-bordered">
<thead>
<tr>
<th style="font-size: 12px !important;text-align: center">#</th>
<th style="font-size: 12px !important; text-align: center"> نام کارگاه</th>
<th style="font-size: 12px !important; text-align: center"> تاریخ شروع</th>
<th style="font-size: 12px !important; text-align: center"> تاریخ ترک کار </th>
<th style="font-size: 12px !important; width: 10%; text-align: center">عملیات</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model.LeftWorkSearch)
{
<tr>
<td style="font-size: 12px !important; text-align: center">@i </td>
<td style="font-size: 12px !important; text-align: center">@item.WorkshopName </td>
<td style="font-size: 12px !important; text-align: center">@item.StartWorkDate </td>
@if (item.LeftWorkDate == "1500/01/01")
{
<td style="text-align: center">
<a class="btn btn-block btn-success pull-right m-rl-5 rad" style="max-width: -webkit-fill-available; padding: 3px"
href="#showmodal=@Url.Page("/Company/Contracts/Index", "EnterLeftWork", new { item.Id, employeeName = Model.EmployeeFullName })">
<span style="font-size: 16px !important"> <i class="fa fa-sign-out"></i> ثبت ترک کار </span>
</a>
</td>
}
else
{
<td style="font-family: 'IranText' !important; font-size: 12px !important; text-align: center">
@item.LeftWorkDate
</td>
}
@{
i++;
}
<td>
@*<a class="btn btn-warning pull-right m-rl-5 rad"
href="#showmodal=@Url.Page("/Company/Contracts/Index", "EditLeftWork", new { Id = item.Id })">
<i class="fa faSize fa-edit"></i>
</a>*@
<a href="#" class="btn btn-danger pull-right m-rl-5 fff rad RemoveLeftWork">
<i class="fa faSize fa-trash"></i>
</a>
<div style="display: none">
<input type="hidden" name="LeftworkId" value="@item.Id"/>
</div>
</td>
</tr>
}
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<input type="hidden" asp-for="EmployeeId"/>
<input type="hidden" id="emp" asp-for="EmployeeFullName"/>
<div class="modal-footer">
<button type="submit" class="btn btn-success btn-rounded waves-effect waves-light">ذخیره</button>
<button type="button" class="btn btn-default btn-rounded waves-effect waves-light m-b-5" data-dismiss="modal">بستن</button>
</div>
</form>
<form asp-page="./Index" asp-page-handler="RemoveLeftWork" autocomplete="off" id="sub"
method="post"
data-ajax="true"
data-callback=""
data-action="DeletLeftWork">
<div style="display: none">
<input type="hidden" id="LeftId" name="id"/>
<input type="hidden" id="empName" name="employeeName"/>
<input type="hidden" asp-for="EmployeeId"/>
<input type="hidden" asp-for="WorkshopId"/>
<input type="hidden" asp-for="EmployeeFullName"/>
@*<input type="hidden" asp-for="id" value="id"/>*@
<div class="modal-footer" style="margin-bottom: 10px">
<input type="submit" id="sendFinaly" form="sub" value="fine" name="fine" style="display: none"/>
</div>
</div>
</form>
</div>
<script src="~/adminTheme/assets/datatables/jquery.dataTables.min.js"></script>
<script src="~/adminTheme/assets/datatables/dataTables.bootstrap.js"></script>
<script>
$('.RemoveLeftWork').on("click",
function() {
const id = $(this).closest("div").find("input[name='LeftworkId']").val();
const emp = $('#emp').val();
$('#LeftId').val(id);
$('#empName').val(emp);
swal({
title: "آیا حذف این سابقه ترک کار اطمینان دارید؟",
text: "",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "بله",
cancelButtonText: "خیر",
closeOnConfirm: true,
closeOnCancel: true
},
function(isConfirm) {
if (isConfirm) {
$('#sendFinaly').click();
}
});
});
</script>
<script>
function validDate(inputField) {
var persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g],
arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g],
fixNumbers = function(str) {
if (typeof str === 'string') {
for (let i = 0; i < 10; i++) {
str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i);
}
}
return str;
};
let getdate = inputField.value;
var m1, m2;
var y1, y2, y3, y4;
var d1, d2;
var s1, s2;
for (var i = 0; i < getdate.length; i++) {
if (i === 0) {
y1 = fixNumbers(getdate[i]);
}
if (i === 1) {
y2 = fixNumbers(getdate[i]);
}
if (i === 2) {
y3 = fixNumbers(getdate[i]);
}
if (i === 3) {
y4 = fixNumbers(getdate[i]);
}
if (i === 4) {
s1 = fixNumbers(getdate[i]);
}
if (i === 5) {
m1 = fixNumbers(getdate[i]);
}
if (i === 6) {
m2 = fixNumbers(getdate[i]);
}
if (i === 7) {
s2 = fixNumbers(getdate[i]);
}
if (i === 8) {
d1 = fixNumbers(getdate[i]);
}
if (i === 9) {
d2 = fixNumbers(getdate[i]);
}
}
var yRes = y1 + y2 + y3 + y4;
var year = parseInt(yRes);
var mRes = m1 + m2;
var month = parseInt(mRes);
var dRes = d1 + d2;
var day = parseInt(dRes);
var FixResult = yRes + s1 + mRes + s2 + dRes;
var isValid = /^([1][3-4][0-9][0-9][/])([0][1-9]|[1][0-2])([/])([0][1-9]|[1-2][0-9]|[3][0-1])$/.test(FixResult);
if (isValid) {
inputField.style.backgroundColor = '#a6e9a6';
$("button[type=submit]").attr('disabled', false);
validCheck = true;
} else {
inputField.style.backgroundColor = '#f94c4c';
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا تاریخ را بصورت صحیح وارد کنید");
$("button[type=submit]").attr('disabled', true);
validCheck = false;
}
return validCheck;
}
</script>
<script>
$(document).ready(function() {
$('.select-city').select2({
language: "fa",
dir: "rtl"
});
});
</script>
<script>
$(document).ready(function() {
setTimeout(function() {
window.location.hash = "##";
},
1000);
});
</script>
<script>
@*function EditLeft(id) {
const leftId = id.value;
$.ajax({
//contentType: 'application/json; charset=utf-8',
dataType: 'json',
type: 'GET',
url: '@Url.Page("./Index", "EditLeftWork")',
headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() },
data: { "id": leftId },
success: function (response) {
console.log(response);
if (response.stat == false) {
$("button[type=submit]").attr('disabled', true)
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', response.message);
//swal("", response.message, "error");
}
else {
$("button[type=submit]").attr('disabled', false)
}
},
failure: function (response) {
console.log(5, response)
alert("خطایی رخ داده است. لطفا با مدیر سیستم تماس بگیرید");
}
});
}*@
</script>

View File

@@ -1,7 +1,7 @@
@model CompanyManagment.App.Contracts.Leave.CreateLeave
@{
var i = 1;
string adminVersion = _0_Framework.Application.Version.AdminVersion;
}
@{
@@ -353,503 +353,11 @@
}
</style>
<script>
$(document).ready(function() {
$(document).on("change",
"#IsAccepted",
function() {
const IsAcceptedCheck = $('#IsAccepted').is(':checked');
if (IsAcceptedCheck) {
$('#descriptionAcceptedCheck').removeClass('errored');
$('#descriptionAcceptedCheck').addClass('disable-input');
$("#descriptionAcceptedCheck").prop('disabled', true);
} else {
$('#descriptionAcceptedCheck').removeClass('disable-input');
$("#descriptionAcceptedCheck").prop('disabled', false);
}
});
});
$('#save').on('click',
function() {
$("#descriptionAcceptedCheck").on("change",
function() {
$('#descriptionAcceptedCheck').removeClass('errored');
});
const IsAcceptedCheck = $('#IsAccepted').is(':checked');
const descriptionAcceptedCheck = $('#descriptionAcceptedCheck').val();
if (!IsAcceptedCheck && descriptionAcceptedCheck.length === 0) {
$('#descriptionAcceptedCheck').addClass('errored');
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا توضیحات در صورت عدم موافقت را پر کنید.");
return;
}
if ($('.errored').length < 1) {
$('#saveFinaly').click();
} else {
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا خطاها را برطرف کنید");
}
});
$(".date").mask("0000/00/00");
$('.date').on('input',
function() {
const startDate = this.value;
if (startDate.length == 10) {
const submitcheck = dateValidcheck(this);
if (submitcheck) {
$(this).removeClass('errored');
if ($('#startLeave').val() != '' && $('#endLeave').val() != '') {
computeDays();
}
} else {
$(this).addClass('errored');
}
} else {
$(this).addClass('errored');
}
});
function dateValidcheck(inputField1) {
const persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g];
const arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g];
const fixNumbers = function(str) {
if (typeof str === 'string') {
for (let i = 0; i < 10; i++) {
str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i);
}
}
return str;
};
const getdate = inputField1.value;
let m1, m2;
let y1, y2, y3, y4;
let d1, d2;
let s1, s2;
for (let i = 0; i < getdate.length; i++) {
if (i === 0) {
y1 = fixNumbers(getdate[i]);
}
if (i === 1) {
y2 = fixNumbers(getdate[i]);
}
if (i === 2) {
y3 = fixNumbers(getdate[i]);
}
if (i === 3) {
y4 = fixNumbers(getdate[i]);
}
if (i === 4) {
s1 = fixNumbers(getdate[i]);
}
if (i === 5) {
m1 = fixNumbers(getdate[i]);
}
if (i === 6) {
m2 = fixNumbers(getdate[i]);
}
if (i === 7) {
s2 = fixNumbers(getdate[i]);
}
if (i === 8) {
d1 = fixNumbers(getdate[i]);
}
if (i === 9) {
d2 = fixNumbers(getdate[i]);
}
}
const yRes = y1 + y2 + y3 + y4;
const year = parseInt(yRes);
const mRes = m1 + m2;
const month = parseInt(mRes);
const dRes = d1 + d2;
const day = parseInt(dRes);
const fixResult = yRes + s1 + mRes + s2 + dRes;
const test1 = checkEnValid(inputField1.value);
const isValid = /^([1][3-4][0-9][0-9][/])([0][1-9]|[1][0-2])([/])([0][1-9]|[1-2][0-9]|[3][0-1])$/.test(fixResult);
if (isValid && test1) {
// inputField1.style.backgroundColor = '#a6e9a6';
start1valid = true;
} else {
if (inputField1.value != "") {
// inputField1.style.backgroundColor = '#f94c4c';
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا تاریخ را بصورت صحیح وارد کنید");
start1valid = false;
}
}
return start1valid;
}
function checkEnValid(fixDate1) {
let persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g],
arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g],
fixNumbers = function(str) {
if (typeof str === 'string') {
for (let i = 0; i < 10; i++) {
str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i);
}
}
return str;
};
let getdate = fixDate1;
let m1, m2;
let y1, y2, y3, y4;
let d1, d2;
for (let i = 0; i < getdate.length; i++) {
if (i === 0) {
y1 = fixNumbers(getdate[i]);
}
if (i === 1) {
y2 = fixNumbers(getdate[i]);
}
if (i === 2) {
y3 = fixNumbers(getdate[i]);
}
if (i === 3) {
y4 = fixNumbers(getdate[i]);
}
if (i === 5) {
m1 = fixNumbers(getdate[i]);
}
if (i === 6) {
m2 = fixNumbers(getdate[i]);
}
if (i === 8) {
d1 = fixNumbers(getdate[i]);
}
if (i === 9) {
d2 = fixNumbers(getdate[i]);
}
}
let yRes = y1 + y2 + y3 + y4;
let year = parseInt(yRes);
let mRes = m1 + m2;
let month = parseInt(mRes);
let dRes = d1 + d2;
let day = parseInt(dRes);
let kabiseh = false;
if (month <= 6 && day > 31) {
return false;
} else if (month > 6 && month < 12 && day > 30) {
return false;
} else if (month === 12) {
switch (year) {
case 1346:
kabiseh = true;
break;
case 1350:
kabiseh = true;
break;
case 1354:
kabiseh = true;
break;
case 1358:
kabiseh = true;
break;
case 1362:
kabiseh = true;
break;
case 1366:
kabiseh = true;
break;
case 1370:
kabiseh = true;
break;
case 1375:
kabiseh = true;
break;
case 1379:
kabiseh = true;
break;
case 1383:
kabiseh = true;
break;
case 1387:
kabiseh = true;
break;
case 1391:
kabiseh = true;
break;
case 1395:
kabiseh = true;
break;
case 1399:
kabiseh = true;
break;
case 1403:
kabiseh = true;
break;
case 1408:
kabiseh = true;
break;
case 1412:
kabiseh = true;
break;
case 1416:
kabiseh = true;
break;
case 1420:
kabiseh = true;
break;
case 1424:
kabiseh = true;
break;
case 1428:
kabiseh = true;
break;
case 1432:
kabiseh = true;
break;
case 1436:
kabiseh = true;
break;
case 1441:
kabiseh = true;
break;
case 1445:
kabiseh = true;
break;
default:
kabiseh = false;
}
if (kabiseh == true && day > 30) {
return false;
} else if (kabiseh == false && day > 29) {
return false;
} else {
return true;
}
} else {
return true;
}
}
var computeLeavHourseAjaxUrl = '@Url.Page("/Company/Contracts/Index", "ComputeLeavHourse")';
var computeLeavDaysAjaxUrl = '@Url.Page("/Company/Contracts/Index", "ComputeLeavdays")';
var checkIfValidToEditAjaxUrl = '@Url.Page("/Company/Contracts/Index", "CheckIfValidToEdit")';
</script>
<script>
$("#hours").attr("disabled", "disabled");
$('input:radio[name="PaidLeaveType"]').change(
function() {
if ($(this).is(':checked') && $(this).val() == 'روزانه') {
$("#hours").val('');
$("#hours").attr("disabled", "disabled");
$("#endLeave").removeAttr("disabled");
$('.endLeaveLabal').show();
$('#StartHoure').removeClass("invalidTime");
$('#StartHoure').val('');
$('#EndHours').removeClass("invalidTime");
$('#EndHours').val('');
$("#endLeave").show();
$('.hourses').css({
display: "none"
});
$('.sumHourseDiv').hide();
$('.sumDaysDiv').show();
$('.res').remove();
$('.validTime').removeClass("validTime");
} else if ($(this).is(':checked') && $(this).val() == 'ساعتی') {
$("#endLeave").val('');
$("#endLeave").attr("disabled", "disabled");
$("#endLeave").hide();
$('.endLeaveLabal').hide();
$('.hourses').css({
display: "flex"
});
$("#hours").removeAttr("disabled");
$('.sumHourseDiv').show();
$('.sumDaysDiv').hide();
}
});
/////////////////Time Input Validatet/////////////////
$('#StartHoure').on("keyup",
function() {
const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test($(this).val());
if (isValid) {
$(this).addClass("validTime");
$(this).removeClass("invalidTime");
if ($('#EndHours').hasClass('validTime') && $('#EndHours').val() != null) {
computeHourse();
}
} else {
$(this).removeClass("validTime");
$(this).addClass("invalidTime");
}
});
$('#EndHours').on("keyup",
function() {
const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test($(this).val());
if (isValid) {
$(this).addClass("validTime");
$(this).removeClass("invalidTime");
if ($('#StartHoure').hasClass('validTime') && $('#StartHoure').val() != null) {
computeHourse();
}
} else {
$(this).removeClass("validTime");
$(this).addClass("invalidTime");
}
});
function computeHourse() {
$('.res').remove();
$.ajax({
/* contentType: 'charset=utf-8',*/
async: false,
dataType: 'json',
type: 'GET',
url: '@Url.Page("/Company/Contracts/Index", "ComputeLeavHourse")',
headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() },
data: { "startHours": $('#StartHoure').val(), "endHourse": $('#EndHours').val() },
success: function(response) {
const res = ` <span class="res"><span>&nbsp;</span><span>:</span> <span>&nbsp;</span><span>${response.res}</span></span>`;
$('.sumHours').append(res);
},
failure: function(response) {
console.log(5, response);
}
});
}
function computeDays() {
$('.resultDays').remove();
$.ajax({
/* contentType: 'charset=utf-8',*/
async: false,
dataType: 'json',
type: 'GET',
url: '@Url.Page("/Company/Contracts/Index", "ComputeLeavdays")',
headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() },
data: { "startDay": $('#startLeave').val(), "endDay": $('#endLeave').val() },
success: function(response) {
const res = ` <span class="resultDays"><span>&nbsp;</span><span>:</span> <span>&nbsp;</span><span>${response.res}</span></span>`;
$('.sumDays').append(res);
},
failure: function(response) {
console.log(5, response);
}
});
}
// function validateHM(inputField) {
// /*var isValid = /^\d{1}?\d{1}:\d{1}?\d{1}$/.test(inputField.value);*/
// var isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test(inputField.value);
// let isEmpty = inputField.value;
// if (isValid || isEmpty == "") {
// if (isEmpty != "") {
// inputField.style.backgroundColor = '#a6e9a6';
// } else {
// inputField.style.backgroundColor = '#fff';
// }
<script src="~/AssetsAdmin/page/Contracts/js/paidLeave.js?ver=@adminVersion"></script>
// timeValid = true;
// } else {
// inputField.style.backgroundColor = '#f94c4c';
// $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا ساعت را بصورت صحیح وارد کنید");
// timeValid = false;
// }
// return isValid;
// }
</script>
<script>
//Edit Leave
function checkIfValidToEdit(id) {
var leaveId = Number(id);
$.ajax({
/* contentType: 'charset=utf-8',*/
// async: false,
dataType: 'json',
type: 'GET',
url: '@Url.Page("/Company/Contracts/Index", "CheckIfValidToEdit")',
headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() },
data: { "id": leaveId },
success: function(response) {
if (response.validToEdit) {
const goTo = `#showmodal=/Admin/Company/Contracts?id=${leaveId}&handler=EditPaidLeave`;
console.log(goTo);
window.location.href = goTo;
} else {
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "در بازه زمانی این مرخصی و یا بعد از آن فیش حقوقی وجود دارد");
}
},
failure: function(response) {
console.log(5, response);
}
});
}
//remove Leave
$('.RemoveLeftWork').on("click",
function() {
const id = $(this).closest("div").find("input[name='LeftworkId']").val();
$('#LeftId').val(id);
swal({
title: "آیا حذف این سابقه مرخصی اطمینان دارید؟",
text: "",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "بله",
cancelButtonText: "خیر",
closeOnConfirm: true,
closeOnCancel: true
},
function(isConfirm) {
if (isConfirm) {
$('#sendFinaly').click();
}
});
});
</script>
<script>
// $(document).ready(function () {
// setTimeout(function () {
// window.location.hash = "##";
// }, 1000);
// });
</script>

View File

@@ -1,7 +1,7 @@
@model CompanyManagment.App.Contracts.Leave.CreateLeave
@{
var i = 1;
string adminVersion = _0_Framework.Application.Version.AdminVersion;
}
@{
@@ -281,363 +281,8 @@
<script src="~/adminTheme/assets/datatables/dataTables.bootstrap.js"></script>
<script src="~/admintheme/js/jquery.mask_1.14.16.min.js"></script>
<script>
$('.RemoveLeftWork').on("click",
function() {
const id = $(this).closest("div").find("input[name='LeftworkId']").val();
$('#LeftId').val(id);
swal({
title: "آیا حذف این سابقه مرخصی اطمینان دارید؟",
text: "",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "بله",
cancelButtonText: "خیر",
closeOnConfirm: true,
closeOnCancel: true
},
function(isConfirm) {
if (isConfirm) {
$('#sendFinaly').click();
}
});
});
var computeLeavDaysAjaxUrl = '@Url.Page("/Company/Contracts/Index", "ComputeLeavdays")';
</script>
<script>
$(document).ready(function() {
$(document).on("change",
"#IsAccepted",
function() {
const IsAcceptedCheck = $('#IsAccepted').is(':checked');
if (IsAcceptedCheck) {
$('#descriptionAcceptedCheck').removeClass('errored');
$('#descriptionAcceptedCheck').addClass('disable-input');
$("#descriptionAcceptedCheck").prop('disabled', true);
} else {
$('#descriptionAcceptedCheck').removeClass('disable-input');
$("#descriptionAcceptedCheck").prop('disabled', false);
}
});
});
<script src="~/AssetsAdmin/page/Contracts/js/sickLeave.js?ver=@adminVersion"></script>
$('#save').on('click',
function() {
$("#descriptionAcceptedCheck").on("change",
function() {
$('#descriptionAcceptedCheck').removeClass('errored');
});
const IsAcceptedCheck = $('#IsAccepted').is(':checked');
const descriptionAcceptedCheck = $('#descriptionAcceptedCheck').val();
if (!IsAcceptedCheck && descriptionAcceptedCheck.length === 0) {
$('#descriptionAcceptedCheck').addClass('errored');
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا توضیحات در صورت عدم موافقت را پر کنید.");
return;
}
if ($('.errored').length < 1) {
$('#saveFinaly').click();
}
});
$(".date").mask("0000/00/00");
$('.date').on('input',
function() {
const startDate = this.value;
if (startDate.length == 10) {
const submitcheck = dateValidcheck(this);
if (submitcheck) {
$(this).removeClass('errored');
if ($('#startLeave').val() != '' && $('#endLeave').val() != '') {
computeDays();
}
} else {
$(this).addClass('errored');
}
} else {
$(this).addClass('errored');
}
});
function dateValidcheck(inputField1) {
const persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g];
const arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g];
const fixNumbers = function(str) {
if (typeof str === 'string') {
for (let i = 0; i < 10; i++) {
str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i);
}
}
return str;
};
const getdate = inputField1.value;
let m1, m2;
let y1, y2, y3, y4;
let d1, d2;
let s1, s2;
for (let i = 0; i < getdate.length; i++) {
if (i === 0) {
y1 = fixNumbers(getdate[i]);
}
if (i === 1) {
y2 = fixNumbers(getdate[i]);
}
if (i === 2) {
y3 = fixNumbers(getdate[i]);
}
if (i === 3) {
y4 = fixNumbers(getdate[i]);
}
if (i === 4) {
s1 = fixNumbers(getdate[i]);
}
if (i === 5) {
m1 = fixNumbers(getdate[i]);
}
if (i === 6) {
m2 = fixNumbers(getdate[i]);
}
if (i === 7) {
s2 = fixNumbers(getdate[i]);
}
if (i === 8) {
d1 = fixNumbers(getdate[i]);
}
if (i === 9) {
d2 = fixNumbers(getdate[i]);
}
}
const yRes = y1 + y2 + y3 + y4;
const year = parseInt(yRes);
const mRes = m1 + m2;
const month = parseInt(mRes);
const dRes = d1 + d2;
const day = parseInt(dRes);
const fixResult = yRes + s1 + mRes + s2 + dRes;
const test1 = checkEnValid(inputField1.value);
const isValid = /^([1][3-4][0-9][0-9][/])([0][1-9]|[1][0-2])([/])([0][1-9]|[1-2][0-9]|[3][0-1])$/.test(fixResult);
if (isValid && test1) {
// inputField1.style.backgroundColor = '#a6e9a6';
start1valid = true;
} else {
if (inputField1.value != "") {
// inputField1.style.backgroundColor = '#f94c4c';
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا تاریخ را بصورت صحیح وارد کنید");
start1valid = false;
}
}
return start1valid;
}
function checkEnValid(fixDate1) {
let persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g],
arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g],
fixNumbers = function(str) {
if (typeof str === 'string') {
for (let i = 0; i < 10; i++) {
str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i);
}
}
return str;
};
let getdate = fixDate1;
let m1, m2;
let y1, y2, y3, y4;
let d1, d2;
for (let i = 0; i < getdate.length; i++) {
if (i === 0) {
y1 = fixNumbers(getdate[i]);
}
if (i === 1) {
y2 = fixNumbers(getdate[i]);
}
if (i === 2) {
y3 = fixNumbers(getdate[i]);
}
if (i === 3) {
y4 = fixNumbers(getdate[i]);
}
if (i === 5) {
m1 = fixNumbers(getdate[i]);
}
if (i === 6) {
m2 = fixNumbers(getdate[i]);
}
if (i === 8) {
d1 = fixNumbers(getdate[i]);
}
if (i === 9) {
d2 = fixNumbers(getdate[i]);
}
}
let yRes = y1 + y2 + y3 + y4;
let year = parseInt(yRes);
let mRes = m1 + m2;
let month = parseInt(mRes);
let dRes = d1 + d2;
let day = parseInt(dRes);
let kabiseh = false;
if (month <= 6 && day > 31) {
return false;
} else if (month > 6 && month < 12 && day > 30) {
return false;
} else if (month === 12) {
switch (year) {
case 1346:
kabiseh = true;
break;
case 1350:
kabiseh = true;
break;
case 1354:
kabiseh = true;
break;
case 1358:
kabiseh = true;
break;
case 1362:
kabiseh = true;
break;
case 1366:
kabiseh = true;
break;
case 1370:
kabiseh = true;
break;
case 1375:
kabiseh = true;
break;
case 1379:
kabiseh = true;
break;
case 1383:
kabiseh = true;
break;
case 1387:
kabiseh = true;
break;
case 1391:
kabiseh = true;
break;
case 1395:
kabiseh = true;
break;
case 1399:
kabiseh = true;
break;
case 1403:
kabiseh = true;
break;
case 1408:
kabiseh = true;
break;
case 1412:
kabiseh = true;
break;
case 1416:
kabiseh = true;
break;
case 1420:
kabiseh = true;
break;
case 1424:
kabiseh = true;
break;
case 1428:
kabiseh = true;
break;
case 1432:
kabiseh = true;
break;
case 1436:
kabiseh = true;
break;
case 1441:
kabiseh = true;
break;
case 1445:
kabiseh = true;
break;
default:
kabiseh = false;
}
if (kabiseh == true && day > 30) {
return false;
} else if (kabiseh == false && day > 29) {
return false;
} else {
return true;
}
} else {
return true;
}
}
</script>
<script>
$('input:radio[name="PaidLeaveType"]').change(function() {
if ($(this).is(':checked') && $(this).val() == 'روزانه') {
$("#hours").val('');
$("#hours").attr("disabled", "disabled");
$("#endLeave").removeAttr("disabled");
$('.endLeaveLabal').show();
$('#StartHoure').removeClass("invalidTime");
$('#StartHoure').val('');
$('#EndHours').removeClass("invalidTime");
$('#EndHours').val('');
$("#endLeave").show();
$('.hourses').css({
display: "none"
});
$('.sumHourseDiv').hide();
$('.sumDaysDiv').show();
$('.res').remove();
$('.validTime').removeClass("validTime");
}
});
function computeDays() {
$('.resultDays').remove();
$.ajax({
/* contentType: 'charset=utf-8',*/
async: false,
dataType: 'json',
type: 'GET',
url: '@Url.Page("/Company/Contracts/Index", "ComputeLeavdays")',
headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() },
data: { "startDay": $('#startLeave').val(), "endDay": $('#endLeave').val() },
success: function(response) {
const res = ` <span class="resultDays"><span>&nbsp;</span><span>:</span> <span>&nbsp;</span><span>${response.res}</span></span>`;
$('.sumDays').append(res);
},
failure: function(response) {
console.log(5, response);
}
});
}
$(document).ready(function() {
setTimeout(function() {
window.location.hash = "##";
},
1000);
});
</script>

View File

@@ -0,0 +1,405 @@
$(document).ready(function() {
const IsAcceptedCheck = $('#IsAccepted').is(':checked');
if (IsAcceptedCheck) {
$('#descriptionAcceptedCheck').removeClass('errored');
$('#descriptionAcceptedCheck').addClass('disable-input');
$("#descriptionAcceptedCheck").prop('disabled', true);
} else {
$('#descriptionAcceptedCheck').removeClass('disable-input');
$("#descriptionAcceptedCheck").prop('disabled', false);
}
});
$(document).ready(
function() {
computeHourse();
const saati = $('input:radio[class="saati"]');
const roozane = $('input:radio[class="roozane"]');
if ($(roozane).is(':checked') && $(roozane).val() == 'روزانه') {
$("#hours").val('');
$("#hours").attr("disabled", "disabled");
$("#endLeave").removeAttr("disabled");
$("#saati").css("visibility", "hidden");
$('.hourses').css({
display: "none"
});
$('.sumHourseDiv').hide();
$('.sumDaysDiv').show();
$('.res').remove();
$('.validTime').removeClass("validTime");
} else if ($(saati).is(':checked') && $(saati).val() == 'ساعتی') {
$("#endLeave").val('');
$("#endLeave").attr("disabled", "disabled");
$("#endLeave").hide();
$('.endLeaveLabal').hide();
$('.hourses').css({
display: "flex"
});
$("#hours").removeAttr("disabled");
$('.sumHourseDiv').show();
$('#roozaneh').hide();
$('.sumDaysDiv').hide();
}
});
computeDays();
$('#save').on('click',
function() {
$("#descriptionAcceptedCheck").on("change",
function() {
$('#descriptionAcceptedCheck').removeClass('errored');
});
const IsAcceptedCheck = $('#IsAccepted').is(':checked');
const descriptionAcceptedCheck = $('#descriptionAcceptedCheck').val();
if (!IsAcceptedCheck && descriptionAcceptedCheck.length === 0) {
$('#descriptionAcceptedCheck').addClass('errored');
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا توضیحات در صورت عدم موافقت را پر کنید.");
return;
}
if ($('.errored').length < 1 && $('.invalidTime').length < 1) {
$('#editFinaly').click();
}
});
$(".date").mask("0000/00/00");
$('.date').on('input',
function() {
const startDate = this.value;
if (startDate.length == 10) {
const submitcheck = dateValidcheck(this);
if (submitcheck) {
$(this).removeClass('errored');
if ($('#startLeave').val() != '' && $('#endLeave').val() != '') {
computeDays();
}
} else {
$(this).addClass('errored');
}
} else {
$(this).addClass('errored');
}
});
/////////////////Time Input Validatet/////////////////
$('#StartHoure').on("keyup",
function() {
const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test($(this).val());
if (isValid) {
$(this).addClass("validTime");
$(this).removeClass("invalidTime");
if (!$('#EndHours').hasClass('invalidTime') && $('#EndHours').val() != null) {
computeHourse();
}
} else {
$(this).removeClass("validTime");
$(this).addClass("invalidTime");
}
});
$('#EndHours').on("keyup",
function() {
const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test($(this).val());
if (isValid) {
$(this).addClass("validTime");
$(this).removeClass("invalidTime");
if (!$('#StartHoure').hasClass('invalidTime') && $('#StartHoure').val() != null) {
computeHourse();
}
} else {
$(this).removeClass("validTime");
$(this).addClass("invalidTime");
}
});
function computeHourse() {
$('.res').remove();
$.ajax({
/* contentType: 'charset=utf-8',*/
async: false,
dataType: 'json',
type: 'GET',
url: computeLeavHourseAjaxUrl,
headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() },
data: { "startHours": $('#StartHoure').val(), "endHourse": $('#EndHours').val() },
success: function(response) {
const res = ` <span class="res"><span>&nbsp;</span><span>:</span> <span>&nbsp;</span><span>${response.res}</span></span>`;
$('.sumHours').append(res);
},
failure: function(response) {
console.log(5, response);
}
});
}
function computeDays() {
$('.resultDays').remove();
$.ajax({
/* contentType: 'charset=utf-8',*/
async: false,
dataType: 'json',
type: 'GET',
url: computeLeavDaysAjaxUrl,
headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() },
data: { "startDay": $('#startLeave').val(), "endDay": $('#endLeave').val() },
success: function(response) {
const res = ` <span class="resultDays"><span>&nbsp;</span><span>:</span> <span>&nbsp;</span><span>${response.res}</span></span>`;
$('.sumDays').append(res);
},
failure: function(response) {
console.log(5, response);
}
});
}
function dateValidcheck(inputField1) {
const persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g];
const arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g];
const fixNumbers = function(str) {
if (typeof str === 'string') {
for (let i = 0; i < 10; i++) {
str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i);
}
}
return str;
};
const getdate = inputField1.value;
let m1, m2;
let y1, y2, y3, y4;
let d1, d2;
let s1, s2;
for (let i = 0; i < getdate.length; i++) {
if (i === 0) {
y1 = fixNumbers(getdate[i]);
}
if (i === 1) {
y2 = fixNumbers(getdate[i]);
}
if (i === 2) {
y3 = fixNumbers(getdate[i]);
}
if (i === 3) {
y4 = fixNumbers(getdate[i]);
}
if (i === 4) {
s1 = fixNumbers(getdate[i]);
}
if (i === 5) {
m1 = fixNumbers(getdate[i]);
}
if (i === 6) {
m2 = fixNumbers(getdate[i]);
}
if (i === 7) {
s2 = fixNumbers(getdate[i]);
}
if (i === 8) {
d1 = fixNumbers(getdate[i]);
}
if (i === 9) {
d2 = fixNumbers(getdate[i]);
}
}
const yRes = y1 + y2 + y3 + y4;
const year = parseInt(yRes);
const mRes = m1 + m2;
const month = parseInt(mRes);
const dRes = d1 + d2;
const day = parseInt(dRes);
const fixResult = yRes + s1 + mRes + s2 + dRes;
const test1 = checkEnValid(inputField1.value);
const isValid = /^([1][3-4][0-9][0-9][/])([0][1-9]|[1][0-2])([/])([0][1-9]|[1-2][0-9]|[3][0-1])$/.test(fixResult);
if (isValid && test1) {
// inputField1.style.backgroundColor = '#a6e9a6';
start1valid = true;
} else {
if (inputField1.value != "") {
// inputField1.style.backgroundColor = '#f94c4c';
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا تاریخ را بصورت صحیح وارد کنید");
start1valid = false;
}
}
return start1valid;
}
function checkEnValid(fixDate1) {
let persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g],
arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g],
fixNumbers = function(str) {
if (typeof str === 'string') {
for (let i = 0; i < 10; i++) {
str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i);
}
}
return str;
};
let getdate = fixDate1;
let m1, m2;
let y1, y2, y3, y4;
let d1, d2;
for (let i = 0; i < getdate.length; i++) {
if (i === 0) {
y1 = fixNumbers(getdate[i]);
}
if (i === 1) {
y2 = fixNumbers(getdate[i]);
}
if (i === 2) {
y3 = fixNumbers(getdate[i]);
}
if (i === 3) {
y4 = fixNumbers(getdate[i]);
}
if (i === 5) {
m1 = fixNumbers(getdate[i]);
}
if (i === 6) {
m2 = fixNumbers(getdate[i]);
}
if (i === 8) {
d1 = fixNumbers(getdate[i]);
}
if (i === 9) {
d2 = fixNumbers(getdate[i]);
}
}
let yRes = y1 + y2 + y3 + y4;
let year = parseInt(yRes);
let mRes = m1 + m2;
let month = parseInt(mRes);
let dRes = d1 + d2;
let day = parseInt(dRes);
let kabiseh = false;
if (month <= 6 && day > 31) {
return false;
} else if (month > 6 && month < 12 && day > 30) {
return false;
} else if (month === 12) {
switch (year) {
case 1346:
kabiseh = true;
break;
case 1350:
kabiseh = true;
break;
case 1354:
kabiseh = true;
break;
case 1358:
kabiseh = true;
break;
case 1362:
kabiseh = true;
break;
case 1366:
kabiseh = true;
break;
case 1370:
kabiseh = true;
break;
case 1375:
kabiseh = true;
break;
case 1379:
kabiseh = true;
break;
case 1383:
kabiseh = true;
break;
case 1387:
kabiseh = true;
break;
case 1391:
kabiseh = true;
break;
case 1395:
kabiseh = true;
break;
case 1399:
kabiseh = true;
break;
case 1403:
kabiseh = true;
break;
case 1408:
kabiseh = true;
break;
case 1412:
kabiseh = true;
break;
case 1416:
kabiseh = true;
break;
case 1420:
kabiseh = true;
break;
case 1424:
kabiseh = true;
break;
case 1428:
kabiseh = true;
break;
case 1432:
kabiseh = true;
break;
case 1436:
kabiseh = true;
break;
case 1441:
kabiseh = true;
break;
case 1445:
kabiseh = true;
break;
default:
kabiseh = false;
}
if (kabiseh == true && day > 30) {
return false;
} else if (kabiseh == false && day > 29) {
return false;
} else {
return true;
}
} else {
return true;
}
}
$(document).ready(function() {
setTimeout(function() {
window.location.hash = "##";
},
1000);
});

View File

@@ -0,0 +1,339 @@
$(document).ready(function() {
const IsAcceptedCheck = $('#IsAccepted').is(':checked');
if (IsAcceptedCheck) {
$('#descriptionAcceptedCheck').removeClass('errored');
$('#descriptionAcceptedCheck').addClass('disable-input');
$("#descriptionAcceptedCheck").prop('disabled', true);
} else {
$('#descriptionAcceptedCheck').removeClass('disable-input');
$("#descriptionAcceptedCheck").prop('disabled', false);
}
});
$('#save').on('click',
function() {
$("#descriptionAcceptedCheck").on("change",
function() {
$('#descriptionAcceptedCheck').removeClass('errored');
});
const IsAcceptedCheck = $('#IsAccepted').is(':checked');
const descriptionAcceptedCheck = $('#descriptionAcceptedCheck').val();
if (!IsAcceptedCheck && descriptionAcceptedCheck.length === 0) {
$('#descriptionAcceptedCheck').addClass('errored');
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا توضیحات در صورت عدم موافقت را پر کنید.");
return;
}
if ($('.errored').length < 1) {
$('#editFinaly').click();
}
});
$(".date").mask("0000/00/00");
$('.date').on('input',
function() {
const startDate = this.value;
if (startDate.length == 10) {
const submitcheck = dateValidcheck(this);
if (submitcheck) {
$(this).removeClass('errored');
if ($('#startLeave').val() != '' && $('#endLeave').val() != '') {
computeDays();
}
} else {
$(this).addClass('errored');
}
} else {
$(this).addClass('errored');
}
});
function dateValidcheck(inputField1) {
const persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g];
const arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g];
const fixNumbers = function(str) {
if (typeof str === 'string') {
for (let i = 0; i < 10; i++) {
str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i);
}
}
return str;
};
const getdate = inputField1.value;
let m1, m2;
let y1, y2, y3, y4;
let d1, d2;
let s1, s2;
for (let i = 0; i < getdate.length; i++) {
if (i === 0) {
y1 = fixNumbers(getdate[i]);
}
if (i === 1) {
y2 = fixNumbers(getdate[i]);
}
if (i === 2) {
y3 = fixNumbers(getdate[i]);
}
if (i === 3) {
y4 = fixNumbers(getdate[i]);
}
if (i === 4) {
s1 = fixNumbers(getdate[i]);
}
if (i === 5) {
m1 = fixNumbers(getdate[i]);
}
if (i === 6) {
m2 = fixNumbers(getdate[i]);
}
if (i === 7) {
s2 = fixNumbers(getdate[i]);
}
if (i === 8) {
d1 = fixNumbers(getdate[i]);
}
if (i === 9) {
d2 = fixNumbers(getdate[i]);
}
}
const yRes = y1 + y2 + y3 + y4;
const year = parseInt(yRes);
const mRes = m1 + m2;
const month = parseInt(mRes);
const dRes = d1 + d2;
const day = parseInt(dRes);
const fixResult = yRes + s1 + mRes + s2 + dRes;
const test1 = checkEnValid(inputField1.value);
const isValid = /^([1][3-4][0-9][0-9][/])([0][1-9]|[1][0-2])([/])([0][1-9]|[1-2][0-9]|[3][0-1])$/.test(fixResult);
if (isValid && test1) {
// inputField1.style.backgroundColor = '#a6e9a6';
start1valid = true;
} else {
if (inputField1.value != "") {
// inputField1.style.backgroundColor = '#f94c4c';
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا تاریخ را بصورت صحیح وارد کنید");
start1valid = false;
}
}
return start1valid;
}
function checkEnValid(fixDate1) {
let persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g],
arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g],
fixNumbers = function(str) {
if (typeof str === 'string') {
for (let i = 0; i < 10; i++) {
str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i);
}
}
return str;
};
let getdate = fixDate1;
let m1, m2;
let y1, y2, y3, y4;
let d1, d2;
for (let i = 0; i < getdate.length; i++) {
if (i === 0) {
y1 = fixNumbers(getdate[i]);
}
if (i === 1) {
y2 = fixNumbers(getdate[i]);
}
if (i === 2) {
y3 = fixNumbers(getdate[i]);
}
if (i === 3) {
y4 = fixNumbers(getdate[i]);
}
if (i === 5) {
m1 = fixNumbers(getdate[i]);
}
if (i === 6) {
m2 = fixNumbers(getdate[i]);
}
if (i === 8) {
d1 = fixNumbers(getdate[i]);
}
if (i === 9) {
d2 = fixNumbers(getdate[i]);
}
}
let yRes = y1 + y2 + y3 + y4;
let year = parseInt(yRes);
let mRes = m1 + m2;
let month = parseInt(mRes);
let dRes = d1 + d2;
let day = parseInt(dRes);
let kabiseh = false;
if (month <= 6 && day > 31) {
return false;
} else if (month > 6 && month < 12 && day > 30) {
return false;
} else if (month === 12) {
switch (year) {
case 1346:
kabiseh = true;
break;
case 1350:
kabiseh = true;
break;
case 1354:
kabiseh = true;
break;
case 1358:
kabiseh = true;
break;
case 1362:
kabiseh = true;
break;
case 1366:
kabiseh = true;
break;
case 1370:
kabiseh = true;
break;
case 1375:
kabiseh = true;
break;
case 1379:
kabiseh = true;
break;
case 1383:
kabiseh = true;
break;
case 1387:
kabiseh = true;
break;
case 1391:
kabiseh = true;
break;
case 1395:
kabiseh = true;
break;
case 1399:
kabiseh = true;
break;
case 1403:
kabiseh = true;
break;
case 1408:
kabiseh = true;
break;
case 1412:
kabiseh = true;
break;
case 1416:
kabiseh = true;
break;
case 1420:
kabiseh = true;
break;
case 1424:
kabiseh = true;
break;
case 1428:
kabiseh = true;
break;
case 1432:
kabiseh = true;
break;
case 1436:
kabiseh = true;
break;
case 1441:
kabiseh = true;
break;
case 1445:
kabiseh = true;
break;
default:
kabiseh = false;
}
if (kabiseh == true && day > 30) {
return false;
} else if (kabiseh == false && day > 29) {
return false;
} else {
return true;
}
} else {
return true;
}
}
$(document).ready(function() {
computeDays();
const saati = $('input:radio[class="saati"]');
const roozane = $('input:radio[class="roozane"]');
if ($(roozane).is(':checked') && $(roozane).val() == 'روزانه') {
$("#hours").val('');
$("#hours").attr("disabled", "disabled");
$("#endLeave").removeAttr("disabled");
$("#saati").css("visibility", "hidden");
$('.hourses').css({
display: "none"
});
$('.sumHourseDiv').hide();
$('.sumDaysDiv').show();
$('.res').remove();
$('.validTime').removeClass("validTime");
}
});
function computeDays() {
$('.resultDays').remove();
$.ajax({
/* contentType: 'charset=utf-8',*/
async: false,
dataType: 'json',
type: 'GET',
url: computeLeavDaysAjaxUrl,
headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() },
data: { "startDay": $('#startLeave').val(), "endDay": $('#endLeave').val() },
success: function(response) {
const res = ` <span class="resultDays"><span>&nbsp;</span><span>:</span> <span>&nbsp;</span><span>${response.res}</span></span>`;
$('.sumDays').append(res);
},
failure: function(response) {
console.log(5, response);
}
});
}
$(document).ready(function() {
setTimeout(function() {
window.location.hash = "##";
},
1000);
});

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,492 @@
$(document).ready(function() {
$(document).on("change",
"#IsAccepted",
function() {
const IsAcceptedCheck = $('#IsAccepted').is(':checked');
if (IsAcceptedCheck) {
$('#descriptionAcceptedCheck').removeClass('errored');
$('#descriptionAcceptedCheck').addClass('disable-input');
$("#descriptionAcceptedCheck").prop('disabled', true);
} else {
$('#descriptionAcceptedCheck').removeClass('disable-input');
$("#descriptionAcceptedCheck").prop('disabled', false);
}
});
});
$('#save').on('click',
function() {
$("#descriptionAcceptedCheck").on("change",
function() {
$('#descriptionAcceptedCheck').removeClass('errored');
});
const IsAcceptedCheck = $('#IsAccepted').is(':checked');
const descriptionAcceptedCheck = $('#descriptionAcceptedCheck').val();
if (!IsAcceptedCheck && descriptionAcceptedCheck.length === 0) {
$('#descriptionAcceptedCheck').addClass('errored');
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا توضیحات در صورت عدم موافقت را پر کنید.");
return;
}
if ($('.errored').length < 1) {
$('#saveFinaly').click();
} else {
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا خطاها را برطرف کنید");
}
});
$(".date").mask("0000/00/00");
$('.date').on('input',
function() {
const startDate = this.value;
if (startDate.length == 10) {
const submitcheck = dateValidcheck(this);
if (submitcheck) {
$(this).removeClass('errored');
if ($('#startLeave').val() != '' && $('#endLeave').val() != '') {
computeDays();
}
} else {
$(this).addClass('errored');
}
} else {
$(this).addClass('errored');
}
});
function dateValidcheck(inputField1) {
const persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g];
const arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g];
const fixNumbers = function(str) {
if (typeof str === 'string') {
for (let i = 0; i < 10; i++) {
str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i);
}
}
return str;
};
const getdate = inputField1.value;
let m1, m2;
let y1, y2, y3, y4;
let d1, d2;
let s1, s2;
for (let i = 0; i < getdate.length; i++) {
if (i === 0) {
y1 = fixNumbers(getdate[i]);
}
if (i === 1) {
y2 = fixNumbers(getdate[i]);
}
if (i === 2) {
y3 = fixNumbers(getdate[i]);
}
if (i === 3) {
y4 = fixNumbers(getdate[i]);
}
if (i === 4) {
s1 = fixNumbers(getdate[i]);
}
if (i === 5) {
m1 = fixNumbers(getdate[i]);
}
if (i === 6) {
m2 = fixNumbers(getdate[i]);
}
if (i === 7) {
s2 = fixNumbers(getdate[i]);
}
if (i === 8) {
d1 = fixNumbers(getdate[i]);
}
if (i === 9) {
d2 = fixNumbers(getdate[i]);
}
}
const yRes = y1 + y2 + y3 + y4;
const year = parseInt(yRes);
const mRes = m1 + m2;
const month = parseInt(mRes);
const dRes = d1 + d2;
const day = parseInt(dRes);
const fixResult = yRes + s1 + mRes + s2 + dRes;
const test1 = checkEnValid(inputField1.value);
const isValid = /^([1][3-4][0-9][0-9][/])([0][1-9]|[1][0-2])([/])([0][1-9]|[1-2][0-9]|[3][0-1])$/.test(fixResult);
if (isValid && test1) {
// inputField1.style.backgroundColor = '#a6e9a6';
start1valid = true;
} else {
if (inputField1.value != "") {
// inputField1.style.backgroundColor = '#f94c4c';
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا تاریخ را بصورت صحیح وارد کنید");
start1valid = false;
}
}
return start1valid;
}
function checkEnValid(fixDate1) {
let persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g],
arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g],
fixNumbers = function(str) {
if (typeof str === 'string') {
for (let i = 0; i < 10; i++) {
str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i);
}
}
return str;
};
let getdate = fixDate1;
let m1, m2;
let y1, y2, y3, y4;
let d1, d2;
for (let i = 0; i < getdate.length; i++) {
if (i === 0) {
y1 = fixNumbers(getdate[i]);
}
if (i === 1) {
y2 = fixNumbers(getdate[i]);
}
if (i === 2) {
y3 = fixNumbers(getdate[i]);
}
if (i === 3) {
y4 = fixNumbers(getdate[i]);
}
if (i === 5) {
m1 = fixNumbers(getdate[i]);
}
if (i === 6) {
m2 = fixNumbers(getdate[i]);
}
if (i === 8) {
d1 = fixNumbers(getdate[i]);
}
if (i === 9) {
d2 = fixNumbers(getdate[i]);
}
}
let yRes = y1 + y2 + y3 + y4;
let year = parseInt(yRes);
let mRes = m1 + m2;
let month = parseInt(mRes);
let dRes = d1 + d2;
let day = parseInt(dRes);
let kabiseh = false;
if (month <= 6 && day > 31) {
return false;
} else if (month > 6 && month < 12 && day > 30) {
return false;
} else if (month === 12) {
switch (year) {
case 1346:
kabiseh = true;
break;
case 1350:
kabiseh = true;
break;
case 1354:
kabiseh = true;
break;
case 1358:
kabiseh = true;
break;
case 1362:
kabiseh = true;
break;
case 1366:
kabiseh = true;
break;
case 1370:
kabiseh = true;
break;
case 1375:
kabiseh = true;
break;
case 1379:
kabiseh = true;
break;
case 1383:
kabiseh = true;
break;
case 1387:
kabiseh = true;
break;
case 1391:
kabiseh = true;
break;
case 1395:
kabiseh = true;
break;
case 1399:
kabiseh = true;
break;
case 1403:
kabiseh = true;
break;
case 1408:
kabiseh = true;
break;
case 1412:
kabiseh = true;
break;
case 1416:
kabiseh = true;
break;
case 1420:
kabiseh = true;
break;
case 1424:
kabiseh = true;
break;
case 1428:
kabiseh = true;
break;
case 1432:
kabiseh = true;
break;
case 1436:
kabiseh = true;
break;
case 1441:
kabiseh = true;
break;
case 1445:
kabiseh = true;
break;
default:
kabiseh = false;
}
if (kabiseh == true && day > 30) {
return false;
} else if (kabiseh == false && day > 29) {
return false;
} else {
return true;
}
} else {
return true;
}
}
$("#hours").attr("disabled", "disabled");
$('input:radio[name="PaidLeaveType"]').change(
function() {
if ($(this).is(':checked') && $(this).val() == 'روزانه') {
$("#hours").val('');
$("#hours").attr("disabled", "disabled");
$("#endLeave").removeAttr("disabled");
$('.endLeaveLabal').show();
$('#StartHoure').removeClass("invalidTime");
$('#StartHoure').val('');
$('#EndHours').removeClass("invalidTime");
$('#EndHours').val('');
$("#endLeave").show();
$('.hourses').css({
display: "none"
});
$('.sumHourseDiv').hide();
$('.sumDaysDiv').show();
$('.res').remove();
$('.validTime').removeClass("validTime");
} else if ($(this).is(':checked') && $(this).val() == 'ساعتی') {
$("#endLeave").val('');
$("#endLeave").attr("disabled", "disabled");
$("#endLeave").hide();
$('.endLeaveLabal').hide();
$('.hourses').css({
display: "flex"
});
$("#hours").removeAttr("disabled");
$('.sumHourseDiv').show();
$('.sumDaysDiv').hide();
}
});
/////////////////Time Input Validatet/////////////////
$('#StartHoure').on("keyup",
function() {
const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test($(this).val());
if (isValid) {
$(this).addClass("validTime");
$(this).removeClass("invalidTime");
if ($('#EndHours').hasClass('validTime') && $('#EndHours').val() != null) {
computeHourse();
}
} else {
$(this).removeClass("validTime");
$(this).addClass("invalidTime");
}
});
$('#EndHours').on("keyup",
function() {
const isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test($(this).val());
if (isValid) {
$(this).addClass("validTime");
$(this).removeClass("invalidTime");
if ($('#StartHoure').hasClass('validTime') && $('#StartHoure').val() != null) {
computeHourse();
}
} else {
$(this).removeClass("validTime");
$(this).addClass("invalidTime");
}
});
function computeHourse() {
$('.res').remove();
$.ajax({
/* contentType: 'charset=utf-8',*/
async: false,
dataType: 'json',
type: 'GET',
url: computeLeavHourseAjaxUrl,
headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() },
data: { "startHours": $('#StartHoure').val(), "endHourse": $('#EndHours').val() },
success: function(response) {
const res = ` <span class="res"><span>&nbsp;</span><span>:</span> <span>&nbsp;</span><span>${response.res}</span></span>`;
$('.sumHours').append(res);
},
failure: function(response) {
console.log(5, response);
}
});
}
function computeDays() {
$('.resultDays').remove();
$.ajax({
/* contentType: 'charset=utf-8',*/
async: false,
dataType: 'json',
type: 'GET',
url: computeLeavDaysAjaxUrl,
headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() },
data: { "startDay": $('#startLeave').val(), "endDay": $('#endLeave').val() },
success: function(response) {
const res = ` <span class="resultDays"><span>&nbsp;</span><span>:</span> <span>&nbsp;</span><span>${response.res}</span></span>`;
$('.sumDays').append(res);
},
failure: function(response) {
console.log(5, response);
}
});
}
// function validateHM(inputField) {
// /*var isValid = /^\d{1}?\d{1}:\d{1}?\d{1}$/.test(inputField.value);*/
// var isValid = /^([2][0-3]|[1][0-9]|[0-9]|[0][0-9])([:][0-5][0-9])$/.test(inputField.value);
// let isEmpty = inputField.value;
// if (isValid || isEmpty == "") {
// if (isEmpty != "") {
// inputField.style.backgroundColor = '#a6e9a6';
// } else {
// inputField.style.backgroundColor = '#fff';
// }
// timeValid = true;
// } else {
// inputField.style.backgroundColor = '#f94c4c';
// $.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا ساعت را بصورت صحیح وارد کنید");
// timeValid = false;
// }
// return isValid;
// }
//Edit Leave
function checkIfValidToEdit(id) {
var leaveId = Number(id);
$.ajax({
/* contentType: 'charset=utf-8',*/
// async: false,
dataType: 'json',
type: 'GET',
url: checkIfValidToEditAjaxUrl,
headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() },
data: { "id": leaveId },
success: function(response) {
if (response.validToEdit) {
const goTo = `#showmodal=/Admin/Company/Contracts?id=${leaveId}&handler=EditPaidLeave`;
console.log(goTo);
window.location.href = goTo;
} else {
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "در بازه زمانی این مرخصی و یا بعد از آن فیش حقوقی وجود دارد");
}
},
failure: function(response) {
console.log(5, response);
}
});
}
//remove Leave
$('.RemoveLeftWork').on("click",
function() {
const id = $(this).closest("div").find("input[name='LeftworkId']").val();
$('#LeftId').val(id);
swal({
title: "آیا حذف این سابقه مرخصی اطمینان دارید؟",
text: "",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "بله",
cancelButtonText: "خیر",
closeOnConfirm: true,
closeOnCancel: true
},
function(isConfirm) {
if (isConfirm) {
$('#sendFinaly').click();
}
});
});

View File

@@ -0,0 +1,361 @@
$('.RemoveLeftWork').on("click",
function() {
const id = $(this).closest("div").find("input[name='LeftworkId']").val();
$('#LeftId').val(id);
swal({
title: "آیا حذف این سابقه مرخصی اطمینان دارید؟",
text: "",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "بله",
cancelButtonText: "خیر",
closeOnConfirm: true,
closeOnCancel: true
},
function(isConfirm) {
if (isConfirm) {
$('#sendFinaly').click();
}
});
});
$(document).ready(function() {
$(document).on("change",
"#IsAccepted",
function() {
const IsAcceptedCheck = $('#IsAccepted').is(':checked');
if (IsAcceptedCheck) {
$('#descriptionAcceptedCheck').removeClass('errored');
$('#descriptionAcceptedCheck').addClass('disable-input');
$("#descriptionAcceptedCheck").prop('disabled', true);
} else {
$('#descriptionAcceptedCheck').removeClass('disable-input');
$("#descriptionAcceptedCheck").prop('disabled', false);
}
});
});
$('#save').on('click',
function() {
$("#descriptionAcceptedCheck").on("change",
function() {
$('#descriptionAcceptedCheck').removeClass('errored');
});
const IsAcceptedCheck = $('#IsAccepted').is(':checked');
const descriptionAcceptedCheck = $('#descriptionAcceptedCheck').val();
if (!IsAcceptedCheck && descriptionAcceptedCheck.length === 0) {
$('#descriptionAcceptedCheck').addClass('errored');
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا توضیحات در صورت عدم موافقت را پر کنید.");
return;
}
if ($('.errored').length < 1) {
$('#saveFinaly').click();
}
});
$(".date").mask("0000/00/00");
$('.date').on('input',
function() {
const startDate = this.value;
if (startDate.length == 10) {
const submitcheck = dateValidcheck(this);
if (submitcheck) {
$(this).removeClass('errored');
if ($('#startLeave').val() != '' && $('#endLeave').val() != '') {
computeDays();
}
} else {
$(this).addClass('errored');
}
} else {
$(this).addClass('errored');
}
});
function dateValidcheck(inputField1) {
const persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g];
const arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g];
const fixNumbers = function(str) {
if (typeof str === 'string') {
for (let i = 0; i < 10; i++) {
str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i);
}
}
return str;
};
const getdate = inputField1.value;
let m1, m2;
let y1, y2, y3, y4;
let d1, d2;
let s1, s2;
for (let i = 0; i < getdate.length; i++) {
if (i === 0) {
y1 = fixNumbers(getdate[i]);
}
if (i === 1) {
y2 = fixNumbers(getdate[i]);
}
if (i === 2) {
y3 = fixNumbers(getdate[i]);
}
if (i === 3) {
y4 = fixNumbers(getdate[i]);
}
if (i === 4) {
s1 = fixNumbers(getdate[i]);
}
if (i === 5) {
m1 = fixNumbers(getdate[i]);
}
if (i === 6) {
m2 = fixNumbers(getdate[i]);
}
if (i === 7) {
s2 = fixNumbers(getdate[i]);
}
if (i === 8) {
d1 = fixNumbers(getdate[i]);
}
if (i === 9) {
d2 = fixNumbers(getdate[i]);
}
}
const yRes = y1 + y2 + y3 + y4;
const year = parseInt(yRes);
const mRes = m1 + m2;
const month = parseInt(mRes);
const dRes = d1 + d2;
const day = parseInt(dRes);
const fixResult = yRes + s1 + mRes + s2 + dRes;
const test1 = checkEnValid(inputField1.value);
const isValid = /^([1][3-4][0-9][0-9][/])([0][1-9]|[1][0-2])([/])([0][1-9]|[1-2][0-9]|[3][0-1])$/.test(fixResult);
if (isValid && test1) {
// inputField1.style.backgroundColor = '#a6e9a6';
start1valid = true;
} else {
if (inputField1.value != "") {
// inputField1.style.backgroundColor = '#f94c4c';
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', "لطفا تاریخ را بصورت صحیح وارد کنید");
start1valid = false;
}
}
return start1valid;
}
function checkEnValid(fixDate1) {
let persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g],
arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g],
fixNumbers = function(str) {
if (typeof str === 'string') {
for (let i = 0; i < 10; i++) {
str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i);
}
}
return str;
};
let getdate = fixDate1;
let m1, m2;
let y1, y2, y3, y4;
let d1, d2;
for (let i = 0; i < getdate.length; i++) {
if (i === 0) {
y1 = fixNumbers(getdate[i]);
}
if (i === 1) {
y2 = fixNumbers(getdate[i]);
}
if (i === 2) {
y3 = fixNumbers(getdate[i]);
}
if (i === 3) {
y4 = fixNumbers(getdate[i]);
}
if (i === 5) {
m1 = fixNumbers(getdate[i]);
}
if (i === 6) {
m2 = fixNumbers(getdate[i]);
}
if (i === 8) {
d1 = fixNumbers(getdate[i]);
}
if (i === 9) {
d2 = fixNumbers(getdate[i]);
}
}
let yRes = y1 + y2 + y3 + y4;
let year = parseInt(yRes);
let mRes = m1 + m2;
let month = parseInt(mRes);
let dRes = d1 + d2;
let day = parseInt(dRes);
let kabiseh = false;
if (month <= 6 && day > 31) {
return false;
} else if (month > 6 && month < 12 && day > 30) {
return false;
} else if (month === 12) {
switch (year) {
case 1346:
kabiseh = true;
break;
case 1350:
kabiseh = true;
break;
case 1354:
kabiseh = true;
break;
case 1358:
kabiseh = true;
break;
case 1362:
kabiseh = true;
break;
case 1366:
kabiseh = true;
break;
case 1370:
kabiseh = true;
break;
case 1375:
kabiseh = true;
break;
case 1379:
kabiseh = true;
break;
case 1383:
kabiseh = true;
break;
case 1387:
kabiseh = true;
break;
case 1391:
kabiseh = true;
break;
case 1395:
kabiseh = true;
break;
case 1399:
kabiseh = true;
break;
case 1403:
kabiseh = true;
break;
case 1408:
kabiseh = true;
break;
case 1412:
kabiseh = true;
break;
case 1416:
kabiseh = true;
break;
case 1420:
kabiseh = true;
break;
case 1424:
kabiseh = true;
break;
case 1428:
kabiseh = true;
break;
case 1432:
kabiseh = true;
break;
case 1436:
kabiseh = true;
break;
case 1441:
kabiseh = true;
break;
case 1445:
kabiseh = true;
break;
default:
kabiseh = false;
}
if (kabiseh == true && day > 30) {
return false;
} else if (kabiseh == false && day > 29) {
return false;
} else {
return true;
}
} else {
return true;
}
}
$('input:radio[name="PaidLeaveType"]').change(function() {
if ($(this).is(':checked') && $(this).val() == 'روزانه') {
$("#hours").val('');
$("#hours").attr("disabled", "disabled");
$("#endLeave").removeAttr("disabled");
$('.endLeaveLabal').show();
$('#StartHoure').removeClass("invalidTime");
$('#StartHoure').val('');
$('#EndHours').removeClass("invalidTime");
$('#EndHours').val('');
$("#endLeave").show();
$('.hourses').css({
display: "none"
});
$('.sumHourseDiv').hide();
$('.sumDaysDiv').show();
$('.res').remove();
$('.validTime').removeClass("validTime");
}
});
function computeDays() {
$('.resultDays').remove();
$.ajax({
/* contentType: 'charset=utf-8',*/
async: false,
dataType: 'json',
type: 'GET',
url: computeLeavDaysAjaxUrl,
headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() },
data: { "startDay": $('#startLeave').val(), "endDay": $('#endLeave').val() },
success: function(response) {
const res = ` <span class="resultDays"><span>&nbsp;</span><span>:</span> <span>&nbsp;</span><span>${response.res}</span></span>`;
$('.sumDays').append(res);
},
failure: function(response) {
console.log(5, response);
}
});
}
$(document).ready(function() {
setTimeout(function() {
window.location.hash = "##";
},
1000);
});