exam.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. app.controller('ExamCtrl', [ '$rootScope', '$scope', '$stateParams','$interval', function($rootScope, $scope, $stateParams, $interval) {
  2. $scope.step = 1;
  3. $scope.lasttime=30;//倒计时
  4. $scope.buttontext='';
  5. $scope.aspectTopic={};
  6. $rootScope.ajaxRequest({
  7. url : '../enrol/log.htm',
  8. data : {
  9. logType:'WebPageExam'
  10. }
  11. }, function(response) {
  12. });
  13. $rootScope.ajaxRequest({
  14. url : '../enrol/std/enrol/find.htm',
  15. data : {
  16. enrol_id : $stateParams.enrol_id,
  17. aspect_batch : 1
  18. }
  19. }, function(response) {
  20. $scope.EnrolMap = response.map;
  21. if($scope.EnrolMap.Voide.viewnote=='true')
  22. $scope.lasttime=0;
  23. if ($stateParams.read=='true'){
  24. $scope.step=3;
  25. // $rootScope.ajaxRequest({
  26. // url : '../exam/topic/find.htm',
  27. // data : {
  28. // aspect_id : $scope.EnrolMap.StdEnrol.aspect_id
  29. // }
  30. // }, function(response) {
  31. // $scope.aspectTopic = response.map;
  32. // $interval.cancel($scope.timer);
  33. // });
  34. }
  35. $rootScope.ajaxRequest({
  36. url : '../enrol/std/video/qrcodeAjax.htm',
  37. data : {cert_id:$rootScope.ArtStdReg.cert_id, ly_group_id:$scope.EnrolMap.stdSubject.ly_group_id,enrol_id:$scope.EnrolMap.StdEnrol.enrol_id}
  38. }, function(response) {
  39. new QRCode(document.getElementById('qrcode'), response.entity);
  40. });
  41. });
  42. $scope.setStep=function(v){
  43. if($scope.lasttime<=1){
  44. $scope.step=v;
  45. if($scope.EnrolMap.Voide.viewnote=='false')
  46. $rootScope.ajaxRequest({
  47. url : '../exam/topic/viewnote.htm',
  48. }, function(response) {
  49. $scope.lasttime=0;
  50. });
  51. }
  52. }
  53. var fn = function (){
  54. if ($scope.lasttime>1){
  55. $scope.buttontext='阅读倒计时('+ --$scope.lasttime +'秒)';
  56. }else{
  57. $scope.buttontext='我已阅读考试须知';
  58. $rootScope.ajaxRequest({
  59. url : '../exam/topic/find.htm',
  60. data : {
  61. aspect_id : $scope.EnrolMap.StdEnrol.aspect_id
  62. }
  63. }, function(response) {
  64. $scope.aspectTopic = response.map;
  65. $interval.cancel($scope.timer);
  66. });
  67. }
  68. }
  69. $scope.timer =$interval(fn, 1000, $scope.lasttime);
  70. $scope.showTopic =false;
  71. $scope.getTopic=function(v){
  72. if ($scope.aspectTopic.exam_topic_date==null){
  73. if($scope.aspectTopic.exam_topic!=''){
  74. fn();
  75. $scope.showTopic =true;
  76. }
  77. return;
  78. }
  79. let d = new Date($scope.aspectTopic.exam_topic_date.replace(/\-/g, "/"));
  80. if (d<new Date()){
  81. if($scope.aspectTopic.exam_topic!=''){
  82. fn();
  83. $rootScope.ajaxRequest({
  84. url : '../enrol/log.htm',
  85. data : {
  86. logType:'WebPageGetTopic'
  87. }
  88. }, function(response) {
  89. });
  90. $scope.showTopic =true;
  91. }
  92. }else{
  93. if (d-new Date()<=60000&&$scope.aspectTopic.exam_topic=='')
  94. fn();
  95. $.alert('时间未到,请在'+$scope.aspectTopic.exam_topic_date+'后获取考题!');
  96. }
  97. }
  98. $scope.uploadFile = function(){
  99. var file = document.getElementById("fileUpload").files[0];
  100. var data = new FormData();
  101. data.append('file', file);
  102. data.append('enrol_id',$stateParams.enrol_id);
  103. data.append('photo_type','photo_file');
  104. if(file==null) return;
  105. $rootScope.ajaxRequest({
  106. url: '../enrol/exam/upload.htm',
  107. data:data,
  108. headers: {'Content-Type': undefined},
  109. transformRequest: angular.identity
  110. }, function(response) {
  111. $scope.aspectTopic.photo_file=response.entity;
  112. console.log($scope.aspectTopic.photo_file);
  113. });
  114. }
  115. $scope.uploadvoidestatus=false;
  116. var refreshUploadVoideStatus = function (){
  117. if ($scope.aspectTopic.voide_start_date==null)
  118. return;
  119. let startdate = new Date($scope.aspectTopic.voide_start_date.replace(/\-/g, "/"));
  120. let enddate = new Date($scope.aspectTopic.voide_end_date.replace(/\-/g, "/"));
  121. if (startdate<new Date()&&enddate>new Date()){
  122. $scope.uploadvoidestatus=true;
  123. }else{
  124. $scope.uploadvoidestatus=false;
  125. }
  126. };
  127. $interval(refreshUploadVoideStatus, 1000);
  128. $scope.uploadphotostatus=false;
  129. var refreshUploadPhotoStatus = function (){
  130. if($scope.aspectTopic.photo_start_date==null)
  131. return;
  132. let startdate = new Date($scope.aspectTopic.photo_start_date.replace(/\-/g, "/"));
  133. let enddate = new Date($scope.aspectTopic.photo_end_date.replace(/\-/g, "/"));
  134. if (startdate<new Date()&&enddate>new Date()){
  135. $scope.uploadphotostatus=true;
  136. }else{
  137. $scope.uploadphotostatus=false;
  138. }
  139. };
  140. $interval(refreshUploadPhotoStatus, 1000);
  141. $scope.showphoto=function (){
  142. var file = document.getElementById("fileUpload").files[0];
  143. console.log(file,'f');
  144. var url='';
  145. if (window.createObjectURL!=undefined) {
  146. url = window.createObjectURL(file) ;
  147. } else if (window.URL!=undefined) {
  148. url = window.URL.createObjectURL(file) ;
  149. } else if (window.webkitURL!=undefined) {
  150. url = window.webkitURL.createObjectURL(file) ;
  151. }
  152. // $scope.photo_url=url;
  153. console.log($scope.photo_url);
  154. }
  155. $scope.goUpload = function() {
  156. $rootScope.goLocation('exam/upload/' + $stateParams.enrol_id );
  157. }
  158. $scope.goDownload = function(url) {
  159. $('#down_url').attr('href', url);
  160. document.getElementById("down_url").click();
  161. }
  162. //开始考试
  163. $scope.startExam = function() {
  164. $rootScope.goLocation('exam/checkin/'+$scope.EnrolMap.StdEnrol.agent_id+"/"+$scope.EnrolMap.StdEnrol.aspect_id);
  165. }
  166. $scope.baodao = function() {
  167. if($scope.EnrolMap.StdEnrol.baodao!=null){
  168. $scope.step=3;
  169. return;
  170. }
  171. let startdate = new Date($scope.aspectTopic.exam_start_date.replace(/\-/g, "/"));
  172. if (startdate.getTime()-(1000*60*15)<(new Date().getTime())){
  173. if (startdate.getTime()+1000*60*15<(new Date().getTime())){
  174. console.log("时间已过");
  175. }else{
  176. console.log("时间范围里");
  177. $scope.step=3;
  178. }
  179. }else{
  180. $.alert("报到时间未到");
  181. }
  182. }
  183. $scope.chengnuo = function() {
  184. $rootScope.ajaxRequest({
  185. url: '../exam/savebaodao.htm',
  186. data:{enrol_id:$scope.EnrolMap.StdEnrol.enrol_id}
  187. }, function(response) {
  188. $scope.step=4;
  189. });
  190. }
  191. }])