Adding delay and penalty calculations

This commit is contained in:
2026-07-22 14:10:05 +03:30
parent 28bf82cde9
commit e1f86e6ffe
21 changed files with 1285 additions and 99 deletions
+35
View File
@@ -201,6 +201,21 @@ if (isset($task)) {
updateSelectedCount();
$(document).ready(function () {
function syncGregorianFromDisplay(displaySelector, hiddenSelector) {
const displayVal = $(displaySelector).val();
if (!displayVal || $(hiddenSelector).val()) return;
try {
// اگر مقدار نمایشی شمسی YYYY/MM/DD باشد
const parts = String(displayVal).replace(/-/g, '/').split('/');
if (parts.length === 3) {
const pDate = new persianDate([Number(parts[0]), Number(parts[1]), Number(parts[2])]);
const gregorian = pDate.toCalendar('gregorian').toLocale('en').format('YYYY-MM-DD');
$(hiddenSelector).val(gregorian);
}
} catch (e) {
}
}
$('#start_date').persianDatepicker({
format: 'YYYY/MM/DD',
autoClose: true,
@@ -229,6 +244,26 @@ if (isset($task)) {
}
});
// اگر مقدار اولیه از دیتابیس آمده، فیلد مخفی میلادی را هم پر کن
@if(!empty($task?->start_date))
$('#start_date_gregorian').val(@json(\Carbon\Carbon::parse($task->start_date)->format('Y-m-d')));
$('#start_date').val(@json(\Morilog\Jalali\Jalalian::fromCarbon(\Carbon\Carbon::parse($task->start_date))->format('Y/m/d')));
@endif
@if(!empty($task?->target_date))
$('#target_date_gregorian').val(@json(\Carbon\Carbon::parse($task->target_date)->format('Y-m-d')));
$('#target_date').val(@json(\Morilog\Jalali\Jalalian::fromCarbon(\Carbon\Carbon::parse($task->target_date))->format('Y/m/d')));
@endif
$('form').on('submit', function (e) {
syncGregorianFromDisplay('#start_date', '#start_date_gregorian');
syncGregorianFromDisplay('#target_date', '#target_date_gregorian');
if (!$('#start_date_gregorian').val()) {
e.preventDefault();
alert('لطفاً تاریخ شروع را از تقویم انتخاب کنید.');
return false;
}
});
$('#clear_target_date').on('click', function () {
$('#target_date').val('');
$('#target_date_gregorian').val('');