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
4.8 KiB
2 lines
4.8 KiB
var N=(f,_,r)=>new Promise((c,h)=>{var k=l=>{try{y(r.next(l))}catch(s){h(s)}},p=l=>{try{y(r.throw(l))}catch(s){h(s)}},y=l=>l.done?c(l.value):Promise.resolve(l.value).then(k,p);y((r=r.apply(f,_)).next())});import{d as R,r as i,O as j,P as z,Y as w,ah as Y,o as v,a as T,w as m,u,g as C,b as S,I as $,B as G,h as E,i as H,t as B,j as J,bo as W,aT as X}from"./index-f4658ae7.js";import{T as O}from"./index-cd1f9903.js";/* empty css *//* empty css */import{useTreeConvert as Z}from"./useDataConvert-25e29c90.js";import{useDBSourceLoader as ee}from"./useDBSourceLoader-8ab5ebe1.js";import{F as te}from"./index-d51f1b4b.js";import{F as q}from"./FormItem-a040ce00.js";import"./iconUtil-3b6c87ab.js";import"./useMaxLevel-0b248899.js";import"./DataType-33901a1c.js";import"./ParamUtils-cdc24dd6.js";import"./SystemConfig-b93c25b3.js";import"./bignumber-cf158d26.js";import"./ParamsUtils-3cbc5822.js";import"./assign-481cba08.js";import"./_createAssigner-77c8874c.js";import"./DBAccess-d3bef90d.js";import"./useSize-90c5eaba.js";import"./Col-dfe054f2.js";import"./index-2c9d82ce.js";const ae={key:0,class:"flex p-1"},le={key:0},se={style:{color:"#f50"}},oe={key:1},ne=R({__name:"PopTree",props:{treeSql:{type:String,default:""},parentNo:{type:String,default:""},selectedItems:{type:String,default:""},isMultiSelect:{type:Boolean,default:!0},isShowSearch:{type:Boolean,default:!1}},setup(f,{expose:_}){var U;const r=f,c=i(""),h=(U=r.treeSql)==null?void 0:U.includes("@Key");let k=[];const p=i(!1),y=i([]),l=i([]),s=i([]),g=i([]),F=i({title:"Name",key:"No"}),d=i([]),I=a=>{a.checked?s.value=[...a.checked]:s.value=[...a]},L=(a,e)=>N(this,null,function*(){var x,P;const t=K=>Array.from(K||[]),o=(P=(x=e.nativeEvent)==null?void 0:x.target)==null?void 0:P.closest(".ant-tree-treenode"),n=t(o==null?void 0:o.childNodes).find(K=>t(K==null?void 0:K.classList).findIndex(Q=>Q=="ant-tree-checkbox")!=-1);n==null||n.click()});j(()=>s.value,a=>{const e=[];for(const t of k)a.includes(t.No)&&e.push(t.Name);y.value=e});const{listToTree:M}=Z(),{getDBSource:A}=ee();z(()=>N(this,null,function*(){var a;try{p.value=!0;let{treeSql:e,parentNo:t}=r;if(!e){w.error(`\u672A\u80FD\u6267\u884CSQL- \u4F20\u5165 props.TreeSQL \u4E3A\u7A7A [ ${e} ]`);return}e.toLowerCase().includes("@key")&&(e=e.replace(/@Key/g,t).replace(/@key/g,t));const o=yield A(e);k=Y(o);const n=M(t,o.slice(0,o.length));if(d.value=n,d.value.length===0||(l.value=[d.value[0].No],!r.selectedItems))return;s.value=((a=r.selectedItems)==null?void 0:a.split(","))||[]}catch(e){w.error(e.toString())}finally{p.value=!1}}));const b=(a,e)=>{let t;for(let o=0;o<e.length;o++){const n=e[o];n.children&&(n.children.some(x=>x.No===a)?t=n.No:b(a,n.children)&&(t=b(a,n.children)))}return t},D=()=>{const a=k.map(e=>e.Name.includes(c.value)?b(e.No,d.value):null).filter((e,t,o)=>e&&o.indexOf(e)===t);l.value=a},V=a=>N(this,null,function*(){try{p.value=!0;const e=yield A(r.treeSql.replace(/@Key/g,a.dataRef.No));a.dataRef.children=e.filter(t=>t.No!=a.No),d.value=[...d.value]}catch(e){w.error(e.toString())}finally{p.value=!1}});return _({checkedNames:y,checkedList:s}),(a,e)=>(v(),T(u(W),{spinning:p.value},{default:m(()=>[f.isShowSearch&&u(h)===!1?(v(),C("div",ae,[S(u(te),{layout:"inline","label-col":{span:8},"wrapper-col":{span:16},style:{width:"100%"}},{default:m(()=>[S(u(q),{label:"\u5173\u952E\u5B57"},{default:m(()=>[S(u($),{value:c.value,"onUpdate:value":e[0]||(e[0]=t=>c.value=t),placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u5B57",onPressEnter:D,"allow-clear":""},null,8,["value"])]),_:1}),S(u(q),null,{default:m(()=>[S(u(G),{type:"primary",class:"btn_style",onClick:D},{default:m(()=>[E(" \u67E5\u8BE2")]),_:1})]),_:1})]),_:1})])):H("",!0),u(h)==!1?(v(),T(u(O),{key:1,cascade:!1,"check-strictly":"",checkable:f.isMultiSelect,"tree-data":d.value,expandedKeys:l.value,"onUpdate:expandedKeys":e[1]||(e[1]=t=>l.value=t),selectedKeys:s.value,"onUpdate:selectedKeys":e[2]||(e[2]=t=>s.value=t),checkedKeys:g.value,"onUpdate:checkedKeys":e[3]||(e[3]=t=>g.value=t),fieldNames:F.value,onCheck:I,onSelect:L},{title:m(({Name:t})=>[t.indexOf(c.value)>-1?(v(),C("span",le,[E(B(t.substr(0,t.indexOf(c.value)))+" ",1),J("span",se,B(c.value),1),E(" "+B(t.substr(t.indexOf(c.value)+c.value.length)),1)])):(v(),C("span",oe,B(t),1))]),_:1},8,["checkable","tree-data","expandedKeys","selectedKeys","checkedKeys","fieldNames"])):(v(),T(u(O),{key:2,virtual:!0,checkable:f.isMultiSelect,"tree-data":d.value,"load-data":V,expandedKeys:l.value,"onUpdate:expandedKeys":e[4]||(e[4]=t=>l.value=t),selectedKeys:s.value,"onUpdate:selectedKeys":e[5]||(e[5]=t=>s.value=t),checkedKeys:g.value,"onUpdate:checkedKeys":e[6]||(e[6]=t=>g.value=t),fieldNames:F.value,onCheck:I,onSelect:L},null,8,["checkable","tree-data","expandedKeys","selectedKeys","checkedKeys","fieldNames"]))]),_:1},8,["spinning"]))}});const Ce=X(ne,[["__scopeId","data-v-56a74c9e"]]);export{Ce as default};
|