You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2 lines
3.0 KiB
2 lines
3.0 KiB
var x=(i,y,a)=>new Promise((k,r)=>{var p=o=>{try{h(a.next(o))}catch(d){r(d)}},v=o=>{try{h(a.throw(o))}catch(d){r(d)}},h=o=>o.done?k(o.value):Promise.resolve(o.value).then(p,v);h((a=a.apply(i,y)).next())});import{d as P,r as _,O as A,P as E,Y as B,o as m,a as F,w as g,g as L,F as G,bt as w,j as S,b as I,u as C,t as q,h as M,bo as U,dU as j,dV as T,aT as V}from"./index-f4658ae7.js";import{C as O,a as D}from"./index-297faa0c.js";import{useDBSourceLoader as K}from"./useDBSourceLoader-8ab5ebe1.js";const z=i=>(j("data-v-8217ff7c"),i=i(),T(),i),Y={class:"header"},H={style:{"font-weight":"bold"}},J=z(()=>S("br",null,null,-1)),Q={class:"body"},R=P({__name:"PopGroupList",props:{listSql:{type:String,default:""},groupListSql:{type:String,default:""},isMultiSelect:{type:Boolean,default:!1},selectedItems:{type:String,default:""}},setup(i,{expose:y}){const a=i,k=_([]),r=_([]),p=_([]),v=_([]),h=(s,u)=>{s.checkedList=u.target.checked?r.value.filter(e=>e.GroupNo===s.No).map(e=>e.No):[],s.indeterminate=!1},o=(s,u,e)=>(a.isMultiSelect||(p.value.forEach(t=>{t.checkedList=[]}),setTimeout(()=>{s.checkedList=[e.target.value]})),!0);A(()=>p.value,s=>{var c;const u=s.filter(n=>n.checkedList.length>0).map(n=>n.checkedList||[]),e=[],t=[];for(const n of u)for(const N of n)t.push(N),e.push(((c=r.value.find(l=>l.No===N))==null?void 0:c.Name)||"");v.value=e,k.value=t},{deep:!0});const d=_(!1);return E(()=>x(this,null,function*(){try{d.value=!0;const{getDBSource:s}=K(),{listSql:u,groupListSql:e}=a;if(!u||!e){B.error("\u7F3A\u5C11\u5FC5\u8981\u7684\u53C2\u6570\uFF0C \u8BF7\u68C0\u67E5\u5206\u7EC4sql \u6216\u8005 \u5217\u8868sql \u662F\u5426\u4E3A\u7A7A");return}const t=yield s(e),c=yield s(u);let n="GroupNo";if(c.length>0){const l=Object.keys(c[0]);l.includes("GroupNo")?n="GroupNo":l.length>=3&&(n=l[2])}const N=a.selectedItems?a.selectedItems.split(","):[];p.value=t.map(l=>{const b=c.filter(f=>f[n]+""==l.No+"");return{No:l.No,Name:l.Name,checked:!1,indeterminate:!1,checkedList:b.filter(f=>N.includes(f.No)).map(f=>f.No),children:b}}),r.value=c}catch(s){B.error(s.toString())}finally{d.value=!1}})),y({checkedList:k,checkedNames:v}),(s,u)=>(m(),F(C(U),{spinning:d.value},{default:g(()=>[(m(!0),L(G,null,w(p.value,e=>(m(),L("div",{class:"list-picker",key:e.No},[S("div",Y,[I(C(O),{checked:e.checked,"onUpdate:checked":t=>e.checked=t,indeterminate:e.indeterminate,onChange:t=>h(e,t),disabled:!i.isMultiSelect},{default:g(()=>[S("span",H,q(e.Name),1)]),_:2},1032,["checked","onUpdate:checked","indeterminate","onChange","disabled"])]),J,S("div",Q,[I(C(D),{value:e.checkedList,"onUpdate:value":t=>e.checkedList=t},{default:g(()=>[(m(!0),L(G,null,w(e.children,t=>(m(),F(C(O),{key:t.No,value:t.No,onChange:c=>o(e,t,c)},{default:g(()=>[M(q(t.Name),1)]),_:2},1032,["value","onChange"]))),128))]),_:2},1032,["value","onUpdate:value"])])]))),128))]),_:1},8,["spinning"]))}});const W=V(R,[["__scopeId","data-v-8217ff7c"]]),te=Object.freeze(Object.defineProperty({__proto__:null,default:W},Symbol.toStringTag,{value:"Module"}));export{W as P,te as _};
|