From a5ad6ac28fbbbda759fee166b6cffd692ebbbffb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D1=82=D0=BE=D0=BD=20=D0=A8=D0=B0=D0=BB=D0=B8?= =?UTF-8?q?=D0=BC=D0=BE=D0=B2?= <solidovic@gmail.com> Date: Sat, 30 Aug 2014 20:47:23 +0400 Subject: [PATCH] =?UTF-8?q?=D0=9A=D1=80=D1=83=D1=82=D0=BE=D0=B5=20=D0=B4?= =?UTF-8?q?=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=81?= =?UTF-8?q?=D1=82=D1=83=D0=B4=D0=B5=D0=BD=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../classes/Controller/Handler/Map.php | 2 +- .../views/teacher/map/EditStudents.twig | 2 +- ~dev_rating/media/css/construct.css | 5 ++ ~dev_rating/media/js/construct/edit.js | 50 +++++++++++++++---- 4 files changed, 46 insertions(+), 13 deletions(-) diff --git a/~dev_rating/application/classes/Controller/Handler/Map.php b/~dev_rating/application/classes/Controller/Handler/Map.php index 91b7b8a03..c08ca0646 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 b54734b75..ce3803c32 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 05fa6cf09..7ee942c01 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 97e6546aa..319092c77 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'); } ); -- GitLab