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.1 KiB
2 lines
3.1 KiB
var G=(n,b,a)=>new Promise((_,m)=>{var r=c=>{try{h(a.next(c))}catch(d){m(d)}},C=c=>{try{h(a.throw(c))}catch(d){m(d)}},h=c=>c.done?_(c.value):Promise.resolve(c.value).then(r,C);h((a=a.apply(n,b)).next())});import{useDBSourceLoader as q}from"./useDBSourceLoader-8ab5ebe1.js";import{d as E,r as p,O as A,P as U,o as L,g as x,bt as F,j as g,b as y,w as S,t as M,u as k,F as w,a as O,dU as P,dV as D,aT as T}from"./index-f4658ae7.js";import{s as B}from"./function-call-d3c31425.js";import{C as I}from"./index-b626d36c.js";import{C as j}from"./index-1ead5d3e.js";import{C as K}from"./index-4e4a8600.js";import{C as $}from"./index-2daaf492.js";import"./DBAccess-d3bef90d.js";import"./mount-component-62c39ff8.js";import"./index-f3701452.js";import"./Toast-3c5f40d9.js";import"./index-1e934f0e.js";import"./use-route-96578f25.js";const z=n=>(P("data-v-1de2f709"),n=n(),D(),n),H={class:"header"},J={style:{"font-weight":"bold"}},Q=z(()=>g("br",null,null,-1)),R={class:"body"},W=E({__name:"PopGroupList",props:{listSql:{type:String,default:""},groupListSql:{type:String,default:""},isMultiSelect:{type:Boolean,default:!1},selectedItems:{type:String,default:""}},setup(n,{expose:b}){const a=n,_=p([]),m=p([]),r=p([]),C=p([]),h=s=>{s.checkedList=s.checked?m.value.filter(i=>i.GroupNo===s.No):[]},c=s=>(a.isMultiSelect||(r.value.forEach(i=>{i.checkedList=[]}),setTimeout(()=>{s.checkedList=[e.target.value]})),!0);A(()=>r.value,s=>{const i=s.filter(l=>l.checkedList.length>0).map(l=>l.checkedList||[]),t=[],o=[];for(const l of i)for(const N of l)o.push(N.No),t.push(N.Name);C.value=t,_.value=o},{deep:!0});const d=p(!1),v=p("GroupNo");return U(()=>G(this,null,function*(){try{d.value=!0;const{getDBSource:s}=q(),{listSql:i,groupListSql:t}=a;if(!i||!t){B("\u7F3A\u5C11\u5FC5\u8981\u7684\u53C2\u6570\uFF0C \u8BF7\u68C0\u67E5\u5206\u7EC4sql \u6216\u8005 \u5217\u8868sql \u662F\u5426\u4E3A\u7A7A");return}const o=yield s(t),l=yield s(i);if(l.length>0){const u=Object.keys(l[0]);u.includes("GroupNo")?v.value="GroupNo":u.length>=3&&(v.value=u[2],l.forEach(f=>{f.GroupNo=f[v.value]}))}const N=a.selectedItems?a.selectedItems.split(","):[];r.value=o.map(u=>{const f=l.filter(V=>V[v.value]+""==u.No+"");return{No:u.No,Name:u.Name,checked:!1,checkedList:f.filter(V=>N.includes(V.No)),children:f}}),m.value=l}catch(s){B(s.toString())}finally{d.value=!1}})),b({checkedList:_,checkedNames:C}),(s,i)=>(L(!0),x(w,null,F(r.value,t=>(L(),x("div",{class:"list-picker",key:t.No},[g("div",H,[y(k(I),{modelValue:t.checked,"onUpdate:modelValue":o=>t.checked=o,disabled:!n.isMultiSelect,onClick:o=>h(t)},{default:S(()=>[g("span",J,M(t.Name),1)]),_:2},1032,["modelValue","onUpdate:modelValue","disabled","onClick"])]),Q,g("div",R,[y(k($),{modelValue:t.checkedList,"onUpdate:modelValue":o=>t.checkedList=o},{default:S(()=>[y(k(j),{inset:""},{default:S(()=>[(L(!0),x(w,null,F(t.children,o=>(L(),O(k(K),{clickable:"",key:o.No,title:o.Name,style:{"margin-left":"5px"}},{"right-icon":S(()=>[y(k(I),{name:o,onClick:l=>c(o)},null,8,["name","onClick"])]),_:2},1032,["title"]))),128))]),_:2},1024)]),_:2},1032,["modelValue","onUpdate:modelValue"])])]))),128))}});const de=T(W,[["__scopeId","data-v-1de2f709"]]);export{de as default};
|