diff --git a/~dev_rating/application/classes/Controller/Handler/Map.php b/~dev_rating/application/classes/Controller/Handler/Map.php index 91b7b8a03c27a177eb5f217d0552ffa84a5a94af..c08ca0646b13981b699d473aebf3e6bebed42d93 100644 --- a/~dev_rating/application/classes/Controller/Handler/Map.php +++ b/~dev_rating/application/classes/Controller/Handler/Map.php @@ -415,7 +415,7 @@ class Controller_Handler_Map extends Controller_Handler { $this->post->offsetGet('DisciplineID') ); $SearchResult = array(); - + $i = 0; foreach($SeResult as $row){ $i++; diff --git a/~dev_rating/application/views/teacher/map/EditStudents.twig b/~dev_rating/application/views/teacher/map/EditStudents.twig index b54734b756a495d17ae2b49ec80b1250574819b9..ce3803c3208fbb2311860933c01da84365614a97 100644 --- a/~dev_rating/application/views/teacher/map/EditStudents.twig +++ b/~dev_rating/application/views/teacher/map/EditStudents.twig @@ -19,7 +19,7 @@ <span class="info">Курс {{ Student.Grade }}, Группа {{ Student.GroupNum }}</span> <span class="Action">Открыть список ▼</span> </div> - <div class="GroupContainer"> + <div class="GroupContainer GroupID_{{ Student.GroupID }}"> {% set NowGroupNum = Student.GroupNum %} {% endif %} <div id="{{ Student.StudentID }}" class="Student {% if Student.Type == 'detach' %}StatusUnbind{% else %}StatusBind{% endif %}"> diff --git a/~dev_rating/media/css/construct.css b/~dev_rating/media/css/construct.css index 05fa6cf094ea7009d536c0bad14609613dd21708..7ee942c01a83ddbe38955ff2b98131534b4dbbe4 100644 --- a/~dev_rating/media/css/construct.css +++ b/~dev_rating/media/css/construct.css @@ -263,6 +263,11 @@ font-size: 14px; color: #363636; } + .StudentsList .Student .From { + float: left; + font-size: 14px; + color: #363636; + } .StudentsList .Student .action { float: right; font-size: 14px; diff --git a/~dev_rating/media/js/construct/edit.js b/~dev_rating/media/js/construct/edit.js index 97e6546aac74c1fcc84da527fb47d8133c0f9b09..319092c775f9b478fb67172ae137e7bd8c3f8e27 100644 --- a/~dev_rating/media/js/construct/edit.js +++ b/~dev_rating/media/js/construct/edit.js @@ -528,12 +528,22 @@ $('.AttachedGroupsList').on('click', '.UnbindGroup', function(){ }); // Поиск студентов -function AddStudent(ID, Name, From){ -return '\ - <div id="'+ ID +'" class="Student StatusUnbind">\ - <span class="Name">'+ Name +', '+ From +'</span>\ - <span class="action Action_BindStudent">Прикрепить студента</span>\ - </div>'; +function AddStudent(ID, Name, From, GroupID, Bind){ + if (Bind == true) + var Status = 'StatusBind'; + else + var Status = 'StatusUnbind'; + var r = '\ + <div id="'+ ID +'" class="Student '+ Status +' '+ GroupID +'">\ + <span class="Name">'+ Name +'</span> \ + <span class="From">'+ From +'</span>'; + if (Bind == true) + r +='<span class="action Action_UnbindStudent">Отсоединить студента</span>'; + else + r +='<span class="action Action_BindStudent">Прикрепить студента</span>'; + r += + '</div>'; + return r; } // Поиск студентов @@ -556,10 +566,11 @@ function CallSearchStudents() { $('.SearchResult').html(''); if (parseInt(SearchResult.Count) > 0) for(var i = 1; i <= parseInt(SearchResult.Count); i++) { - var ID = SearchResult[i].StudentID; - var Name = SearchResult[i].StudentLast +' '+ SearchResult[i].StudentFirst +' '+ SearchResult[i].StudentSecond; - var From = 'Курс ' + SearchResult[i].GroupGrade + ', Группа ' + SearchResult[i].GroupNum; - $('.SearchResult').append(AddStudent(ID, Name, From)); + var ID = SearchResult[i].StudentID; + var Name = SearchResult[i].StudentLast +' '+ SearchResult[i].StudentFirst +' '+ SearchResult[i].StudentSecond; + var From = 'Курс ' + SearchResult[i].GroupGrade + ', Группа ' + SearchResult[i].GroupNum; + var GroupID = 'GroupID_'+SearchResult[i].GroupID + $('.SearchResult').append(AddStudent(ID, Name, From, GroupID, false)); } else $('.SearchResult').html('<p class="notification">Нет результатов</p>'); @@ -612,6 +623,7 @@ $('.SelectStudyGroup').focusout(function(){ // Прикрепить студента $('.StudentsList').on('click', '.Action_BindStudent', function(){ + var thisObj = $(this); $(this) .removeClass('Action_BindStudent') .addClass('Action_UnbindStudent') @@ -629,8 +641,24 @@ $('.StudentsList').on('click', '.Action_BindStudent', function(){ }, function(data){ data = $.parseJSON(data); - if(data.success === true) + if(data.success === true) { + var reg = /GroupID_\d+/; + var GroupID = ''+reg.exec(thisObj.parent().attr('class')); + var ID = thisObj.parent().attr('id'); + var Name = thisObj.siblings('.Name').text(); + var From = thisObj.siblings('.From').text(); + if ($('div').is('.GroupContainer.'+GroupID) === false) { + $('.AttachedStudentsList').append('\ + <div class="GradeAndGroupTitle ActionShowHideGroupContainer">\ + <span class="info">'+From+'</span>\ + <span class="Action">Открыть список ▼</span>\ + </div>'); + $('.AttachedStudentsList').append('<div class="GroupContainer '+GroupID+'" style="display: block"> </div>'); + } + $('.GroupContainer.'+GroupID).append(AddStudent(ID, Name, From, GroupID, true)); + thisObj.parent().remove(); EventInspector_ShowMsg('Студент добавлен', 'success'); + } else EventInspector_ShowMsg('Ошибка при добавление студента', 'error'); } );