import{D as J,o as $,J as d,Q as p,R as l,S as n,aZ as F,e as w,r as _,K as x,U as q,F as L,al as S,a0 as g,$ as k,a1 as O,at as m,a_ as K}from"./vue-vendor-BSww6V4k.js";import{E as P}from"./element-plus-DvNsnHjj.js";import{q as U}from"./question-CssTpYmZ.js";import{q as Q}from"./questionCategory-02J9ovAP.js";import{P as Y}from"./PageCard-DaHB0nvz.js";import{_ as Z}from"./index-BUj-isDj.js";import"./vendor-DvZSZC-J.js";const j={class:"page-title"},z={class:"options-area"},H={key:0,class:"form-tip"},W={key:1,class:"form-tip"},X=J({__name:"questionEdit",setup(ee){const C=F(),N=K(),f=w(()=>!!C.params.id),I=_(),V=_(!1),h=_([]),t=_({id:void 0,type:"SINGLE",content:"",options:[],answer:"",analysis:"",categoryId:void 0}),b=w(()=>["SINGLE","MULTI","JUDGE"].includes(t.value.type)),B=w(()=>{const s=e=>{var i;const o=[];for(const u of e)o.push(u),(i=u.children)!=null&&i.length&&o.push(...s(u.children));return o};return s(h.value)}),D={type:[{required:!0,message:"请选择题型",trigger:"change"}],content:[{required:!0,message:"请输入题干",trigger:"blur"}],answer:[{required:!0,message:"请输入正确答案",trigger:"blur"}]};function r(){var e;const s=String.fromCharCode(65+(((e=t.value.options)==null?void 0:e.length)||0));t.value.options=[...t.value.options||[],{key:s,value:""}]}function G(s){var e;(e=t.value.options)==null||e.splice(s,1)}async function M(){const s=await Q.getTree();h.value=s.data||[]}async function R(){var o,i;if(!f.value){r(),r(),r(),r();return}const e=(await U.getById(Number(C.params.id))).data;t.value={id:e.id,type:e.type,content:e.content,options:(o=e.options)!=null&&o.length?e.options:[],answer:e.answer||"",analysis:e.analysis||"",categoryId:e.categoryId},!((i=t.value.options)!=null&&i.length)&&b.value&&(r(),r(),r(),r())}async function T(){var e;if(await((e=I.value)==null?void 0:e.validate().catch(()=>!1))){V.value=!0;try{const o={...t.value};b.value||(o.options=void 0),f.value?await U.update(o):await U.create(o),P.success("保存成功"),N.push("/exam/question")}finally{V.value=!1}}}return $(()=>{M(),R()}),(s,e)=>{const o=m("el-option"),i=m("el-select"),u=m("el-form-item"),c=m("el-input"),v=m("el-button"),A=m("el-form");return d(),p("div",null,[l(Y,null,{header:n(()=>[q("span",j,O(f.value?"编辑题目":"新建题目"),1)]),default:n(()=>[l(A,{model:t.value,rules:D,ref_key:"formRef",ref:I,"label-width":"100px",style:{"max-width":"720px"}},{default:n(()=>[l(u,{label:"题型",prop:"type"},{default:n(()=>[l(i,{modelValue:t.value.type,"onUpdate:modelValue":e[0]||(e[0]=a=>t.value.type=a),placeholder:"请选择题型",style:{width:"100%"},disabled:f.value},{default:n(()=>[l(o,{label:"单选题",value:"SINGLE"}),l(o,{label:"多选题",value:"MULTI"}),l(o,{label:"判断题",value:"JUDGE"}),l(o,{label:"填空题",value:"FILL"}),l(o,{label:"简答题",value:"ESSAY"})]),_:1},8,["modelValue","disabled"])]),_:1}),l(u,{label:"题干",prop:"content"},{default:n(()=>[l(c,{modelValue:t.value.content,"onUpdate:modelValue":e[1]||(e[1]=a=>t.value.content=a),type:"textarea",rows:3,placeholder:"请输入题目内容"},null,8,["modelValue"])]),_:1}),b.value?(d(),x(u,{key:0,label:"选项"},{default:n(()=>[q("div",z,[(d(!0),p(L,null,S(t.value.options,(a,E)=>(d(),p("div",{key:E,class:"option-row"},[l(c,{modelValue:a.key,"onUpdate:modelValue":y=>a.key=y,placeholder:"选项Key",style:{width:"100px"}},null,8,["modelValue","onUpdate:modelValue"]),l(c,{modelValue:a.value,"onUpdate:modelValue":y=>a.value=y,placeholder:"选项内容",style:{flex:"1"}},null,8,["modelValue","onUpdate:modelValue"]),l(v,{link:"",type:"danger",onClick:y=>G(E)},{default:n(()=>[...e[6]||(e[6]=[g("删除",-1)])]),_:1},8,["onClick"])]))),128)),l(v,{link:"",type:"primary",onClick:r},{default:n(()=>[...e[7]||(e[7]=[g("+ 添加选项",-1)])]),_:1})])]),_:1})):k("",!0),l(u,{label:"正确答案",prop:"answer"},{default:n(()=>[l(c,{modelValue:t.value.answer,"onUpdate:modelValue":e[2]||(e[2]=a=>t.value.answer=a),placeholder:"请输入正确答案"},null,8,["modelValue"]),t.value.type==="MULTI"?(d(),p("div",H,"多选题答案用英文逗号分隔,如 A,B")):k("",!0),t.value.type==="JUDGE"?(d(),p("div",W,"判断题填写 true 或 false")):k("",!0)]),_:1}),l(u,{label:"解析"},{default:n(()=>[l(c,{modelValue:t.value.analysis,"onUpdate:modelValue":e[3]||(e[3]=a=>t.value.analysis=a),type:"textarea",rows:3,placeholder:"可选,答案解析"},null,8,["modelValue"])]),_:1}),l(u,{label:"所属分类"},{default:n(()=>[l(i,{modelValue:t.value.categoryId,"onUpdate:modelValue":e[4]||(e[4]=a=>t.value.categoryId=a),placeholder:"请选择分类",style:{width:"100%"},clearable:""},{default:n(()=>[(d(!0),p(L,null,S(B.value,a=>(d(),x(o,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(u,null,{default:n(()=>[l(v,{type:"primary",onClick:T,loading:V.value},{default:n(()=>[...e[8]||(e[8]=[g("保存",-1)])]),_:1},8,["loading"]),l(v,{onClick:e[5]||(e[5]=a=>s.$router.back())},{default:n(()=>[...e[9]||(e[9]=[g("取消",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1})])}}}),re=Z(X,[["__scopeId","data-v-10cf68cc"]]);export{re as default};