import{D as ne,o as ue,J as V,Q as N,R as l,S as o,r as d,at as r,aZ as se,e as M,U as q,a0 as p,a1 as z,F as T,al as h,a_ as ie,K as J}from"./vue-vendor-BSww6V4k.js";import{E}from"./element-plus-DvNsnHjj.js";import{p as w}from"./paper-D3C2rJDU.js";import{q as re}from"./question-CssTpYmZ.js";import{q as de}from"./questionCategory-02J9ovAP.js";import{P as pe}from"./PageCard-DaHB0nvz.js";import{_ as me}from"./index-BUj-isDj.js";import"./vendor-DvZSZC-J.js";const ce={class:"page-title"},ve={class:"toolbar"},fe={class:"actions"},ge={class:"toolbar"},ye=ne({__name:"paperEdit",setup(_e){const B=se(),P=ie(),C=M(()=>!!B.params.id),$=d(),x=d(!1),a=d({id:void 0,title:"",description:"",totalScore:100,duration:60,passScore:60,questions:[]}),K={title:[{required:!0,message:"请输入试卷名称",trigger:"blur"}],totalScore:[{required:!0,message:"请输入总分",trigger:"blur"}],duration:[{required:!0,message:"请输入时长",trigger:"blur"}],passScore:[{required:!0,message:"请输入及格分",trigger:"blur"}]},b=d(!1),A=d([]),k=d([]),y=d({keyword:"",categoryId:void 0,pageNum:1,pageSize:10,status:"PUBLISHED"}),c=d({current:1,size:10,total:0}),D=d([]),Q=M(()=>{const n=e=>{var u;const s=[];for(const i of e)s.push(i),(u=i.children)!=null&&u.length&&s.push(...n(i.children));return s};return n(D.value)});async function Z(){const n=await de.getTree();D.value=n.data||[]}async function j(){var s;if(!C.value)return;const e=(await w.getById(Number(B.params.id))).data;a.value={id:e.id,title:e.title,description:e.description||"",totalScore:e.totalScore||100,duration:e.duration||60,passScore:e.passScore||60,questions:((s=e.questions)==null?void 0:s.map(u=>{var i,_;return{id:u.id,questionId:u.questionId,score:u.score,sortOrder:u.sortOrder,question:u.question,content:(i=u.question)==null?void 0:i.content,typeName:(_=u.question)==null?void 0:_.typeName}}))||[]}}function G(){b.value=!0,y.value={keyword:"",categoryId:void 0,pageNum:1,pageSize:10,status:"PUBLISHED"},I()}async function I(){const n=await re.getPage({...y.value,pageNum:c.value.current,pageSize:c.value.size});A.value=n.data.records||[],c.value.total=n.data.total||0}function W(n){k.value=n}function X(){for(const n of k.value)a.value.questions.some(s=>s.questionId===n.id)||a.value.questions.push({questionId:n.id,score:10,question:n,content:n.content,typeName:n.typeName});b.value=!1,E.success(`已添加 ${k.value.length} 道题目`)}function Y(n){a.value.questions.splice(n,1)}const S=d(!1),U=d(!1),v=d({categoryIds:[],questionCount:20});function ee(){S.value=!0,v.value={categoryIds:[],questionCount:20}}async function te(){U.value=!0;try{const n=await w.createAuto({title:a.value.title||"智能组卷",totalScore:a.value.totalScore||100,duration:a.value.duration||60,passScore:a.value.passScore||60,categoryIds:v.value.categoryIds,questionCount:v.value.questionCount});E.success("智能组卷成功"),P.push(`/exam/paper-edit/${n.data}`)}finally{U.value=!1}}async function le(){var e;if(await((e=$.value)==null?void 0:e.validate().catch(()=>!1))){x.value=!0;try{const s={id:a.value.id,title:a.value.title,description:a.value.description,totalScore:a.value.totalScore,duration:a.value.duration,passScore:a.value.passScore,questions:a.value.questions.map((u,i)=>({questionId:u.questionId,score:u.score,sortOrder:i+1}))};C.value?await w.update(s):await w.create(s),E.success("保存成功"),P.push("/exam/paper")}finally{x.value=!1}}}return ue(()=>{Z(),j()}),(n,e)=>{const s=r("el-input"),u=r("el-form-item"),i=r("el-input-number"),_=r("el-col"),oe=r("el-row"),L=r("el-form"),m=r("el-button"),f=r("el-table-column"),R=r("el-table"),F=r("el-option"),O=r("el-select"),ae=r("el-pagination"),H=r("el-dialog");return V(),N("div",null,[l(pe,null,{header:o(()=>[q("span",ce,z(C.value?"编辑试卷":"新建试卷"),1)]),default:o(()=>[l(L,{model:a.value,rules:K,ref_key:"formRef",ref:$,"label-width":"100px",style:{"max-width":"720px"}},{default:o(()=>[l(u,{label:"试卷名称",prop:"title"},{default:o(()=>[l(s,{modelValue:a.value.title,"onUpdate:modelValue":e[0]||(e[0]=t=>a.value.title=t),placeholder:"请输入试卷名称"},null,8,["modelValue"])]),_:1}),l(oe,{gutter:16},{default:o(()=>[l(_,{span:8},{default:o(()=>[l(u,{label:"总分",prop:"totalScore"},{default:o(()=>[l(i,{modelValue:a.value.totalScore,"onUpdate:modelValue":e[1]||(e[1]=t=>a.value.totalScore=t),min:1,max:999,"controls-position":"right",style:{width:"100%"}},null,8,["modelValue"])]),_:1})]),_:1}),l(_,{span:8},{default:o(()=>[l(u,{label:"时长",prop:"duration"},{default:o(()=>[l(i,{modelValue:a.value.duration,"onUpdate:modelValue":e[2]||(e[2]=t=>a.value.duration=t),min:1,max:300,"controls-position":"right",style:{width:"100%"}},null,8,["modelValue"])]),_:1})]),_:1}),l(_,{span:8},{default:o(()=>[l(u,{label:"及格分",prop:"passScore"},{default:o(()=>[l(i,{modelValue:a.value.passScore,"onUpdate:modelValue":e[3]||(e[3]=t=>a.value.passScore=t),min:0,max:999,"controls-position":"right",style:{width:"100%"}},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(u,{label:"试卷说明"},{default:o(()=>[l(s,{modelValue:a.value.description,"onUpdate:modelValue":e[4]||(e[4]=t=>a.value.description=t),type:"textarea",rows:3,placeholder:"可选"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),e[21]||(e[21]=q("div",{class:"section-title"},"题目列表",-1)),q("div",ve,[l(m,{type:"primary",onClick:G},{default:o(()=>[...e[16]||(e[16]=[p("+ 添加题目",-1)])]),_:1}),l(m,{onClick:ee},{default:o(()=>[...e[17]||(e[17]=[p("智能组卷",-1)])]),_:1})]),l(R,{data:a.value.questions,stripe:"",border:""},{default:o(()=>[l(f,{type:"index",width:"50"}),l(f,{prop:"question?.content",label:"题干","min-width":"260"},{default:o(({row:t})=>{var g;return[p(z(((g=t.question)==null?void 0:g.content)||t.content||"-"),1)]}),_:1}),l(f,{prop:"question?.typeName",label:"题型",width:"100"},{default:o(({row:t})=>{var g;return[p(z(((g=t.question)==null?void 0:g.typeName)||t.typeName||"-"),1)]}),_:1}),l(f,{prop:"score",label:"分值",width:"100"},{default:o(({row:t})=>[l(i,{modelValue:t.score,"onUpdate:modelValue":g=>t.score=g,min:1,max:999,"controls-position":"right",size:"small",style:{width:"90px"}},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(f,{label:"操作",width:"100"},{default:o(({$index:t})=>[l(m,{link:"",type:"danger",onClick:g=>Y(t)},{default:o(()=>[...e[18]||(e[18]=[p("移除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"]),q("div",fe,[l(m,{type:"primary",onClick:le,loading:x.value},{default:o(()=>[...e[19]||(e[19]=[p("保存",-1)])]),_:1},8,["loading"]),l(m,{onClick:e[5]||(e[5]=t=>n.$router.back())},{default:o(()=>[...e[20]||(e[20]=[p("取消",-1)])]),_:1})])]),_:1}),l(H,{modelValue:b.value,"onUpdate:modelValue":e[11]||(e[11]=t=>b.value=t),title:"选择题目",width:"720px","destroy-on-close":""},{footer:o(()=>[l(m,{onClick:e[10]||(e[10]=t=>b.value=!1)},{default:o(()=>[...e[23]||(e[23]=[p("取消",-1)])]),_:1}),l(m,{type:"primary",onClick:X},{default:o(()=>[...e[24]||(e[24]=[p("确定添加",-1)])]),_:1})]),default:o(()=>[q("div",ge,[l(s,{modelValue:y.value.keyword,"onUpdate:modelValue":e[6]||(e[6]=t=>y.value.keyword=t),placeholder:"搜索题干",style:{width:"200px"},clearable:""},null,8,["modelValue"]),l(O,{modelValue:y.value.categoryId,"onUpdate:modelValue":e[7]||(e[7]=t=>y.value.categoryId=t),placeholder:"全部分类",clearable:"",style:{width:"150px"}},{default:o(()=>[(V(!0),N(T,null,h(Q.value,t=>(V(),J(F,{key:t.id,label:t.name,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(m,{type:"primary",onClick:I},{default:o(()=>[...e[22]||(e[22]=[p("查询",-1)])]),_:1})]),l(R,{data:A.value,stripe:"",height:"320",onSelectionChange:W},{default:o(()=>[l(f,{type:"selection",width:"50"}),l(f,{prop:"content",label:"题干","show-overflow-tooltip":""}),l(f,{prop:"typeName",label:"题型",width:"100"})]),_:1},8,["data"]),l(ae,{"current-page":c.value.current,"onUpdate:currentPage":e[8]||(e[8]=t=>c.value.current=t),"page-size":c.value.size,"onUpdate:pageSize":e[9]||(e[9]=t=>c.value.size=t),total:c.value.total,layout:"prev, pager, next",onCurrentChange:I},null,8,["current-page","page-size","total"])]),_:1},8,["modelValue"]),l(H,{modelValue:S.value,"onUpdate:modelValue":e[15]||(e[15]=t=>S.value=t),title:"智能组卷",width:"480px","destroy-on-close":""},{footer:o(()=>[l(m,{onClick:e[14]||(e[14]=t=>S.value=!1)},{default:o(()=>[...e[25]||(e[25]=[p("取消",-1)])]),_:1}),l(m,{type:"primary",onClick:te,loading:U.value},{default:o(()=>[...e[26]||(e[26]=[p("生成试卷",-1)])]),_:1},8,["loading"])]),default:o(()=>[l(L,{model:v.value,"label-width":"100px"},{default:o(()=>[l(u,{label:"选择分类"},{default:o(()=>[l(O,{modelValue:v.value.categoryIds,"onUpdate:modelValue":e[12]||(e[12]=t=>v.value.categoryIds=t),multiple:"",placeholder:"选择题目分类",style:{width:"100%"}},{default:o(()=>[(V(!0),N(T,null,h(Q.value,t=>(V(),J(F,{key:t.id,label:t.name,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(u,{label:"题目数量"},{default:o(()=>[l(i,{modelValue:v.value.questionCount,"onUpdate:modelValue":e[13]||(e[13]=t=>v.value.questionCount=t),min:1,max:100,"controls-position":"right"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}}),Ie=me(ye,[["__scopeId","data-v-16885778"]]);export{Ie as default};