'use strict' angular.module('APS_INTERVIEW').controller('APS_FORM_INTERVIEW_DHAS_DEPT', ['$scope', '$http', '$sce', 'InterviewcandidateCtrl', function($scope, $http, $sce, InterviewcandidateCtrl){ $scope.candidateid = $('input[name="candidateid"]').val() $scope.committeeid = $('input[name="committeeid"]').val() $scope.judge = $('input[name="judge"]').val() $scope.notedit = ($('input[name="notedit"]').val() == 'true') $scope.lang = $('input[name="lang"]').val() $scope.contextPath = '' $scope.headdata = {} $scope.formdata = {} let question = new Question() $scope.examdata = {} $scope.score2 = '' $scope.score3 = '' $scope.score4 = '' $scope.isReady = false let DocumentContainer let WindowObject $scope.comment = [{ comment:'', appropriate:0 }] $scope.apsform = [{ topic : "บุคลิคลักษณะ กิริยามารยาท การแต่งกาย", score : 0 },{ topic : "มนุษย์สัมพันธ์", score : 0 },{ topic : "การสื่อข้อความ การตอบคำถาม การใช้คำพูด", score : 0 },{ topic : "ประวัติการศึกษา และการฝึกอบรม", score : 0 },{ topic : "ภูมิหลัง และสถานภาพทางครอบครัว", score : 0 },{ topic : "ประสบการณ์ ลักษณะงานที่ผ่านมา", score : 0 },{ topic : "ความรอบรู้เรื่องในงานที่สมัคร ความรู้ทางเทคนิค และวิธีปฏิบัติ", score : 0 },{ topic : "ความสามารถพิเศษที่เอื้อต่องานที่สมัคร", score : 0 },{ topic : "สติปัญญา ความคิดริเริ่ม ความคิดเห็น ไหวพริบ การแก้ปัญหาเหตุผล", score : 0 },{ topic : "ทัศนคติดความมุ่งหมายในชีวิต การงาน และสังคมรอบข้าง", score : 0 }] $scope.myparam = { candidateid: $scope.candidateid, committeeid: $scope.committeeid, judge: $scope.judge }; InterviewcandidateCtrl.manageInterviewForm.query($scope.myparam).$promise.then(function(data){ $scope.headdata = data.header $scope.formdata = data.apsform setFormAPS() $scope.isReady = true }) let setFormAPS = () => { if($scope.formdata.form == ''){ $scope.formdata.form = $scope.apsform }else { $scope.formdata.form = jQuery.parseJSON($scope.formdata.form) } if($scope.formdata.comment == ''){ $scope.formdata.comment = $scope.comment }else { $scope.formdata.comment = jQuery.parseJSON($scope.formdata.comment) } } $scope.getSumScore = () => { let result = 0 if($scope.formdata.form != undefined){ for(var i = 0; i <$scope.formdata.form.length; i++){ let form = $scope.formdata.form[i]; result += parseInt(form.score) } } return (result / 50).toFixed(2) } $scope.getSumScoreByScore = (score) => { let result = 0 if($scope.formdata.form != undefined){ for(var i = 0; i <$scope.formdata.form.length; i++){ let form = $scope.formdata.form[i]; if(form.score == score){ result += parseInt(form.score) } } } return (result / 50).toFixed(2) } $scope.addComment = () => { let data = { comment : '' } $scope.formdata.comment.push(data) } $scope.delComment = () => { $scope.formdata.comment.pop() } $scope.saveDraff = () => { if (confirm(MyCode[1])){ $scope.sendparam = $scope.sendparam = setParam('0') InterviewcandidateCtrl.manageInterviewForm.save(JSON.stringify($scope.sendparam)) .$promise.then(function(){ alert(MyCode[18]); window.opener.location.reload(); }); } } $scope.save = () => { if(chkData()){ if (confirm(MyCode[1])){ $scope.sendparam = setParam('1') InterviewcandidateCtrl.manageInterviewForm.save(JSON.stringify($scope.sendparam)) .$promise.then(function(){ alert(MyCode[18]); window.opener.location.reload(); }); } }else{ alert('กรุณากรอกข้อมูลให้ครบถ้วน') } } let setParam = (type) => { let param = { headdata: $scope.headdata ,apsform: $scope.formdata ,savetype: type } return param } let chkData = () => { let result = true let objlist = $scope.formdata.form.filter((form) => form.score == 0) if (objlist.length>0){ result = false } let objlist2 = $scope.formdata.comment.filter((comment) => comment.comment == 0) if (objlist2.length>0){ result = false } // let objlist3 = $scope.formdata.comment.filter((appropriate) => appropriate.appropriate == 0) // if (objlist3.length>0){ // result = false // } // console.log(objlist, objlist2, objlist3) return result } $scope.goprint = function(){ hidelement(); promisePrint().then((obj) => { WindowObject.focus(); console.log(WindowObject); // window.close(); WindowObject.print(); }) } function promisePrint(){ return new Promise((resolve, reject) => { DocumentContainer = document.getElementById('target_warpper'); WindowObject = window.open('', 'PrintWindow', 'width=1200,height=666,top=10,right=10,toolbars=no,scrollbars=no,status=no,resizable=yes,scale=98%'); WindowObject.document.writeln('<!DOCTYPE html>'); WindowObject.document.writeln('<html><head><title></title>'); WindowObject.document.writeln(`<link rel="stylesheet" type="text/css" href="${$scope.contextPath}/EMPVIEW/css/APP_UP/style_apsup.css">`); WindowObject.document.writeln(`<link rel="stylesheet" type="text/css" href="${$scope.contextPath}/EMPVIEW/css/APS_Interview/style_printInterview.css">`); WindowObject.document.writeln(`<link rel="stylesheet" type="text/css" href="${$scope.contextPath}/CSS/Bootstrap/css/bootstrap.css">`); WindowObject.document.writeln(`<link rel="stylesheet" type="text/css" href="${$scope.contextPath}/CSS/EMPVIEW_LAYOUT.min.css">`); WindowObject.document.writeln(`<link rel="stylesheet" type="text/css" href="${$scope.contextPath}/CSS/font-awesome.css">`); WindowObject.document.writeln('</head><body>'); WindowObject.document.writeln(DocumentContainer.innerHTML); WindowObject.document.writeln('</body></html>'); WindowObject.document.close(); setTimeout(() => resolve(WindowObject), 1000) }) } function hidelement(){ let txt = '' let chk = false $(".score1").each(function(){ if($(this).hasClass("ng-hide")){ $(this).hide() } }); $(".score2").each(function(){ chk = $(this).prop('checked'); if(chk){ $(this).parents("td").append("<i class='fa fa-check-square-o right dis-block'></i>"); } else{ $(this).parents("td").append("<i class='fa fa-square-o right dis-block'></i>"); } $(this).hide(); }); $(".score3").each(function(){ chk = $(this).prop('checked'); if(chk){ $(this).parents(".chk").append("<i class='fa fa-check-square-o right dis-block'></i>"); } else{ $(this).parents(".chk").append("<i class='fa fa-square-o right dis-block'></i>"); } $(this).hide(); }); $("textarea").each(function(){ txt = $(this).val() if(txt ==''){ $(this).parents(".showtxt").find("label").removeClass('hide') $(this).parents(".showtxt").find("label").clone().appendTo($(this).parents(".showtxt")) }else{ $(this).parents(".showtxt").find("label").removeClass('txt-underline hide') $(this).parents(".showtxt").find("label").addClass('txt-underline2') $(this).parents(".showtxt").find("label").text(txt) } $(this).hide() }); $('.btn').hide() $('.icon-btn').hide() } }]);