'use strict' angular.module('EXAM').controller('Exam004', ['$scope', '$http', 'EXAMSERVICES', '$filter', function($scope, $http, EXAMSERVICES, $filter){ $scope.examobj; $scope.examchild = []; $scope.employee; /*EXAMSERVICES.ManageExam004.query({examid: "0"}) .$promise.then(function(data){ $scope.examobj = JSON.parse(data.result); console.log($scope.examobj); });*/ $scope.queryByKey = function(keyname, keyval){ EXAMSERVICES.ManageExam004.query({examid: keyval}) .$promise.then(function(data){ $scope.examobj = JSON.parse(data.resultexam); $scope.examchild = JSON.parse(data.resultchild); }) }; $scope.renderHtmlCode = function(strobj, index){ var html = $.parseHTML(strobj); $('#'+index).html(html); }; $scope.addQuestion = function(questobj){ var tmpobj = { 'questionid': questobj.questionid, 'line_no': '0', 'questionset4_detailid': questobj.questionid, 'questionset4id': $scope.examobj.questionset4id, 'questiondata': { 'question_name': questobj.question_name, 'score': questobj.score } }; var isFound = $filter('findWithAttr')($scope.examchild, 'questionid', questobj.questionid); if (!isFound) { $scope.examchild.push(tmpobj); } }; $scope.calScore = function(){ var result = 0.00; $scope.examchild.forEach(function(data){ result += parseFloat(data.questiondata.score); }); return parseFloat(result).toFixed(2); }; $scope.delSelect = function(){ var listindex = []; $scope.examchild.forEach(function(data, index){ if (data.ischeck){ listindex.push(index); } }); while (listindex.length > 0){ $scope.examchild.splice(listindex.pop(), 1); } }; $scope.selectAll = function(){ $scope.examchild.forEach(function(data){ data.ischeck = true; }); } $scope.deSelectAll = function(){ $scope.examchild.forEach(function(data){ data.ischeck = false; }); } $scope.save = function(){ $scope.examobj.total_score = $scope.calScore(); var allobj = { 'questionset4': $scope.examobj, 'questionchild': $scope.examchild }; EXAMSERVICES.ManageExam004.save(allobj) .$promise.then(function(data){ alert(MyCode[18]); }); } $scope.delete = function(){ EXAMSERVICES.ManageExam004.delete({examid: $scope.examobj.questionset4id}) .$promise.then(function(data){ alert(MyCode[19]); window.location.reload(); }); } }]);