UNPKG

unserver-unify

Version:

262 lines (257 loc) 8.33 kB
'use strict'; angular.module('bamboo.survey').controller('TargetSurveyDetailCtrl', function($scope, SureyApi, $rootScope, $stateParams, $state, CommonService, $filter, ApiService, loginService, $localStorage) { var self = this; console.log($stateParams); self.id = $stateParams.csvid; self.item = {}; self.reason = {}; console.log("------id-------"); console.log($stateParams); var questions = {}; function getText(string) { return string.replace(/&nbsp;/g, '').replace(/<[^>]*>/g, "").replace(/\./g, ','); } this.questionInfo={}; this.qresults={}; this.lqinfo={}; function getInfo() { var info = { action: 'getclasssurvey', id: self.id }; SureyApi.targetApi(info, function(result) { console.log(result); self.reason = result.reason; self.item = result.survey; self.qresults={}; $rootScope.currentSurveyTitle = self.item.name; if(!self.item.sections){ self.item.sections=[]; } angular.forEach(self.item.questions,function(val,index){ self.questionInfo[val._id]=val; }) angular.forEach(self.item.sections,function(item,index){ item.index=index; // console.log(item); }); var _tempitems=[]; angular.forEach(self.item.sections,function(item,index){ if(item.teacher&&self.reason.teachers){ // console.log(item); for(var i=0;i<self.reason.teachers.length;i++){ // var teacher=self.item.teachers[i]; var tmp=angular.copy(item); tmp.teacher=self.reason.teachers[i]; _tempitems.push(tmp); } }else{ _tempitems.push(item); } }); self.item.sections=_tempitems; angular.forEach(self.item.sections,function(item,index){ // item.index=index; item.sindex=index; var lqids=[]; angular.forEach(item.questions,function(id){ var longid=id+'-'+index; lqids.push(longid); var info={ id:id, index:item.index, sindex:index, } self.qresults[longid]=info; self.lqinfo[longid]=angular.copy(self.questionInfo[id]); }) item.lqids=lqids; console.log(item); }); console.log(self.qresults); console.log(self.lqinfo); // console.log(self.item.questions); var infor = { action: 'checksurveyexist', id: self.id }; if (!loginService.user) return; SureyApi.api(infor, function(data) { console.log(data); if (data != 0) { self.resultFlag = true; if (self.item.result) { console.log("-------------"); console.log(self.item.result); getResult(); } } }); }); } $scope.numToLetters = function(num) { return String.fromCharCode(65 + num); }; this.errorFlag=false; this.submit = function() { var allanswered = true; var lastunanswered = []; console.log("------------submit----------------"); console.log(self.item); var result = {}; var _index = 0; console.log(self.lqinfo); angular.forEach(self.lqinfo,function(q,id){ console.log(q); if(q.type=='multiple'){ var _ans=[]; angular.forEach(q.options,function(val,index){ if(val.selection){ _ans.push(val.text); } }) result[id]=_ans; if(_ans.length<1){ allanswered=false; } }else if(q.selection!=undefined){ result[id]=q.selection; }else{ allanswered=false; } }) console.log(result); if(!allanswered){ self.errorFlag=true; CommonService.showNoBlockErr('Not all question answered!'); }else{ var info = { id: self.id, action: 'submitsurvey', object: { result: result, csId: self.id, type: self.reason.type, targetId: self.reason.teacherId || self.reason.courseId, teachers:self.reason.teachers, // tname: self.reason.teacherName || self.reason.courseName, sid: self.item._id, } }; console.log(info); SureyApi.targetApi(info, function() { // var options = { // title: $filter('trans')({ // eng: 'Thank you!', // chn: '谢谢!' // }), // message: $filter('trans')({ // eng: 'Thank you for submitting the survey!', // chn: '谢谢您参加我们的问卷调查!' // }) // } //CommonService.messageBox(options); CommonService.showInfo($filter('trans')({ eng: 'Thank you for submitting the survey!', chn: '谢谢您参加我们的问卷调查!' }),function(res){ console.log("survey submited"); $localStorage.SURVERY_QUESTION_INFO = undefined; if($state.current.name=='index.takesurvey') { console.log('-------'); $state.go('index.home'); } else { $state.go('^'); } }); //$state.go($rootScope.$previousState, $rootScope.$previousStateParams); }) } //result.username = self.item.username; /* angular.forEach(self.item.questions, function(val, index) { console.log(val); if (val.type != 'heading') { _index++; console.log(getText(val.content)); var key = getText(val.content); if (key.indexOf('.') > -1) { key = key.split('.').join(''); } var ans = val.selection; if (val.type && val.type == 'multiple') { var ans = []; angular.forEach(val.options, function(opt, index) { if (opt.selection) { ans.push(opt.text); } }) result[key] = ans; } else { result[key] = ans; if (typeof val.selection == 'undefined') { lastunanswered.push(_index); allanswered = false; } } console.log(val.selection); } }); */ /* if (!allanswered) { CommonService.showNoBlockErr('Not all question answered!, Please check No .' + lastunanswered.toString() + "!"); } else { var info = { id: self.id, action: 'submitsurvey', object: { result: result, csId: self.id, type: self.reason.type, targetId: self.reason.teacherId || self.reason.courseId, tname: self.reason.teacherName || self.reason.courseName, sid: self.item._id, } }; console.log(info); SureyApi.targetApi(info, function() { var options = { title: $filter('trans')({ eng: 'Thank you!', chn: '谢谢!' }), message: $filter('trans')({ eng: 'Thank you for submitting the survey!', chn: '谢谢您参加我们的问卷调查!' }) } CommonService.messageBox(options); console.log("survey submited"); $localStorage.SURVERY_QUESTION_INFO = undefined; $state.go('^'); //$state.go($rootScope.$previousState, $rootScope.$previousStateParams); }) } */ }; $scope.readTerms = function(data) { console.info(data); //$rootScope.SURVERY_QUESTION_INFO = data; $localStorage.SURVERY_QUESTION_INFO = self.questionInfo; console.info($rootScope.SURVERY_QUESTION_INFO); $state.go('index.surveryagree'); } function surveyDocAvailable() { if (ApiService.school.surveydoc) { ApiService.get("/schooldoc/" + ApiService.school.surveydoc).then(function(result) { console.log(result); if (result.data.success) { var value = result.data.data; var vagreement = value.detail; if (vagreement) { $scope.docAvailable = true; } } }) } } surveyDocAvailable(); getInfo(); })