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