enrol_guide.js 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659
  1. app.controller('EnrolGuideCtrl', [ '$rootScope', '$scope', '$http', '$timeout', '$state', '$stateParams', function($rootScope, $scope, $http, $timeout, $state, $stateParams) {
  2. // 根据配置第一步在哪里,有些需要从大类开始,有些从专业开始,有些直接选择招考方向
  3. $scope.curStep = $rootScope.getParamValue('EnrolAspectStartStep', 'category');
  4. $scope.currentEnrol = {};
  5. $scope.currentEnrolParam = {};
  6. $scope.subjectArr = [];
  7. /***************************************************************************
  8. * 选中了大类
  9. */
  10. $scope.chooseCategory = function(category) {
  11. if (category != undefined) {
  12. $scope.currentEnrol.category_id = category.category_id;
  13. $scope.currentEnrol.category_name = category.category_name;
  14. $scope.currentEnrolParam.category_enrol_explain = category.category_enrol_explain;
  15. }
  16. if ($rootScope.getParamValue('EnrolAspectCategoryNextSetp', 'major') == 'major') {
  17. $rootScope.ajaxRequest({
  18. url : '../enrol/config/major/list.htm',
  19. data : $scope.currentEnrol
  20. }, function(response) {
  21. $scope.majorArray = response.array;
  22. // 如果有大类报考说明,显示大类报考说明
  23. if ($scope.currentEnrolParam.category_enrol_explain !== undefined && $scope.currentEnrolParam.category_enrol_explain.length > 0)
  24. $scope.curStep = "category_explain";
  25. else {
  26. $scope.checkNextStep_Category();
  27. }
  28. });
  29. } else {
  30. if ($scope.currentEnrolParam.category_enrol_explain !== undefined && $scope.currentEnrolParam.category_enrol_explain.length > 0)
  31. $scope.curStep = "category_explain";
  32. else
  33. $scope.chooseMajor(undefined);
  34. }
  35. }
  36. $scope.checkNextStep_Category = function() {
  37. if ($scope.majorArray && $scope.majorArray.length == 1) {
  38. $scope.chooseMajor($scope.majorArray);
  39. } else {
  40. //$scope.chooseMajor();
  41. $scope.curStep = "major";
  42. }
  43. }
  44. /***************************************************************************
  45. * 选中了专业-提取的公用代码
  46. */
  47. $scope.chooseMajorSame = function(major) {
  48. if (major != undefined) {
  49. $scope.currentEnrol.category_id = major.major_category_id;
  50. $scope.currentEnrol.major_id = major.major_id;
  51. $scope.currentEnrol.major_name = major.major_name;
  52. $scope.currentEnrolParam.major_enrol_explain = major.major_enrol_explain;
  53. }
  54. $scope.currentEnrolParam.aspect_query = '';
  55. $rootScope.ajaxRequest({
  56. url : '../enrol/config/aspect/list.htm',
  57. data : $scope.currentEnrol
  58. }, function(response) {
  59. $scope.aspectArray = response.array;
  60. // 如果有专业报考说明,显示专业报考说明
  61. if ($scope.currentEnrolParam.major_enrol_explain !== undefined && $scope.currentEnrolParam.major_enrol_explain.length > 0)
  62. $scope.curStep = "major_explain";
  63. else
  64. $scope.checkNextStep_Major();
  65. });
  66. }
  67. /***************************************************************************
  68. * 选中了专业
  69. */
  70. $scope.chooseMajor = function(major) {
  71. //武音特殊处理
  72. if($rootScope.getParamValue('SchoolCode') == '11524') {
  73. $rootScope.ajaxRequest({
  74. url : '../enrol/std/enrol/major/judge.htm',
  75. data : {
  76. major_id: major.major_id
  77. }
  78. }, function(response) {
  79. if(!response.entity) {
  80. $.alert("考生统考未报考【" + major.major_name +"】,请确认自己的报考类别!");
  81. return;
  82. } else {
  83. $scope.chooseMajorSame(major);
  84. }
  85. });
  86. } else {
  87. $scope.chooseMajorSame(major);
  88. }
  89. }
  90. $scope.checkNextStep_Major = function() {
  91. $scope.curStep = "aspect";
  92. }
  93. /***************************************************************************
  94. * 选中了招考方向
  95. */
  96. $scope.chooseAspect = function(aspect) {
  97. //武音特殊处理
  98. if($rootScope.getParamValue('SchoolCode') == '11524') {
  99. //音乐类才判断
  100. if($rootScope.ArtStdReg.std_param1 == '2') {
  101. if(aspect.aspect_dept !== $rootScope.ArtStdReg.std_param2) {
  102. $.alert('考生报考的统考方向和该方向不一致,请选择正确的招考方向!');
  103. return;
  104. }
  105. }
  106. }
  107. $scope.currentEnrol.category_id = aspect.category_id;
  108. $scope.currentEnrol.category_name = aspect.category_name;
  109. $scope.currentEnrol.major_id = aspect.aspect_major_id;
  110. $scope.currentEnrol.major_name = aspect.major_name;
  111. $scope.currentEnrol.aspect_id = aspect.aspect_id;
  112. $scope.currentEnrol.aspect_name = aspect.aspect_name;
  113. $scope.currentEnrol.fee_id = aspect.fee_id;
  114. $scope.currentEnrol.variety_id = aspect.variety_id;
  115. $scope.currentEnrol.variety_name = aspect.variety_name;
  116. $scope.currentEnrol.fee_amount = aspect.fee_amount;
  117. $scope.currentEnrol.aspect_batchs = aspect.aspect_batchs;
  118. $scope.aspect = aspect;
  119. //是否需要预约
  120. if(aspect.appointment_flag == 'Active') {
  121. $rootScope.ajaxRequest({
  122. url: '../conf/agent/aspect/appointment/date.htm',
  123. data: {
  124. aspect_id: aspect.aspect_id
  125. }
  126. }, function(respponse) {
  127. $scope.appointmentArray = respponse.array;
  128. $scope.curStep = 'appointment';
  129. });
  130. return;
  131. }
  132. $rootScope.ajaxRequest({
  133. url : '../enrol/config/aspect/variety/list.htm',
  134. data : $scope.currentEnrol
  135. }, function(response) {
  136. $scope.varietyArray = response.array;
  137. // 如果有招考方向报考说明,显示招考方向说明
  138. if ($scope.aspect.aspect_enrol_explain !== undefined && $scope.aspect.aspect_enrol_explain.length > 0)
  139. $scope.curStep = "aspect_explain";
  140. else {
  141. $scope.checkNextStep_Aspect();
  142. }
  143. });
  144. }
  145. /************************
  146. * 选择预约日期
  147. */
  148. $scope.chooseAppDate = function(app) {
  149. if(app.appointment_capacity-app.appointment_num == 0) {
  150. $.alert('该日期预约已满,请选择其他空余的日期!');
  151. return;
  152. }
  153. $rootScope.ajaxRequest({
  154. url: '../conf/agent/aspect/appointment/time.htm',
  155. data: app
  156. }, function(response) {
  157. $scope.appTimeArray = response.array;
  158. $scope.curStep = "appointment_time";
  159. });
  160. }
  161. /************************
  162. * 选择预约时间
  163. */
  164. $scope.chooseTime = function(time) {
  165. if(time.appointment_capacity - time.appointment_num == 0) {
  166. $.alert('该时段预约已满,请选择其他空余的时段!');
  167. return;
  168. }
  169. $.confirm('<table><tr><td>预约招考方向:【' + $scope.aspect.aspect_name + "】</td></tr><tr><td>预约日期:【"
  170. + time.appointment_date + "】</td></tr><tr><td>预约时段:【" + time.start_time + "~" + time.end_time + "】</td></tr></table>", "请确定预约报考信息", function() {
  171. $scope.currentEnrol.appointment_id = time.appointment_id;
  172. //跳转到下一步报考项目
  173. $rootScope.ajaxRequest({
  174. url : '../enrol/config/aspect/variety/list.htm',
  175. data : $scope.currentEnrol
  176. }, function(response) {
  177. $scope.varietyArray = response.array;
  178. // 如果有招考方向报考说明,显示招考方向说明
  179. if ($scope.aspect.aspect_enrol_explain !== undefined && $scope.aspect.aspect_enrol_explain.length > 0)
  180. $scope.curStep = "aspect_explain";
  181. else {
  182. $scope.checkNextStep_Aspect();
  183. }
  184. });
  185. });
  186. }
  187. $scope.checkNextStep_Aspect = function() {
  188. // 判断是否需要选择品种
  189. if ($scope.varietyArray.length == 1) {
  190. $scope.chooseAspectVariety($scope.varietyArray[0]);
  191. } else if ($scope.varietyArray.length > 1) {
  192. $scope.curStep = "aspect_variety";
  193. } else {
  194. $scope.chooseAspectVariety();
  195. }
  196. }
  197. /***************************************************************************
  198. * 选中了乐器/舞种
  199. */
  200. $scope.chooseAspectVariety = function(variety) {
  201. $scope.subjectFlag = false;
  202. if (variety != undefined) {
  203. $scope.currentEnrol.variety_id = variety.variety_id;
  204. $scope.currentEnrol.variety_name = variety.variety_name;
  205. $scope.currentEnrolParam.variety_enrol_explain = variety.variety_enrol_explain;
  206. }
  207. $rootScope.ajaxRequest({
  208. url : '../enrol/config/aspect/subject/list.htm',
  209. data : $scope.currentEnrol
  210. }, function(response) {
  211. $scope.subjectMap = response.map;
  212. // 设置品种
  213. for (var i = 0; i < $scope.subjectMap['BatchSubjectArray_1'].length; i++) {
  214. var sb = $scope.subjectMap['BatchSubjectArray_1'][i];
  215. if ($scope.subjectMap['SubjectVariety_' + sb.subject_id] && $scope.subjectMap['SubjectVariety_' + sb.subject_id].length == 1) {
  216. var variety = $scope.subjectMap['SubjectVariety_' + sb.subject_id][0];
  217. sb.variety_id = variety.variety_id;
  218. sb.variety_name = variety.variety_name;
  219. }
  220. }
  221. /******设置多个科目,有多个品种的情况(特殊处理)******/
  222. var j = 0;
  223. for (var i = 0; i < $scope.subjectMap['BatchSubjectArray_1'].length; i++) {
  224. var sb = $scope.subjectMap['BatchSubjectArray_1'][i];
  225. if($scope.subjectMap['SubjectVariety_'+sb.subject_id]) {
  226. sb.haveVarietyFlag = true;
  227. j++;
  228. }
  229. }
  230. if(j>1) {
  231. $scope.subjectFlag = true;
  232. }
  233. /******设置多个科目,有多个品种的情况(特殊处理)******/
  234. // 如果乐器/舞种需要提示,显示提示
  235. if ($scope.currentEnrolParam.variety_enrol_explain !== undefined && $scope.currentEnrolParam.variety_enrol_explain.length > 0)
  236. $scope.curStep = "aspect_variety_explain";
  237. else {
  238. $scope.checkNextStep_Variety();
  239. }
  240. });
  241. }
  242. $scope.checkNextStep_Variety = function() {
  243. // 判断是否显示科目
  244. if ($scope.aspect.show_subjects_1 == 'InActive') {
  245. // 如果不显示科目,说明不需要选那么多乱七八糟的
  246. $scope.currentSubjectArray = $scope.subjectMap['BatchSubjectArray_1'];
  247. $scope.confirmSubject();
  248. } else
  249. $scope.curStep = "subject";
  250. }
  251. // 选择分组
  252. $scope.goSubjectGroup = function(subject) {
  253. $scope.subject = subject;
  254. $scope.curStep = 'subject_group';
  255. };
  256. $scope.chooseSubjectGroup = function(subject, batch) {
  257. console.log(batch);
  258. console.log($scope.subjectMap['BatchSubjectArray_' + batch]);
  259. for (var k = 0; k < $scope.subjectMap['BatchSubjectArray_' + batch].length; k++) {
  260. var sb = $scope.subjectMap['BatchSubjectArray_' + batch][k];
  261. if (sb.subject_group == subject.subject_group) {
  262. sb.subject_id = subject.subject_id;
  263. sb.subject_name = subject.subject_name;
  264. sb.variety_id = subject.variety_id;
  265. sb.variety_name = subject.variety_name;
  266. $scope.curStep = "subject";
  267. return;
  268. }
  269. }
  270. }
  271. // 选择科目的品种/舞种
  272. $scope.goSubjectVariety = function(subject) {
  273. $scope.subject = subject;
  274. $scope.curStep = 'subject_variety';
  275. };
  276. /***************************************************************************
  277. * 确定科目信息
  278. */
  279. $scope.confirmSubject = function() {
  280. //多个科目需要选择品种的情况,如果都是同一个品种就不需要再选择了
  281. /****************************
  282. @todo可能武音统考音教需要,暂时先还原代码,下面逻辑代码有bug,需要优化,
  283. for(var i=0; i<$scope.subjectMap['BatchSubjectArray_1'].length; i++) {
  284. var sb = $scope.subjectMap['BatchSubjectArray_1'][i];
  285. if($scope.subjectMap['SubjectVariety_' + sb.subject_id] && $scope.variety == undefined
  286. && $scope.subjectMap['SubjectVariety_' + sb.subject_id].length > 0 && !sb.haveVariety) {
  287. $scope.subjectArr.push(sb);
  288. }
  289. }
  290. var array = [];
  291. for (var i = 0; i < $scope.subjectMap['BatchSubjectArray_1'].length; i++) {
  292. var sb = $scope.subjectMap['BatchSubjectArray_1'][i];
  293. if (sb.subject_id == undefined) {
  294. $.alert('请为多选一科目组【' + sb.subject_name + '】选择一个科目!');
  295. return;
  296. }
  297. if (sb.master_group != undefined && sb.master_group.length > 0 && sb.master_flag == undefined) {
  298. $.alert('请为【' + sb.master_group + '】选择主项科目!');
  299. return;
  300. }
  301. if (sb.variety_id != undefined)
  302. array.push(sb.variety_id);
  303. else if ($scope.subjectMap['SubjectVariety_' + sb.subject_id] && $scope.subjectMap['SubjectVariety_' + sb.subject_id].length > 0) {
  304. // 需要选择品种
  305. $scope.subject = sb;
  306. $scope.curStep = 'subject_variety';
  307. // $scope.chooseSubjectVariety(sb, array);
  308. return;
  309. }
  310. }
  311. if (array.length > 0) {
  312. $scope.chooseSubjectVariety(undefined, array);
  313. } else {
  314. $scope.confirmTracks();
  315. }
  316. */
  317. // 判断该选择的是否都选择了
  318. var array = [];
  319. for (var i = 0; i < $scope.subjectMap['BatchSubjectArray_1'].length; i++) {
  320. var sb = $scope.subjectMap['BatchSubjectArray_1'][i];
  321. if (sb.subject_id == undefined) {
  322. $.alert('请为多选一科目组【' + sb.subject_name + '】选择一个科目!');
  323. return;
  324. }
  325. if (sb.master_group != undefined && sb.master_group.length > 0 && sb.master_flag == undefined) {
  326. $.alert('请为【' + sb.master_group + '】选择主项科目!');
  327. return;
  328. }
  329. if (sb.variety_id != undefined)
  330. array.push(sb.variety_id);
  331. else if ($scope.subjectMap['SubjectVariety_' + sb.subject_id] && $scope.subjectMap['SubjectVariety_' + sb.subject_id].length > 0) {
  332. // 需要选择品种
  333. $scope.subject = sb;
  334. $scope.curStep = 'subject_variety';
  335. // $scope.chooseSubjectVariety(sb, array);
  336. return;
  337. }
  338. }
  339. if (array.length > 0) {
  340. $scope.chooseSubjectVariety(undefined, array);
  341. } else {
  342. $scope.confirmTracks();
  343. }
  344. }
  345. $scope.chooseSubjectVariety = function(v, array) {
  346. if (array == undefined)
  347. array = [];
  348. if (v != undefined) {
  349. for (var i = 0; i < $scope.subjectMap['BatchSubjectArray_1'].length; i++) {
  350. var sb = $scope.subjectMap['BatchSubjectArray_1'][i];
  351. if (sb.subject_id == $scope.subject.subject_id) {
  352. sb.variety_id = v.variety_id;
  353. sb.variety_name = v.variety_name;
  354. array.push(v.variety_id);
  355. for(var k=0; k<$scope.subjectArr.length; k++) {
  356. var sj = $scope.subjectArr[k];
  357. if($scope.subject.subject_id == sj.subject_id) {
  358. sj.haveVariety = true;
  359. }
  360. }
  361. break;
  362. }
  363. }
  364. }
  365. // 判断是否要输入曲目
  366. $rootScope.ajaxRequest({
  367. url : '../enrol/config/variety/tracks/list.htm',
  368. data : {
  369. variety_ids : array,
  370. enrol_batch : 1
  371. }
  372. }, function(response) {
  373. if (response.map.VarietyArray != undefined) {
  374. // 需要填写曲目
  375. $scope.tracksMap = response.map;
  376. $scope.curStep = 'tracks';
  377. } else {
  378. if($scope.subjectArr && $scope.subjectArr.length > 1) {
  379. for(var k=0; k<$scope.subjectArr.length; k++) {
  380. var sj = $scope.subjectArr[k];
  381. if(!sj.haveVariety) {
  382. $scope.curStep = 'subject_variety';
  383. $scope.subject = sj;
  384. break;
  385. }
  386. }
  387. } else {
  388. // 去找考点
  389. $scope.confirmTracks();
  390. }
  391. }
  392. });
  393. }
  394. /**************设置多个科目,有多个品种的情况(特殊处理)****************/
  395. $scope.goMoreSubjectVariety = function(subject) {
  396. for (var i = 0; i < $scope.subjectMap['BatchSubjectArray_1'].length; i++) {
  397. var sb = $scope.subjectMap['BatchSubjectArray_1'][i];
  398. if (sb.subject_id == subject.subject_id) {
  399. $scope.subject = sb;
  400. $scope.curStep = 'subject_variety';
  401. return;
  402. }
  403. }
  404. }
  405. /**************设置多个科目,有多个品种的情况(特殊处理)****************/
  406. $scope.chooseMoreSubjectVariety = function(variety) {
  407. for (var i = 0; i < $scope.subjectMap['BatchSubjectArray_1'].length; i++) {
  408. var sb = $scope.subjectMap['BatchSubjectArray_1'][i];
  409. if(sb.subject_id == $scope.subject.subject_id) {
  410. sb.variety_id = variety.variety_id;
  411. sb.variety_name = variety.variety_name
  412. }
  413. }
  414. $scope.curStep = 'subject';
  415. }
  416. /**************设置多个科目,有多个品种的情况(特殊处理)****************/
  417. $scope.confirmMoreSubject = function() {
  418. var array = [];
  419. //判断是否选择乐器/舞种
  420. for (var i = 0; i < $scope.subjectMap['BatchSubjectArray_1'].length; i++) {
  421. var sb = $scope.subjectMap['BatchSubjectArray_1'][i];
  422. if(sb.haveVarietyFlag && !sb.variety_id) {
  423. $.alert('请选择'+sb.subject_name+'的乐器/舞种!', '提示');
  424. return;
  425. }
  426. if(sb.variety_id) {
  427. array.push(sb.variety_id);
  428. }
  429. }
  430. $rootScope.ajaxRequest({
  431. url : '../enrol/config/variety/tracks/list.htm',
  432. data : {
  433. variety_ids : array,
  434. enrol_batch : 1
  435. }
  436. }, function(response) {
  437. if (response.map.VarietyArray != undefined) {
  438. // 需要填写曲目
  439. $scope.tracksMap = response.map;
  440. $scope.curStep = 'tracks';
  441. } else {
  442. /*if($scope.subjectArr && $scope.subjectArr.length > 1) {
  443. for(var k=0; k<$scope.subjectArr.length; k++) {
  444. var sj = $scope.subjectArr[k];
  445. if(!sj.haveVariety) {
  446. $scope.curStep = 'subject_variety';
  447. $scope.subject = sj;
  448. break;
  449. }
  450. }
  451. } else {
  452. // 去找考点
  453. $scope.confirmTracks();
  454. }*/
  455. }
  456. });
  457. }
  458. $scope.chooseTracks = function(tracks,tracks_order) {
  459. $scope.variety_id = tracks.variety_id;
  460. $scope.tracks_order = tracks_order;
  461. $scope.goSearchTracks(0,10);
  462. }
  463. // 选择曲目
  464. $scope.goSearchTracks = function(start, limit) {
  465. $rootScope.ajaxRequest({
  466. url : '../enrol/gobal/conf/tracks/query.htm',
  467. data : {
  468. start : start == undefined ? 0 : start,
  469. limit : limit == undefined ? 10 : limit,
  470. variety_id : $scope.variety_id,
  471. query : $scope.currentEnrolParam.tracks_query
  472. }
  473. }, function(data) {
  474. $scope.TracksPage = data.page;
  475. $scope.curStep = 'tracksChoose';
  476. });
  477. };
  478. // 查询曲目
  479. $scope.keyTracksSearch = function($event) {
  480. $scope.goSearchTracks(0, 10);
  481. };
  482. // 选择品种曲目
  483. $scope.choooseVarietyTracks = function(tracks) {
  484. for (var k = 0; k < $scope.tracksMap['VarietyTracks_' + tracks.variety_id].length; k++) {
  485. var sb = $scope.tracksMap['VarietyTracks_' + tracks.variety_id][k];
  486. if(tracks.tracks_id == sb.tracks_id) {
  487. $.alert('不能选择相同的曲目,请重新选择', '错误提示');
  488. return ;
  489. }
  490. if (sb.tracks_order == $scope.tracks_order) {
  491. sb.tracks_name = tracks.tracks_name;
  492. sb.tracks_code = tracks.tracks_code;
  493. sb.tracks_type = tracks.tracks_type;
  494. sb.tracks_id = tracks.tracks_id;
  495. sb.tracks_author = tracks.tracks_author;
  496. $scope.curStep = "tracks";
  497. return;
  498. }
  499. }
  500. };
  501. $scope.confirmTracks = function() {
  502. $scope.TracksArray = [];
  503. if ($scope.tracksMap) {
  504. // 有曲目信息
  505. for (var i = 0; i < $scope.tracksMap.VarietyArray.length; i++) {
  506. var tArray = [];
  507. var variety = $scope.tracksMap.VarietyArray[i];
  508. for (var k = 0; k < $scope.tracksMap['VarietyTracks_' + variety.variety_id].length; k++) {
  509. var tracks = $scope.tracksMap['VarietyTracks_' + variety.variety_id][k];
  510. if (tracks.tracks_name)
  511. tracks.tracks_name = $.trim(tracks.tracks_name);
  512. if (!tracks.tracks_name || tracks.tracks_name.length == 0) {
  513. $.alert('请填报【' + variety.variety_name + '】的第【' + (k + 1) + '】首曲目');
  514. return;
  515. }
  516. for (var index = 0; index < tArray.length; index++) {
  517. if (tArray[index] == tracks.tracks_name) {
  518. $.alert('曲目重复填报,请检查!');
  519. return;
  520. }
  521. }
  522. tArray.push(tracks.tracks_name);
  523. $scope.TracksArray.push(tracks);
  524. }
  525. }
  526. }
  527. // 去选择考点
  528. $rootScope.ajaxRequest({
  529. url : '../enrol/config/agent/list.htm',
  530. data : $scope.currentEnrol
  531. }, function(response) {
  532. $scope.agentArray = response.array;
  533. if(response.array && response.array.length ==1) {
  534. $scope.currentEnrol.agent_id = response.array[0].agent_id;
  535. $scope.agent = response.array[0];
  536. $scope.curStep = 'enrol_confirm';
  537. } else {
  538. $scope.curStep = 'agent';
  539. }
  540. });
  541. }
  542. /***************************************************************************
  543. * 选择考点
  544. */
  545. $scope.chooseAgent = function(agent) {
  546. $scope.currentEnrol.agent_id = agent.agent_id;
  547. $scope.agent = agent;
  548. $scope.curStep = 'enrol_confirm';
  549. }
  550. /***************************************************************************
  551. * 提交报考信息
  552. */
  553. $scope.goSaveEnrol = function() {
  554. $.showLoading('正在提交报考请求,请稍候......');
  555. var entity = {
  556. std_id : $scope.currentEnrol.std_id,
  557. aspect_id : $scope.currentEnrol.aspect_id,
  558. agent_id : $scope.currentEnrol.agent_id,
  559. variety_id : $scope.currentEnrol.variety_id,
  560. variety_name : $scope.currentEnrol.variety_name,
  561. subject_json : JSON.stringify($scope.subjectMap['BatchSubjectArray_1']),
  562. tracks_json : JSON.stringify($scope.TracksArray),
  563. appointment_id : $scope.currentEnrol.appointment_id
  564. };
  565. $rootScope.ajaxRequest({
  566. url : '../enrol/std/enrol/add.htm',
  567. data : entity
  568. }, function(response) {
  569. $.hideLoading();
  570. $scope.curEnrol = response.entity;
  571. $scope.goStep('EnrolSuccess');
  572. });
  573. }
  574. $scope.goAspectPay = function() {
  575. $rootScope.goLocation('enrol/info/' + $scope.curEnrol.enrol_id + '/active');
  576. }
  577. $scope.goStep = function(step) {
  578. if (step == 'aspect') {
  579. $scope.currentEnrolParam.aspect_query= '';
  580. $scope.currentEnrol.variety_id = undefined;
  581. $scope.currentEnrol.variety_name = undefined;
  582. $scope.tracksMap = undefined;
  583. $scope.currentEnrolParam.variety_enrol_explain = undefined;
  584. $scope.currentEnrol.appointment_id = undefined;
  585. }
  586. $scope.curStep = step;
  587. }
  588. /***************************************************************************
  589. * 开始导航
  590. */
  591. $scope.startEnrol = function() {
  592. $scope.currentEnrol = {};
  593. $scope.currentEnrolParam = {aspect_query:''};
  594. var startStep = $rootScope.getParamValue('EnrolAspectStartStep', 'category');
  595. if (startStep == 'category') {
  596. $rootScope.ajaxRequest({
  597. url : '../enrol/config/category/list.htm'
  598. }, function(response) {
  599. if (response.array.length == 1) {
  600. $scope.chooseCategory(response.array[0]);
  601. } else {
  602. $scope.categoryArray = response.array;
  603. $scope.curStep = 'category';
  604. }
  605. });
  606. } else if (startStep == 'major') {
  607. $scope.chooseCategory();
  608. } else if (startStep == 'aspect') {
  609. $scope.chooseMajor();
  610. }
  611. }
  612. $scope.startEnrol();
  613. } ])