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.4 KiB
2 lines
4.4 KiB
var T=(m,S,n)=>new Promise((l,K)=>{var b=o=>{try{d(n.next(o))}catch(r){K(r)}},p=o=>{try{d(n.throw(o))}catch(r){K(r)}},d=o=>o.done?l(o.value):Promise.resolve(o.value).then(b,p);d((n=n.apply(m,S)).next())});import{d as j,r as y,bA as q,O as R,P as V,Y as O,ah as z,o as v,a as N,w as h,j as P,b as g,u,I as Q,B as G,h as k,g as x,t as i,bo as Y,aT as $}from"./index-f4658ae7.js";import{T as D}from"./index-cd1f9903.js";/* empty css *//* empty css */import{useTreeConvert as H}from"./useDataConvert-25e29c90.js";import{useDBSourceLoader as J}from"./useDBSourceLoader-8ab5ebe1.js";import{F as W}from"./index-d51f1b4b.js";import{F as I}from"./FormItem-a040ce00.js";const X={class:"flex p-1"},Z={key:0},ee={style:{color:"#f50"}},te={key:1},ae={key:0},le={style:{color:"#f50"}},se={key:1},ne=j({__name:"PopTree",props:{treeSql:{type:String,default:""},parentNo:{type:String,default:""},selectedItems:{type:String,default:""},isMultiSelect:{type:Boolean,default:!0},mapExt:{type:Object,default:()=>({})}},setup(m,{expose:S}){var A;const n=m,l=y(""),K=q(n.mapExt.AtPara,"SearchTip")||"\u8BF7\u8F93\u5165\u5173\u952E\u5B57",b=(A=n.treeSql)==null?void 0:A.includes("@Key");let p=[];const d=y(!1),o=y([]),r=y([]),s=y([]),w=y({title:"Name",key:"No"}),_=y([]),E=a=>{s.value=[...a]};R(()=>s.value,a=>{const e=[];for(const t of p)a.includes(t.No)&&e.push(t.Name);o.value=e});const{listToTree:L}=H(),{getDBSource:C}=J();V(()=>T(this,null,function*(){var a;try{d.value=!0;let{treeSql:e,parentNo:t}=n;if(!e){O.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 c=yield C(e);p=z(c);const f=L(t,c.slice(0,c.length));if(_.value=f,_.value.length===0||(r.value=[_.value[0].No],!n.selectedItems))return;s.value=((a=n.selectedItems)==null?void 0:a.split(","))||[]}catch(e){O.error(e.toString())}finally{d.value=!1}}));const B=(a,e)=>{let t;for(let c=0;c<e.length;c++){const f=e[c];f.children&&(f.children.some(M=>M.No===a)?t=f.No:B(a,f.children)&&(t=B(a,f.children)))}return t},F=()=>{const a=p.map(e=>e.Name.includes(l.value)?B(e.No,_.value):null).filter((e,t,c)=>e&&c.indexOf(e)===t);r.value=a},U=a=>T(this,null,function*(){try{d.value=!0;const e=yield C(n.treeSql.replace(/@Key/g,a.dataRef.No));e.length===1&&typeof e[0].No=="undefined"?a.dataRef.children=[]:(a.dataRef.children=e,p=p.concat(e))}catch(e){O.error(e.toString())}finally{d.value=!1}});return S({checkedNames:o,checkedList:s}),(a,e)=>(v(),N(u(Y),{spinning:d.value},{default:h(()=>[P("div",X,[g(u(W),{layout:"inline","label-col":{span:8},"wrapper-col":{span:16},style:{width:"100%"}},{default:h(()=>[g(u(I),{label:"\u5173\u952E\u5B57"},{default:h(()=>[g(u(Q),{value:l.value,"onUpdate:value":e[0]||(e[0]=t=>l.value=t),placeholder:u(K),onPressEnter:F,"allow-clear":""},null,8,["value","placeholder"])]),_:1}),g(u(I),null,{default:h(()=>[g(u(G),{type:"primary",class:"btn_style",onClick:F},{default:h(()=>[k(" \u67E5\u8BE2")]),_:1})]),_:1})]),_:1})]),u(b)==!1?(v(),N(u(D),{key:0,checkable:m.isMultiSelect,"tree-data":_.value,expandedKeys:r.value,"onUpdate:expandedKeys":e[1]||(e[1]=t=>r.value=t),selectedKeys:s.value,"onUpdate:selectedKeys":e[2]||(e[2]=t=>s.value=t),checkedKeys:s.value,"onUpdate:checkedKeys":e[3]||(e[3]=t=>s.value=t),fieldNames:w.value,onCheck:E},{title:h(({Name:t})=>[t.indexOf(l.value)>-1?(v(),x("span",Z,[k(i(t.substr(0,t.indexOf(l.value)))+" ",1),P("span",ee,i(l.value),1),k(" "+i(t.substr(t.indexOf(l.value)+l.value.length)),1)])):(v(),x("span",te,i(t),1))]),_:1},8,["checkable","tree-data","expandedKeys","selectedKeys","checkedKeys","fieldNames"])):(v(),N(u(D),{key:1,checkable:m.isMultiSelect,"tree-data":_.value,"load-data":U,expandedKeys:r.value,"onUpdate:expandedKeys":e[4]||(e[4]=t=>r.value=t),selectedKeys:s.value,"onUpdate:selectedKeys":e[5]||(e[5]=t=>s.value=t),checkedKeys:s.value,"onUpdate:checkedKeys":e[6]||(e[6]=t=>s.value=t),fieldNames:w.value,onCheck:E},{title:h(({Name:t})=>[t&&t.indexOf(l.value)>-1?(v(),x("span",ae,[k(i(t.substr(0,t.indexOf(l.value)))+" ",1),P("span",le,i(l.value),1),k(" "+i(t.substr(t.indexOf(l.value)+l.value.length)),1)])):(v(),x("span",se,i(t),1))]),_:1},8,["checkable","tree-data","expandedKeys","selectedKeys","checkedKeys","fieldNames"]))]),_:1},8,["spinning"]))}});const oe=$(ne,[["__scopeId","data-v-764419c8"]]),he=Object.freeze(Object.defineProperty({__proto__:null,default:oe},Symbol.toStringTag,{value:"Module"}));export{oe as P,he as _};
|