| 1 |
- "use strict";const e=require("../../common/vendor.js"),t=require("../../common/assets.js"),a=require("../../api/assessment.js"),r={__name:"report",setup(r){const s=e.ref(!0),o=e.ref(""),n=e.ref(0),l=e.ref("测评报告"),u=e.ref(""),i=e.ref({categories:[],series:[]}),c=e.ref([]);e.onLoad((async t=>{if(o.value=t.id||t.assessmentId||"",!o.value)return e.index.showToast({title:"参数错误",icon:"none"}),void(s.value=!1);await v()}));const v=async()=>{if(o.value&&"undefined"!==o.value)try{const t=e.index.getStorageSync("userInfo")||{},r=t.studentId||t.id;if(!r)return void e.index.showToast({title:"请先登录",icon:"none"});const v=await a.getEvaluationResult(o.value,r);if(200===v.code&&v.data){const e=v.data;if(c.value=e.abilityResults||[],i.value=e.radarChart||{categories:[],series:[]},e.totalScore)n.value=Math.round(Number(e.totalScore));else if(i.value.series.length>0){const e=i.value.series.reduce(((e,t)=>e+(Number(t)||0)),0);n.value=Math.round(e/i.value.series.length)}l.value=e.evaluationName||"测评报告",u.value=(new Date).toLocaleString()}}catch(t){console.error("加载报告失败:",t)}finally{s.value=!1}else s.value=!1},d=(e,t)=>({x:50+t*Math.cos((e-90)*Math.PI/180),y:50+t*Math.sin((e-90)*Math.PI/180)}),m=e=>{const t=Math.max(i.value.categories.length,3),a=[];for(let r=0;r<t;r++){const{x:s,y:o}=d(r*(360/t),e);a.push(`${s}% ${o}%`)}return`polygon(${a.join(", ")})`},f=e.computed((()=>{const e=Math.max(i.value.categories.length,3);return Array.from({length:e}).map(((t,a)=>({transform:`rotate(${a*(360/e)-90}deg)`})))})),g=e.computed((()=>{const e=i.value.series,t=e.length;if(t<3)return"none";return`polygon(${e.map(((e,a)=>{const r=Math.min(Number(e)||0,100)/100*50,s=Math.max(r,20),{x:o,y:n}=d(a*(360/t),s);return`${o}% ${n}%`})).join(", ")})`})),h=e.computed((()=>{const{categories:e,series:t}=i.value,a=e.length;return e.map(((e,r)=>{const s=t[r],o=Math.min(Number(s)||0,100)/100*50,n=Math.max(o,20),l=d(r*(360/a),n),u=r*(360/a);let i={position:"absolute"};return 0===u?i.bottom="40rpx":u<180?i.left="40rpx":i.right="40rpx",{x:l.x,y:l.y,name:e,score:s,labelStyle:i}}))}));return(a,r)=>e.e({a:s.value},s.value?{}:{b:"rotate("+(2.7*n.value-135)+"deg)",c:e.f(41,((e,t,a)=>({a:e,b:"rotate("+(6*(e-1)-120)+"deg)"}))),d:"rotate("+(2.7*n.value-135)+"deg)",e:e.t(n.value),f:e.t(l.value),g:e.t(u.value),h:e.f([1,2,3,4,5],((t,a,r)=>({a:t,b:e.n("pg-"+t),c:m(20*t)}))),i:e.f(f.value,((t,a,r)=>({a:a,b:e.s(t)}))),j:g.value,k:e.f(h.value,((t,a,r)=>({a:e.t(t.name),b:e.s(t.labelStyle),c:e.t(t.score),d:e.s(t.scoreStyle),e:a,f:t.x+"%",g:t.y+"%"}))),l:e.f(c.value,((t,a,r)=>({a:e.t(t.name),b:e.t(t.isPass?"已达标":"未达标"),c:e.n(t.isPass?"pass":"fail"),d:e.t(t.score),e:a,f:e.o((a=>(t=>{t.inquireLink?(e.index.setStorageSync("temp_report_url",t.inquireLink),e.index.navigateTo({url:"/pages/assessment/quiz?from=report"})):e.index.showToast({title:"暂无详情",icon:"none"})})(t)),a)}))),m:t._imports_0$6})}},s=e._export_sfc(r,[["__scopeId","data-v-67444b2a"]]);wx.createPage(s);
|