EIOS/tpl/tpl_teacher_liquidation_ved...

445 lines
21 KiB
HTML
Raw Normal View History

2023-12-28 15:39:22 +03:00
{function nav_pages curp=1 all=0 kolpp=100}
{*<div class="span12">Всего записей: {$all} Текущая страница: {$curp} Записей на страницу: {$kolpp}</div>*}
{assign var=kol_pages value=ceil($all/$kolpp)}
Всего ведомостей: {$all}шт. Страницы:
{for $p=1 to $kol_pages}
[{if $p!=$curp}<a href="/dekanat/liquidation_ved/page{$p}/">{$p}</a> {else}<b>{$p}</b>{/if}]
{/for}
{/function}
<!-- 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="/teach/liquidation/">Создание ведомостей</a></li>
</ul>
</div>
</div>
<div class="row-fluid">
<div class="span12">
{if ($msg == -1)}
<div class="alert alert-warning">
<button data-dismiss="alert" class="close">×</button>
<strong>Направление уже есть!</strong>
</div>
{/if}
{if ($msg == 1)}
<div class="alert alert-success">
<button data-dismiss="alert" class="close">×</button>
<strong>Направление создано!</strong>
</div>
{/if}
{if ($msg == 2)}
<div class="alert alert-success">
<button data-dismiss="alert" class="close">×</button>
<strong>Ведомость создана!</strong>
</div>
{/if}
{if ($msg == 3)}
<div class="alert alert-success">
<button data-dismiss="alert" class="close">×</button>
<strong>Ведомость отредактирована!</strong>
</div>
{/if}
<div class="row-fluid">
<div class="span12">
<div class="row-fluid">
{*if ($status == 99)*}
{include file="tpl_teacher_liquidation_ved_el.html"}
<!--Сформировать ведомость-->
<div class="widget green" id="vedomost_widget">
<div class="widget-title">
<h4><i class="icon-reorder"></i> Формирование ВЕДОМОСТИ</h4>
<span class="tools"><a href="javascript:;" class="icon-chevron-up vedomost_form_div1"> Развернуть/Свернуть</a></span>
</div>
<div class="widget-body" id="vedomost_form_div2" style="display: none;">
<form name="form_ved" 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" id="vedomost_fakultet" class="form-control">
{foreach from=$faculties item=fak}
<option value="{$fak.name}" {if ($fak.name == $fakultet)}selected{/if}>{$fak.name}</option>
{/foreach}
</select>
</div>
<span class="help-inline"> Начните вводить первые буквы...</span>
</div>
</div>
<div class="control-group">
<label class="control-label">Группа студентов</label>
<div class="controls">
<div class="input-prepend">
<select name="grupp_v" id="vedomost_grupp_v" class="form-control">
{foreach from=$grupps item=grupp}
<option value="{$grupp.id}">{$grupp.sokr}-{$grupp.kurs} {$grupp.fo} (Год набора - {$grupp.year_start})</option>
{/foreach}
</select>
</div>
<span class="help-inline"> Начните вводить первые буквы...</span>
</div>
</div>
<div class="hide-content2" style="display: none;">
<div class="control-group">
<label class="control-label">
Студент<br />
<span class="badge badge-info sel-all-stud">Выбрать всех</span><br /><br />
Подгруппа: <input type="text" name="numgrupp" value="1" style="max-width: 100%;"/>
<span class="badge badge-warning sel-pd-stud">Выбрать подгруппу</span><br />
</label>
<div class="controls">
<div class="input-prepend student-ved">
</div>
</div>
</div>
<div class="control-group">
<label class="control-label">Преподаватель</label>
<div class="contros">
<select data-placeholder="Укажите преподавателя" class="chzn-select span6" tabindex="6" name="teacher" id="vedomost_teacher" style="width: 350px!important;">
<option value="0">Выберите преподавателя</option>
{foreach from=$teachers item=teach}
<option value="{$teach.id_user}">{$teach.fio}</option>
{/foreach}
</select>
<br><span id="vedomost_teacher_msg"></span>
</div>
</div>
<div class="control-group">
<label class="control-label">Тип</label>
<div class="controls">
<div class="input-prepend">
<select name="type" id="vedomost_type" class="form-control">
<option value="1">Досрочная</option>
<option value="2">Первичная</option>
<option value="3">Повторная</option>
<option value="4">С комиссией</option>
</select>
</div>
<span class="help-inline"></span>
</div>
</div>
<div class="control-group">
<label class="control-label">Учебный план:</label>
<div class="controls">
<div class="input-prepend">
<select name="iup" id="vedomost_iup" class="form-control">
<option value="1">Индивидуальный</option>
<option value="0">Обычный</option>
</select>
</div>
<span class="help-inline"></span>
</div>
</div>
<div class="control-group">
<label class="control-label">Дисциплина из плана:</label>
<div class="controls">
<div class="input-prepend">
<select name="name" class="form-control">
</select>
</div>
<span class="help-inline"></span>
</div>
</div>
<div class="control-group">
<label class="control-label">Дисциплина, вручную</label>
<div class="controls">
<div class="input-prepend">
<input type="text" name="name_manual" class="form-control" />
</div>
<span class="help-inline">Если нет дисциплины из поля "Дисциплина из плана", необходимо написать вручную!</span>
</div>
</div>
<div class="control-group">
<label class="control-label">Форма контроля</label>
<div class="controls">
<div class="input-prepend">
<select name="control" id="vedomost_control" class="form-control">
<option value="1">Экзамен</option>
<option value="2">Зачет</option>
<option value="6">Зачет с оценкой</option>
<option value="3">Курсовая работа</option>
<option value="4">Курсовой проект</option>
<option value="5">Отчет по практике</option>
</select>
</div>
<span class="help-inline"></span>
</div>
</div>
<div class="control-group">
<label class="control-label">На дату:</label>
<div class="controls">
<div class="input-prepend">
<input type="date" id="vedomost_date_end" name="date_end" class="form-control" />
</div>
<span class="help-inline"></span>
</div>
</div>
<div class="control-group">
<label class="control-label">Семестр</label>
<div class="controls">
<div class="input-prepend">
<select name="semestr" id="vedomost_semestr" class="form-control">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
</div>
<span class="help-inline"></span>
</div>
</div>
<input type="submit" name="add_ved" id="vedomost_add_ved_btn_add" value="Сформировать ведомость и направить преподавателю" class="btn btn-success" />
<input type="submit" name="edt_ved" id="vedomost_add_ved_btn_edt" value="Отредактировать ведомость" class="btn btn-warning" />
<input type="hidden" name="statement_id" id="vedomost_statement_id" value="0" />
<input type="hidden" name="liquidation_id" id="vedomost_liquidation_id" value="0" />
</div>
</form>
</div>
</div>
{*/if*}
<div class="span12">
<div class="row">
<form name="search_ved" method="post" action="" style="width: 100%;">
Поиск: <input type="text" name="search_predmet" class="form-control" placeholder="по дисциплине" /> <input type="number" name="search_semestr" min="1" max="12" class="form-control" placeholder="по семестру" />
<select name="search_group" class="form-control">
{foreach from=$all_group item=gr}
<option value="{$gr.id}">{$gr.sokr}-{$gr.kurs} {$gr.fo}</option>
{/foreach}
</select>
<input type="submit" class="btn btn-info" name="clear_search" value="Сбросить поиск" />
<input type="submit" class="btn btn-success" value="Искать" />
</form>
</div>
<div class="row">
<div class="span12"><span style="color: blue; font-size: 16px;">По умолчанию отображаеся только часть ведомостей! Ищите по названию дисциплины или по семестру нужную.</span><hr /></div>
<div class="span12">
<a href="#" class="btn {if $filter_fo=="all"}btn-warning{else}btn-info{/if} btn_filter" data-filter="all">Все</a>
<a href="#" class="btn {if $filter_fo=="ofo"}btn-warning{else}btn-info{/if} btn_filter" data-filter="ofo">ОФО</a>
<a href="#" class="btn {if $filter_fo=="zfo"}btn-warning{else}btn-info{/if} btn_filter" data-filter="zfo">ЗФО</a>
<a href="#" class="btn {if $filter_fo=="ozfo"}btn-warning{else}btn-info{/if} btn_filter" data-filter="ozfo">ОЗФО</a>
{nav_pages curp=$nav_cur all=$nav_all kolpp=$nav_lim}
</div>
</div>
</div>
{foreach from=$statements item=stat}
<div class="widget blue">
<div class="widget-title" style="height: 46px!important">
<h4><i class=" icon-edit"></i>Ведомость №{$stat.id_stat}. <b>Группа {$stat.gruppa} {if ($stat.fo == 'ОФО')}<span class="badge badge-success">ОФО</span>{else}{if ($stat.fo == 'ЗФО')}<span class="badge badge-important">ЗФО</span>{else}<span class="badge badge-purple" style="background-color: #db9136;">ОЗФО</span>{/if}{/if}. {$stat.name} ({$stat.date_end})</b> {if ($stat.marked == $stat.all)} <span class="badge badge-info">ЗАПОЛНЕНА</span> {/if} {if ($stat.print_st == 1)}<span class="badge badge-light">РАСПЕЧАТАНА</span>{/if}<br />
<i><u>Преподаватель:</u> {$stat.teacher.fio}. <u>Тип:</u> {$stat.control}</i>
</h4>
<span class="tools"><a href="javascript:;" class="icon-chevron-up"> Развернуть/Свернуть</a></span>
</div>
<div class="widget-body" style="display: none;">
<ol>{foreach from=$stat.students item=stud}<li>{$stud.fio}</li>{/foreach}</ol>
<a href="/dekanat/liquidationView/{$stat.id}/" target="_blank" class="btn btn-success">Предварительный просмотр*</a>
<a href="/dekanat/liquidation/{$stat.id}/" target="_blank" class="btn btn-primary">Распечатать ведомость</a>
<span class="btn btn-warning clear-stat" data-id="{$stat.id_stat}">Очистить ведомость от оценок</span>
<span class="btn btn-danger del-stat" data-id="{$stat.id_stat}">Удалить ведомость</span>
{*if ($stat.marked != $stat.all)} | <span {if $fakultet=='Технологический факультет'}class="btn btn-danger edt-stat" data-id="{$stat.id_stat}"{else}class="btn btn-danger" onclick="alert('Редактирование доступно только Технологическому факультету');"{/if}>Редактировать ведомость</span>{/if*}
{if ($stat.marked != $stat.all)}{*if $fakultet=='Технологический факультет'*} | <span class="btn btn-danger edt-stat" data-id="{$stat.id_stat}">Редактировать ведомость</span>{*/if*}{/if}
<p align="right">* - не ставится отметка о печати</p>
</div>
</div>
{/foreach}
</div>
</div>
</div>
</div>
</div>
{literal}
<script type="text/javascript">
function edit_stat(id){
$.ajax({
url: '/json.php', dataType: 'json', type: 'POST', async: false, data: 'ajdes=edt_stat&id='+id,
success: function(data){
$("#vedomost_form_div").show();
$(".hide-content2").show();
$("#vedomost_fakultet option[value='"+data.statement.fakultet+"']").prop('selected', true);
$("#vedomost_grupp_v option[value='"+data.statement.id_grupp+"']").prop('selected', true);
$.ajax({
url: '/json.php', dataType: 'json', type: 'POST', async: false, data: 'ajdes=show_students_v&id_grupp='+data.statement.id_grupp,
success: function(data1){
$('.student-ved').html(data1.html);
$('select[name=name]').html(data1.predmets);
$.each(data.liquidation,function(i,v){
$("input[value="+v.id_student+"]").prop('checked',true);
});
$('select[name=name] option[value="'+data.liquidation[0].name+'"]').prop('selected', true);
}
});
$("#vedomost_teacher option[value='"+data.liquidation[0].id_teacher+"']").prop('selected', true);
$("#vedomost_teacher option[value='"+data.liquidation[0].id_teacher+"']").attr('selected', 'selected');
$("#vedomost_teacher").val(data.liquidation[0].id_teacher).change();
$("#vedomost_teacher").trigger("chosen:updated");
$(".chzn-single").text("").text($("#vedomost_teacher option:selected").text());
$("#vedomost_teacher_msg").html('Если редактируете ведомость [Элективные дисциплины по физической культуре и спорту], то преподаватели у студентов РАЗНЫЕ! Если добавляете студентов в ведомость то нужно выбрать ПРАВИЛЬНОГО преподавателя!(легче удалить ведомость и снова создать)');
$("#vedomost_type option[value='"+data.liquidation[0].type+"']").prop('selected', true);
$("#vedomost_iup option[value='"+data.liquidation[0].iup+"']").prop('selected', true);
$("#vedomost_control option[value='"+data.liquidation[0].control+"']").prop('selected', true);
$("#vedomost_date_end").val(data.liquidation[0].date_end);
$("#vedomost_semestr option[value='"+data.liquidation[0].semestr+"']").prop('selected', true);
let top = parseInt($("#vedomost_widget").offset().top) -70;
$([document.documentElement, document.body]).animate({scrollTop:top}, 500);
$("#vedomost_statement_id").val(data.statement.id);
let liquidation_ids = '';
$.each(data.liquidation,function(i,v){
liquidation_ids += v.id+';';
});//748240;748241;748239;748242;
$("#vedomost_liquidation_id").val(liquidation_ids);
$("#vedomost_add_ved_btn_add").hide();
$("#vedomost_add_ved_btn_edt").show();
$("#vedomost_form_div2").show();
$(".vedomost_form_div1").removeClass('icon-chevron-up').addClass('icon-chevron-down');
}
});
}
$(document).ready(function(){
$(".chosen-container").css({"width":"100%"});
//редактирование ведомости
$('.edt-stat').click(function(){
var id = $(this).data('id');
edit_stat(id);
});
$(".btn_filter").click(function(){
let filter=$(this).data('filter');
$.ajax({
url: '/json.php', dataType: 'json', type: 'POST', async: false, data: 'ajdes=liquidation_ved_filter&filter='+filter,
success: function(data){
location.href='/dekanat/liquidation_ved/';
}
});
return false;
});
//сортировка по направлениям
$(".sort-napr").click(function(){
var id = $(this).data("id");
$('tr.napr-tr').css("display","none");
if (id == 0) $('tr.napr-tr').css("display","table-row"); //все
if (id == 1) $('tr.napr-tr[data-print=1]').css("display","table-row"); //только распечатанные
if (id == 2) $('tr.napr-tr[data-print=0]').css("display","table-row"); //только нераспечатанные
if (id == 3) { //с оценкой
$('tr.napr-tr[data-mark]').css("display","table-row");
$('tr.napr-tr[data-mark=Нет]').css("display","none");
}
if (id == 4) $('tr.napr-tr[data-mark=Нет]').css("display","table-row"); //без оценки
});
//выбор группы и вывод списка необходимых студентов
$("select[name=grupp]").change(function(){
var id_grupp = $(this).val();
$.ajax({
url: '/json.php', dataType: 'json', type: 'POST', async: false, data: 'ajdes=show_students&id_grupp='+id_grupp,
success: function(data){
//alert(123);
$('select[name=student]').html(data.html);
$('.hide-content').css('display', 'block');
}
});
});
//выбор группы и вывод списка необходимых студентов - ДЛЯ ВЕДОМОСТЕЙ
$("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_v&id_grupp='+id_grupp,
success: function(data){
//alert(123);
$('.student-ved').html(data.html);
$('select[name=name]').html(data.predmets);
$('.hide-content2').css('display', 'block');
$("#vedomost_add_ved_btn_add").show();
$("#vedomost_add_ved_btn_edt").hide();
}
});
});
//удаление направления
$(".del-naprav").click(function(){
var id = $(this).data("id");
$.ajax({
url: '/json.php', dataType: 'json', type: 'POST', async: false, data: 'ajdes=del_napr&id='+id,
success: function(data){
alert('Направление удалено!');
location.href='/dekanat/liquidation/';
}
});
});
//удаление оценки zero-naprav
$(".zero-naprav").click(function(){
var id = $(this).data("id");
$.ajax({
url: '/json.php', dataType: 'json', type: 'POST', async: false, data: 'ajdes=zero_napr&id='+id,
success: function(data){
alert('Оценка удалено, преподаватель вновь может выставить оценку по направлению.');
location.href='/dekanat/liquidation/';
}
});
});
//удаление ведомости
$('.del-stat').click(function(){
var id = $(this).data('id');
$.ajax({
url: '/json.php', dataType: 'json', type: 'POST', async: false, data: 'ajdes=del_stat&id='+id,
success: function(data){
alert('Ведомость удалена');
location.href='/dekanat/liquidation_ved/';
}
});
});
//очитска ведомости от отметок
$('.clear-stat').click(function(){
var id = $(this).data('id');
$.ajax({
url: '/json.php', dataType: 'json', type: 'POST', async: false, data: 'ajdes=clear_stat&id='+id,
success: function(data){
alert('Ведомость очищена от отметок, преподаватель ее может перезаполнить');
location.href='/dekanat/liquidation_ved/';
}
});
});
//выбрать всех
$('.sel-all-stud').click(function(){
$('input[type=checkbox]').prop('checked', true);
});
//выбрать конкретную подгруппу
$('.sel-pd-stud').click(function(){
var num = $('input[name=numgrupp]').val();
$('input[data-num='+num+']').prop('checked', true);
});
});
</script>
{/literal}