index.61b2404e.js 3.8 KB

1
  1. import{d as b,T as m,i as e,F as h,ac as o,L as a,C as p,B as x,w as j}from"./index.9a8e7555.js";import{C as u}from"./index.17575d3a.js";import"./index.df465582.js";import{I as l}from"./index.7f9087a9.js";import{R as k,a as r}from"./index.7a27846b.js";import{S as f}from"./index.e9655eaa.js";import{c as n,a as d}from"./checkbox_default.403c201d.js";import{C as g}from"./index.4abed682.js";const v="_subjects_1dbdo_1",_="_subjectContainer_1dbdo_4",y="_title_1dbdo_7",B="_topBg_1dbdo_39",C="_checkbox_1dbdo_47",S="_name_1dbdo_52";var t={subjects:v,subjectContainer:_,title:y,"subject-list":"_subject-list_1dbdo_23","subject-item":"_subject-item_1dbdo_29",topBg:B,checkbox:C,name:S},F=b({name:"SubjectList",props:{onChoice:{type:Function,default:s=>{}},choiceSubjectIds:{type:Array,default:[]},subjectList:{type:Array,default:[]},max:{type:Number,default:5},selectType:{type:String,default:"Checkbox"},single:{type:Boolean,default:!1}},data(){return{checkBox:[],checkboxRefs:[],radio:null}},async mounted(){this.checkBox=this.choiceSubjectIds},watch:{choiceSubjectIds(s,c){this.checkBox=[...s]}},methods:{onSelect(s){this.selectType==="Checkbox"?(this.max===this.checkBox.length&&!this.checkBox.includes(s)&&m(`\u4E50\u5668\u6700\u591A\u9009\u62E9${this.max}\u4E2A`),this.checkboxRefs[s].toggle()):this.selectType==="Radio"&&(this.radio=s)}},render(){return e("div",{class:t.subjects},[e("div",{class:t.subjectContainer},[this.subjectList.length?this.selectType==="Checkbox"?e(g,{modelValue:this.checkBox,"onUpdate:modelValue":s=>this.checkBox=s,max:this.max},{default:()=>[!this.single&&this.subjectList.map(s=>s.subjects&&s.subjects.length>0?e(h,null,[e("div",{class:t.title},[s.name]),e("div",{class:t["subject-list"]},[s.subjects&&s.subjects.map(c=>e("div",{class:t["subject-item"],onClick:()=>this.onSelect(c.id)},[e(l,{src:c.img||"xxx",width:"100%",height:"100%",fit:"cover"},{loading:()=>e(o,{type:"spinner",size:20},null)}),e("div",{class:t.topBg},[e(u,{name:c.id,class:t.checkbox,disabled:!0,ref:i=>this.checkboxRefs[c.id]=i},{icon:i=>e(a,{name:i.checked?n:d,size:"20"},null)}),e("p",{class:t.name},[c.name])])]))])]):null),this.single?e("div",{class:t["subject-list"]},[this.subjectList.map(s=>e("div",{class:t["subject-item"],onClick:()=>this.onSelect(s.id)},[e(l,{src:s.img||"xxx",width:"100%",height:"100%",fit:"cover"},{loading:()=>e(o,{type:"spinner",size:20},null)}),e("div",{class:t.topBg},[e(u,{name:s.id,class:t.checkbox,disabled:!0,ref:c=>this.checkboxRefs[s.id]=c},{icon:c=>e(a,{name:c.checked?n:d,size:"20"},null)}),e("p",{class:t.name},[s.name])])]))]):null]}):e(k,{modelValue:this.radio,"onUpdate:modelValue":s=>this.radio=s},{default:()=>[!this.single&&this.subjectList.map(s=>s.subjects&&s.subjects.length>0?e(h,null,[e("div",{class:t.title},[s.name]),e("div",{class:t["subject-list"]},[s.subjects&&s.subjects.map(c=>e("div",{class:t["subject-item"],onClick:()=>this.onSelect(c.id)},[e(l,{src:c.img||"xxx",width:"100%",height:"100%",fit:"cover"},{loading:()=>e(o,{type:"spinner",size:20},null)}),e("div",{class:t.topBg},[e(r,{name:c.id,class:t.checkbox},{icon:i=>e(a,{name:i.checked?n:d,size:"20"},null)}),e("p",{class:t.name},[c.name])])]))])]):null),this.single?e("div",{class:t["subject-list"]},[this.subjectList.map(s=>e("div",{class:t["subject-item"],onClick:()=>this.onSelect(s.id)},[e(l,{src:s.img||"xxx",width:"100%",height:"100%",fit:"cover"},{loading:()=>e(o,{type:"spinner",size:20},null)}),e("div",{class:t.topBg},[e(r,{name:s.id,class:t.checkbox},{icon:c=>e(a,{name:c.checked?n:d,size:"20"},null)}),e("p",{class:t.name},[s.name])])]))]):null]}):e(p,{tips:"\u6682\u65E0\u58F0\u90E8\u6570\u636E",btnStatus:!1},null)]),this.subjectList.length>0&&e(f,{offsetBottom:0,position:"bottom"},{default:()=>[e("div",{class:"btnGroup"},[e(x,{round:!0,block:!0,type:"primary",onClick:()=>this.onChoice(this.selectType==="Checkbox"?this.checkBox:this.radio)},{default:()=>[j("\u786E\u5B9A")]})])]})])}});export{F as S};