Merge branch 'sepration-js' of https://github.com/syntax24/OriginalGozareshgir into sepration-js
This commit is contained in:
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -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>
|
||||
@@ -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> </span><span>:</span> <span> </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> </span><span>:</span> <span> </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>
|
||||
@@ -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> </span><span>:</span> <span> </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>
|
||||
|
||||
@@ -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
File diff suppressed because it is too large
Load Diff
@@ -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>
|
||||
@@ -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> </span><span>:</span> <span> </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> </span><span>:</span> <span> </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>
|
||||
@@ -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> </span><span>:</span> <span> </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>
|
||||
@@ -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> </span><span>:</span> <span> </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> </span><span>:</span> <span> </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);
|
||||
});
|
||||
@@ -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> </span><span>:</span> <span> </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);
|
||||
});
|
||||
|
||||
|
||||
1490
ServiceHost/wwwroot/AssetsAdmin/page/Contracts/js/index.js
Normal file
1490
ServiceHost/wwwroot/AssetsAdmin/page/Contracts/js/index.js
Normal file
File diff suppressed because it is too large
Load Diff
492
ServiceHost/wwwroot/AssetsAdmin/page/Contracts/js/paidLeave.js
Normal file
492
ServiceHost/wwwroot/AssetsAdmin/page/Contracts/js/paidLeave.js
Normal 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> </span><span>:</span> <span> </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> </span><span>:</span> <span> </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();
|
||||
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
361
ServiceHost/wwwroot/AssetsAdmin/page/Contracts/js/sickLeave.js
Normal file
361
ServiceHost/wwwroot/AssetsAdmin/page/Contracts/js/sickLeave.js
Normal 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> </span><span>:</span> <span> </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);
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user