app.controller('StdApplyMajorCtrl', function($rootScope, $scope, $http, $timeout, $state, myConfig, toaster, $q) { $scope.load = function(){ if(!$rootScope.stdExamNoticeConfirmed){ $rootScope.dialogMsg("请先确认诚信承诺书。", function(){}); $state.go('examNotice'); }else{ $scope.majorGroupA = []; $scope.majorGroupB = []; var p_major_config = $http({ url : myConfig.url + '/acquire/majorConfig?session=' + $rootScope.session, method : 'GET' }).success(function(data) { if(data.code == 0){ $scope.majorGroupA = data.result.majorGroupA; $scope.majorGroupB = data.result.majorGroupB; } }).error(function() { }); var p_std_major = $http({ url : myConfig.url + '/acquire/major?session=' + $rootScope.session, method : 'GET' }).success(function(data) { if(data.code == 0){ if(data.result){ $scope.major = data.result; }else{ $scope.major = {major_a:null}; } }else{ $scope.major = {major_a:null}; } }).error(function() { }); $scope.myPromise = $q.all([p_major_config, p_std_major]); } } $scope.load(); $scope.selectTab = function(tab){ $scope.curTab = tab; } $scope.submitForm = function(isValid){ $scope.submitted = true; if(isValid){ //校验B类专业是否唯一并且至少填写一个 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 , $scope.major.major_b_8, $scope.major.major_b_9, $scope.major.major_b_10 , $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); var majorBStr = ''; var duplicate = ''; angular.forEach(majorBArr, function(majorB){ if(majorB){ if(majorBStr.indexOf(majorB+' , ') == -1){ majorBStr += majorB + ' , '; }else{ //isDuplicate = true; duplicate += majorB + ' ; '; } } }) if(duplicate.length > 0){ toaster.pop('error', 'B段专业有重复,重复专业名称: ' + duplicate); return; } $scope.myPromise = $http({ url : myConfig.url + '/acquire/major?session=' + $rootScope.session, method : 'POST', data : angular.toJson($scope.major) }).success(function(data) { toaster.pop('success', '保存成功'); $scope.formA.$setPristine(); }).error(function() { }); } } });