enrol_info.js 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277
  1. app.controller('StdEnrolInfoCtrl', [ '$rootScope', '$scope', '$stateParams', '$timeout', function($rootScope, $scope, $stateParams, $timeout) {
  2. $scope.showcheckin=false;
  3. $scope.currentEnrolParam = {};
  4. if ($stateParams == undefined || $stateParams.enrol_id == undefined) {
  5. $.alert('参数错误,无法获取报考详细信息', function() {
  6. $rootScope.goWechat();
  7. });
  8. return;
  9. }
  10. /* $rootScope.ajaxRequest({
  11. url : '../enrol/log.htm',
  12. data : {
  13. logType:'WebPageEnrolInfo'
  14. }
  15. }, function(response) {
  16. });*/
  17. $scope.getEnrol = function(autopay) {
  18. $rootScope.ajaxRequest({
  19. url : '../enrol/std/enrol/find/xyfz.htm',
  20. data : {
  21. enrol_id : $stateParams.enrol_id,
  22. aspect_batch : 1
  23. }
  24. }, function(response) {
  25. $scope.curStep = 'info';
  26. $scope.EnrolMap = response.map;
  27. $scope.showcheckin = response.map.showcheckin;
  28. $scope.OldEnrolMap = angular.copy(response.map);
  29. if (autopay && autopay == 'active' && $scope.EnrolMap.StdEnrol.pay_status != 'Active') {
  30. //$scope.goAspectPay();
  31. $scope.goXyAspectPy();
  32. }
  33. });
  34. }
  35. $scope.goStep = function(step) {
  36. $scope.curStep = step
  37. }
  38. $scope.chooseTracks = function(tracks,tracks_order) {
  39. $scope.variety_id = tracks.variety_id;
  40. $scope.tracks_order = tracks_order;
  41. $scope.goSearchTracks(0,10);
  42. }
  43. // 选择曲目
  44. $scope.goSearchTracks = function(start, limit) {
  45. $rootScope.ajaxRequest({
  46. url : '../enrol/gobal/conf/tracks/query.htm',
  47. data : {
  48. start : start == undefined ? 0 : start,
  49. limit : limit == undefined ? 10 : limit,
  50. variety_id : $scope.variety_id,
  51. query : $scope.currentEnrolParam.tracks_query
  52. }
  53. }, function(data) {
  54. $scope.TracksPage = data.page;
  55. $scope.curStep = 'tracksChoose';
  56. });
  57. };
  58. // 查询曲目
  59. $scope.keyTracksSearch = function($event) {
  60. $scope.goSearchTracks(0, 10);
  61. };
  62. // 选择品种曲目
  63. $scope.choooseVarietyTracks = function(tracks) {
  64. for (var k = 0; k < $scope.EnrolMap.TracksArray_1.length; k++) {
  65. var sb = $scope.EnrolMap.TracksArray_1[k];
  66. if(tracks.tracks_id == sb.tracks_id) {
  67. $.alert('不能选择相同的曲目,请重新选择', '错误提示');
  68. return ;
  69. }
  70. }
  71. for (var k = 0; k < $scope.EnrolMap.TracksArray_1.length; k++) {
  72. var sb = $scope.EnrolMap.TracksArray_1[k];
  73. if (k+1 == $scope.tracks_order) {
  74. sb.tracks_author = tracks.tracks_author;
  75. sb.tracks_code = tracks.tracks_code;
  76. sb.tracks_id = tracks.tracks_id;
  77. sb.tracks_name = tracks.tracks_name;
  78. $scope.curStep = "modify";
  79. return;
  80. }
  81. }
  82. };
  83. $scope.modifyTracks = function() {
  84. var array = [];
  85. for (var index = 0; index < $scope.EnrolMap.TracksArray_1.length; index++) {
  86. $scope.EnrolMap.TracksArray_1[index].tracks_name = $.trim($scope.EnrolMap.TracksArray_1[index].tracks_name);
  87. if ($scope.EnrolMap.TracksArray_1[index].tracks_name != $scope.OldEnrolMap.TracksArray_1[index].tracks_name)
  88. array.push($scope.EnrolMap.TracksArray_1[index]);
  89. }
  90. if (array.length == 0) {
  91. $.alert('曲目未进行修改,无须提交保存!');
  92. return;
  93. }
  94. $.showLoading('正在提交曲目变更请求,请稍候......');
  95. $rootScope.ajaxRequest({
  96. url : '../enrol/std/enrol/tracks/save.htm',
  97. data : {
  98. enrol_id : $stateParams.enrol_id,
  99. tracks_batch : 1,
  100. tracks_json : JSON.stringify($scope.EnrolMap.TracksArray_1)
  101. }
  102. }, function(response) {
  103. $.hideLoading();
  104. $scope.goStep('modifySuccess');
  105. });
  106. }
  107. $scope.goCancelEnrol = function() {
  108. if ($scope.EnrolMap.StdEnrol.pay_status == 'Active') {
  109. $.confirm("该专业已经缴费,确定要取消已经缴费的专业吗?", function() {
  110. $scope.saveCancelEnrol();
  111. }, function() {
  112. // 点击取消后的回调函数
  113. });
  114. }else {
  115. $scope.saveCancelEnrol();
  116. }
  117. }
  118. $scope.saveCancelEnrol = function(){
  119. $.showLoading('正在提交请求,请稍候......');
  120. $rootScope.ajaxRequest({
  121. url : '../enrol/std/enrol/cancel.htm',
  122. data : {
  123. enrol_id : $stateParams.enrol_id
  124. }
  125. }, function(response) {
  126. $.hideLoading();
  127. $scope.goStep('cancelSuccess');
  128. });
  129. }
  130. $scope.uploadMaterial = function() {
  131. $rootScope.uploadStdMaterial('Aspect', function(response) {
  132. $scope.EnrolMap.StdEnrol.without_exam_apply = response.entity.without_exam_apply;
  133. $scope.EnrolMap.StdEnrol.without_exam_material = response.entity.without_exam_material;
  134. $scope.EnrolMap.StdEnrol.without_exam_admit = undefined;
  135. }, $stateParams.enrol_id);
  136. }
  137. //西音-调用第三方支付接口
  138. $scope.goXyAspectPy = function() {
  139. if (navigator.userAgent.indexOf('WindowsWechat') > -1) {
  140. alert('PC端无法缴费,请使用手机');
  141. } else {
  142. $.showLoading('正在创建支付订单,请稍候......');
  143. $rootScope.ajaxRequest({
  144. url: '../std/enrol/pay/xy.htm',
  145. data: {
  146. enrol_id: $stateParams.enrol_id,
  147. aspect_batch : 1
  148. }
  149. }, function(data){
  150. window.location.href= data.entity.url;
  151. });
  152. }
  153. }
  154. $scope.goAspectPay = function() {
  155. if (navigator.userAgent.indexOf('WindowsWechat') > -1) {
  156. alert('PC端无法缴费,请使用手机');
  157. } else {
  158. $.showLoading('正在创建微信支付订单,请稍候......');
  159. $rootScope.ajaxRequest({
  160. url : '../enrol/std/enrol/pay/wx.htm',
  161. data : {
  162. enrol_id : $stateParams.enrol_id,
  163. aspect_batch : 1
  164. }
  165. }, function(data) {
  166. // var obj = angular.extend({}, data.entity, {
  167. // success :
  168. // });
  169. data.entity.success = function(res) {
  170. $timeout(function() {
  171. $scope.curStep = 'paySuccess';
  172. }, 100);
  173. };
  174. wx.chooseWXPay(data.entity);
  175. });
  176. }
  177. };
  178. $scope.getEnrol($stateParams.autopay);
  179. $scope.goVoide1 = function(){
  180. $rootScope.goLocation('exam/result/' + $stateParams.enrol_id);
  181. }
  182. $scope.goVoide = function(){
  183. if(new Date($scope.EnrolMap.Voide.voide_end_date.replace(/\-/g, "/"))<new Date()){
  184. $rootScope.goLocation('exam/result/' + $stateParams.enrol_id);
  185. return;
  186. }
  187. if($scope.EnrolMap.Voide.note_date==null){
  188. //没有配置公告日期,可以直接进入
  189. $rootScope.goLocation('exam/voide/' + $stateParams.enrol_id+'/false');
  190. return;
  191. }
  192. var d = new Date($scope.EnrolMap.Voide.note_date.replace(/\-/g, "/"));
  193. if (d<new Date()){
  194. //时间到了
  195. $rootScope.goLocation('exam/voide/' + $stateParams.enrol_id+'/true');
  196. }else{
  197. $.alert('入场时间未到,请在'+$scope.EnrolMap.Voide.note_date+'后入场!');
  198. }
  199. }
  200. $scope.goDownload = function() {
  201. $('#down_url').attr('href', '../../image/'+$scope.EnrolMap.StdEnrol.without_exam_material);
  202. document.getElementById("down_url").click();
  203. }
  204. $scope.goUpload = function(){
  205. var file = document.getElementById("fileUpload").files[0];
  206. var data = new FormData();
  207. data.append('file', file);
  208. data.append('enrol_id',$stateParams.enrol_id);
  209. data.append('photo_type','photo_file');
  210. if(file==null) return;
  211. $rootScope.ajaxRequest({
  212. url: '../enrol/exam/upload.htm',
  213. data:data,
  214. headers: {'Content-Type': undefined},
  215. transformRequest: angular.identity
  216. }, function(response) {
  217. $scope.EnrolMap.StdEnrol.photo_file=response.entity;
  218. });
  219. }
  220. $scope.checkin = function(){
  221. var start_time = new Date($scope.EnrolMap.stdSubject.exam_start_time.replace(/\-/g, "/"));
  222. var end_time = new Date($scope.EnrolMap.stdSubject.exam_end_time.replace(/\-/g, "/"));
  223. var now = new Date();
  224. if((now<start_time || now>end_time) && !$scope.EnrolMap.stdSubject.real_inroom_time ) {
  225. $.alert('检录时间未到!请在'+$rootScope.shortTimeString($scope.EnrolMap.stdSubject.exam_start_time)+'后'+
  226. $rootScope.shortTimeString($scope.EnrolMap.stdSubject.exam_end_time)+'前检录!');
  227. } else{
  228. var StdEnrol = $scope.EnrolMap.StdEnrol;
  229. $rootScope.ajaxRequest({
  230. url: '../exam/online/checkin/inqueue.htm',
  231. data:{agent_id:StdEnrol.agent_id, aspect_id:StdEnrol.aspect_id, std_id:StdEnrol.std_id}
  232. }, function(response) {
  233. $rootScope.goLocation('exam/wait/'+StdEnrol.agent_id+"/"+StdEnrol.aspect_id);
  234. });
  235. }
  236. // var StdEnrol = $scope.EnrolMap.StdEnrol;
  237. // $rootScope.ajaxRequest({
  238. // url: '../exam/online/checkin.htm',
  239. // data:{agent_id:StdEnrol.agent_id, aspect_id:StdEnrol.aspect_id, std_id:StdEnrol.std_id}
  240. // }, function(response) {
  241. // $rootScope.goLocation('exam/checkin/'+StdEnrol.agent_id+"/"+StdEnrol.aspect_id);
  242. // });
  243. }
  244. } ])