EIOS/tpl/tpl_teacher_liquidation_ved...

445 lines
21 KiB
HTML
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.

{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}