EIOS/rabprog/tpl/page_komp_models.html

312 lines
18 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.

{if $view=='edit'}
<h2>{$UPLAN.up.shifr} {$UPLAN.up.naprav} {$UPLAN.up.kvalif} {$UPLAN.up.god_nach_podgot} {$UPLAN.up.fo}</h2>
<table class="table">
<thead>
<tr>
<th class="col-1" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Позиция строки в таблице, нумеруйте сами для нужной сортировки">Поз.</th>
<th class="col-1">Код компетенции</th>
<th class="col-2">Наименование компетенции</th>
<th class="col-2">Код и наименование индикатора достижения компетенции</th>
<th class="">Знать</th>
<th class="">Уметь</th>
<th class="">Владеть</th>
<th class="col-1"></th>
</tr>
</thead>
<tbody id="table_body">
<tr id="tr_0">
<td><input class="form-control" id="pos_0" value="{$comp.pos}"></td>
<td><input class="form-control" id="kod_0" value="{$comp.comp_kod|escape}"></td>
<td><input class="form-control inputModal" id="name_0" value="{$comp.comp_name|escape}"></td>
<td><input class="form-control inputModal" id="name_ind_0" value="{$comp.comp_name_ind|escape}"></td>
<td><input class="form-control inputModal" id="krat_sod_znat_0" placeholder="Знать" value="{$comp.znat|escape}"></td>
<td><input class="form-control inputModal" id="krat_sod_umet_0" placeholder="Уметь" value="{$comp.umet|escape}"></td>
<td><input class="form-control inputModal" id="krat_sod_vladet_0" placeholder="Владеть" value="{$comp.vladet|escape}"></td>
<td>
<a href="#" class="btn btn-sm btn-success btnsaveTR" data-id="0" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Обновление строки"><i class="bi bi-save"></i></a>
<a href="#" class="btn btn-sm btn-danger btndelTR" data-id="0" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Удаление строки"><i class="bi bi-trash"></i></a>
<input type="HIDDEN" id="idr_0" value="0">
</td>
</tr>
{if count($SAVES)}
{foreach from=$SAVES item=comp key=kod name=foo}
{assign var=it value=$smarty.foreach.foo.iteration}
<tr id="tr_{$comp.id}">
<td><input class="form-control" id="pos_{$comp.id}" value="{$comp.pos}"></td>
<td><input class="form-control" id="kod_{$comp.id}" value="{$comp.comp_kod|escape}"></td>
<td>
<input class="form-control inputModal" id="name_{$comp.id}" value="{$comp.comp_name|escape}"><br>
<div style="color:gray;font-size:10px;line-height: 8px!important;">{$comp.shifr|escape}</div>
</td>
<td>
<input class="form-control inputModal" id="name_ind_{$comp.id}" value="{$comp.comp_name_ind|escape}"><br>
<div style="color:gray;font-size:10px;line-height: 8px!important;">{$comp.naprav|escape}</div>
</td>
<td>
<input class="form-control inputModal" id="krat_sod_znat_{$comp.id}" placeholder="Знать" value="{$comp.comp_znat|escape}"><br>
<div style="color:gray;font-size:10px;line-height: 8px!important;">{$comp.profil|escape}</div>
</td>
<td><input class="form-control inputModal" id="krat_sod_umet_{$comp.id}" placeholder="Уметь" value="{$comp.comp_umet|escape}"></td>
<td><input class="form-control inputModal" id="krat_sod_vladet_{$comp.id}" placeholder="Владеть" value="{$comp.comp_vladet|escape}"></td>
<td>
<a href="#" class="btn btn-sm btn-success btnsaveTR" data-id="{$comp.id}" data-idcomp="{$comp.id_comp}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Обновление строки"><i class="bi bi-save"></i></a>
<a href="#" class="btn btn-sm btn-danger btndelTR" data-id="{$comp.id}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Удаление строки"><i class="bi bi-trash"></i></a>
<input type="HIDDEN" id="idr_{$comp.id}" value="{$comp.id}">
{if $comp.id_comp==0}<br><span style="color: red;" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Эта строка лишняя, после обновления учебного плана осталась, ее надо удалить, нажать один раз.">УДАЛИТЬ</span>{/if}
{if isset($comp.needsave)&&$comp.needsave==1}<br><span style="color: green;" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Необходимо обновить информацию! Нажмите один раз!">СОХРАНИТЬ</span>{/if}
</td>
</tr>
{/foreach}
{/if}
</tbody>
</table>
{if count($UPLAN.comp)}
<p>{if !count($SAVES)}<a href="/rabprog/komp_models/addcomp_all_oldyear/{$ID_PLAN}/" class="btn btn-danger" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Попробуем найти такойже план из прошлого года и всю КОМП.МОДЕЛЬ перенести в ЭТОТ ПЛАН!">ВЗЯТЬ ДАННЫЕ ИЗ ПРОШЛОГО ГОДА!!!</a> {else}<span style="color:red;">в плане найдены записи, для того чтобы перенести с прошлого года записи, надо удалить текущие записи!</span>{/if}| <a href="/rabprog/komp_models/addcomp_all/{$ID_PLAN}/" class="btn btn-warning" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Добавить все компетенции и потом в ручную добавлять ЗНАТЬ,ВЛАДЕТЬ,УМЕТЬ">Добавить все строки ниже</a>, или можете добавлять по одной!</p>
<table class="table">
<thead>
<tr>
<th class="col-1">Код компетенции</th>
<th class="col-5">Название компетенции</th>
<th class="col-5">Название индикатора достижения компетенции</th>
<!--th class="">Краткое содержание и структура компетенции.</th-->
<th class="col-1"></th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="4">строки ниже взяты из Учебного плана и не сохранены в модели, используйте <a href="#" class="btn btn-sm btn-warning" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Добавление строки"><i class="bi bi-plus-square"></i></a> для добавление записи в модель</td>
</tr>
{foreach from=$UPLAN.comp item=comp key=kod name=foo}
{*<pre>{print_r($comp)}</pre>*}
{assign var=it value=-$smarty.foreach.foo.iteration}
<tr id="tr_{$it}">
<td>
<input type="hidden" id="idcomp_{$it}" value="{$comp.id_comp}" type="hidden">
<input type="hidden" id="kod_{$it}" value="{$comp.kod|escape}" type="hidden">
<input type="text" class="form-control" id="index_{$it}" value="{$comp.index|escape}"></td>
<td><input type="text" class="form-control" id="name_{$it}" value="{$comp.name|escape}"></td>
<td><input type="text" class="form-control" id="descrip_{$it}" value="{$comp.descrip|escape}"></td>
<!--td><textarea class="form-control" id="krat_sod_{$it}" placeholder="иметь: знать: уметь: владеть:">{$comp.descrip|escape}</textarea></td-->
<td>
<a href="#" class="btn btn-sm btn-warning btnsaveTRUP" data-id="{$it}" data-idcomp="{$comp.id_comp}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Добавление строки"><i class="bi bi-plus-square"></i></a>
<input type="HIDDEN" id="idr_{$it}" value="0">
<br><span>Запись из УП!</span>
</td>
</tr>
{/foreach}
</tbody>
</table>
{else}
<p>Или в плане нет компетенций или вы уже указали все компетенции которые есть в плане!</p>
{/if}
<input type="HIDDEN" id="ID_PLAN" value="{$ID_PLAN}">
{*<pre>{print_r($UPLAN)}</pre>*}
{literal}
<style>
.inputModal{
border-bottom: 1px solid #0a53be;
}
</style>
<script>$(document).ready(function(){
window.ToastShow1("Если в РПД пустой пункт 7.2!",'Необходимо перепроверить компетентностную модель и строки с подписью "СОХРАНИТЬ" - нажать один раз на сохранить, с подписью "УДАЛИТЬ" проверить их и удалить, нажать один раз.',1,0,45000,false);
//Удаление строки
$(document).on("click", ".btndelTR", function(){
let id = $(this).data('id');
let ID_PLAN = $("#ID_PLAN").val();
let idr = $("#idr_"+id).val();
$.ajax({url: '/rabprog/komp_models/',cache:false,datatype:'json',method:'post',
data: 'ajdes=Dele_TR&ID_PLAN='+ID_PLAN+'&idr='+idr,
success:function(data){
window.ToastShow1("Удаление записи комп.модели",data.msg,data.err);
if(data.err!=1) $("#tr_"+id).remove();
}
});
return false;
});
//Сохранение строки
$(document).on("click", ".btnsaveTR", function(){
let id = $(this).data('id');
let idcomp = $(this).data('idcomp');
let ID_PLAN = $("#ID_PLAN").val();
let pos = id;
if (pos==-1) pos=0;
if($("#pos_"+id).length){
pos = $("#pos_"+id).val();
}
let kod = $("#kod_"+id).val();
let name = $("#name_"+id).val();
let name_ind = $("#name_ind_"+id).val();
let znat =''; if($("#krat_sod_znat_"+id).length) znat = $("#krat_sod_znat_"+id).val();
let umet =''; if($("#krat_sod_umet_"+id).length) umet = $("#krat_sod_umet_"+id).val();
let vladet =''; if($("#krat_sod_vladet_"+id).length) vladet = $("#krat_sod_vladet_"+id).val();
let idr = $("#idr_"+id).val();
$.ajax({url: '/rabprog/komp_models/',cache:false,datatype:'json',method:'post',
data: 'ajdes=Save_TR&ID_PLAN='+ID_PLAN+'&pos='+pos+'&kod='+kod+'&id_comp='+idcomp+'&name='+name+'&name_ind='+name_ind+'&znat='+znat+'&umet='+umet+'&vladet='+vladet+'&idr='+idr,
success:function(data){
window.ToastShow1("Сохранение записи комп.модели",data.msg,data.err);
if(data.err!=1) {
$("#idr_"+id).val(data.id);
//let tr = add_tr(data.id,pos,kod,name,name_ind,znat,umet,vladet);
//$("#table_body").append(tr);
//$("#tr_"+id).remove();
}
}
});
return false;
});
//Добавление строки из УП
$(document).on("click", ".btnsaveTRUP", function(){
let id = $(this).data('id');
let idcomp = $(this).data('idcomp');
let ID_PLAN = $("#ID_PLAN").val();
let pos = Math.abs(id);
if (pos==-1) pos=0;
if($("#pos_"+id).length){
pos = $("#pos_"+id).val();
}
let kod = $("#kod_"+id).val();
let index = $("#index_"+id).val();
let name = $("#name_"+id).val();
let descrip = index+' '+$("#descrip_"+id).val();
//let znat =''; if($("#krat_sod_znat_"+id).length) znat = '';
//let umet =''; if($("#krat_sod_umet_"+id).length) umet = '';
//let vladet =''; if($("#krat_sod_vladet_"+id).length) vladet = '';
let idr = $("#idr_"+id).val();
$.ajax({url: '/rabprog/komp_models/',cache:false,datatype:'json',method:'post',
data: 'ajdes=Save_TR&ID_PLAN='+ID_PLAN+'&pos='+pos+'&kod='+kod+'&id_comp='+idcomp+'&index='+index+'&name='+name+'&name_ind='+descrip+'&idr='+idr,
success:function(data){
window.ToastShow1("Сохранение записи комп.модели",data.msg,data.err);
if(data.err!=1) {
$("#idr_"+id).val(data.id);
let tr = add_tr(data.id,pos,idcomp,kod,name,descrip);
$("#table_body").append(tr);
$("#tr_"+id).remove();
}
}
});
return false;
});
function add_tr(id,pos,id_comp,kod,name,descrip,znat='',umet='',vladet=''){
let out = '<tr id="tr_'+id+'">\n' +
' <td><input class="form-control" id="pos_'+id+'" value="'+pos+'"></td>\n' +
' <td><input class="form-control" id="kod_'+id+'" value="'+kod+'"></td>\n' +
' <td><input class="form-control inputModal" id="name_'+id+'" value="'+name+'"></td>\n' +
' <td><input class="form-control inputModal" id="name_ind_'+id+'" value="'+descrip+'"></td>\n' +
' <td><input class="form-control inputModal" id="krat_sod_znat_'+id+'" value="'+znat+'"></td>\n' +
' <td><input class="form-control inputModal" id="krat_sod_umet_'+id+'" value="'+umet+'"></td>\n' +
' <td><input class="form-control inputModal" id="krat_sod_vladet_'+id+'" value="'+vladet+'"></td>\n' +
' <td>\n' +
' <a href="#" class="btn btn-sm btn-success btnsaveTR" data-id="'+id+'" data-idcomp="'+id_comp+'" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Обновление строки"><i class="bi bi-save"></i></a>\n' +
' <a href="#" class="btn btn-sm btn-danger btndelTR" data-id="'+id+'" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Удаление строки"><i class="bi bi-trash"></i></a>\n' +
' <input type="HIDDEN" id="idr_'+id+'" value="'+id+'">\n' +
' </td>\n' +
' </tr>';
return out;
}
//Редактирование полей с большим текстом
var inputEl = null;
var inputModalEl = null;
$(document).on("click", ".inputModal",function(){
inputEl = $(this);
let val = $(this).val();
let options = { keyboard: false };
inputModalEl = new bootstrap.Modal(document.getElementById('InputModal'), options);
inputModalEl.toggle();
$("#inputval").val(val);
});
$("#inputmodal_save").click(function(){
inputEl.val($("#inputval").val());
inputModalEl.hide();
});
})</script>{/literal}
<div class="modal fade" id="InputModal" tabindex="-1" aria-labelledby="InputModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="InputModalLabel">Редактирование текста в поле ввода</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div class="mb-3">
<textarea class="form-control" id="inputval" style="height:400px;"></textarea>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Закрыть</button>
<button type="button" class="btn btn-primary" id="inputmodal_save">Сохранить</button>
</div>
</div>
</div>
</div>
{/if}
{if $view=='all'}
{if isset($msg)}<div class="alert {if $msg.err==0}alert-success{else}alert-danger{/if}" role="alert">{$msg.msg}</div>{/if}
{if count($UCHEBPLANS)}
<h3 class="text-center">Компетентностные модели</h3>
<h3 class="text-center">Список закрепленных за кафедрой дисциплин и практик</h3>
<h4><u>{$kaf.name}</u></h4>
<table class="table">
<thead>
<tr>
<th class="col-1">Шифр</th>
<th class="col-2">Направление</th>
<th class="col-1">Профиль</th>
<th class="col-1">Квалификация</th>
<th class="col-1">Год</th>
<th class="col-1">Срок</th>
<th class="col-1">ФО</th>
<th class="col-1"><input type="text" class="form-control filter" placeholder="фильтр" value=""></th>
</tr>
</thead>
<tbody id="fbody">
{foreach from=$UCHEBPLANS item=up}{if $up.fo=='Очная'}
<tr>
<td>{$up.shifr}</td>
<td>{$up.naprav}</td>
<td>{$up.profil}</td>
<td>{$up.kvalif}</td>
<td>{$up.god_nach_podgot}</td>
<td>{$up.srok_poluch_obr}</td>
<td>{$up.fo}</td>
<td>
<a href="/rabprog/shahtplans/one/{$up.id_file}/" class="btn btn-sm btn-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Просмотр плана" target="_blank"><i class="bi bi-eye"></i></a>
<a href="/rabprog/komp_models/edit/{$up.id_file}/" class="btn btn-sm btn-warning" data-bs-toggle="tooltip" data-bs-placement="top" title="Создание компетентностной модели"><i class="bi bi-pencil-square"></i></a>
{*<a href="/rabprog/komp_models/compare/{$up.id_file}/" class="btn btn-sm btn-info" data-bs-toggle="tooltip" data-bs-placement="top" title="Сравнить все формы обучения учебных планов. Нажимать после того как заполнили все компетенции!!!"><i class="bi bi-ui-checks"></i></a>*}
</td>
</tr>
{/if}{/foreach}
</tbody>
</table>
{literal}
<script>$(document).ready(function(){
//фильтр таблицы
$(".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}
<p>нет планов</p>
{/if}
{/if}