unserver-unify
Version:
262 lines (257 loc) • 8.33 kB
JavaScript
;
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(/ /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();
})