475 lines
15 KiB
JavaScript
475 lines
15 KiB
JavaScript
|
||
$(document).ready(function () {
|
||
$('.loading').hide();
|
||
|
||
|
||
// --------------------------------------------- درخواست مهلت ---------------------------------------------
|
||
$('#checkActiveDate').on('change', function () {
|
||
if ($('#checkActiveDate').is(':checked')) {
|
||
$('#inputChangeDate').removeClass('disable');
|
||
$('.btn-change-date').removeClass('disable');
|
||
$('#inputChangeDate').prop('disabled', false);
|
||
$('#inputChangeDate').focus();
|
||
$('.btn-change-date').prop('disabled', false);
|
||
} else {
|
||
$('#inputChangeDate').val('');
|
||
$('#inputChangeDate').addClass('disable');
|
||
$('.btn-change-date').addClass('disable');
|
||
$('#inputChangeDate').prop('disabled', true);
|
||
$('.btn-change-date').prop('disabled', true);
|
||
}
|
||
});
|
||
|
||
$('#saveChangeTimeRequest').on('click', function () {
|
||
var TaskId = $("#TaskId").val();
|
||
var inputChangeDate = $("#inputChangeDate").val().trim();
|
||
|
||
if (inputChangeDate.length == 10 && inputChangeDate != '') {
|
||
console.log(inputChangeDate);
|
||
|
||
$.ajax({
|
||
async: false,
|
||
dataType: 'json',
|
||
type: 'POST',
|
||
url: changeTime,
|
||
headers: { "RequestVerificationToken": AntiForgeryToken },
|
||
data: { taskId: Number(TaskId), time: inputChangeDate },
|
||
success: function (response) {
|
||
if (response.isSuccess) {
|
||
$('#MainModal').modal('hide');
|
||
$('.hideDivRequest' + TaskId).remove();
|
||
loadMoreRequest();
|
||
}
|
||
},
|
||
error: function (err) {
|
||
console.log(err);
|
||
}
|
||
});
|
||
} else {
|
||
$('.alert-msg').show();
|
||
$('.alert-msg p').text("لطفا تاریخ را وارد نمائید.");
|
||
$("#inputChangeDate").addClass('errored');
|
||
setTimeout(function () {
|
||
$('.alert-msg').hide();
|
||
$('.alert-msg p').text('');
|
||
$("#inputChangeDate").removeClass('errored');
|
||
}, 3500);
|
||
}
|
||
});
|
||
|
||
|
||
|
||
$('#saveAcceptTimeRequest').on('click', function () {
|
||
var TaskId = $("#TaskId").val();
|
||
|
||
$.ajax({
|
||
async: false,
|
||
dataType: 'json',
|
||
type: 'POST',
|
||
url: AcceptTimeRequest,
|
||
headers: { "RequestVerificationToken": AntiForgeryToken },
|
||
data: { id: Number(TaskId) },
|
||
success: function (response) {
|
||
if (response.isSuccess) {
|
||
$('#MainModal').modal('hide');
|
||
$('.hideDivRequest' + TaskId).remove();
|
||
loadMoreRequest();
|
||
}
|
||
},
|
||
error: function (err) {
|
||
console.log(err);
|
||
}
|
||
});
|
||
});
|
||
|
||
$('#saveRejectTimeRequest').on('click', function () {
|
||
var TaskId = $("#TaskId").val();
|
||
|
||
$.ajax({
|
||
async: false,
|
||
dataType: 'json',
|
||
type: 'POST',
|
||
url: RejectTimeRequest,
|
||
headers: { "RequestVerificationToken": AntiForgeryToken },
|
||
data: { id: Number(TaskId) },
|
||
success: function (response) {
|
||
if (response.isSuccess) {
|
||
$('#MainModal').modal('hide');
|
||
$('.hideDivRequest' + TaskId).remove();
|
||
loadMoreRequest();
|
||
}
|
||
},
|
||
error: function (err) {
|
||
console.log(err);
|
||
}
|
||
});
|
||
});
|
||
|
||
|
||
|
||
//$(".date").mask("0000/00/00");
|
||
$(".date").on('input', function () {
|
||
var value = $(this).val();
|
||
$(this).val(convertPersianNumbersToEnglish(value));
|
||
}).mask("0000/00/00");
|
||
|
||
$(".date").keyup(function () {
|
||
let value = $(this).val();
|
||
let lengthValue = value.length;
|
||
if (lengthValue == 10) {
|
||
if (!dateValidcheck(this)) {
|
||
$(this).addClass("errored");
|
||
} else {
|
||
$(this).removeClass("errored");
|
||
}
|
||
} else if (lengthValue == 0) {
|
||
$(this).removeClass("errored");
|
||
}
|
||
});
|
||
|
||
function dateValidcheck(inputField1) {
|
||
|
||
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 (var i = 0; i < 10; i++) {
|
||
str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i);
|
||
}
|
||
}
|
||
return str;
|
||
};
|
||
let getdate = inputField1.value;
|
||
|
||
let m1, m2;
|
||
let y1, y2, y3, y4;
|
||
let d1, d2;
|
||
let 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]);
|
||
}
|
||
|
||
}
|
||
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 fixResult = yRes + s1 + mRes + s2 + dRes;
|
||
let test1 = checkEnValid(inputField1.value);
|
||
|
||
let 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 (var 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;
|
||
}
|
||
}
|
||
$('.date').on("keyup", function () {
|
||
var 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 ($('#EndTaskTime').val() != null) {
|
||
// computeDays();
|
||
// }
|
||
} else {
|
||
$(this).removeClass("validTime");
|
||
$(this).addClass("invalidTime");
|
||
}
|
||
});
|
||
// --------------------------------------------- درخواست مهلت ---------------------------------------------
|
||
|
||
// --------------------------------------------- درخواست انصراف وظیفه ---------------------------------------------
|
||
$('#saveRejectCancelRequest').on('click', function () {
|
||
var TaskId = $("#TaskId").val();
|
||
|
||
$.ajax({
|
||
async: false,
|
||
dataType: 'json',
|
||
type: 'POST',
|
||
url: RejectCancel,
|
||
headers: { "RequestVerificationToken": AntiForgeryToken },
|
||
data: { id: Number(TaskId) },
|
||
success: function (response) {
|
||
if (response.isSuccess) {
|
||
$('#MainModal').modal('hide');
|
||
$('.hideDivRequest' + TaskId).remove();
|
||
loadMoreRequest();
|
||
}
|
||
},
|
||
error: function (err) {
|
||
console.log(err);
|
||
}
|
||
});
|
||
});
|
||
|
||
$('#saveAcceptCancelRequest').on('click', function () {
|
||
var TaskId = $("#TaskId").val();
|
||
|
||
$.ajax({
|
||
async: false,
|
||
dataType: 'json',
|
||
type: 'POST',
|
||
url: AcceptCancel,
|
||
headers: { "RequestVerificationToken": AntiForgeryToken },
|
||
data: { id: Number(TaskId) },
|
||
success: function (response) {
|
||
if (response.isSuccess) {
|
||
$('#MainModal').modal('hide');
|
||
$('.hideDivRequest' + TaskId).remove();
|
||
loadMoreRequest();
|
||
}
|
||
},
|
||
error: function (err) {
|
||
console.log(err);
|
||
}
|
||
});
|
||
});
|
||
// --------------------------------------------- درخواست انصراف وظیفه ---------------------------------------------
|
||
|
||
|
||
|
||
// --------------------------------------------- درخواست تائید وظیفه ---------------------------------------------
|
||
$('#saveRejectCompleteRequest').on('click', function () {
|
||
var TaskId = $("#TaskId").val();
|
||
|
||
$.ajax({
|
||
async: false,
|
||
dataType: 'json',
|
||
type: 'POST',
|
||
url: RejectComplete,
|
||
headers: { "RequestVerificationToken": AntiForgeryToken },
|
||
data: { id: Number(TaskId) },
|
||
success: function (response) {
|
||
if (response.isSuccess) {
|
||
$('#MainModal').modal('hide');
|
||
$('.hideDivRequest' + TaskId).remove();
|
||
loadMoreRequest();
|
||
}
|
||
},
|
||
error: function (err) {
|
||
console.log(err);
|
||
}
|
||
});
|
||
});
|
||
|
||
$('#saveAcceptCompleteRequest').on('click', function () {
|
||
var TaskId = $("#TaskId").val();
|
||
|
||
$.ajax({
|
||
async: false,
|
||
dataType: 'json',
|
||
type: 'POST',
|
||
url: AcceptComplete,
|
||
headers: { "RequestVerificationToken": AntiForgeryToken },
|
||
data: { id: Number(TaskId) },
|
||
success: function (response) {
|
||
if (response.isSuccess) {
|
||
$('#MainModal').modal('hide');
|
||
$('.hideDivRequest' + TaskId).remove();
|
||
loadMoreRequest();
|
||
}
|
||
},
|
||
error: function (err) {
|
||
console.log(err);
|
||
}
|
||
});
|
||
});
|
||
// --------------------------------------------- درخواست تائید وظیفه ---------------------------------------------
|
||
|
||
});
|
||
|
||
|