PageSourceSearch

https://www.ieduonline.cn/_nuxt/CsPln3C6.js

js ieduonline.cn collected 2026-10-06 14:18:11 UTC 4,954 bytes, 1 lines download raw bytes

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.