enrol_info.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380
  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.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. $scope.mp3_file_temp = $scope.EnrolMap.StdEnrol.mp3_file;
  30. //按照品种分组
  31. $scope.varietyArr = [];
  32. $scope.varietyObj = [];
  33. /**
  34. for(var tracks of $scope.EnrolMap.TracksArray_1) {
  35. if(!$scope.varietyArr.inArray(tracks.variety_id)) {
  36. $scope.varietyArr.push(tracks.variety_id);
  37. $scope.varietyObj.push({variety_id:tracks.variety_id,variety_name: tracks.variety_name});
  38. }
  39. }**/
  40. if (autopay && autopay == 'active' && $scope.EnrolMap.StdEnrol.pay_status != 'Active'
  41. && $rootScope.getParamValue('SchoolCode') !== '10728') {
  42. $scope.goAspectPay();
  43. }
  44. //西音-第三方接口对接
  45. if (autopay && autopay == 'active' && $scope.EnrolMap.StdEnrol.pay_status != 'Active'
  46. && $rootScope.getParamValue('SchoolCode') == '10728') {
  47. $scope.goXyAspectPay();
  48. }
  49. });
  50. }
  51. $scope.goStep = function(step) {
  52. $scope.curStep = step
  53. }
  54. $scope.chooseTracks = function(tracks,tracks_order) {
  55. $scope.variety_id = tracks.variety_id;
  56. $scope.tracks_order = tracks_order;
  57. $scope.goSearchTracks(0,10);
  58. }
  59. // 选择曲目
  60. $scope.goSearchTracks = function(start, limit) {
  61. $rootScope.ajaxRequest({
  62. url : '../enrol/gobal/conf/tracks/query.htm',
  63. data : {
  64. start : start == undefined ? 0 : start,
  65. limit : limit == undefined ? 10 : limit,
  66. variety_id : $scope.variety_id,
  67. query : $scope.currentEnrolParam.tracks_query
  68. }
  69. }, function(data) {
  70. $scope.TracksPage = data.page;
  71. $scope.curStep = 'tracksChoose';
  72. });
  73. };
  74. // 查询曲目
  75. $scope.keyTracksSearch = function($event) {
  76. $scope.goSearchTracks(0, 10);
  77. };
  78. // 选择品种曲目
  79. $scope.choooseVarietyTracks = function(tracks) {
  80. for (var k = 0; k < $scope.EnrolMap.TracksArray_1.length; k++) {
  81. var sb = $scope.EnrolMap.TracksArray_1[k];
  82. if(tracks.tracks_id == sb.tracks_id) {
  83. $.alert('不能选择相同的曲目,请重新选择', '错误提示');
  84. return ;
  85. }
  86. }
  87. for (var k = 0; k < $scope.EnrolMap.TracksArray_1.length; k++) {
  88. var sb = $scope.EnrolMap.TracksArray_1[k];
  89. if (k+1 == $scope.tracks_order) {
  90. sb.tracks_author = tracks.tracks_author;
  91. sb.tracks_code = tracks.tracks_code;
  92. sb.tracks_id = tracks.tracks_id;
  93. sb.tracks_name = tracks.tracks_name;
  94. $scope.curStep = "modify";
  95. return;
  96. }
  97. }
  98. };
  99. $scope.modifyTracks = function(tracks_batch) {
  100. var array = [];
  101. if(tracks_batch == 1) {
  102. for (var index = 0; index < $scope.EnrolMap.TracksArray_1.length; index++) {
  103. $scope.EnrolMap.TracksArray_1[index].tracks_name = $.trim($scope.EnrolMap.TracksArray_1[index].tracks_name);
  104. if ($scope.EnrolMap.TracksArray_1[index].tracks_name != $scope.OldEnrolMap.TracksArray_1[index].tracks_name)
  105. array.push($scope.EnrolMap.TracksArray_1[index]);
  106. }
  107. } else if(tracks_batch == 2) {
  108. for (var index = 0; index < $scope.EnrolMap.TracksArray_2.length; index++) {
  109. $scope.EnrolMap.TracksArray_2[index].tracks_name = $.trim($scope.EnrolMap.TracksArray_2[index].tracks_name);
  110. if ($scope.EnrolMap.TracksArray_2[index].tracks_name != $scope.OldEnrolMap.TracksArray_2[index].tracks_name)
  111. array.push($scope.EnrolMap.TracksArray_2[index]);
  112. }
  113. } else if(tracks_batch == 3) {
  114. for (var index = 0; index < $scope.EnrolMap.TracksArray_3.length; index++) {
  115. $scope.EnrolMap.TracksArray_3[index].tracks_name = $.trim($scope.EnrolMap.TracksArray_3[index].tracks_name);
  116. if ($scope.EnrolMap.TracksArray_3[index].tracks_name != $scope.OldEnrolMap.TracksArray_3[index].tracks_name)
  117. array.push($scope.EnrolMap.TracksArray_3[index]);
  118. }
  119. }
  120. if (array.length == 0) {
  121. if(!$scope.mp3_file_temp) {
  122. $.alert('曲目未进行修改,无须提交保存!');
  123. return;
  124. } else if($scope.mp3_file_temp == $scope.EnrolMap.StdEnrol.mp3_file) {
  125. $.alert('曲目未进行修改,无须提交保存!');
  126. return;
  127. }
  128. }
  129. $.showLoading('正在提交曲目变更请求,请稍候......');
  130. $rootScope.ajaxRequest({
  131. url : '../enrol/std/enrol/tracks/save.htm',
  132. data : {
  133. enrol_id : $stateParams.enrol_id,
  134. tracks_batch : tracks_batch,
  135. mp3_files: $scope.EnrolMap.StdEnrol.mp3_file,
  136. tracks_json : JSON.stringify(tracks_batch == 1 ? $scope.EnrolMap.TracksArray_1 : (tracks_batch == 2 ? $scope.EnrolMap.TracksArray_2 : $scope.EnrolMap.TracksArray_3))
  137. }
  138. }, function(response) {
  139. $.hideLoading();
  140. $scope.goStep('modifySuccess');
  141. });
  142. }
  143. $scope.goCancelEnrol = function() {
  144. if ($scope.EnrolMap.StdEnrol.pay_status == 'Active') {
  145. $.confirm("该专业已经缴费,确定要取消已经缴费的专业吗?", function() {
  146. $scope.saveCancelEnrol();
  147. }, function() {
  148. // 点击取消后的回调函数
  149. });
  150. }else {
  151. $scope.saveCancelEnrol();
  152. }
  153. }
  154. $scope.saveCancelEnrol = function(){
  155. $.showLoading('正在提交请求,请稍候......');
  156. $rootScope.ajaxRequest({
  157. url : '../enrol/std/enrol/cancel.htm',
  158. data : {
  159. enrol_id : $stateParams.enrol_id
  160. }
  161. }, function(response) {
  162. $.hideLoading();
  163. $scope.goStep('cancelSuccess');
  164. });
  165. }
  166. $scope.uploadMaterial = function() {
  167. $rootScope.uploadStdMaterial('Aspect', function(response) {
  168. $scope.EnrolMap.StdEnrol.without_exam_apply = response.entity.without_exam_apply;
  169. $scope.EnrolMap.StdEnrol.without_exam_material = response.entity.without_exam_material;
  170. $scope.EnrolMap.StdEnrol.without_exam_admit = undefined;
  171. }, $stateParams.enrol_id);
  172. }
  173. $scope.goCmAspectPay = function() {
  174. if (navigator.userAgent.indexOf('WindowsWechat') > -1) {
  175. alert('PC端无法交费,请使用手机微信打开');
  176. } else {
  177. $.showLoading('正在创建支付订单,请稍候......');
  178. $rootScope.ajaxRequest({
  179. url: '../std/enrol/pay/cm.htm',
  180. data: {
  181. enrol_id: $stateParams.enrol_id,
  182. aspect_batch : 1
  183. }
  184. }, function(data){
  185. $scope.payEntity = data.entity;
  186. setTimeout(function() {
  187. form1.submit();
  188. },200);
  189. });
  190. }
  191. }
  192. //西音-调用第三方支付接口
  193. $scope.goXyAspectPay = function() {
  194. if (navigator.userAgent.indexOf('WindowsWechat') > -1) {
  195. alert('PC端无法交费,请使用手机微信打开');
  196. } else {
  197. $.showLoading('正在创建支付订单,请稍候......');
  198. $rootScope.ajaxRequest({
  199. url: '../std/enrol/pay/xy.htm',
  200. data: {
  201. enrol_id: $stateParams.enrol_id,
  202. aspect_batch : 1
  203. }
  204. }, function(data){
  205. window.location.href= data.entity.url;
  206. });
  207. }
  208. }
  209. $scope.goAspectPay = function() {
  210. if (navigator.userAgent.indexOf('WindowsWechat') > -1) {
  211. alert('PC端无法交费,请使用手机微信打开');
  212. } else {
  213. $.confirm("请确认报考的专业是否正确,缴费成功后将不能修改!", function() {
  214. $.showLoading('正在创建微信支付订单,请稍候......');
  215. $rootScope.ajaxRequest({
  216. url : '../enrol/std/enrol/pay/wx.htm',
  217. data : {
  218. enrol_id : $stateParams.enrol_id,
  219. aspect_batch : 1
  220. }
  221. }, function(data) {
  222. // var obj = angular.extend({}, data.entity, {
  223. // success :
  224. // });
  225. data.entity.success = function(res) {
  226. $timeout(function() {
  227. $scope.curStep = 'paySuccess';
  228. }, 100);
  229. };
  230. wx.chooseWXPay(data.entity);
  231. });
  232. }, function() {
  233. // 点击取消后的回调函数
  234. });
  235. }
  236. };
  237. $scope.getEnrol($stateParams.autopay);
  238. $scope.goVoide1 = function(){
  239. $rootScope.goLocation('exam/result/' + $stateParams.enrol_id);
  240. }
  241. $scope.goVoide = function(){
  242. if(new Date($scope.EnrolMap.Voide.voide_end_date.replace(/\-/g, "/"))<new Date()){
  243. $rootScope.goLocation('exam/result/' + $stateParams.enrol_id);
  244. return;
  245. }
  246. if($scope.EnrolMap.Voide.note_date==null){
  247. //没有配置公告日期,可以直接进入
  248. $rootScope.goLocation('exam/voide/' + $stateParams.enrol_id+'/false');
  249. return;
  250. }
  251. var d = new Date($scope.EnrolMap.Voide.note_date.replace(/\-/g, "/"));
  252. if (d<new Date()){
  253. //时间到了
  254. $rootScope.goLocation('exam/voide/' + $stateParams.enrol_id+'/true');
  255. }else{
  256. $.alert('入场时间未到,请在'+$scope.EnrolMap.Voide.note_date+'后入场!');
  257. }
  258. }
  259. $scope.goDownload = function() {
  260. $('#down_url').attr('href', '../../image/'+$scope.EnrolMap.StdEnrol.without_exam_material);
  261. document.getElementById("down_url").click();
  262. }
  263. $scope.goUpload = function(){
  264. var file = document.getElementById("fileUpload").files[0];
  265. var data = new FormData();
  266. data.append('file', file);
  267. data.append('enrol_id',$stateParams.enrol_id);
  268. data.append('photo_type','photo_file');
  269. if(file==null) return;
  270. $rootScope.ajaxRequest({
  271. url: '../enrol/exam/upload.htm',
  272. data:data,
  273. headers: {'Content-Type': undefined},
  274. transformRequest: angular.identity
  275. }, function(response) {
  276. $scope.EnrolMap.StdEnrol.photo_file=response.entity;
  277. });
  278. }
  279. $scope.checkin = function(){
  280. var start_time = new Date($scope.EnrolMap.stdSubject.exam_start_time.replace(/\-/g, "/"));
  281. var end_time = new Date($scope.EnrolMap.stdSubject.exam_end_time.replace(/\-/g, "/"));
  282. var now = new Date();
  283. if((now<start_time || now>end_time) && !$scope.EnrolMap.stdSubject.real_inroom_time ) {
  284. $.alert('检录时间未到!请在'+$rootScope.shortTimeString($scope.EnrolMap.stdSubject.exam_start_time)+'后'+
  285. $rootScope.shortTimeString($scope.EnrolMap.stdSubject.exam_end_time)+'前检录!');
  286. } else{
  287. var StdEnrol = $scope.EnrolMap.StdEnrol;
  288. $rootScope.ajaxRequest({
  289. url: '../exam/online/checkin/inqueue.htm',
  290. data:{agent_id:StdEnrol.agent_id, aspect_id:StdEnrol.aspect_id, std_id:StdEnrol.std_id}
  291. }, function(response) {
  292. $rootScope.goLocation('exam/wait/'+StdEnrol.agent_id+"/"+StdEnrol.aspect_id);
  293. });
  294. }
  295. // var StdEnrol = $scope.EnrolMap.StdEnrol;
  296. // $rootScope.ajaxRequest({
  297. // url: '../exam/online/checkin.htm',
  298. // data:{agent_id:StdEnrol.agent_id, aspect_id:StdEnrol.aspect_id, std_id:StdEnrol.std_id}
  299. // }, function(response) {
  300. // $rootScope.goLocation('exam/checkin/'+StdEnrol.agent_id+"/"+StdEnrol.aspect_id);
  301. // });
  302. }
  303. //选择品种
  304. $scope.chooseVariety = function(enrol_id) {
  305. $rootScope.ajaxRequest({
  306. url : '../enrol/std/enrol/in/time.htm',
  307. data : { }
  308. }, function(data) {
  309. if(!data.entity) {
  310. $.alert('报考已结束,不能修改品种!');
  311. return;
  312. } else {
  313. $rootScope.goLocation('variety/choose/' + enrol_id +'/2');
  314. }
  315. });
  316. }
  317. //上传文件
  318. $scope.uploadFiles = function(files) {
  319. var file = document.getElementById('mp3_file').files[0];
  320. if(document.getElementById('mp3_file').files==null||file==null){
  321. $.alert('请选择曲目音频!');
  322. return;
  323. }
  324. if(file.size > 10*1024*1024) {
  325. $.alert('文件大小超出限制,请上传10M以下的文件!');
  326. return;
  327. }
  328. var data = new FormData();
  329. data.append('file', file);
  330. data.append('enrol_id',$stateParams.enrol_id);
  331. $.showLoading('正在上传文件,请稍候......');
  332. $rootScope.ajaxRequest({
  333. url: '../enrol/std/enrol/mp3/upload.htm',
  334. data:data,
  335. headers: {'Content-Type': undefined},
  336. transformRequest: angular.identity
  337. }, function(response) {
  338. $.hideLoading();
  339. $scope.EnrolMap.StdEnrol.mp3_file = response.entity;
  340. $.alert('上传曲目音频成功');
  341. });
  342. }
  343. } ])