'use strict' angular.module('APS_JET_PER_EMP').controller('ApsEmpForm',['$scope','$sce', '$filter', '$http', 'EmpListCtrl', '$q', function($scope, $sce, $filter, $http, EmpListCtrl, $q){ $scope.apsid = $('input[name="apsid"]').val() $scope.assessy = $('input[name="assessy"]').val() $scope.type = $('input[name="type"]').val() $scope.tapstran = {} $scope.assessydata = {} $scope.assessordata = {} $scope.apsform = {} $scope.selectscore = [] $scope.selectscore2 = [] $scope.activitiescore = [] $scope.apsscore = [] $scope.op1desc ={} $scope.apsstate = 0 $scope.isApsassessy = false $scope.isApsapprove1 = false $scope.isApsapprove2 = false $scope.tastran = {} $scope.masanswer ={} var WindowObject; var DocumentContainer; for(var i=0.0; i<=17.5; i=i+0.5){ var data ={ score: i.toFixed(2), show: i }; $scope.selectscore.push(data); } for(var i=0; i<=30; i++){ var data ={ score: i.toFixed(2), show: i }; $scope.selectscore2.push(data); } for(var i=0; i<=1; i++){ var data ={ score: i+".00", show: i }; $scope.activitiescore.push(data); } for(var i=0; i<=5; i++){ var data ={ score: i+".00", show: i }; $scope.apsscore.push(data); } $scope.myparam = { apsid: $scope.apsid ,assessy: $scope.assessy ,type: $scope.type }; if($scope.type=='self'){ $('.emv-headmenu').css('display', 'block') } $scope.sumWeight = function(tmp_tab1,key){ let score = 0 if(tmp_tab1.length>0){ for(let i in tmp_tab1){ score += parseFloat(tmp_tab1[i][key] || 0) } } return score } $scope.sumWeight = function(key){ let score = 0 let tmp_tab1 = $scope.tastran_tab1 if(tmp_tab1.length>0){ for(let i in tmp_tab1){ score += parseFloat(tmp_tab1[i][key] || 0) } } return score } $scope.calSumScore = function(name,key){ let total = 0 let tmp_tab1 = $scope.tastran_tab1 if(tmp_tab1.length>0){ for(let i in tmp_tab1){ total += parseFloat(tmp_tab1[i][key] || 0) } } $scope[name] = (total / $scope.max * 20).toFixed(2) } EmpListCtrl.manageApsEmpForm.query($scope.myparam).$promise.then(function(data){ $scope.tapstran = data.objtapstran; $scope.assessydata = data.objassessy; $scope.assessordata = data.objassessor; $scope.apsform = data.apsform; if($scope.apsform.length>0){ $scope.formdesc = data.apsform[0].formdesc $scope.tastran_tab1 = data.apsform[0].groupAry[0].masAry; $scope.score1 = $scope.sumWeight('asranswer1') $scope.score2 = $scope.sumWeight('asranswer2') $scope.score3 = $scope.sumWeight('asranswer3') $scope.max = $scope.tastran_tab1.length $scope.result1 = ($scope.score1 / $scope.max * 20).toFixed(2) $scope.result2 = ($scope.score2 / $scope.max * 20).toFixed(2) $scope.result3 = ($scope.score3 / $scope.max * 20).toFixed(2) $scope.masanswer = data.masanswer; $scope.masanswer_tab1 = data.masanswer.tab1; $scope.apsstate = $scope.tapstran.apsstate; if($scope.tapstran.employeeid == $scope.tapstran.apsassessy){ $scope.isApsassessy = true; }else if($scope.tapstran.employeeid == $scope.tapstran.apsapprove1){ $scope.isApsapprove1 = true; }else if($scope.tapstran.employeeid == $scope.tapstran.apsapprove2){ $scope.isApsapprove2 = true; } }else{ $('.form-horizontal').css('display', 'none'); } $('.loading-page').css('display', 'none'); }); $scope.chkRequire = function(){ console.log("state : "+$scope.apsstate) let result = false if($scope.apsstate==0){ result = $scope.chkState0() }else if($scope.apsstate==1){ result = $scope.chkState1() }else if($scope.apsstate==2){ result = $scope.chkState2() } return result } $scope.chkState0 = function(){ let nullvalue = false if($scope.tastran_tab1.length>0){ for(let i in $scope.tastran_tab1){ if($scope.tastran_tab1[i]["asranswer1"]==""){ nullvalue = true } } } console.log($scope.tapstran.employeeid) console.log($scope.tapstran.apsappcomment1) if($scope.tapstran.apsappcomment1==""){ nullvalue = true } return !nullvalue } $scope.chkState1 = function(){ let nullvalue = false if($scope.tastran_tab1.length>0){ for(let i in $scope.tastran_tab1){ if($scope.tastran_tab1[i]["asranswer2"]==""){ nullvalue = true } } } if($scope.tapstran.apsappcomment2==""){ nullvalue = true } return !nullvalue } $scope.chkState2 = function(){ let nullvalue = false if($scope.tastran_tab1.length>0){ for(let i in $scope.tastran_tab1){ if($scope.tastran_tab1[i]["asranswer3"]==""){ nullvalue = true } } } if($scope.tapstran.apsappcomment3==""){ nullvalue = true } return !nullvalue } $scope.saveDraft = function(){ if($scope.chkRequire()){ if(confirm(MyCode[1])){ $scope.sendparam = { apsid: $scope.apsid ,assessy: $scope.assessy ,assessordata: $scope.assessordata ,apsform: $scope.apsform ,tapstran: $scope.tapstran ,savetype: '0' } EmpListCtrl.manageApsEmpForm.save(JSON.stringify($scope.sendparam)) .$promise.then(function(){ alert(MyCode[18]); }) } }else{ alert(MyCode[0]); } } $scope.save = function(){ if(confirm(MyCode[1])){ $scope.sendparam = { apsid: $scope.apsid ,assessy: $scope.assessy ,assessordata: $scope.assessordata ,apsform: $scope.apsform ,tapstran: $scope.tapstran ,savetype: '1' } EmpListCtrl.manageApsEmpForm.save(JSON.stringify($scope.sendparam)) .$promise.then(function(){ alert(MyCode[18]); $scope.apsstate = parseFloat($scope.apsstate)+1; }); } } $scope.closePage = function(){ closePage(); } }]);