'use strict' angular.module('APS_JET_PER_MAN').controller('ApsManForm',['$scope','$sce', '$filter', '$http', 'ManListCtrl', '$q', function($scope, $sce, $filter, $http, ManListCtrl, $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.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){ let total = 0 if(tmp_tab1.length>0){ for(let i in tmp_tab1){ total += parseFloat(tmp_tab1[i].asranswer || 0) } } return total } $scope.sumWeightTab1 = function(){ 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].asranswer || 0) } } $scope.score = total $scope.result = ($scope.score / $scope.max).toFixed(2) } ManListCtrl.manageApsManForm.query($scope.myparam).$promise.then(function(data){ $scope.tapstran = data.objtapstran; // console.log($scope.tapstran); $scope.assessydata = data.objassessy; $scope.assessordata = data.objassessor; $scope.apsform = data.apsform; // alert($scope.apsform.length); if($scope.apsform.length>0){ $scope.tastran_tab1 = data.apsform[0].groupAry[0].masAry; $scope.tastran_tab2 = data.apsform[0].groupAry[1].masAry; $scope.tastran_tab3 = data.apsform[0].groupAry[2].masAry; let tmp_tab1 = $scope.tastran_tab1 $scope.score = $scope.sumWeight(tmp_tab1) $scope.max = $scope.tastran_tab1.length $scope.result = ($scope.score / $scope.max).toFixed(2) $scope.masanswer = data.masanswer; $scope.masanswer_tab1 = data.masanswer.MAN0101; $scope.masanswer_tab2 = data.masanswer.MAN0201; $scope.masanswer_tab3 = data.masanswer.MAN0301; // console.log($scope.masanswer); $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{ $('.form-horizontal').css('display', 'none'); } $('.loading-page').css('display', 'none'); }); $scope.saveDraft = function(){ if(confirm(MyCode[1])){ $scope.sendparam = { apsid: $scope.apsid ,assessy: $scope.assessy ,assessordata: $scope.assessordata ,apsform: $scope.apsform ,tapstran: $scope.tapstran ,savetype: '0' } console.log($scope.sendparam); ManListCtrl.manageApsManForm.save(JSON.stringify($scope.sendparam)) .$promise.then(function(){ alert(MyCode[18]); }); } } $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' } ManListCtrl.manageApsManForm.save(JSON.stringify($scope.sendparam)) .$promise.then(function(){ alert(MyCode[18]); $scope.apsstate = parseFloat($scope.apsstate)+1; }); } } $scope.closePage = function(){ closePage(); } $scope.checkprivilege = function(state){ // ครึ่งปีแรก = state = 0 && 16/12/ปีก่อน - 15/06/ปีปัจจุบัน // ครึ่งปีหลัง = state = 1 && 16/06/ปีก่อน - 15/12/ปีปัจจุบัน if($scope.assessordata.length > 0){ var result = true; // false == มีสิทธิ์ประเมิน -- true == ไม่มีสิทธิ์ประเมิน if(state == "0"){ // เช็ค สิทธิครึ่งปีแรก if(($scope.assessordata[0].apsstate == "0") || ($scope.assessordata[0].apsstate == "C")){ if($scope.checkuser()){ result = false ; }else{ result = true ; } } }else if(state == "1"){ // เช็ค สิทธิครึ่งปีหลัง if(($scope.assessordata[0].apsstate == "1") || ($scope.assessordata[0].apsstate == "D")){ if($scope.checkuser()){ result = false ; }else{ result = true ; } } }else if(state == "2"){ // เช็คข้อ 3 if(($scope.assessordata[0].apsstate == "0") || ($scope.assessordata[0].apsstate == "C") || ($scope.assessordata[0].apsstate == "1") || ($scope.assessordata[0].apsstate == "D")){ result = false ; }else{ result = true ; } }else if(state == "time"){ // เช็คข้อ 4 if((($scope.assessordata[0].apsstate == "0") || ($scope.assessordata[0].apsstate == "C") || ($scope.assessordata[0].apsstate == "1") || ($scope.assessordata[0].apsstate == "D")) && $scope.checkuser()){ result = false ; }else{ result = true ; } }else{ console.error("หมดรอบประเมิน"); } } return result; } $scope.checkuser = function(){ var result = false; var me = $('input[name="me"]').val(); if($scope.assessordata.length > 0){ var userlist = $scope.assessordata[0].user; for(var u=0; u<userlist.length; u++){ if(userlist[u].toUpperCase() == me.toUpperCase()){ result = true; } } } return result; } $(document).ready(function(){ $(".op1score").on( "keyup", function(){ let score1_half = parseFloat($scope.assessordata[0].score1_half) let score1_last = parseFloat($scope.assessordata[0].score1_last) let score2_half = parseFloat($scope.assessordata[0].score2_half) let score2_last = parseFloat($scope.assessordata[0].score2_last) if(score1_half > 17.5 || score1_half < 0){ $scope.assessordata[0].score1_half = "0.00" $(this).val("0.00") } if(score1_last > 17.5 || score1_last < 0){ $scope.assessordata[0].score1_last = "0.00" $(this).val("0.00") } if(score2_half > 17.5 || score2_half < 0){ $scope.assessordata[0].score2_half = "0.00" $(this).val("0.00") } if(score2_last > 17.5 || score2_last < 0){ $scope.assessordata[0].score2_last = "0.00" $(this).val("0.00") } }).on("blur",function(){ if($(this).val()==''){ $(this).val("0.00") } }) $(".op2score").on( "keyup", function() { let score3_half = parseFloat($scope.assessordata[0].score3_half) let score4_half = parseFloat($scope.assessordata[0].score4_half) if(score3_half > 30 || score3_half < 0){ $scope.assessordata[0].score3_half = "0.00" $(this).val("0.00") } if(score4_half > 30 || score4_half < 0){ $scope.assessordata[0].score4_half = "0.00" $(this).val("0.00") } }).on("blur",function(){ if($(this).val()==''){ $(this).val("0.00") } }) $(".op1score, .op2score").on( "keypress", function( event ) { // a-z [97-122] // A-Z [65-90] // 0-9 [48-57] // Enter [13] // Backspace [8] // _ [95] // . [46] if( !(event.which >= 48 && event.which <= 57) && event.which !== 8 && event.which !== 46){ event.preventDefault(); } }); }); }]);