questionnaire-result.js 8.0 KB

1
  1. import store from"../../store/index";import Event from"../../common/chat/eventTypes";Component({properties:{zIndex:{type:Number,default:2e3}},lifetimes:{created(){this.chat=null,this.chatEvent=this.getChatEvent()},attached(){this.unsub=store.get({"main.chat":t=>{this.chat=t,t&&this.bindEvent(this.chatEvent)}})}},data:{qnAchievement:"",qnResultData:"",qTitle:"",words:"ABCDEFGHIJKLMNOPQRSTUVWXYZ",showPanel:!0,questions:[]},methods:{getChatEvent(){const t=this;return{[Event.START_QUESTIONNAIRE]:function(){t.closePanel()},[Event.QUESTIONNAIRE_ACHIEVEMENT]:function(n,o){t.setData({qnAchievement:o},(()=>{t.data.qnResultData&&t.data.qnAchievement&&t.init()}))},[Event.SEND_QUESTIONNAIRE_RESULT]:function(n,o){t.setData({qnResultData:o},(()=>{t.data.qnResultData&&t.data.qnAchievement&&t.init()}))}}},bindEvent(t){const n=this.chat;n&&Object.keys(t).forEach((o=>{n.on(o,t[o])}))},closePanel(){this.triggerEvent("showPptPaint"),this.setData({showPanel:!1,qnAchievement:"",qnResultData:""})},showPanel(){this.setData({showPanel:!0})},init(){const{qnResultData:t,qnAchievement:n}=this.data,o=t.questionnaireTitle,e=t.data.map(((t,o)=>{const e=n.rightAnswer[o],i=n.answer[o];if(t.questionId===i.questionId&&t.questionId===e.questionId){const n=i.answer;if("Q"!==t.type){const o=e.answer.toUpperCase();t.questionType="R"===t.type?"单选":"多选",t.rightAnswerString=o,t.selectData=[],Object.keys(t).forEach((e=>{if(-1!==e.indexOf("option")&&t[e]){const i=e.substr(6),s=this.data.words[i-1],l=t[e],a=-1!==o.indexOf(s),p=!!n&&-1!==n.indexOf(s),u=t.answerResult[i-1];let r=u/t.total*100;r=r?r.toFixed(2):"0.00";let d="";a&&(d="correct"),p&&(d=a?"my-correct":o&&!a?"wrong":"select"),t.selectData.push({optionIndex:i,option:s,optionText:l,isRightAnswer:a,isMyAnswer:p,AnswerNum:u,percent:r,type:d})}}))}else t.questionType="问答",t.answer=n||""}return t}));this.showPanel(),this.setData({qnResultData:t,qnAchievement:n,qTitle:o,questions:e})},mock(){this.setData({qnAchievement:{EVENT:"QUESTIONNAIRE_ACHIEVEMENT",totalScore:100,userId:"1597714236967",timestamp:1597728912036,roomId:"1808888",questionnaireId:"fqciilpzyc",answer:[{questionId:"81bb96d738",answer:"A"},{questionId:"eace92a159",answer:"A"},{questionId:"815ad5d1f8",answer:"A"},{questionId:"1cdacff0ee",answer:"A"},{questionId:"92fd2b01bb"},{questionId:"07d1f07ab2",answer:"A"},{questionId:"fc727a4b6c",answer:"A"},{questionId:"5de23226ff",answer:"B"},{questionId:"98b57b2a60",answer:"A"},{questionId:"840e188cee",answer:"123"},{questionId:"c1a79e4880"},{questionId:"236f94e3d8",answer:"123"},{questionId:"05e5ebbfd3"}],ranking:1,rightAnswer:[{questionId:"81bb96d738",answer:""},{questionId:"eace92a159",answer:""},{questionId:"815ad5d1f8",answer:""},{questionId:"1cdacff0ee",answer:""},{questionId:"92fd2b01bb",answer:""},{questionId:"07d1f07ab2",answer:"a"},{questionId:"fc727a4b6c",answer:""},{questionId:"5de23226ff",answer:"abcd"},{questionId:"98b57b2a60",answer:"c"},{questionId:"840e188cee",answer:""},{questionId:"c1a79e4880",answer:""},{questionId:"236f94e3d8",answer:""},{questionId:"05e5ebbfd3",answer:""}]},qnResultData:{EVENT:"SEND_QUESTIONNAIRE_RESULT",questionnaireId:"fqciilpzyc",questionnaireTitle:"问卷名超级长问卷名超级长问卷名超级长问卷名超级长问卷名超级长 (15)",total:1,data:[{questionId:"81bb96d738",name:"单选超级长单选超级长单选超级长单选超级长单选超级长单选超级长",type:"R",option1:"1",option2:"2",option3:"",option4:"",option5:"",answer:"",tips1:null,tips2:null,tips3:null,tips4:null,tips5:null,required:"Y",scoreEnabled:"N",option6:"",option7:"",option8:"",option9:"",option10:null,score:null,itemType:0,option0:"",total:1,totalScore:0,answerResult:[1,0,0,0,0,0,0,0,0,0]},{questionId:"eace92a159",name:" ",type:"R",option1:"1",option2:"2",option3:"",option4:"",option5:"",answer:"",tips1:null,tips2:null,tips3:null,tips4:null,tips5:null,required:"Y",scoreEnabled:"N",option6:"",option7:"",option8:"",option9:"",option10:null,score:null,itemType:0,option0:"",total:1,totalScore:0,answerResult:[1,0,0,0,0,0,0,0,0,0]},{questionId:"815ad5d1f8",name:"undefined",type:"R",option1:"null",option2:"<script>alert(a)<script>",option3:"<h1>123123</h1>",option4:"",option5:"",answer:"",tips1:null,tips2:null,tips3:null,tips4:null,tips5:null,required:"Y",scoreEnabled:"N",option6:"",option7:"",option8:"",option9:"",option10:null,score:null,itemType:0,option0:"",total:1,totalScore:0,answerResult:[1,0,0,0,0,0,0,0,0,0]},{questionId:"1cdacff0ee",name:"<h1>dasdaad</h1>",type:"R",option1:"asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdf1111asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdf11111asdfasdfasdf",option2:"1",option3:"",option4:"",option5:"",answer:"",tips1:null,tips2:null,tips3:null,tips4:null,tips5:null,required:"Y",scoreEnabled:"N",option6:"",option7:"",option8:"",option9:"",option10:null,score:null,itemType:0,option0:"",total:1,totalScore:0,answerResult:[1,0,0,0,0,0,0,0,0,0]},{questionId:"92fd2b01bb",name:"1212312",type:"R",option1:"123",option2:"1231231",option3:"",option4:"",option5:"",answer:"",tips1:null,tips2:null,tips3:null,tips4:null,tips5:null,required:"N",scoreEnabled:"N",option6:"",option7:"",option8:"",option9:"",option10:null,score:null,itemType:0,option0:"",total:0,totalScore:0,answerResult:[0,0,0,0,0,0,0,0,0,0]},{questionId:"07d1f07ab2",name:"的粉体",type:"R",option1:"1",option2:"2",option3:"",option4:"",option5:"",answer:"a",tips1:null,tips2:null,tips3:null,tips4:null,tips5:null,required:"Y",scoreEnabled:"Y",option6:"",option7:"",option8:"",option9:"",option10:null,score:100,itemType:0,option0:"",total:1,totalScore:100,answerResult:[1,0,0,0,0,0,0,0,0,0]},{questionId:"fc727a4b6c",name:"多选测试",type:"C",option1:"1",option2:"2",option3:"",option4:"",option5:"",answer:"",tips1:null,tips2:null,tips3:null,tips4:null,tips5:null,required:"Y",scoreEnabled:"N",option6:"",option7:"",option8:"",option9:"",option10:null,score:null,itemType:0,option0:"",total:1,totalScore:0,answerResult:[1,0,0,0,0,0,0,0,0,0]},{questionId:"5de23226ff",name:"123",type:"C",option1:"1",option2:"2",option3:"2",option4:"3",option5:"",answer:"abcd",tips1:null,tips2:null,tips3:null,tips4:null,tips5:null,required:"Y",scoreEnabled:"Y",option6:"",option7:"",option8:"",option9:"",option10:null,score:99,itemType:0,option0:"",total:1,totalScore:0,answerResult:[0,1,0,0,0,0,0,0,0,0]},{questionId:"98b57b2a60",name:"1231231231231",type:"C",option1:"1",option2:"2",option3:"3",option4:"",option5:"",answer:"c",tips1:null,tips2:null,tips3:null,tips4:null,tips5:null,required:"Y",scoreEnabled:"Y",option6:"",option7:"",option8:"",option9:"",option10:null,score:1,itemType:0,option0:"",total:1,totalScore:0,answerResult:[1,0,0,0,0,0,0,0,0,0]},{questionId:"840e188cee",name:"213123123123123123123123123123",type:"Q",option1:"",option2:"",option3:"",option4:"",option5:"",answer:"",tips1:null,tips2:null,tips3:null,tips4:null,tips5:null,required:"Y",scoreEnabled:"N",option6:"",option7:"",option8:"",option9:"",option10:null,score:null,itemType:0,option0:"",total:1,totalScore:0,answerResult:[0,0,0,0,0,0,0,0,0,0]},{questionId:"c1a79e4880",name:"2",type:"Q",option1:"",option2:"",option3:"",option4:"",option5:"",answer:"",tips1:null,tips2:null,tips3:null,tips4:null,tips5:null,required:"N",scoreEnabled:"N",option6:"",option7:"",option8:"",option9:"",option10:null,score:null,itemType:0,option0:"",total:0,totalScore:0,answerResult:[0,0,0,0,0,0,0,0,0,0]},{questionId:"236f94e3d8",name:"1",type:"Q",option1:"",option2:"",option3:"",option4:"",option5:"",answer:"",tips1:null,tips2:null,tips3:null,tips4:null,tips5:null,required:"Y",scoreEnabled:"Y",option6:"",option7:"",option8:"",option9:"",option10:null,score:1,itemType:0,option0:"",total:1,totalScore:0,answerResult:[0,0,0,0,0,0,0,0,0,0]},{questionId:"05e5ebbfd3",name:"12312312312123123",type:"Q",option1:"123",option2:"3123123",option3:"",option4:"",option5:"",answer:"",tips1:null,tips2:null,tips3:null,tips4:null,tips5:null,required:"N",scoreEnabled:"Y",option6:"",option7:"",option8:"",option9:"",option10:null,score:99,itemType:0,option0:"",total:0,totalScore:0,answerResult:[0,0,0,0,0,0,0,0,0,0]}]}},(()=>{this.init()}))}}});