QuestionOptionsEditor.2UKmQSFg.js 2.8 KB

1
  1. import{a as N,r as O,w as f,aj as s,c as r,o as l,S as u,K as m,b as a,R as x,a9 as h,J as _,M as L,P as V}from"./vue.D1BjjNmv.js";import{_ as M}from"./_plugin-vue_export-helper.DlAUqK2U.js";const Q={class:"question-options-editor"},j={key:0},A={key:1},I=["onClick"],J={class:"option-actions"},K=N({__name:"QuestionOptionsEditor",props:{modelValue:{},questionForm:{}},emits:["update:modelValue"],setup(y,{emit:k}){const d=y,g=k,e=O([...d.modelValue]);f(()=>e.value,t=>{g("update:modelValue",t)},{deep:!0}),f(()=>d.modelValue,t=>{e.value=[...t]},{deep:!0});const C=t=>{d.questionForm===1?e.value.forEach((o,c)=>{o.is_correct=c===t}):e.value[t].is_correct=!e.value[t].is_correct},b=()=>{const t=e.value.length>0?Math.max(...e.value.map(o=>o.sort||0))+1:1;d.questionForm===4?e.value.push({option_text:"",score:0,sort:t}):e.value.push({option_text:"",is_correct:!1,sort:t})},w=()=>{e.value.length>2&&e.value.pop()};return(t,o)=>{const c=s("el-input"),q=s("el-input-number"),F=s("el-radio"),U=s("el-checkbox"),B=s("el-tooltip"),v=s("el-button"),E=s("el-card");return l(),r("div",Q,[u(E,null,{default:m(()=>[t.questionForm===4?(l(),r("div",j,[o[0]||(o[0]=a("div",{class:"option-header"},[a("span",{style:{flex:"1"}},"选项内容"),a("span",{style:{width:"120px","text-align":"center"}},"分值")],-1)),(l(!0),r(x,null,h(e.value,(n,p)=>(l(),r("div",{key:p,class:"option-item"},[u(c,{modelValue:n.option_text,"onUpdate:modelValue":i=>n.option_text=i,placeholder:"请输入选项内容",style:{flex:"1","margin-right":"10px"}},null,8,["modelValue","onUpdate:modelValue"]),u(q,{modelValue:n.score,"onUpdate:modelValue":i=>n.score=i,min:0,max:10,style:{width:"120px"},placeholder:"分值"},null,8,["modelValue","onUpdate:modelValue"])]))),128))])):(l(),r("div",A,[o[1]||(o[1]=a("div",{class:"option-header"},[a("span",{style:{flex:"1"}},"选项内容"),a("span",{style:{width:"80px","text-align":"center"}},"是否正确")],-1)),(l(!0),r(x,null,h(e.value,(n,p)=>(l(),r("div",{key:p,class:"option-item"},[u(c,{modelValue:n.option_text,"onUpdate:modelValue":i=>n.option_text=i,placeholder:"请输入选项内容",style:{flex:"1","margin-right":"10px"}},null,8,["modelValue","onUpdate:modelValue"]),u(B,{content:"设置为正确答案",placement:"top",effect:"light"},{default:m(()=>[a("div",{onClick:i=>C(p),style:{cursor:"pointer",width:"80px","text-align":"center"}},[t.questionForm===1?(l(),_(F,{key:0,"model-value":n.is_correct,label:!0},null,8,["model-value"])):(l(),_(U,{key:1,"model-value":n.is_correct},null,8,["model-value"]))],8,I)]),_:2},1024)]))),128))])),a("div",J,[u(v,{type:"primary",onClick:b},{default:m(()=>o[2]||(o[2]=[V(" 添加选项 ")])),_:1}),e.value.length>2?(l(),_(v,{key:0,type:"danger",onClick:w},{default:m(()=>o[3]||(o[3]=[V(" 删除最后一项 ")])),_:1})):L("",!0)])]),_:1})])}}}),S=M(K,[["__scopeId","data-v-935f4eaa"]]);export{S as default};