std_apply_major.js 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. app.controller('StdApplyMajorCtrl', function($rootScope, $scope, $http, $timeout, $state, myConfig, toaster, $q) {
  2. $scope.load = function(){
  3. if(!$rootScope.stdExamNoticeConfirmed){
  4. $rootScope.dialogMsg("请先确认诚信承诺书。", function(){});
  5. $state.go('examNotice');
  6. }else{
  7. $scope.majorGroupA = [];
  8. $scope.majorGroupB = [];
  9. var p_major_config = $http({
  10. url : myConfig.url + '/acquire/majorConfig?session=' + $rootScope.session,
  11. method : 'GET'
  12. }).success(function(data) {
  13. if(data.code == 0){
  14. $scope.majorGroupA = data.result.majorGroupA;
  15. $scope.majorGroupB = data.result.majorGroupB;
  16. }
  17. }).error(function() {
  18. });
  19. var p_std_major = $http({
  20. url : myConfig.url + '/acquire/major?session=' + $rootScope.session,
  21. method : 'GET'
  22. }).success(function(data) {
  23. if(data.code == 0){
  24. if(data.result){
  25. $scope.major = data.result;
  26. }else{
  27. $scope.major = {major_a:null};
  28. }
  29. }else{
  30. $scope.major = {major_a:null};
  31. }
  32. }).error(function() {
  33. });
  34. $scope.myPromise = $q.all([p_major_config, p_std_major]);
  35. }
  36. }
  37. $scope.load();
  38. $scope.selectTab = function(tab){
  39. $scope.curTab = tab;
  40. }
  41. $scope.submitForm = function(isValid){
  42. $scope.submitted = true;
  43. if(isValid){
  44. //校验B类专业是否唯一并且至少填写一个
  45. var majorBArr = new Array($scope.major.major_b_1, $scope.major.major_b_2, $scope.major.major_b_3, $scope.major.major_b_4, $scope.major.major_b_5, $scope.major.major_b_6, $scope.major.major_b_7
  46. , $scope.major.major_b_8, $scope.major.major_b_9, $scope.major.major_b_10
  47. , $scope.major.major_b_11, $scope.major.major_b_12, $scope.major.major_b_13, $scope.major.major_b_14, $scope.major.major_b_15);
  48. var majorBStr = '';
  49. var duplicate = '';
  50. angular.forEach(majorBArr, function(majorB){
  51. if(majorB){
  52. if(majorBStr.indexOf(majorB+' , ') == -1){
  53. majorBStr += majorB + ' , ';
  54. }else{
  55. //isDuplicate = true;
  56. duplicate += majorB + ' ; ';
  57. }
  58. }
  59. })
  60. if(duplicate.length > 0){
  61. toaster.pop('error', 'B段专业有重复,重复专业名称: ' + duplicate);
  62. return;
  63. }
  64. $scope.myPromise = $http({
  65. url : myConfig.url + '/acquire/major?session=' + $rootScope.session,
  66. method : 'POST',
  67. data : angular.toJson($scope.major)
  68. }).success(function(data) {
  69. toaster.pop('success', '保存成功');
  70. $scope.formA.$setPristine();
  71. }).error(function() {
  72. });
  73. }
  74. }
  75. });