123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517 |
- app.controller('ChooseVarietyCtrl', [ '$rootScope', '$scope', '$http', '$timeout', '$state', '$stateParams', function($rootScope, $scope, $http, $timeout, $state, $stateParams) {
- // 根据配置第一步在哪里,有些需要从大类开始,有些从专业开始,有些直接选择招考方向
- $scope.curStep = 'aspect_variety';
- $scope.currentEnrol = {};
- $scope.currentEnrolParam = {};
- $scope.subjectArr = [];
-
-
- $scope.checkNextStep_Aspect = function() {
- // 判断是否需要选择品种
- if ($scope.varietyArray.length == 1) {
- $scope.chooseAspectVariety($scope.varietyArray[0]);
- } else if ($scope.varietyArray.length > 1) {
- $scope.curStep = "aspect_variety";
- } else {
- $scope.chooseAspectVariety();
- }
- }
- /***************************************************************************
- * 选中了乐器/舞种
- */
- $scope.chooseAspectVariety = function(variety) {
- $scope.subjectFlag = false;
- //初始化参数
- $scope.currentEnrol.category_id = $scope.aspect.category_id;
- $scope.currentEnrol.category_name = $scope.aspect.category_name;
- $scope.currentEnrol.major_id = $scope.aspect.aspect_major_id;
- $scope.currentEnrol.major_name = $scope.aspect.major_name;
- $scope.currentEnrol.aspect_id = $scope.aspect.aspect_id;
- $scope.currentEnrol.aspect_name = $scope.aspect.aspect_name;
- $scope.currentEnrol.fee_id = $scope.aspect.fee_id;
- $scope.currentEnrol.variety_id = $scope.aspect.variety_id;
- $scope.currentEnrol.variety_name = $scope.aspect.variety_name;
- $scope.currentEnrol.fee_amount = $scope.aspect.fee_amount;
- $scope.currentEnrol.aspect_batchs = $scope.aspect.aspect_batchs;
- $scope.currentEnrol.flag = $stateParams.enrol_flag;
- if (variety != undefined) {
- $scope.currentEnrol.variety_id = variety.variety_id;
- $scope.currentEnrol.variety_name = variety.variety_name;
- $scope.currentEnrolParam.variety_enrol_explain = variety.variety_enrol_explain;
- }
- $rootScope.ajaxRequest({
- url : '../enrol/config/aspect/subject/list/xytk.htm',
- data : $scope.currentEnrol
- }, function(response) {
- $scope.subjectMap = response.map;
- // 设置品种
- for (var i = 0; i < $scope.subjectMap['BatchSubjectArray_1'].length; i++) {
- var sb = $scope.subjectMap['BatchSubjectArray_1'][i];
- if ($scope.subjectMap['SubjectVariety_' + sb.subject_id] && $scope.subjectMap['SubjectVariety_' + sb.subject_id].length == 1) {
- var variety = $scope.subjectMap['SubjectVariety_' + sb.subject_id][0];
- sb.variety_id = variety.variety_id;
- sb.variety_name = variety.variety_name;
- }
- }
- /******设置多个科目,有多个品种的情况(特殊处理)******/
- var j = 0;
- for (var i = 0; i < $scope.subjectMap['BatchSubjectArray_1'].length; i++) {
- var sb = $scope.subjectMap['BatchSubjectArray_1'][i];
- if($scope.subjectMap['SubjectVariety_'+sb.subject_id]) {
- sb.haveVarietyFlag = true;
- j++;
- }
- }
- if(j>1) {
- $scope.subjectFlag = true;
- }
- /******设置多个科目,有多个品种的情况(特殊处理)******/
-
- // 如果乐器/舞种需要提示,显示提示
- if ($scope.currentEnrolParam.variety_enrol_explain !== undefined && $scope.currentEnrolParam.variety_enrol_explain.length > 0)
- $scope.curStep = "aspect_variety_explain";
- else {
- $scope.checkNextStep_Variety();
- }
- });
- }
- $scope.checkNextStep_Variety = function() {
- // 判断是否显示科目
- if ($scope.aspect.show_subjects_1 == 'InActive') {
- // 如果不显示科目,说明不需要选那么多乱七八糟的
- $scope.currentSubjectArray = $scope.subjectMap['BatchSubjectArray_1'];
- $scope.confirmSubject();
- } else
- $scope.curStep = "subject";
- }
- // 选择分组
- $scope.goSubjectGroup = function(subject) {
- $scope.subject = subject;
- $scope.curStep = 'subject_group';
- };
- $scope.chooseSubjectGroup = function(subject, batch) {
- console.log(batch);
- console.log($scope.subjectMap['BatchSubjectArray_' + batch]);
- for (var k = 0; k < $scope.subjectMap['BatchSubjectArray_' + batch].length; k++) {
- var sb = $scope.subjectMap['BatchSubjectArray_' + batch][k];
- if (sb.subject_group == subject.subject_group) {
- sb.subject_id = subject.subject_id;
- sb.subject_name = subject.subject_name;
- sb.variety_id = subject.variety_id;
- sb.variety_name = subject.variety_name;
- $scope.curStep = "subject";
- return;
- }
- }
- }
- // 选择科目的品种/舞种
- $scope.goSubjectVariety = function(subject) {
- $scope.subject = subject;
- $scope.curStep = 'subject_variety';
- };
- /***************************************************************************
- * 确定科目信息
- */
- $scope.confirmSubject = function() {
- //多个科目需要选择品种的情况,如果都是同一个品种就不需要再选择了
- /****************************
- @todo可能武音统考音教需要,暂时先还原代码,下面逻辑代码有bug,需要优化,
- for(var i=0; i<$scope.subjectMap['BatchSubjectArray_1'].length; i++) {
- var sb = $scope.subjectMap['BatchSubjectArray_1'][i];
- if($scope.subjectMap['SubjectVariety_' + sb.subject_id] && $scope.variety == undefined
- && $scope.subjectMap['SubjectVariety_' + sb.subject_id].length > 0 && !sb.haveVariety) {
- $scope.subjectArr.push(sb);
- }
- }
-
- var array = [];
- for (var i = 0; i < $scope.subjectMap['BatchSubjectArray_1'].length; i++) {
- var sb = $scope.subjectMap['BatchSubjectArray_1'][i];
- if (sb.subject_id == undefined) {
- $.alert('请为多选一科目组【' + sb.subject_name + '】选择一个科目!');
- return;
- }
- if (sb.master_group != undefined && sb.master_group.length > 0 && sb.master_flag == undefined) {
- $.alert('请为【' + sb.master_group + '】选择主项科目!');
- return;
- }
- if (sb.variety_id != undefined)
- array.push(sb.variety_id);
- else if ($scope.subjectMap['SubjectVariety_' + sb.subject_id] && $scope.subjectMap['SubjectVariety_' + sb.subject_id].length > 0) {
- // 需要选择品种
- $scope.subject = sb;
- $scope.curStep = 'subject_variety';
- // $scope.chooseSubjectVariety(sb, array);
- return;
- }
- }
- if (array.length > 0) {
- $scope.chooseSubjectVariety(undefined, array);
- } else {
- $scope.confirmTracks();
- }
- */
- // 判断该选择的是否都选择了
- var array = [];
- for (var i = 0; i < $scope.subjectMap['BatchSubjectArray_1'].length; i++) {
- var sb = $scope.subjectMap['BatchSubjectArray_1'][i];
- if (sb.subject_id == undefined) {
- $.alert('请为多选一科目组【' + sb.subject_name + '】选择一个科目!');
- return;
- }
- if (sb.master_group != undefined && sb.master_group.length > 0 && sb.master_flag == undefined) {
- $.alert('请为【' + sb.master_group + '】选择主项科目!');
- return;
- }
- /*if (sb.variety_id != undefined)
- array.push(sb.variety_id);
- else if */
- if($scope.subjectMap['SubjectVariety_' + sb.subject_id] && $scope.subjectMap['SubjectVariety_' + sb.subject_id].length > 0) {
- // 需要选择品种
- $scope.subject = sb;
- $scope.curStep = 'subject_variety';
- // $scope.chooseSubjectVariety(sb, array);
- return;
- }
- }
- if (array.length > 0) {
- $scope.chooseSubjectVariety(undefined, array);
- } else {
- $scope.confirmTracks();
- }
- }
- $scope.chooseSubjectVariety = function(v, array) {
- if (array == undefined)
- array = [];
- if (v != undefined) {
- for (var i = 0; i < $scope.subjectMap['BatchSubjectArray_1'].length; i++) {
- var sb = $scope.subjectMap['BatchSubjectArray_1'][i];
- if (sb.subject_id == $scope.subject.subject_id) {
- sb.variety_id = v.variety_id;
- sb.variety_name = v.variety_name;
- array.push(v.variety_id);
- for(var k=0; k<$scope.subjectArr.length; k++) {
- var sj = $scope.subjectArr[k];
- if($scope.subject.subject_id == sj.subject_id) {
- sj.haveVariety = true;
- }
- }
- break;
- }
- }
- }
- // 判断是否要输入曲目
- $rootScope.ajaxRequest({
- url : '../enrol/config/variety/tracks/list.htm',
- data : {
- variety_ids : array,
- enrol_batch : 1
- }
- }, function(response) {
- if (response.map.VarietyArray != undefined) {
- // 需要填写曲目
- $scope.tracksMap = response.map;
- $scope.curStep = 'tracks';
- } else {
- if($scope.subjectArr && $scope.subjectArr.length > 1) {
- for(var k=0; k<$scope.subjectArr.length; k++) {
- var sj = $scope.subjectArr[k];
- if(!sj.haveVariety) {
- $scope.curStep = 'subject_variety';
- $scope.subject = sj;
- break;
- }
- }
- } else {
- // 去找考点
- $scope.confirmTracks();
- }
- }
- });
- }
-
- /**************设置多个科目,有多个品种的情况(特殊处理)****************/
- $scope.goMoreSubjectVariety = function(subject) {
- for (var i = 0; i < $scope.subjectMap['BatchSubjectArray_1'].length; i++) {
- var sb = $scope.subjectMap['BatchSubjectArray_1'][i];
- if (sb.subject_id == subject.subject_id) {
- $scope.subject = sb;
- $scope.curStep = 'subject_variety';
- return;
- }
- }
- }
-
- /**************设置多个科目,有多个品种的情况(特殊处理)****************/
- $scope.chooseMoreSubjectVariety = function(variety) {
- for (var i = 0; i < $scope.subjectMap['BatchSubjectArray_1'].length; i++) {
- var sb = $scope.subjectMap['BatchSubjectArray_1'][i];
- if(sb.subject_id == $scope.subject.subject_id) {
- sb.variety_id = variety.variety_id;
- sb.variety_name = variety.variety_name
- }
- }
- $scope.curStep = 'subject';
- }
-
- /**************设置多个科目,有多个品种的情况(特殊处理)****************/
- $scope.confirmMoreSubject = function() {
- var array = [];
- //判断是否选择乐器/舞种
- for (var i = 0; i < $scope.subjectMap['BatchSubjectArray_1'].length; i++) {
- var sb = $scope.subjectMap['BatchSubjectArray_1'][i];
- if(sb.haveVarietyFlag && !sb.variety_id) {
- $.alert('请选择'+sb.subject_name+'的乐器/舞种!', '提示');
- return;
- }
- if(sb.variety_id) {
- array.push(sb.variety_id);
- }
- }
-
- $rootScope.ajaxRequest({
- url : '../enrol/config/variety/tracks/list.htm',
- data : {
- variety_ids : array,
- enrol_batch : 1
- }
- }, function(response) {
- if (response.map.VarietyArray != undefined) {
- // 需要填写曲目
- $scope.tracksMap = response.map;
- $scope.curStep = 'tracks';
- } else {
- /*if($scope.subjectArr && $scope.subjectArr.length > 1) {
- for(var k=0; k<$scope.subjectArr.length; k++) {
- var sj = $scope.subjectArr[k];
- if(!sj.haveVariety) {
- $scope.curStep = 'subject_variety';
- $scope.subject = sj;
- break;
- }
- }
- } else {
- // 去找考点
- $scope.confirmTracks();
- }*/
- }
- });
- }
-
-
- $scope.chooseTracks = function(tracks,tracks_order) {
- $scope.variety_id = tracks.variety_id;
- $scope.tracks_order = tracks_order;
- $scope.goSearchTracks(0,10);
- }
-
- // 选择曲目
- $scope.goSearchTracks = function(start, limit) {
- $rootScope.ajaxRequest({
- url : '../enrol/gobal/conf/tracks/query.htm',
- data : {
- start : start == undefined ? 0 : start,
- limit : limit == undefined ? 10 : limit,
- variety_id : $scope.variety_id,
- query : $scope.currentEnrolParam.tracks_query
- }
- }, function(data) {
- $scope.TracksPage = data.page;
- $scope.curStep = 'tracksChoose';
- });
- };
- // 查询曲目
- $scope.keyTracksSearch = function($event) {
- $scope.goSearchTracks(0, 10);
- };
-
- // 选择品种曲目
- $scope.choooseVarietyTracks = function(tracks) {
- for (var k = 0; k < $scope.tracksMap['VarietyTracks_' + tracks.variety_id].length; k++) {
- var sb = $scope.tracksMap['VarietyTracks_' + tracks.variety_id][k];
- if(tracks.tracks_id == sb.tracks_id) {
- $.alert('不能选择相同的曲目,请重新选择', '错误提示');
- return ;
- }
- if (sb.tracks_order == $scope.tracks_order) {
- sb.tracks_name = tracks.tracks_name;
- sb.tracks_code = tracks.tracks_code;
- sb.tracks_type = tracks.tracks_type;
- sb.tracks_id = tracks.tracks_id;
- sb.tracks_author = tracks.tracks_author;
- $scope.curStep = "tracks";
- return;
- }
- }
- };
- $scope.confirmTracks = function() {
- $scope.TracksArray = [];
- if ($scope.tracksMap) {
- // 有曲目信息
- for (var i = 0; i < $scope.tracksMap.VarietyArray.length; i++) {
- var tArray = [];
- var variety = $scope.tracksMap.VarietyArray[i];
- for (var k = 0; k < $scope.tracksMap['VarietyTracks_' + variety.variety_id].length; k++) {
- var tracks = $scope.tracksMap['VarietyTracks_' + variety.variety_id][k];
- if (tracks.tracks_name)
- tracks.tracks_name = $.trim(tracks.tracks_name);
- if (!tracks.tracks_name || tracks.tracks_name.length == 0) {
- $.alert('请填报【' + variety.variety_name + '】的第【' + (k + 1) + '】首曲目');
- return;
- }
- for (var index = 0; index < tArray.length; index++) {
- if (tArray[index] == tracks.tracks_name) {
- $.alert('曲目重复填报,请检查!');
- return;
- }
- }
- tArray.push(tracks.tracks_name);
- $scope.TracksArray.push(tracks);
- }
- }
- }
-
- //舞蹈-需要判断有无上传伴奏
- if($scope.currentEnrol.aspect_id==1005 || $scope.currentEnrol.aspect_id==1006
- || $scope.currentEnrol.aspect_id==1007 || $scope.currentEnrol.aspect_id==1008 || $scope.currentEnrol.aspect_id==1009) {
- //var file = document.getElementById('mp3_file').files[0];
- if(!$scope.currentEnrol.mp3_file){
- $.alert('请选择曲目音频!');
- return;
- }
- }
-
- $scope.curStep = 'enrol_confirm';
- // 去选择考点
- /*$rootScope.ajaxRequest({
- url : '../enrol/config/agent/list.htm',
- data : $scope.currentEnrol
- }, function(response) {
- $scope.agentArray = response.array;
- if(response.array && response.array.length ==1) {
- $scope.currentEnrol.agent_id = response.array[0].agent_id;
- $scope.agent = response.array[0];
- $scope.curStep = 'enrol_confirm';
- } else {
- $scope.curStep = 'agent';
- }
- });*/
- }
- /***************************************************************************
- * 选择考点
- */
- $scope.chooseAgent = function(agent) {
- $scope.currentEnrol.agent_id = agent.agent_id;
- $scope.agent = agent;
- $scope.curStep = 'enrol_confirm';
- }
- /***************************************************************************
- * 提交报考信息
- */
- $scope.goSaveEnrol = function() {
- $.showLoading('正在提交请求,请稍候......');
- var entity = {
- enrol_id: $stateParams.enrol_id,
- std_id : $scope.currentEnrol.std_id,
- aspect_id : $scope.currentEnrol.aspect_id,
- agent_id : $scope.currentEnrol.agent_id,
- variety_id : $scope.currentEnrol.variety_id,
- variety_name : $scope.currentEnrol.variety_name,
- subject_json : JSON.stringify($scope.subjectMap['BatchSubjectArray_1']),
- tracks_json : JSON.stringify($scope.TracksArray),
- appointment_id : $scope.currentEnrol.appointment_id,
- flag: $stateParams.enrol_flag,
- mp3_file: $scope.currentEnrol.mp3_file
- };
- $rootScope.ajaxRequest({
- url : '../enrol/std/enrol/variety/add.htm',
- data : entity
- }, function(response) {
- $.hideLoading();
- $scope.curEnrol = response.entity;
- $scope.goStep('EnrolSuccess');
- });
- }
- $scope.goAspectPay = function() {
- $rootScope.goLocation('enrol/info/' + $scope.curEnrol.enrol_id + '/active');
- }
- $scope.goStep = function(step) {
- if (step == 'aspect') {
- $scope.currentEnrolParam.aspect_query= '';
- $scope.currentEnrol.variety_id = undefined;
- $scope.currentEnrol.variety_name = undefined;
- $scope.tracksMap = undefined;
- $scope.currentEnrolParam.variety_enrol_explain = undefined;
- $scope.currentEnrol.appointment_id = undefined;
- }
- $scope.curStep = step;
- }
-
-
- //获取招考方向
- $scope.getAspect = function() {
- $rootScope.ajaxRequest({
- url : '../enrol/config/aspect/find/by/aspectid.htm',
- data : {enrol_id: $stateParams.enrol_id}
- }, function(response) {
- $scope.aspect = response.map;
- $scope.chooseAspectVariety();
- });
- }
-
- //上传伴奏
- $scope.uploadFiles = function(files) {
- var file = document.getElementById('mp3_file').files[0];
- if(document.getElementById('mp3_file').files==null||file==null){
- $.alert('请选择曲目音频!');
- return;
- }
- if(file.size > 10*1024*1024) {
- $.alert('文件大小超出限制,请上传10M以下的文件!');
- return;
- }
-
- var data = new FormData();
- data.append('file', file);
- data.append('enrol_id',$stateParams.enrol_id);
- $.showLoading('正在上传文件,请稍候......');
- $rootScope.ajaxRequest({
- url: '../enrol/std/enrol/mp3/upload.htm',
- data:data,
- headers: {'Content-Type': undefined},
- transformRequest: angular.identity
- }, function(response) {
- $.hideLoading();
- $scope.currentEnrol.mp3_file = response.entity;
- $.alert('上传曲目音频成功');
- });
- }
-
- //重选乐器/舞种
- $scope.chooseSubjectAgain = function() {
- $scope.currentEnrol.mp3_file = null;
- $scope.curStep = 'subject';
- }
-
-
- $scope.getAspect();
- } ])
|