'use strict' angular.module('EXAM').controller('Exam001',['$scope', '$http', 'EXAMSERVICES', '$filter', function($scope, $http, EXAMSERVICES, $filter){ $scope.questset1 = { 'questionset1id': '', 'questionset1_name': '', 'remark': '', 'subject_req': '', 'pass_score': '', 'settime': '', 'question_type': '0', 'total_score': '0.00', 'hour': '0', 'minute': '0', 'examination_time' : '0.00', 'examworkstatus': '', 'score_report': '', 'status': '' }; // 2 ตัวนี้ใช้เก็บเป็น Tmp เวลามีการเปลี่ยน type $scope.questset3ch จะถูกเคลียร์ค่าแต่จะมีการเก็บค่าก่อนเคลียร์ไว้ก่อน $scope.tmpquestset2 = []; $scope.tmpquestion = []; $scope.questset1ch = []; $scope.selhour = []; $scope.selminute = []; for (var i=0; i<=24; i++){ $scope.selhour.push(i); } for (var i=0; i<=60; i++){ $scope.selminute.push(i); } $scope.timeExam = ''; $scope.queryByKey = function(keyname, keyval){ EXAMSERVICES.ManageExam001.query({examid: keyval, querytype: 'ex01'}) .$promise.then(function(data){ $scope.questset1 = data.questset1; $scope.questset1ch = data.questset1ch; var tmptime = $scope.questset1.examination_time.split('.'); $scope.questset1.hour = tmptime[0]; $scope.questset1.minute = tmptime[1]; console.log($scope.questset1.examination_time.split('.')); console.log('DEBUG:: queryByKey() questset1 =>', $scope.questset1, ', questset1ch =>', $scope.questset1ch); $scope.calScore(); }); } $scope.calScore = function(){ var result = 0.00; $scope.questset1ch.forEach(function(data){ result += parseFloat(data.score); }); $scope.questset1.total_score = parseFloat(result).toFixed(2); }; $scope.putNewChild = function(arrch){ arrch.forEach(function(data){ var isFound = $filter('findWithAttr')($scope.questset1ch, 'questionid', data.questionid); if (!isFound) { $scope.questset1ch.push(data); } }); $scope.calScore(); console.log('DEBUG:: putNewChild() questset1ch =>', $scope.questset1ch); }; $scope.putNewQuestion = function(questionobj){ var isFound = $filter('findWithAttr')($scope.questset1ch, 'questionid', questionobj.questionid); if (!isFound) { $scope.questset1ch.push(questionobj); } $scope.calScore(); console.log('DEBUG:: putNewQuestion() questset1ch =>', $scope.questset1ch); }; $scope.save = function(){ if ($scope.questset1.questionset1id != '' && $scope.questset1.questionset1id != undefined){ if ($scope.questset1.settime == '1'){ $scope.calTimeExam(); } var allobj = { 'questionset1': $scope.questset1, 'questionset1ch': $scope.questset1ch }; EXAMSERVICES.ManageExam001.save(allobj) .$promise.then(function(data){ alert(MyCode[18]); window.location.reload(); }); } }; $scope.calTimeExam = function(){ $scope.questset1.examination_time = $scope.questset1.hour+'.'+$scope.questset1.minute; }; $scope.checkPassScore = function(){ if (parseFloat($scope.questset1.pass_score) > parseFloat($scope.questset1.total_score)){ $scope.questset1.pass_score = $scope.questset1.total_score; } } $scope.delete = function(){ if ($scope.questset1.questionset1id!= undefined && $scope.questset1.questionset1id != ''){ EXAMSERVICES.ManageExam001.delete({examid: $scope.questset1.questionset1id}) .$promise.then(function(data){ alert(MyCode[19]); window.location.reload(); }); } }; $scope.selectAll = function(){ $scope.questset1ch.forEach(function(data){ data.ischeck = true; }); }; $scope.deSelectAll = function(){ $scope.questset1ch.forEach(function(data){ data.ischeck = false; }); }; $scope.delSelect = function(){ var listindex = []; $scope.questset1ch.forEach(function(data, index){ if (data.ischeck){ listindex.push(index); } }); while (listindex.length > 0){ $scope.questset1ch.splice(listindex.pop(), 1); } }; $scope.checkBeforeChange = function(){ if ($scope.questset1.question_type == '0'){ $scope.tmpquestset2 = $scope.questset1ch; $scope.questset1ch = $scope.tmpquestion; }else if ($scope.questset1.question_type == '1'){ $scope.tmpquestion = $scope.questset1ch; $scope.questset1ch = $scope.tmpquestset2; } } }]);