EIOS/rabprog/tpl/page_disciplins.html

219 lines
12 KiB
HTML
Raw 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 sel_prepod}
<select class="form-select {$class}" name="prepod_id[{$did}]" id="prepod_id_{$did}" data-did="{$did}" data-selprepid="{$pid}" data-k1k2="{$k1}_{$k2}" data-bs-toggle="tooltip" data-bs-placement="bottom"
{if $class=="prepod_selall"} title="Используйте для ГРУППОВОГО назначения преподавателя на ОТОБРАЖАЕМЫЕ внизу дисциплины!"
{else} title="Назначить преподавателя на дисциплину"{/if}
>
<option value="0">Нет преподавателя</option>
<option value="-1">Преподаватель не на кафедре</option>
{foreach from=$PREPODS item=prep}
<option value="{$prep.id}"{if $prep.id==$pid} SELECTED{/if}>{$prep.fio}{if $prep.status<0} УДАЛЕН{/if}</option>
{/foreach}
</select>
<div id="prepod_id_{$did}_seldop_{$k1}_{$k2}"></div>
{/function}
{if count($DISCIPS)}
{*<pre>{print_r($prepods_all_all)}</pre>*}
<div class="prepods_all_div" style="display: none;">
<select class="form-select prepod_sel_all" name="prepod_id_all[%did%]" id="prepod_id_all_%did%" data-did="%did%" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Назначить преподавателя не из своей кафедры на дисциплину">
<option value="0" >Выберите преподавателя</option>
{foreach from=$prepods_all_all item=prep}
{if $prep.fio!=''}<option value="{$prep.id}"{if $prep.id==$pid} SELECTED{/if}>{$prep.fio}</option>{/if}
{/foreach}
</select>
</div>
<h3 class="text-center">Перечень дисциплин и практик, закрепленных за кафедрой {$kaf.name} (код {$kaf.kod}) в соответствии с учебными планами образовательных программ</h3>
<table class="table">
<thead>
<tr>
<th class="col-1">индекс дисциплины/практики</th>
<th class="col-2">название дисциплины/практики</th>
<th class="col-1">форма обучения</th>
<th class="col-2">
Преподаватель, ответственный за разработку рабочей программы
{*sel_prepod PREPODS=$PREPODS did=$disc.id pid=$disc.prepod_id class="prepod_selall"*}
</th>
<th class="col-1"><input type="text" class="form-control filter" placeholder="фильтр" value=""></th>
</tr>
</thead>
<tbody id="fbody">
{foreach from=$DISCIPS item=discOOP key=nameOOP name=foreach1}
<tr class="tr_header" data-id="{$smarty.foreach.foreach1.iteration}">
<td colspan="5"><strong>{$nameOOP}</strong></td>
</tr>
{foreach from=$discOOP item=disc name=foreach2}
<tr class="trtd trtd_{$smarty.foreach.foreach1.iteration}">
<td class="filter_index1">{$disc.index1}</td>
<td class="filter_name">
<span data-bs-toggle="tooltip" data-bs-placement="top" title="ООП: {$disc.shifr} {$disc.naprav} {$disc.god_nach_podgot} {$disc.kvalif} {$disc.srok_poluch_obr}" style="font-weight:bold;">{$disc.name}</span>
{if isset($disc.prepod_other)&&count($disc.prepod_other)}<br>
{*
$disc.prepod_other.id_uchebplans=36965
$disc.prepod_other.prepod_id=2378
$disc.prepod_other.up_oth=Array([id]=18348 [id_file]=127 [index1]=Б1.О.34 [name]=Физическая культура и спорт)
$disc.prepod_other.up_oth_user=Array([rsid]=1266 [id_prepod]=1266 [fio]=Галюнко Татьяна Эйгеновна )
$disc.prepod_other.up_file_oth=Array([id]=127 [id_file]=127 [god_nach_podgot]=2022 )
*}
{*print_r($disc.prepod_other)*}
{if isset($disc.prepod_other.up_oth_user)&&isset($disc.prepod_other.up_oth_user.fio)}
<span class="badge bg-light text-dark" data-bs-toggle="tooltip" data-bs-placement="top" title="Информация кто разрабатывал дисциплину в других годах">{$disc.prepod_other.up_file_oth.god_nach_podgot}: {$disc.prepod_other.up_oth_user.fio}</span>
{if $disc.prepod_id != $disc.prepod_other.up_oth_user.id_prepod}<a href="#" class="btn btn-sm btn-warning copy_rpd" data-saveiddiscip="{$disc.prepod_other.up_oth_user.rsid}" data-newdiscip="{$disc.prepod_other.id_uchebplans}" data-prepodid="{$disc.prepod_other.prepod_id}" style="padding: 0px 4px;" data-bs-toggle="tooltip" data-bs-placement="top" title="Скопировать РПД от другого преподавателя, назначенному">копировать</a>{/if}
{/if}
{/if}
{if isset($disc.prepod_other.err)}<span class="" data-bs-toggle="tooltip" data-bs-placement="top" title="Не смогли определить дисциплину в прошлом году, подробнее см. в тексте!">{$disc.prepod_other.err}</span>{/if}
</td>
<td class="filter_fo">{$disc.fo}</td>
<td class="filter_prepod">
{if $disc.prepod_status==0}
<span>на согласовании в УМУ от {date('d.m.Y',$disc.prepod_data_c)}</span>
{else}
{sel_prepod PREPODS=$PREPODS did=$disc.id pid=$disc.prepod_id class="prepod_sel" k1=$smarty.foreach.foreach1.iteration k2=$smarty.foreach.foreach2.iteration}
{if $disc.prepod_id!=0}
<input type="TEXT" class="form-control" id="prepodDescr_{$disc.id}_{$smarty.foreach.foreach1.iteration}_{$smarty.foreach.foreach2.iteration}" value="" placeholder="Причина смены">
{/if}
{/if}
{*<pre style="display: none;">{print_r($disc)}</pre>*}
</td>
<td>
<a href="#" class="btn btn-sm btn-warning save_prepod" id="btnSavePrepod_{$disc.id}_{$smarty.foreach.foreach1.iteration}_{$smarty.foreach.foreach2.iteration}" data-id="{$disc.id}" data-k1k2="{$smarty.foreach.foreach1.iteration}_{$smarty.foreach.foreach2.iteration}" data-bs-toggle="tooltip" data-bs-placement="top" title="Сохранить преподавателя" style="display: none;"><i class="bi bi-save"></i></a>
<a href="/rabprog/shahtplans/one/{$disc.id_file}/" class="btn btn-sm btn-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Просмотр плана"><i class="bi bi-eye"></i></a>
{if isset($disc.prepod_descrip)}{$disc.prepod_descrip}{/if}
</td>
</tr>
{/foreach}
{/foreach}
</tbody>
</table>
{literal}
<style>
.tr_header{cursor: pointer;}
.tr_header:hover{ background-color: #9eeaf9;}
.trtd{display: none;}
</style>
<script>$(document).ready(function(){
//копируем РПД стаурю на нового
$(".copy_rpd").click(function(){
let saveiddiscip = $(this).data('saveiddiscip');
let newdiscip = $(this).data('newdiscip');
let prepodid = $(this).data('prepodid');
$.ajax({
url: '/rabprog/disciplins/', cache: false, datatype: 'json', method: 'post',
data: 'ajdes=CopyRPD&saveiddiscip=' + saveiddiscip + '&newdiscip=' + newdiscip + '&prepodid=' + prepodid,
success: function (data) {
window.ToastShow1("Копирование дисциплины от другого преподавателя", data.msg, data.err);
}
});
return false;
});
//сворачиваем разворачиваем ООП
$(".tr_header").click(function(){
let id=$(this).data("id");
$(".trtd_"+id).toggle();
});
//Сохраняем преподавателя
$(".save_prepod").click(function(){
$(this).hide();
let smena = '';
let doaj = true;
let id_disc = $(this).data("id");
let id_prep_dop = $("#prepod_id_all_"+id_disc+" option:selected").val();
let id_prepod = 0;
let k1k2 = $(this).data("k1k2");
if(typeof id_prep_dop !== 'undefined') {
id_prepod = id_prep_dop;
}else {
id_prepod = $("#prepod_id_" + id_disc + " option:selected").val();
}
let th = $(this);
if ($("#prepodDescr_"+id_disc+"_"+k1k2).length) {
smena = $("#prepodDescr_"+id_disc+"_"+k1k2).val();
if (smena.length<=3){
window.ToastShow1("Укажите причину смены!","Причина смены не может быть пустой",1);
doaj = false;
}
}
if(doaj==true) {
$.ajax({
url: '/rabprog/disciplins/', cache: false, datatype: 'json', method: 'post',
data: 'ajdes=SavePrepod&id_disc=' + id_disc + '&id_prepod=' + id_prepod + '&smena=' + smena,
success: function (data) {
th.hide();
window.ToastShow1("Сохранение преподавателя", data.msg, data.err);
}
});
}
return false;
});
$(".prepod_sel").change(function(){
let did = $(this).data("did");
let k1k2 = $(this).data("k1k2");
//let sel = $("#prepod_id_"+did+" option:selected").val();
let sel = $("option:selected", this).val();
if(sel==-1){
let sel = $(".prepods_all_div").html();
sel = sel.replace(/%did%/g, did);
$("#prepod_id_"+did+"_seldop_"+k1k2).html(sel);
}else {
$("#btnSavePrepod_" + did+"_"+k1k2).show();
}
});
$(document).on("change", ".prepod_sel_all", function(){
let did = $(this).data("did");
$("#btnSavePrepod_" + did).show();
});
$(".prepod_sel").each(function(i,e){
selprepid = $(this).data('selprepid');
did = $(this).data('did');
selected_option = $('#prepod_id_'+did+' option:selected').val();
fio = $('.prepod_sel_all option[value='+selprepid+']').text();
if(selprepid!=selected_option){
$('#prepod_id_'+did+' option[value=0]').text(fio);
//console.log('#prepod_id_'+did+' option[value='+selprepid+']');
}
//console.log(selprepid+"="+selected_option);
})
//назначаем всем, видимым дисциплинам, преподов
$(".prepod_selall").change(function(){
let id = $(".prepod_selall :selected").val();
let fio = $(".prepod_selall :selected").text();
let did = 0;
$(".prepod_sel").each(function( index ) {
if ($(this).is(":visible")){
$("option[value="+id+"]",this).attr('selected','selected');
did = $(this).data("did");
$("#btnSavePrepod_"+did).show();
}
});
//$(".prepod_sel option[value="+id+"]").attr('selected','selected');
});
//фильтр таблицы
$(".filter").keyup(function () {
var data = this.value.split(" ");
var jo = $("#fbody").find("tr");
if (this.value == "") {
jo.show();
return;
}
jo.hide();
//Recusively filter the jquery object to get results.
jo.filter(function (i, v) {
var $t = $(this);
for (var d = 0; d < data.length; ++d) {
if ($t.is(":contains('" + data[d] + "')")) {
return true;
}
}
return false;
}).show();
}).focus(function () {
this.value = "";
$(this).css({"color": "black"});
$(this).unbind('focus');
}).css({"color": "#C0C0C0"});
//http://jsfiddle.net/ukW2C/3/ фильтр для всей таблицы
})</script>{/literal}
{else}
<h2>Нет загруженных планов, для кафедры {$kaf.name}</h2>
{/if}
{*<pre>{print_r($DISCIPS)}</pre>*}