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
5.6 KiB

var S=(C,D,a)=>new Promise((x,_)=>{var o=i=>{try{c(a.next(i))}catch(k){_(k)}},s=i=>{try{c(a.throw(i))}catch(k){_(k)}},c=i=>i.done?x(i.value):Promise.resolve(i.value).then(o,s);c((a=a.apply(C,D)).next())});import{d as A,r as f,O as P,P as Q,o as r,g as d,j as L,F as N,h as j,t as V,i as z,a as y,w as h,b as w,u as p,bt as T,bJ as O,bz as U,ah as J,aT as H}from"./index-f4658ae7.js";import{useTreeConvert as W}from"./useDataConvert-25e29c90.js";import{useDBSourceLoader as X}from"./useDBSourceLoader-8ab5ebe1.js";import{C as G}from"./index-1ead5d3e.js";import{C as b}from"./index-4e4a8600.js";import{R as Y,a as Z}from"./index-b252a0d7.js";import{C as ee}from"./index-b626d36c.js";import{C as le}from"./index-2daaf492.js";import{s as M}from"./function-call-d3c31425.js";import"./index-4116a0e2.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"./index-f3701452.js";import"./use-route-96578f25.js";import"./mount-component-62c39ff8.js";import"./Toast-3c5f40d9.js";import"./index-1e934f0e.js";const te={style:{"margin-left":"16px","line-height":"40px"}},ae=A({__name:"PopTreeEns",props:{treeSql:{type:String,default:""},listSql:{type:String,default:""},parentNo:{type:String,default:""},isMultiSelect:{type:Boolean,default:!1},selectedTreeNode:{type:String,default:""},selectedItems:{type:String,default:""},selectedItemNames:{type:String,default:""}},setup(C,{expose:D}){var F;const a=C,{getDBSource:x}=X(),_=(F=a.treeSql)==null?void 0:F.includes("@Key"),o=f(),s=f([]),c=f([]),i=f([]),k=f([]),n=f([]),B=f(!1),m=f([]),{listToTree:K}=W(),g=f(!1),R=t=>{g.value=!0,k.value[t].toggle()};P(()=>o.value,()=>{const t=[];if(a.isMultiSelect==!1){g.value==!0&&(s.value=[],i.value=[],s.value.push(o.value.No),i.value.push(o.value.Name));return}for(const l of o.value)a.isMultiSelect==!0&&s.value.includes(l.No)==!1&&(s.value.push(l.No),i.value.push(l.Name)),t.push(l.No);if(g.value==!0){const l=c.value.filter(e=>t.includes(e.No)==!1);for(const e of l){const u=s.value.findIndex(v=>v===e.No);u!=-1&&(s.value.splice(u,1),i.value.splice(u,1))}}});const $=f([]),q=t=>S(this,null,function*(){let{treeSql:l}=a;if(!l){M(`\u672A\u80FD\u6267\u884CSQL- \u4F20\u5165 props.TreeSQL \u4E3A\u7A7A [ ${l} ]`);return}l.toLowerCase().includes("@key")&&(l=l.replace(/@Key/g,t).replace(/@key/g,t)),l=U(l,null);const e=yield x(l),u=K(t,e.slice(0,e.length));m.value=u,$.value=J(m.value)}),E=t=>S(this,null,function*(){var l;try{if(B.value=!0,!((l=a.listSql)!=null&&l.includes("@Key"))){M("\u4E0D\u5408\u6CD5\u7684SQL,\u9700\u8981\u914D\u7F6E\u5173\u952E\u5B57@Key SQL="+a.listSql);return}const e=yield x(a.listSql.replace(/@Key/g,t));c.value=e.filter(u=>u.No!=t),o.value=s.value.filter(u=>c.value.filter(v=>v.No===u).length>0)}catch(e){M(e.toString())}finally{B.value=!1}}),I=t=>S(this,null,function*(){g.value=!1;const l=n.value.findIndex(e=>e.No==t.No);if(l!=-1&&(n.value=n.value.slice(0,l)),n.value.push({No:t.No,Name:t.Name}),_==!1){if(m.value=t.children,l!=-1){let e=[];for(let u=0;u<=l;u++)u==0?e=$.value.filter(v=>v.No===n.value[u].No)[0].children:e=e==null?void 0:e.filter(v=>v.No===n.value[u].No)[0].children;m.value=e||[]}yield E(t.No);for(const e of c.value)if(s.value.includes(e.No)==!0){a.isMultiSelect==!0?o.value.push(e):o.value=e;break}return}yield q(t.No),yield E(t.No);for(const e of c.value)s.value.includes(e.No)==!0&&(a.isMultiSelect==!0?o.value.push(e):o.value=e)});return Q(()=>S(this,null,function*(){if(yield q(a.parentNo),m.value.length!==0){if(a.selectedItems)if(s.value=a.selectedItems===","?[]:a.selectedItems.split(","),i.value=a.selectedItemNames===","?[]:a.selectedItemNames.split(","),a.isMultiSelect===!0)for(let t=0;t<s.value.length;t++)o.value.push({No:s.value[t],Name:i.value[t]});else s.value.length>0&&(o.value={No:s.value[0],Name:i.value[0]});yield E(a.parentNo),a.parentNo!="0"&&n.value.push({No:m.value[0].No,Name:m.value[0].Name})}})),D({allCheckList:s,checkedNames:i}),(t,l)=>(r(),d(N,null,[L("div",te,[n.value.length!=0?(r(),d(N,{key:0},[n.value.length==1?(r(),d(N,{key:0},[j(V(n.value[0].Name),1)],64)):(r(),d(N,{key:1},[L("a",{href:"javaScript:void(0)",onClick:l[0]||(l[0]=e=>I(n.value[n.value.length-2]))},V(n.value[n.value.length-2].Name),1),L("span",null," / "+V(n.value[n.value.length-1].Name),1)],64))],64)):z("",!0)]),C.isMultiSelect===!1?(r(),y(p(Z),{key:0,modelValue:o.value,"onUpdate:modelValue":l[2]||(l[2]=e=>o.value=e)},{default:h(()=>[w(p(G),{inset:""},{default:h(()=>[(r(!0),d(N,null,T(c.value,e=>(r(),y(p(b),{clickable:"",key:e.No,title:e.Name,onClick:u=>o.value=e},{"right-icon":h(()=>[w(p(Y),{name:e,onClick:l[1]||(l[1]=u=>g.value=!0)},null,8,["name"])]),_:2},1032,["title","onClick"]))),128)),(r(!0),d(N,null,T(m.value,e=>(r(),y(p(b),{clickable:"",key:e.No,title:e.Name,"is-link":"",class:"icon-folder",onClick:u=>I(e)},null,8,["title","onClick"]))),128))]),_:1})]),_:1},8,["modelValue"])):(r(),y(p(le),{key:1,modelValue:o.value,"onUpdate:modelValue":l[5]||(l[5]=e=>o.value=e)},{default:h(()=>[w(p(G),{inset:""},{default:h(()=>[(r(!0),d(N,null,T(c.value,(e,u)=>(r(),y(p(b),{clickable:"",key:e.No,title:e.Name,onClick:v=>R(u)},{"right-icon":h(()=>[w(p(ee),{name:e,ref_for:!0,ref:v=>k.value[u]=v,onClick:[l[3]||(l[3]=O(()=>{},["stop"])),l[4]||(l[4]=v=>g.value=!0)]},null,8,["name"])]),_:2},1032,["title","onClick"]))),128)),(r(!0),d(N,null,T(m.value,e=>(r(),y(p(b),{clickable:"",key:e.No,title:e.Name,"is-link":"",class:"icon-folder",onClick:u=>I(e)},null,8,["title","onClick"]))),128))]),_:1})]),_:1},8,["modelValue"]))],64))}});const De=H(ae,[["__scopeId","data-v-80f9d18f"]]);export{De as default};