Joywork/calendar.php
2026-05-22 21:21:54 +03:00

155 lines
7.1 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
require_once($_SERVER['DOCUMENT_ROOT']."/config.php");
if(!$_SESSION['id']) {
header("location:index.php"); die("Доступ запрещён!");
}
require($_SERVER['DOCUMENT_ROOT']."/templates/new-header.php");
$get=clearInputData($_GET);
?>
<script type="text/javascript" src="/js/vue-multiselect.min.js"></script>
<script type="text/javascript" src="/js/vue-simple-progress.min.js"></script>
<script type="text/javascript" src="/js/vuejs-datepicker.min.js"></script>
<script src="/js/locale/translations/ru.js"></script>
<link rel="stylesheet" href="/css/vue-multiselect.min.css">
<link rel="stylesheet" href="/css/funnel.css?v=<?=filemtime($_SERVER['DOCUMENT_ROOT'].'/css/funnel.css')?>">
<link rel="stylesheet" href="/css/all.min.css">
<script type="text/javascript" src="/js/fotorama.js"></script>
<script type="text/javascript" src='/js/moment.min.js'></script>
<script type="text/javascript" src='/js/calendar.js'></script>
<script type="text/javascript" src='/js/calendar-ru.js'></script>
<script type="text/javascript" src="/js/vue-select.js?v=21"></script>
<link rel="stylesheet" href="/css/vue-select.css?v=21">
<script type="text/javascript">
setTimeout(function(){
var elem = document.createElement('script');
elem.type = 'text/javascript';
elem.src = 'https://api-maps.yandex.ru/2.1/?load=package.standard&apikey=898fc684-cdf6-4af8-af57-15e2781d68d1&lang=ru_RU';
document.getElementsByTagName('body')[0].appendChild(elem);
}, 1000);
</script>
<script>
$(document).ready(function() {
$('#tasks_active').change(function(){
getCalendar();
});
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'listWeek,month,agendaWeek,agendaDay'
},
locale: 'ru',
editable: false,
eventLimit: true,
timeFormat: 'H:mm',
titleFormat: 'D MMMM YYYY',
defaultTimedEventDuration: '01:00:00',
height: 'auto',
events: {
url: '/ajax/calendarEvents.php',
type: 'POST',
error: function(data) {
alert('there was an error while fetching events!');
console.log(data.responseText);
}
},
eventClick: function(event) {
if (event.object_id) {
/*if (event.table_id) {
updateEventState(event.table_id);
}*/
openEventsWindow(event.object_id);
}
if (event.client_id) {
if (event.table_id) {
updateClientEventState(event.table_id);
}
if(event.client_id != 0){
openClientEventsWindowNew(event.client_id, '<?=$_SESSION['to_send']?>');
} else if(event.req_id != 0){
openClientEventsWindowNew(0, '<?=$_SESSION['to_send']?>', 0, event.req_id);
}
else
{
openMes(event.table_id);
}
}
if (event.employee_id) {
openEmployeeInfoWindow(event.employee_id);
}
if (event.user_id) {
openUserInfoWindow(event.user_id);
}
}
});
});
function getCalendar(){
var active = 0;
if($('#tasks_active').prop('checked')){
active = 1;
}
var events = {
url: '/ajax/calendarEvents.php',
type: 'POST',
data: {'active': active},
error: function(data) {
//console.log(data.responseText);
alert('there was an error while fetching events!');
}
}
if($('#calendar ').hasClass('fc')){
$('#calendar').fullCalendar('removeEventSource', events);
$('#calendar').fullCalendar('addEventSource', events);
}
}
</script>
<div class="content-right">
<div class="inner">
<div class="main-title">
<h1>Календарь</h1>
</div>
<div class="jw__calendar-container">
<div class="filter-popup-input">
<div class="checkbox">
<input name="tasks_active" id="tasks_active" type="checkbox" value="">
<label for="tasks_active">Только активные</label>
</div>
</div>
<div id='calendar'></div>
<div class="jw__calendar-instructions instructions">
<div class="instructions-inner">
<h2>Справка</h2>
<ul>
<li>
<span class="li-number first"><b>1</b></span>
В календаре представлены все задачи (события), которые были запланированы на определенную дату и время. При клике на задачу откроется окно с объектом, по которому она была создана, и список всех задач и комментариев по нему.
</li>
<li>
<span class="li-number first"><b>2</b></span>
Слева в меню Календарь цифрой показывается количество событий, которые должны были наступить или уже наступили (запланированная дата меньше или равна текущей).
</li>
<li>
<span class="li-number first"><b>3</b></span>
При клике на такое событие оно помечается как просмотренное и будет отображаться серым шрифтом. Соответственно, просмотренные события не учитываются при подсчете количества событий в меню Календарь.
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<?php require($_SERVER['DOCUMENT_ROOT']."/templates/footer.php"); ?>
<script type="text/javascript" src="/js/crm_vue.js?v=<?=filemtime($_SERVER['DOCUMENT_ROOT'].'/js/crm_vue.js')?>"></script>
<script type="text/javascript" src="/js/clients_vue.js?v=<?=filemtime($_SERVER['DOCUMENT_ROOT'].'/js/clients_vue.js')?>"></script>