1import{d as F,c as U,u as V,o as G,z as M,f as i,s as a,q as N,j as d,g as s,t as n,F as h,r as Q,m as z,p as D,G as I,I as P,y as r,e as l,h as H,i as q,A as L}from"./CxjwaSEV.js";import{U as O}from"./38TlXwE5.js";import{u as R}from"./XP0B5cuS.js";import{u as W,a as J,b as K}from"./DuAX-GCl.js";import"./Bu7hayz2.js";const X={key:1,class:"sp-banner bad"},Y={class:"faq-stats"},Z={class:"faq-stat"},ss={class:"num-hot"},ts={class:"faq-stat"},es={class:"faq-stat"},as={class:"num-ok"},os={class:"faq-stat"},ns={class:"num-bad"},ls={key:2,class:"sp-empty"},is={key:3,class:"sp-empty"},rs={key:4,class:"faq-list"},us={class:"faq-row"},ds={class:"faq-q"},cs={class:"faq-meta"},ps={class:"faq-answer-box"},fs={class:"faq-a"},vs=["onClick"],ms=["onClick"],_s={class:"sp-modal-box"},hs={class:"faq-req"},ks={key:0,class:"sp-banner bad"},ws={class:"sp-field"},bs={class:"sp-modal-ops"},ys=["disabled"],gs=F({__name:"faqs",setup(xs){const{can:$}=R(),g=U(()=>$("self_edit"));V({title:"å®¶é¿é®ç - 妿 ¡é¨æ·"});const{restore:S}=W(),{request:k,guarded:x}=J(),{school:f,restore:T}=K(),w=r(!0),b=r(""),y=r([]),v=r({todo:0,submitted:0,approved:0,rejected:0}),u=r(null),m=r(!1),c=r(""),p=r("");function _(o){return o.status==="approved"?{text:"å·²åå¸",cls:"ok",canEdit:!1}:o.status==="rejected"?{text:"被驳åå¯éç",cls:"bad",canEdit:!0}:!!(o.answer&&String(o.answer).trim())?{text:"å·²çå¤ Â· å¾
å®¡æ ¸",cls:"warn",canEdit:!0}:{text:"å¾
妿 ¡çå¤",cls:"muted",canEdit:!0}}function C(o){return o?String(o).slice(0,16):"â"}async function E(){if(!f.value)return;w.value=!0,b.value="";const[o,t]=await Promise.all([x(()=>k("GET",`/school-portal/schools/${f.value.id}/faqs`)),x(()=>k("GET",`/school-portal/schools/${f.value.id}/overview`))]);o&&(y.value=o),t?.faqs&&(v.value=t.faqs),w.value=!1}function A(o){u.value=o,p.value=o.answer||"",c.value=""}async function j(){if(c.value="",!p.value.trim()){c.value="请填åçå¤å
容";return}m.value=!0;
1try{await k("PUT",`/school-portal/schools/${f.value.id}/faqs/${u.value.id}`,{answer:p.value.trim()}),u.value=null,await E()}catch(o){c.value=o?.data?.message||o?.message||"æäº¤å¤±è´¥"}finally{m.value=!1}}return G(()=>{if(S(),T(),!f.value){M("/school-portal");return}E()}),(o,t)=>(l(),i("div",null,[a(g)?d("",!0):(l(),N(O,{key:0,feature:"self_edit"})),t[11]||(t[11]=s("div",{class:"sp-head"},[s("div",null,[s("h1",null,"å®¶é¿é®ç"),s("p",{class:"sp-sub"},"å®¶é¿å¨å¾®å®ç½ FAQ æ¿åçæé®ä¼åºç°å¨è¿éï¼çå¤åæäº¤å¹³å°å®¡æ ¸ï¼éè¿åå
¬å¼å±ç¤º")])],-1)),a(b)?(l(),i("p",X,n(a(b)),1)):d("",!0),s("div",Y,[s("div",Z,[s("em",ss,n(a(v).todo??0),1),t[3]||(t[3]=s("span",null,"å¾
妿 ¡çå¤",-1))]),s("div",ts,[s("em",null,n(a(v).submitted??0),1),t[4]||(t[4]=s("span",null,"å·²çå¤ Â· å¾
å¹³å°å®¡æ ¸",-1))]),s("div",es,[s("em",as,n(a(v).approved??0),1),t[5]||(t[5]=s("span",null,"å·²åå¸å±ç¤º",-1))]),s("div",os,[s("em",ns,n(a(v).rejected??0),1),t[6]||(t[6]=s("span",null,"被驳å",-1))])]),a(w)?(l(),i("div",ls,"å è½½ä¸â¦")):a(y).length?(l(),i("div",rs,[(l(!0),i(h,null,Q(a(y),e=>(l(),i("div",{key:e.id,class:"faq-item"},[s("div",us,[s("span",ds,n(e.question),1),s("span",{class:H(["faq-tag",_(e).cls])},n(_(e).text),3)]),s("div",cs,[q(" æé®è
ï¼"+n(e.asker_name||"å®¶é¿")+" · "+n(C(e.asked_at))+" ",1),e.status==="approved"?(l(),i(h,{key:0},[q(" · å®¡æ ¸ï¼"+n(e.answered_name||"å¹³å°")+"ï¼"+n(C(e.answered_at))+"ï¼",1)],64)):d("",!0)]),s("div",ps,[e.answer&&String(e.answer).trim()?(l(),i(h,{key:0},[s("p",fs,n(e.answer),1),_(e).canEdit?(l(),i("button",{key:0,class:"sp-mini",onClick:B=>A(e)},n(e.status==="rejected"?"éæ°çå¤":"ä¿®æ¹çå¤"),9,vs)):d("",!0)],64)):(l(),i(h,{key:1},[t[7]||(t[7]=s("span",{class:"faq-a-empty"},"妿 ¡è¿æ²¡æçå¤",-1)),_(e).canEdit?(l(),i("button",{key:0,class:"sp-mini",onClick:B=>A(e)},"å»çå¤",8,ms)):d("",!0)],64))])]))),128))])):(l(),i("div",is," ææ å®¶é¿æé®ãå®¶é¿å¨å¾®å®ç½ FAQ æ¿åç»å½æé®åï¼ä¼ç¬¬ä¸æ¶é´åºç°å¨è¿éçå¾
妿 ¡çå¤ã ")),a(u)?(l(),i("div",{key:5,class:"sp-modal",onClick:t[2]||(t[2]=z(e=>u.value=null,["self"]))},[s("div",_s,[t[9]||(t[9]=s("h3",null,"çå¤å®¶é¿æé®",-1)),s("div",hs,n(a(u).question),1),a(c)?(l(),i("p",ks,n(a(c)),1)):d("",!0),s("label",ws,[t[8]||(t[8]=s("span",null,"çå¤å
容 *",-1)),D(s("textarea",{"onUpdate:modelValue":t[0]||(t[0]=e=>P(p)?p.value=e:null),rows:"6",placeholder:"请å¦å®ã客è§å°çå¤å®¶é¿é®é¢ãæäº¤åç±å¹³å°è¿è¥å®¡æ ¸ï¼éè¿åå±ç¤ºå¨å¾®å®ç½ FAQ æ¿åã"},null,512),[[I,a(p)]])]),t[10]||(t[10]=s("p",{class:"faq-tip"},"ð¡ æäº¤åè¿å
¥å¹³å°å®¡æ ¸éåï¼å®¡æ ¸éè¿ååå°ä¸ä¼å±ç¤ºã",-1)),s("div",bs,[s("button",{class:"sp-btn-ghost",onClick:t[1]||(t[1]=e=>u.value=null)},"åæ¶"),s("button",{class:"sp-btn",disabled:a(m)||!a(g),onClick:j},n(a(m)?"æäº¤ä¸â¦":"æäº¤å®¡æ ¸"),9,ys)])])])):d("",!0)]))}}),Ss=L(gs,[["__scopeId","data-v-ae01ebab"]]);export{Ss as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.