EIOS/tpl/tpl_byPass.html

533 lines
24 KiB
HTML
Raw Permalink Normal View History

2023-12-28 15:39:22 +03:00
<!-- BEGIN PAGE HEADER-->
<div class="row-fluid">
<div class="span12">
<h3 class="page-title">Обходные листы</h3>
<ul class="breadcrumb">
<li><a href="/">Главная</a><span class="divider">/</span></li>
<li class="active"><a href="/byPass/">Обходные листы</a><span class="divider">/</span></li>
<li class="active"><a href="#"></a></li>
</ul>
</div>
</div>
<div class="row-fluid">
<div class="span12">
<div class="row-fluid">
<div class="span12">
<div class="row-fluid">
{if !(count($obhod_stud))}
<div class="alert alert-info">
<button data-dismiss="alert" class="close">×</button>
<i><b>Подсказки:</b>
<ol>
<li>Для быстрого поиска студента в списке можно и нужно пользоваться встроенными средствами поиска браузера. Для этого нажмите Ctrl-F и начните вводить фамилию студента - браузер направит в нужную часть страницы :)</li>
<li>Отклоненные обходные листы попадают в конец списка с отметкой "ранее был отклонен". После устранения замечаний студентом, его обходной лист можно одобрить. </li>
<li>Одобренные обходные исчезают, но в деканате и студ. кадрах остаются. Для деканата они становятся нередактируемыми с отметкой "Одобрено деканатом", остается только возможность печати.</li>
</ol></i>
</div>
{/if}
{if ((isset($user.statuses[21]))||(isset($user.statuses[25])))}
<div class="widget green">
<div class="widget-title">
<h4><i class="icon-reorder"></i> (Зам декана) Создание обходных листов</h4>
<span class="tools"><a href="javascript:;" class="icon-chevron-up"> Развернуть/Свернуть</a></span>
</div>
<div class="widget-body" style="display: none;">
<form name="add_napr" action="#" method="post" class="form-horizontal">
<div class="control-group">
<label class="control-label">Факультет</label>
<div class="controls">
<div class="input-prepend">
<select name="fakultet" class="form-control">
{foreach from=$faculties item=fak}
<option value="{$fak.id}">{$fak.name}</option>
{/foreach}
</select>
</div>
</div>
</div>
<div class="control-group">
<label class="control-label">Выпускающая кафедра</label>
<div class="controls">
<div class="input-prepend">
<select name="kafedra" class="form-control">
{foreach from=$kafedres item=kaf}
<option value="{$kaf.id}">{$kaf.code} {$kaf.name}</option>
{/foreach}
</select>
</div>
</div>
</div>
<div class="control-group">
<label class="control-label">Группа студента</label>
<div class="controls">
<div class="input-prepend">
<select name="grupp_v" class="form-control">
{foreach from=$grupps item=grupp}
<option value="{$grupp.id}">{$grupp.sokr}-{$grupp.kurs} {$grupp.fo}</option>
{/foreach}
</select>
</div>
<span class="help-inline"> Начните вводить первые буквы...</span>
</div>
</div>
<div class="hide-content" style="display: none;">
<div class="control-group">
<label class="control-label">
Студенты<br />
<span class="badge badge-info sel-all-stud">Выбрать все</span><br />
<span class="badge badge-success sel-vib-stud">Все студенты</span><br />
<span class="badge badge-success sel-obj-stud">Общежитие</span><br />
<span class="badge badge-success sel-lib-stud">Библиотека</span><br />
<span class="badge badge-success sel-bfu-stud">БФУ</span><br />
<span class="badge badge-success sel-trud-stud">Трудоустройство</span><br />
</label>
<div class="controls">
<div class="input-prepend student-ved">
</div>
</div>
</div>
<input type="button" value="Сформировать обходные листы" class="btn btn-success add_obh" />
</div>
</form>
</div>
</div>
<div class="widget blue">
<div class="widget-title">
<h4><i class="icon-reorder"></i> Деканат</h4>
<span class="tools"><a href="javascript:;" class="icon-chevron-down"> Развернуть/Свернуть</a></span>
</div>
<div class="widget-body">
<table class="table table-striped table-bordered table-advance table-hover">
<thead>
<tr>
<th></th>
<th>ФИО</th>
<th>Группа</th>
<th>Общежитие</th>
<th>Библиотека</th>
<th>Кафедра</th>
<th>БФУ</th>
<th>Трудоустройство</th>
<th>Операции</th>
</tr>
</thead>
<tbody class="load-faculties">
{foreach from=$faks item=lib key=k}
<tr>
<td>{$k+1}</td>
<td>{$lib.fio}
{if ($lib.pl_fakult == "-1")}<br /><span style="color: red; font-style: italic;">(ранее был отклонен)</span>{/if}
{if ($lib.pl_fakult == "1")}<br /><span style="color: green; font-style: italic;">(одобрено деканатом)</span>{/if}
</td>
<td>{$lib.stud.sokr}-{$lib.stud.kurs}{$lib.stud.num_grupp} {$lib.stud.fo}</td>
<td>{if ($lib.pl_obj == "1")}<span style="color: green;">+</span>{else}{if ($lib.pl_obj == "0")}<span style="color: orange;">?</span>{else}<span style="color: red;">-</span>{/if}{/if}</td>
<td>{if ($lib.pl_lib == "1")}<span style="color: green;">+</span>{else}{if ($lib.pl_lib == "0")}<span style="color: orange;">?</span>{else}<span style="color: red;">-</span>{/if}{/if}</td>
<td>{if ($lib.pl_kaf == "1")}<span style="color: green;">+</span>{else}{if ($lib.pl_kaf == "0")}<span style="color: orange;">?</span>{else}<span style="color: red;">-</span>{/if}{/if}</td>
<td>{if ($lib.pl_bfu == "1")}<span style="color: green;">+</span>{else}{if ($lib.pl_bfu == "0")}<span style="color: orange;">?</span>{else}<span style="color: red;">-</span>{/if}{/if}</td>
<td>{if ($lib.pl_trud == "1")}<span style="color: green;">+</span>{else}{if ($lib.pl_trud == "0")}<span style="color: orange;">?</span>{else}<span style="color: red;">-</span>{/if}{/if}</td>
<td>
{if ($lib.pl_fakult != "1")}<span class="btn btn-success obhod-ok" data-place="0" data-id="{$lib.id_ob}">Одобрить</span>
<!--span class="btn btn-danger obhod-no" data-place="0" data-id="{$lib.id_ob}">Отклонить</span-->{/if}
<a href="/byPass/{$lib.id_ob}/" class="btn btn-primary">Печатать</a>
{if ($lib.pl_fakult != "1")}<span class="btn btn-warning delete-obhod" data-id="{$lib.id_ob}">Удалить</span>{/if}
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
</div>
{/if }
{if ((isset($user.statuses[35])))}
<div class="widget blue">
<div class="widget-title">
<h4><i class="icon-reorder"></i> Общежитие</h4>
<span class="tools"><a href="javascript:;" class="icon-chevron-down"> Развернуть/Свернуть</a></span>
</div>
<div class="widget-body" >
<table class="table table-striped table-bordered table-advance table-hover">
<thead>
<tr>
<th></th>
<th>ФИО</th>
<th>Группа</th>
<th>Операции</th>
</tr>
</thead>
<tbody class="load-faculties">
{foreach from=$objs item=lib key=k}
<tr>
<td>{$k+1}</td>
<td>{$lib.fio}{if ($lib.pl_obj == "-1")}<br /><span style="color: red; font-style: italic;">(ранее был отклонен)</span>{/if}</td>
<td>{$lib.stud.sokr}-{$lib.stud.kurs}{$lib.stud.num_grupp} {$lib.stud.fo}</td>
<td><span class="btn btn-success obhod-ok" data-place="1" data-id="{$lib.id_ob}">Одобрить</span> <span class="btn btn-danger obhod-no" data-place="1" data-id="{$lib.id_ob}">Отклонить</span></td>
</tr>
{/foreach}
</tbody>
</table>
</div>
</div>
{/if }
{if ((isset($user.statuses[29])))}
<div class="widget blue">
<div class="widget-title">
<h4><i class="icon-reorder"></i> Библиотека</h4>
<span class="tools"><a href="javascript:;" class="icon-chevron-down"> Развернуть/Свернуть</a></span>
</div>
<div class="widget-body">
<table class="table table-striped table-bordered table-advance table-hover">
<thead>
<tr>
<th></th>
<th>ФИО</th>
<th>Группа</th>
<th>Операции</th>
</tr>
</thead>
<tbody class="load-faculties">
{foreach from=$libs item=lib key=k}
<tr>
<td>{$k+1}</td>
<td>{$lib.fio} {if ($lib.pl_lib == "-1")}<br /><span style="color: red; font-style: italic;">(ранее был отклонен)</span>{/if}</td>
<td>{$lib.stud.sokr}-{$lib.stud.kurs}{$lib.stud.num_grupp} {$lib.stud.fo}</td>
<td><span class="btn btn-success obhod-ok" data-place="2" data-id="{$lib.id_ob}">Одобрить</span> <span class="btn btn-danger obhod-no" data-place="2" data-id="{$lib.id_ob}">Отклонить</span></td>
</tr>
{/foreach}
</tbody>
</table>
</div>
</div>
{/if }
{if ((isset($user.statuses[23])))}
<div class="widget blue">
<div class="widget-title">
<h4><i class="icon-reorder"></i> Выпускающая кафедра</h4>
<span class="tools"><a href="javascript:;" class="icon-chevron-up"> Развернуть/Свернуть</a></span>
</div>
<div class="widget-body" style="display: none;">
<table class="table table-striped table-bordered table-advance table-hover">
<thead>
<tr>
<th></th>
<th>ФИО</th>
<th>Группа</th>
<th>Операции</th>
</tr>
</thead>
<tbody class="load-faculties">
{foreach from=$kafs item=lib key=k}
<tr>
<td>{$k+1}</td>
<td>{$lib.fio} {if ($lib.pl_kaf == "-1")}<br /><span style="color: red; font-style: italic;">(ранее был отклонен)</span>{/if}</td>
<td>{$lib.stud.sokr}-{$lib.stud.kurs}{$lib.stud.num_grupp} {$lib.stud.fo}</td>
<td><span class="btn btn-success obhod-ok" data-place="3" data-id="{$lib.id_ob}">Одобрить</span> <span class="btn btn-danger obhod-no" data-place="3" data-id="{$lib.id_ob}">Отклонить</span></td>
</tr>
{/foreach}
</tbody>
</table>
</div>
</div>
{/if }
{if ((isset($user.statuses[36])))}
<div class="widget blue">
<div class="widget-title">
<h4><i class="icon-reorder"></i> Бюджетно-финансовое управление</h4>
<span class="tools"><a href="javascript:;" class="icon-chevron-down"> Развернуть/Свернуть</a></span>
</div>
<div class="widget-body">
<table class="table table-striped table-bordered table-advance table-hover">
<thead>
<tr>
<th></th>
<th>ФИО</th>
<th>Группа</th>
<th>Операции</th>
</tr>
</thead>
<tbody class="load-faculties">
{foreach from=$bfus item=lib key=k}
<tr>
<td>{$k+1}</td>
<td>{$lib.fio} {if ($lib.pl_bfu == "-1")}<br /><span style="color: red; font-style: italic;">(ранее был отклонен)</span>{/if}</td>
<td>{$lib.stud.sokr}-{$lib.stud.kurs}{$lib.stud.num_grupp} {$lib.stud.fo}</td>
<td><span class="btn btn-success obhod-ok" data-place="4" data-id="{$lib.id_ob}">Одобрить</span> <span class="btn btn-danger obhod-no" data-place="4" data-id="{$lib.id_ob}">Отклонить</span></td>
</tr>
{/foreach}
</tbody>
</table>
</div>
</div>
{/if }
{if ((isset($user.statuses[10])))}
<div class="widget blue">
<div class="widget-title">
<h4><i class="icon-reorder"></i> Трудоустройство</h4>
<span class="tools"><a href="javascript:;" class="icon-chevron-up"> Развернуть/Свернуть</a></span>
</div>
<div class="widget-body" style="display: none;">
<table class="table table-striped table-bordered table-advance table-hover">
<thead>
<tr>
<th></th>
<th>ФИО</th>
<th>Группа</th>
<th>Операции</th>
</tr>
</thead>
<tbody class="load-faculties">
{foreach from=$truds item=lib key=k}
<tr>
<td>{$k+1}</td>
<td>{$lib.fio} {if ($lib.pl_trud == "-1")}<br /><span style="color: red; font-style: italic;">(ранее был отклонен)</span>{/if}</td>
<td>{$lib.stud.sokr}-{$lib.stud.kurs}{$lib.stud.num_grupp} {$lib.stud.fo}</td>
<td><span class="btn btn-success obhod-ok" data-place="5" data-id="{$lib.id_ob}">Одобрить</span> <span class="btn btn-danger obhod-no" data-place="5" data-id="{$lib.id_ob}">Отклонить</span></td>
</tr>
{/foreach}
</tbody>
</table>
</div>
</div>
{/if }
{if ((isset($user.statuses[26])))}
<div class="widget blue">
<div class="widget-title">
<h4><i class="icon-reorder"></i> Управление студ-кадрами</h4>
<span class="tools"><a href="javascript:;" class="icon-chevron-down"> Развернуть/Свернуть</a></span>
</div>
<div class="widget-body">
<table class="table table-striped table-bordered table-advance table-hover">
<thead>
<tr>
<th></th>
<th>ФИО</th>
<th>Группа</th>
<th>Деканат</th>
<th>Общежитие</th>
<th>Библиотека</th>
<th>Кафедра</th>
<th>БФУ</th>
<th>Трудоустройство</th>
</tr>
</thead>
<tbody class="load-faculties">
{foreach from=$kadres item=lib key=k}
<tr>
<td>{$k+1}</td>
<td id="obid_{$lib.id}">{$lib.fio}</td>
<td>{$lib.stud.sokr}-{$lib.stud.kurs}{$lib.stud.num_grupp} {$lib.stud.fo}</td>
<td>{if ($lib.pl_fakult == "1")}<span style="color: green;">+</span>{else}{if ($lib.pl_fakult == "0")}<span style="color: orange;">?</span>{else}<span style="color: red;">-</span>{/if}{/if}</td>
<td>{if ($lib.pl_obj == "1")}<span style="color: green;">+</span>{else}{if ($lib.pl_obj == "0")}<span style="color: orange;">?</span>{else}<span style="color: red;">-</span>{/if}{/if}</td>
<td>{if ($lib.pl_lib == "1")}<span style="color: green;">+</span>{else}{if ($lib.pl_lib == "0")}<span style="color: orange;">?</span>{else}<span style="color: red;">-</span>{/if}{/if}</td>
<td>{if ($lib.pl_kaf == "1")}<span style="color: green;">+</span>{else}{if ($lib.pl_kaf == "0")}<span style="color: orange;">?</span>{else}<span style="color: red;">-</span>{/if}{/if}</td>
<td>{if ($lib.pl_bfu == "1")}<span style="color: green;">+</span>{else}{if ($lib.pl_bfu == "0")}<span style="color: orange;">?</span>{else}<span style="color: red;">-</span>{/if}{/if}</td>
<td>{if ($lib.pl_trud == "1")}<span style="color: green;">+</span>{else}{if ($lib.pl_trud == "0")}<span style="color: orange;">?</span>{else}<span style="color: red;">-</span>{/if}{/if}</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
</div>
{/if }
{if (count($obhod_stud))}
<div class="widget red">
<div class="widget-title">
<h4><i class="icon-reorder"></i> Обходной лист студента</h4>
<span class="tools"><a href="javascript:;" class="icon-chevron-down"> Развернуть/Свернуть</a></span>
</div>
<div class="widget-body">
<b>Деканат факультета:</b> {if ($obhod_stud.info.pl_fakult == "1")}<span style="color: green;">Нет задолженности</span>{else}{if ($obhod_stud.info.pl_fakult == "0")}<span style="color: orange;">Ожидается</span>{else}<span style="color: red;">Есть задолженности (см. комментарий)</span>{/if}{/if}<br />
<b>Отдел по СБ и ВР (общежитие):</b> {if ($obhod_stud.info.pl_obj == "1")}<span style="color: green;">Нет задолженности</span>{else}{if ($obhod_stud.info.pl_obj == "0")}<span style="color: orange;">Ожидается</span>{else}<span style="color: red;">Есть задолженности (см. комментарий)</span>{/if}{/if}<br />
<b>Научная библиотека МГТУ:</b> {if ($obhod_stud.info.pl_lib == "1")}<span style="color: green;">Нет задолженности</span>{else}{if ($obhod_stud.info.pl_lib == "0")}<span style="color: orange;">Ожидается</span>{else}<span style="color: red;">Есть задолженности (см. комментарий)</span>{/if}{/if}<br />
<b>Выпускающая кафедра:</b> {if ($obhod_stud.info.pl_kaf == "1")}<span style="color: green;">Нет задолженности</span>{else}{if ($obhod_stud.info.pl_kaf == "0")}<span style="color: orange;">Ожидается</span>{else}<span style="color: red;">Есть задолженности (см. комментарий)</span>{/if}{/if}<br />
<b>Бюджетно-финансовое управление:</b> {if ($obhod_stud.info.pl_bfu == "1")}<span style="color: green;">Нет задолженности</span>{else}{if ($obhod_stud.info.pl_bfu == "0")}<span style="color: orange;">Ожидается</span>{else}<span style="color: red;">Есть задолженности (см. комментарий)</span>{/if}{/if}<br />
<b>Центр карьеры, профориентации и содействия трудоустройству:</b> {if ($obhod_stud.info.pl_trud == "1")}<span style="color: green;">Нет задолженности</span>{else}{if ($obhod_stud.info.pl_trud == "0")}<span style="color: orange;">Ожидается</span>{else}<span style="color: red;">Есть задолженности (см. комментарий)</span>{/if}{/if}<br />
<hr />
<p>Комментарии: <br />{$obhod_stud.comm}</p>
</div>
</div>
{/if}
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){
//выбрать все
$('.sel-all-stud').click(function(){
$('input[type=checkbox]').prop('checked', true);
});
//все студенты
$('.sel-vib-stud').click(function(){
$('input[name=vib]').prop('checked', true);
});
//общежитие
$('.sel-obj-stud').click(function(){
$('input[name=obj]').prop('checked', true);
});
//библиотека
$('.sel-lib-stud').click(function(){
$('input[name=lib]').prop('checked', true);
});
//БФУ
$('.sel-bfu-stud').click(function(){
$('input[name=bfu]').prop('checked', true);
});
//Трудоустройство
$('.sel-trud-stud').click(function(){
$('input[name=trud]').prop('checked', true);
});
//полное удаление обходного деканатом факультета
$('.delete-obhod').click(function(){
var id = $(this).data('id');
if (confirm('Вы уверены, что хотите удалить обходной лист? Эта операция необратима, вся информация будет утеряна.')){
$.ajax({
url: '/json.php', dataType: 'json', type: 'POST', async: false, data: 'ajdes=obhod_delete&id='+id,
success: function(data){
alert('Обходной лист удален');
location.href='/byPass/';
}
});
}
});
//одобрение обходного
$('.obhod-ok').click(function(){
let place = $(this).data('place');
let id = $(this).data('id');
$('.obhod-ok[data-id='+id+']').css('display', 'none');
$('.obhod-no[data-id='+id+']').css('display', 'none');
$.ajax({
url: '/json.php', dataType: 'json', type: 'POST', async: false, data: 'ajdes=obhod_ok&place='+place+'&id='+id,
success: function(data){
alert('Обходной лист одобрен');
//location.href='/byPass/';
}
});
});
//отклонение обходного
$('.obhod-no').click(function(){
let comm = prompt('Ваш комментарий: ', '-');
let place = $(this).data('place');
let id = $(this).data('id');
$('.obhod-ok[data-id='+id+']').css('display', 'none');
$('.obhod-no[data-id='+id+']').css('display', 'none');
$.ajax({
url: '/json.php', dataType: 'json', type: 'POST', async: false, data: 'ajdes=obhod_no&place='+place+'&id='+id+'&comm='+comm,
success: function(data){
alert('Обходной лист отклонен');
//location.href='/byPass/';
}
});
});
//формирование обходных листов
$('.add_obh').click(function(){
let fak = $('select[name=fakultet]').val();
let kaf = $('select[name=kafedra]').val();
//перебираем элементы строк
$('tr.stud-obhod').each(function(i,elem) {
let user = $('.stud-obhod:nth-child(' + (i+1) + ') input[name=obj]').data('id');
let vib = $('.stud-obhod:nth-child(' + (i+1) + ') input[name=vib]').attr("checked");
let obj = $('.stud-obhod:nth-child(' + (i+1) + ') input[name=obj]').attr("checked");
let lib = $('.stud-obhod:nth-child(' + (i+1) + ') input[name=lib]').attr("checked");
let bfu = $('.stud-obhod:nth-child(' + (i+1) + ') input[name=bfu]').attr("checked");
let trud = $('.stud-obhod:nth-child(' + (i+1) + ') input[name=trud]').attr("checked");
//alert(user);
//alert(obj);
$.ajax({
url: '/json.php', dataType: 'json', type: 'POST', async: false, data: 'ajdes=add_obhod&user='+user+'&vib='+vib+'&obj='+obj+'&lib='+lib+'&bfu='+bfu+'&trud='+trud+'&fak='+fak+'&kaf='+kaf,
success: function(data){
}
});
});
/**/
alert('Обходные листы успешно созданы');
location.href='/byPass/';
});
//выбор группы и вывод списка необходимых студентов - ДЛЯ ВЕДОМОСТЕЙ
$("select[name=grupp_v]").change(function(){
var id_grupp = $(this).val();
$.ajax({
url: '/json.php', dataType: 'json', type: 'POST', async: false, data: 'ajdes=show_students_obh&id_grupp='+id_grupp,
success: function(data){
//alert(123);
$('.student-ved').html(data.html);
$('.hide-content').css('display', 'block');
}
});
});
});
</script>