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
2.7 KiB
2 lines
2.7 KiB
var K=(u,f,s)=>new Promise((v,c)=>{var n=t=>{try{o(s.next(t))}catch(r){c(r)}},p=t=>{try{o(s.throw(t))}catch(r){c(r)}},o=t=>t.done?v(t.value):Promise.resolve(t.value).then(n,p);o((s=s.apply(u,f)).next())});import{d as L,r as d,O as w,P as D,Y as k,ah as P,o as g,a as S,w as U,u as y,bo as A,aT as B}from"./index-f4658ae7.js";import{T as x}from"./index-cd1f9903.js";import{useTreeConvert as M}from"./useDataConvert-25e29c90.js";import{useDBSourceLoader as q}from"./useDBSourceLoader-8ab5ebe1.js";const I=L({__name:"PopTree",props:{treeSql:{type:String,default:""},parentNo:{type:String,default:""},selectedItems:{type:String,default:""},isMultiSelect:{type:Boolean,default:!0}},setup(u,{expose:f}){var h;const s=u,v=(h=s.treeSql)==null?void 0:h.includes("@Key");let c=[];const n=d(!1),p=d([]),o=d([]),t=d([]),r=d({title:"Name",key:"No"}),i=d([]),N=l=>{t.value=[...l]};w(()=>t.value,l=>{const e=[];for(const a of c)l.includes(a.No)&&e.push(a.Name);p.value=e});const{listToTree:T}=M(),{getDBSource:_}=q();D(()=>K(this,null,function*(){var l;try{n.value=!0;let{treeSql:e,parentNo:a}=s;if(!e){k.error(`\u672A\u80FD\u6267\u884CSQL- \u4F20\u5165 props.TreeSQL \u4E3A\u7A7A [ ${e} ]`);return}e.toLowerCase().includes("@key")&&(e=e.replace(/@Key/g,a).replace(/@key/g,a));const m=yield _(e);c=P(m);const C=T(a,m.slice(0,m.length));if(i.value=C,i.value.length===0||(o.value=[i.value[0].No],!s.selectedItems))return;t.value=((l=s.selectedItems)==null?void 0:l.split(","))||[]}catch(e){k.error(e.toString())}finally{n.value=!1}}));const b=l=>K(this,null,function*(){try{n.value=!0,l.dataRef.children=yield _(s.treeSql.replace(/@Key/g,l.dataRef.No))}catch(e){k.error(e.toString())}finally{n.value=!1}});return f({checkedNames:p,checkedList:t}),(l,e)=>(g(),S(y(A),{spinning:n.value},{default:U(()=>[y(v)==!1?(g(),S(y(x),{key:0,checkable:u.isMultiSelect,"tree-data":i.value,expandedKeys:o.value,"onUpdate:expandedKeys":e[0]||(e[0]=a=>o.value=a),selectedKeys:t.value,"onUpdate:selectedKeys":e[1]||(e[1]=a=>t.value=a),checkedKeys:t.value,"onUpdate:checkedKeys":e[2]||(e[2]=a=>t.value=a),fieldNames:r.value,onCheck:N},null,8,["checkable","tree-data","expandedKeys","selectedKeys","checkedKeys","fieldNames"])):(g(),S(y(x),{key:1,checkable:u.isMultiSelect,"tree-data":i.value,"load-data":b,expandedKeys:o.value,"onUpdate:expandedKeys":e[3]||(e[3]=a=>o.value=a),selectedKeys:t.value,"onUpdate:selectedKeys":e[4]||(e[4]=a=>t.value=a),checkedKeys:t.value,"onUpdate:checkedKeys":e[5]||(e[5]=a=>t.value=a),fieldNames:r.value,onCheck:N},null,8,["checkable","tree-data","expandedKeys","selectedKeys","checkedKeys","fieldNames"]))]),_:1},8,["spinning"]))}});const O=B(I,[["__scopeId","data-v-4d48f91d"]]),E=Object.freeze(Object.defineProperty({__proto__:null,default:O},Symbol.toStringTag,{value:"Module"}));export{O as P,E as _};
|