1 |
- import{a as X,aB as Y,r as M,q as ee,aj as se,c as n,o as i,b as e,S as te,K as oe,M as _,Q as d,R as x,a9 as Q,G as h}from"./vue.D1BjjNmv.js";import{S as ae}from"./index.7H39uwY0.js";import{_ as ne}from"./_plugin-vue_export-helper.DlAUqK2U.js";const ie={class:"page-container"},re={class:"content-container"},de={class:"max-w-4xl mx-auto p-6"},le={key:0,class:"bg-red-100 border border-red-400 text-red-700 px-4 py-3 rounded relative",role:"alert"},_e={class:"block sm:inline"},ce={key:1,class:"flex flex-col items-center justify-center py-12 bg-gray-50 rounded-lg"},ue={key:2,class:"space-y-4"},pe={class:"mb-4"},ve={class:"flex items-start space-x-2"},ge={class:"bg-blue-100 text-blue-800 px-2 py-1 rounded text-sm"},he={class:"bg-gray-100 text-gray-800 px-2 py-1 rounded text-sm"},me={class:"flex-1"},xe={class:"font-semibold text-gray-800"},fe={key:0,class:"mt-4"},ye={class:"bg-white p-4 rounded-lg"},we={key:0,class:"space-y-3"},be={class:"flex items-center justify-between"},ke={class:"flex-1"},qe={class:"text-gray-700"},je={class:"flex items-center space-x-2"},Ie={key:0,class:"text-green-500"},Le={key:0,class:"text-blue-500"},Ve={class:"mt-4 flex justify-between items-center"},Be={class:"text-gray-600"},Ce={key:0,class:"w-10"},Re={key:1,class:"mt-4"},Se={class:"flex space-x-4"},Fe={class:"w-2/3"},Me={class:"bg-white p-4 rounded-lg"},Qe={class:"mb-4"},Ne={class:"flex items-start space-x-2"},$e={class:"flex-1"},Ae={class:"text-gray-700"},He={class:"flex items-start space-x-2"},Te={class:"flex-1"},Ue={class:"text-gray-600 m-0"},ze={class:"mt-1 text-blue-500"},De={class:"w-1/3"},Pe={class:"video-container"},Ee=["src","poster"],Ge={key:0,class:"mt-4 pl-8 border-l-2 border-gray-200"},Ke={class:"flex items-start space-x-2"},We={class:"flex-1"},Ze={class:"font-medium text-gray-800"},Je={class:"mt-2"},Oe={class:"flex space-x-4"},Xe={class:"w-2/3"},Ye={class:"bg-white p-4 rounded-lg"},es={class:"mb-4"},ss={class:"flex items-start space-x-2"},ts={class:"flex-1"},os={class:"text-gray-700"},as={class:"flex items-start space-x-2"},ns={class:"flex-1"},is={class:"text-gray-600 m-0"},rs={class:"mt-1 text-blue-500"},ds={key:0,class:"w-1/3"},ls={class:"video-container"},_s=["src","poster"],cs={key:2,class:"mt-4"},us={class:"grid grid-cols-2 gap-4"},ps={class:"bg-white p-4 rounded-lg"},vs={class:"aspect-w-16 aspect-h-9 rounded-lg overflow-hidden bg-gray-100"},gs=["src"],hs={class:"bg-white p-4 rounded-lg"},ms={key:0,class:"space-y-3"},xs={class:"flex items-center justify-between"},fs={class:"flex-1"},ys={class:"text-gray-700"},ws={class:"flex items-center space-x-2"},bs={key:0,class:"text-green-500"},ks={class:"mt-4 flex justify-between items-center"},qs={class:"text-gray-600"},js={key:3,class:"mt-4"},Is={class:"bg-white p-4 rounded-lg"},Ls={class:"mt-4 flex justify-between items-center"},Vs={class:"text-gray-600"},Bs={key:0},Cs=X({__name:"topic",setup(Rs){const N=Y(),f=M([]),C=M(!0),R=M(""),p=M("data:image/svg+xml;base64,PHN2ZyB..."),Z=r=>{const o=r.target;o&&(o.src=p.value,o.onerror=null)},A=r=>{const o=r.target;o&&(o.readyState>=1?T(o):o.addEventListener("loadedmetadata",()=>{T(o)}))},H=r=>{const o=r.target;o&&(o.poster=p.value,console.error("视频加载错误"))},J=async()=>{var r;C.value=!0;try{const o=N.query.id||"1",c=N.query.tenant_id||"1",s=N.query.applicationId||"1",v=await(await fetch(`https://backend.qicai321.com/api/job/application_detail?tenant_id=${ae.get("tenant_id")}&application_id=${s}`)).json();if(v.code===2e3&&((r=v.data)!=null&&r.interview_progress)){const S=v.data.interview_progress.filter(a=>a.video_answer||a.answer_data).map(a=>{var u,g;const l={question:a.question_text||"未提供问题",answer:"",analysis:"",score:"",question_form:a.question_form,parent_question_id:a.parent_question_id,options:a.options,answer_data:a.answer_data,follow_up_questions:[],question_id:a.question_id};return a.video_answer&&(l.answer=a.video_answer.transcript||"",l.analysis=((u=a.video_answer.ai_analysis)==null?void 0:u.comment)||"",l.score=a.video_answer.ai_score?`${a.video_answer.ai_score}分`:"",l.videoUrl=a.video_answer.video_url||""),a.answer_data&&(l.answer=a.answer_data.text_answer||"",l.is_correct=((g=a.answer_data.selected_option_details)==null?void 0:g.some(F=>F.is_correct))||!1),a.question_form===3&&(l.question_image_url=a.question_image_url||""),l}),w=[],b=[];S.forEach(a=>{a.question_form===5&&a.parent_question_id?b.push(a):w.push(a)});const k=w.sort((a,l)=>{const u=g=>{switch(g){case 0:return 1;case 5:return 2;case 1:return 3;case 2:return 4;case 3:return 5;case 4:return 6;default:return 99}};return u(a.question_form||-1)-u(l.question_form||-1)});[...b].reverse().forEach(a=>{const l=k.find(u=>u.question_form===0&&u.question_id===a.parent_question_id);l&&(l.follow_up_questions||(l.follow_up_questions=[]),l.follow_up_questions.unshift(a))}),f.value=k}else R.value=v.msg||"获取数据失败"}catch(o){console.error("获取面试记录失败:",o),R.value="获取数据失败,请稍后重试"}finally{C.value=!1}},T=r=>{const o=()=>{try{if(r.readyState>=2){const c=document.createElement("canvas");c.width=r.videoWidth||320,c.height=r.videoHeight||240;const s=c.getContext("2d");if(s){r.currentTime=.1,s.drawImage(r,0,0,c.width,c.height);const y=c.toDataURL("image/jpeg");r.poster=y,r.removeEventListener("loadeddata",o)}}}catch(c){console.error("捕获视频第一帧失败:",c),r.poster=p.value}};r.addEventListener("loadeddata",o),r.readyState>=2&&o(),r.addEventListener("error",()=>{console.error("视频加载失败"),r.poster=p.value}),setTimeout(()=>{(!r.poster||r.poster==="")&&(r.poster=p.value)},3e3)},O=r=>({0:"视频问答题(AI面试官提问)",1:"单选题(知识检测)",2:"多选题(综合选择)",3:"图片选择题(场景判断)",4:"问卷题(个性测评)",5:"开放问答题(追问互动)",6:"填空题"})[r]||"未知题型";return ee(()=>{J()}),(r,o)=>{const c=se("a-spin");return i(),n("div",ie,[e("div",re,[e("div",de,[te(c,{spinning:C.value,tip:"加载中..."},{default:oe(()=>[R.value?(i(),n("div",le,[o[0]||(o[0]=e("strong",{class:"font-bold"},"错误!",-1)),e("span",_e,d(R.value),1)])):!C.value&&(!f.value||f.value.length===0)?(i(),n("div",ce,o[1]||(o[1]=[e("svg",{class:"w-16 h-16 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})],-1),e("h3",{class:"mt-4 text-lg font-medium text-gray-900"},"暂无面试记录",-1),e("p",{class:"mt-1 text-sm text-gray-500"},"当前没有任何面试记录数据",-1)]))):f.value.length>0?(i(),n("div",ue,[(i(!0),n(x,null,Q(f.value,(s,y)=>{var v,S,w,b,k,$,a,l,u,g,F,U,z,D,P,E,G,K;return i(),n("div",{key:y,class:"bg-gray-50 rounded-lg p-4"},[e("div",pe,[e("div",ve,[e("div",ge,"第"+d(y+1)+"题",1),e("div",he,d(O(s.question_form||0)),1),e("div",me,[e("h3",xe,d(s.question),1)])]),s.question_form===1||s.question_form===2||s.question_form===4?(i(),n("div",fe,[e("div",ye,[s.options&&s.options.length>0?(i(),n("div",we,[(i(!0),n(x,null,Q(s.options,(t,q)=>{var j,I,L,V,m,W;return i(),n("div",{key:q,class:h(["p-3 rounded border",(I=(j=s.answer_data)==null?void 0:j.selected_option_details)!=null&&I.some(B=>B.id===t.id)?"border-blue-300 bg-blue-50":"border-gray-200"])},[e("div",be,[e("div",ke,[e("span",qe,d(t.option_text),1)]),e("div",je,[s.question_form!==4?(i(),n(x,{key:0},[t.is_correct?(i(),n("span",Ie,"✓ 正确答案")):_("",!0),(V=(L=s.answer_data)==null?void 0:L.selected_option_details)!=null&&V.some(B=>B.id===t.id)?(i(),n("span",{key:1,class:h(t.is_correct?"text-green-500":"text-red-500")},d(t.is_correct?"(已选 - 正确)":"(已选 - 错误)"),3)):_("",!0)],64)):(i(),n(x,{key:1},[(W=(m=s.answer_data)==null?void 0:m.selected_option_details)!=null&&W.some(B=>B.id===t.id)?(i(),n("span",Le," (已选) ")):_("",!0)],64))])])],2)}),128))])):_("",!0),e("div",Ve,[e("div",Be," 候选人: "+d(((S=(v=s.answer_data)==null?void 0:v.selected_option_details)==null?void 0:S.map(t=>t.option_text).join(", "))||"未作答"),1),s.question_form!==4?(i(),n("div",Ce,[e("span",{class:h(["px-3 py-1 rounded-full text-sm",(b=(w=s.answer_data)==null?void 0:w.selected_option_details)!=null&&b.every(t=>t.is_correct)?"bg-green-100 text-green-800":"bg-red-100 text-red-800"])},d(($=(k=s.answer_data)==null?void 0:k.selected_option_details)!=null&&$.every(t=>t.is_correct)?"正确":"错误"),3)])):_("",!0)])])])):s.question_form===0||s.question_form===5?(i(),n("div",Re,[e("div",Se,[e("div",Fe,[e("div",Me,[e("div",Qe,[e("div",Ne,[o[2]||(o[2]=e("div",{class:"bg-green-100 text-green-800 px-2 py-1 rounded text-sm"},"候选人",-1)),e("div",$e,[e("p",Ae,d(s.answer),1)])])]),e("div",null,[e("div",He,[o[3]||(o[3]=e("div",{class:"bg-yellow-100 text-yellow-800 px-2 py-1 rounded text-sm"},"AI评分",-1)),e("div",Te,[e("p",Ue,d(s.analysis),1),e("div",ze,"得分:"+d(s.score),1)])])])])]),e("div",De,[e("div",Pe,[e("video",{class:"w-full h-full object-cover rounded-lg",controls:"",src:s.videoUrl,preload:"metadata",poster:p.value,onLoadeddata:A,onError:H}," 您的浏览器不支持视频播放。 ",40,Ee)])])]),s.follow_up_questions&&s.follow_up_questions.length>0?(i(),n("div",Ge,[(i(!0),n(x,null,Q(s.follow_up_questions,(t,q)=>(i(),n("div",{key:q,class:"mb-4"},[e("div",Ke,[o[6]||(o[6]=e("div",{class:"bg-purple-100 text-purple-800 px-2 py-1 rounded text-sm"},"追问题",-1)),e("div",We,[e("h4",Ze,d(t.question),1),e("div",Je,[e("div",Oe,[e("div",Xe,[e("div",Ye,[e("div",es,[e("div",ss,[o[4]||(o[4]=e("div",{class:"bg-green-100 text-green-800 px-2 py-1 rounded text-sm"},"候选人",-1)),e("div",ts,[e("p",os,d(t.answer),1)])])]),e("div",null,[e("div",as,[o[5]||(o[5]=e("div",{class:"bg-yellow-100 text-yellow-800 px-2 py-1 rounded text-sm"},"AI评分",-1)),e("div",ns,[e("p",is,d(t.analysis),1),e("div",rs,"得分:"+d(t.score),1)])])])])]),t.videoUrl?(i(),n("div",ds,[e("div",ls,[e("video",{class:"w-full h-full object-cover rounded-lg",controls:"",src:t.videoUrl,preload:"metadata",poster:p.value,onLoadeddata:A,onError:H}," 您的浏览器不支持视频播放。 ",40,_s)])])):_("",!0)])])])])]))),128))])):_("",!0)])):s.question_form===3?(i(),n("div",cs,[e("div",us,[e("div",ps,[e("div",vs,[e("img",{src:s.question_image_url,alt:"题目图片",class:"w-full h-full object-contain",onError:Z},null,40,gs)])]),e("div",hs,[s.options&&s.options.length>0?(i(),n("div",ms,[(i(!0),n(x,null,Q(s.options,(t,q)=>{var j,I,L,V;return i(),n("div",{key:q,class:h(["p-3 rounded border",(I=(j=s.answer_data)==null?void 0:j.selected_option_details)!=null&&I.some(m=>m.id===t.id)?"border-blue-300 bg-blue-50":"border-gray-200"])},[e("div",xs,[e("div",fs,[e("span",ys,d(t.option_text),1)]),e("div",ws,[t.is_correct?(i(),n("span",bs,"✓ 正确答案")):_("",!0),(V=(L=s.answer_data)==null?void 0:L.selected_option_details)!=null&&V.some(m=>m.id===t.id)?(i(),n("span",{key:1,class:h(t.is_correct?"text-green-500":"text-red-500")},d(t.is_correct?"(已选 - 正确)":"(已选 - 错误)"),3)):_("",!0)])])],2)}),128))])):_("",!0),e("div",ks,[e("div",qs," 答案: "+d(((l=(a=s.answer_data)==null?void 0:a.selected_option_details)==null?void 0:l.map(t=>t.option_text).join(", "))||"未作答"),1),e("div",null,[e("span",{class:h(["px-3 py-1 rounded-full text-sm",(g=(u=s.answer_data)==null?void 0:u.selected_option_details)!=null&&g.every(t=>t.is_correct)?"bg-green-100 text-green-800":"bg-red-100 text-red-800"])},d((U=(F=s.answer_data)==null?void 0:F.selected_option_details)!=null&&U.every(t=>t.is_correct)?"正确":"错误"),3)])])])])])):_("",!0),s.question_form===6?(i(),n("div",js,[e("div",Is,[e("div",Ls,[e("div",Vs," 候选人作答: "+d(((D=(z=s.answer_data)==null?void 0:z.blank_answers)==null?void 0:D.map(t=>t.answer_text).join(", "))||"未作答"),1),s.question_form!==4?(i(),n("div",Bs,[e("span",{class:h(["px-3 py-1 rounded-full text-sm",(E=(P=s.answer_data)==null?void 0:P.blank_answers)!=null&&E.every(t=>t.is_correct)?"bg-green-100 text-green-800":"bg-red-100 text-red-800"])},d((K=(G=s.answer_data)==null?void 0:G.blank_answers)!=null&&K.every(t=>t.is_correct)?"正确":"错误"),3)])):_("",!0)])])])):_("",!0)])])}),128))])):_("",!0)]),_:1},8,["spinning"])])])])}}}),Qs=ne(Cs,[["__scopeId","data-v-e403a57a"]]);export{Qs as default};
|