exam.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  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/std/enrol/find.htm',
  8. data : {
  9. enrol_id : $stateParams.enrol_id,
  10. aspect_batch : 1
  11. }
  12. }, function(response) {
  13. $scope.EnrolMap = response.map;
  14. if($scope.EnrolMap.Voide.viewnote=='true')
  15. $scope.lasttime=0;
  16. if ($stateParams.read=='true'){
  17. $scope.step=3;
  18. $rootScope.ajaxRequest({
  19. url : '../exam/topic/find.htm',
  20. data : {
  21. aspect_id : $scope.EnrolMap.StdEnrol.aspect_id
  22. }
  23. }, function(response) {
  24. $scope.aspectTopic = response.map;
  25. $interval.cancel($scope.timer);
  26. });
  27. }
  28. });
  29. $scope.setStep=function(v){
  30. if($scope.lasttime<=1){
  31. $scope.step=v;
  32. if($scope.EnrolMap.Voide.viewnote=='false')
  33. $rootScope.ajaxRequest({
  34. url : '../exam/topic/viewnote.htm',
  35. }, function(response) {
  36. $scope.lasttime=0;
  37. });
  38. }
  39. }
  40. var fn = function (){
  41. if ($scope.lasttime>1){
  42. $scope.buttontext='阅读倒计时('+ --$scope.lasttime +'秒)';
  43. }else{
  44. $scope.buttontext='我已阅读考试须知';
  45. $rootScope.ajaxRequest({
  46. url : '../exam/topic/find.htm',
  47. data : {
  48. aspect_id : $scope.EnrolMap.StdEnrol.aspect_id
  49. }
  50. }, function(response) {
  51. $scope.aspectTopic = response.map;
  52. $interval.cancel($scope.timer);
  53. });
  54. }
  55. }
  56. $scope.timer =$interval(fn, 1000, $scope.lasttime);
  57. $scope.showTopic =false;
  58. $scope.getTopic=function(v){
  59. if ($scope.aspectTopic.exam_topic_date==null){
  60. if($scope.aspectTopic.exam_topic!=''){
  61. fn();
  62. $scope.showTopic =true;
  63. }
  64. return;
  65. }
  66. let d = new Date($scope.aspectTopic.exam_topic_date.replace(/\-/g, "/"));
  67. if (d<new Date()){
  68. if($scope.aspectTopic.exam_topic!=''){
  69. fn();
  70. $scope.showTopic =true;
  71. }
  72. }else{
  73. if (d-new Date()<=60000&&$scope.aspectTopic.exam_topic=='')
  74. fn();
  75. $.alert('时间未到,请在'+$scope.aspectTopic.exam_topic_date+'后获取考题!');
  76. }
  77. }
  78. $scope.uploadFile = function(){
  79. var file = document.getElementById("fileUpload").files[0];
  80. var data = new FormData();
  81. data.append('file', file);
  82. data.append('enrol_id',$stateParams.enrol_id);
  83. data.append('photo_type','photo_file');
  84. if(file==null) return;
  85. $rootScope.ajaxRequest({
  86. url: '../enrol/exam/upload.htm',
  87. data:data,
  88. headers: {'Content-Type': undefined},
  89. transformRequest: angular.identity
  90. }, function(response) {
  91. $scope.aspectTopic.photo_file=response.entity;
  92. console.log($scope.aspectTopic.photo_file);
  93. });
  94. }
  95. $scope.uploadvoidestatus=false;
  96. var refreshUploadVoideStatus = function (){
  97. if ($scope.aspectTopic.voide_start_date==null)
  98. return;
  99. let startdate = new Date($scope.aspectTopic.voide_start_date.replace(/\-/g, "/"));
  100. let enddate = new Date($scope.aspectTopic.voide_end_date.replace(/\-/g, "/"));
  101. if (startdate<new Date()&&enddate>new Date()){
  102. $scope.uploadvoidestatus=true;
  103. }else{
  104. $scope.uploadvoidestatus=false;
  105. }
  106. };
  107. $interval(refreshUploadVoideStatus, 1000);
  108. $scope.uploadphotostatus=false;
  109. var refreshUploadPhotoStatus = function (){
  110. if($scope.aspectTopic.photo_start_date==null)
  111. return;
  112. let startdate = new Date($scope.aspectTopic.photo_start_date.replace(/\-/g, "/"));
  113. let enddate = new Date($scope.aspectTopic.photo_end_date.replace(/\-/g, "/"));
  114. if (startdate<new Date()&&enddate>new Date()){
  115. $scope.uploadphotostatus=true;
  116. }else{
  117. $scope.uploadphotostatus=false;
  118. }
  119. };
  120. $interval(refreshUploadPhotoStatus, 1000);
  121. $scope.showphoto=function (){
  122. var file = document.getElementById("fileUpload").files[0];
  123. console.log(file,'f');
  124. var url='';
  125. if (window.createObjectURL!=undefined) {
  126. url = window.createObjectURL(file) ;
  127. } else if (window.URL!=undefined) {
  128. url = window.URL.createObjectURL(file) ;
  129. } else if (window.webkitURL!=undefined) {
  130. url = window.webkitURL.createObjectURL(file) ;
  131. }
  132. // $scope.photo_url=url;
  133. console.log($scope.photo_url);
  134. }
  135. $scope.goUpload = function() {
  136. $rootScope.goLocation('exam/upload/' + $stateParams.enrol_id );
  137. }
  138. $scope.goDownload = function(url) {
  139. $('#down_url').attr('href', url);
  140. document.getElementById("down_url").click();
  141. }
  142. }])