| 1 |
- var Ie=Object.defineProperty,Ue=Object.defineProperties;var Oe=Object.getOwnPropertyDescriptors;var se=Object.getOwnPropertySymbols;var Pe=Object.prototype.hasOwnProperty,Ye=Object.prototype.propertyIsEnumerable;var re=(e,k,h)=>k in e?Ie(e,k,{enumerable:!0,configurable:!0,writable:!0,value:h}):e[k]=h,U=(e,k)=>{for(var h in k||(k={}))Pe.call(k,h)&&re(e,h,k[h]);if(se)for(var h of se(k))Ye.call(k,h)&&re(e,h,k[h]);return e},ie=(e,k)=>Ue(e,Oe(k));var oe=(e,k,h)=>new Promise((A,p)=>{var E=L=>{try{y(h.next(L))}catch(D){p(D)}},r=L=>{try{y(h.throw(L))}catch(D){p(D)}},y=L=>L.done?A(L.value):Promise.resolve(L.value).then(E,r);y((h=h.apply(e,k)).next())});import{d as Ke,f as Q,aM as He,e as M,w as I,aq as Y,ar as w,as as de,u as s,aG as Ve,ah as O,aB as Z,aD as H,G as ue,au as he,k as x,A as je,F as W,aC as Re,aE as xe,S as Xe,l as $e,r as ye,J as X,h as $,o as Ge,n as qe,q as fe,B as ke,i as ze}from"./vue-vendor-Be68asQ6.js";import{aY as Ze,D as Je,k as Qe,aZ as We,a_ as et,h as ee,o as tt,a$ as nt,n as at,N as lt,Y as ge,aC as ct}from"./antd-vue-vendor-DcqS7Wvq.js";import{N as st,x as rt,c as te,aZ as pe,R as it,n as J,a_ as ot,T as dt,a$ as ut,aP as ht,O as Se,i as yt,a7 as ft}from"./index-BFfnEkVs.js";import{B as kt,S as gt}from"./index-BZ_MXCtW.js";import{createBEM as Ce}from"./bem-BvvqSl-N.js";import{buildProps as pt}from"./props-Cw7AfxGV.js";import{useContextMenu as St}from"./useContextMenu-BDwmjIwb.js";var T=(e=>(e[e.SELECT_ALL=0]="SELECT_ALL",e[e.UN_SELECT_ALL=1]="UN_SELECT_ALL",e[e.EXPAND_ALL=2]="EXPAND_ALL",e[e.UN_EXPAND_ALL=3]="UN_EXPAND_ALL",e[e.CHECK_STRICTLY=4]="CHECK_STRICTLY",e[e.CHECK_UN_STRICTLY=5]="CHECK_UN_STRICTLY",e))(T||{});const Kt=["update:expandedKeys","update:selectedKeys","update:value","change","check","search","update:searchValue"],xt=pt({value:{type:[Object,Array]},renderIcon:{type:Function},helpMessage:{type:[String,Array],default:""},title:{type:String,default:""},toolbar:Boolean,search:Boolean,searchValue:{type:String,default:""},checkStrictly:Boolean,clickRowToExpand:{type:Boolean,default:!1},checkable:Boolean,defaultExpandLevel:{type:[String,Number],default:""},defaultExpandAll:Boolean,fieldNames:{type:Object},treeData:{type:Array},actionList:{type:Array,default:()=>[]},expandedKeys:{type:Array,default:()=>[]},selectedKeys:{type:Array,default:()=>[]},checkedKeys:{type:Array,default:()=>[]},beforeRightClick:{type:Function,default:void 0},rightMenuList:{type:Array},filterFn:{type:Function,default:void 0},highlight:{type:[Boolean,String],default:!1},expandOnSearch:Boolean,checkOnSearch:Boolean,selectedOnSearch:Boolean,loading:{type:Boolean,default:!1}}),Ct={key:2,class:"flex items-center flex-1 cursor-pointer justify-self-stretch justify-end"},Lt=Ke({__name:"TreeHeader",props:{helpMessage:{type:[String,Array],default:""},title:{type:String,default:""},toolbar:{type:Boolean,default:!1},checkable:{type:Boolean,default:!1},search:{type:Boolean,default:!1},searchText:{type:String,default:""},checkAll:{type:Function,default:void 0},expandAll:{type:Function,default:void 0}},emits:["strictly-change","search","clickSearch"],setup(e,{emit:k}){const h=Q(""),[A]=Ce("tree-header"),p=e,E=k,r=He(),{t:y}=st(),L=M(()=>["mr-1","w-full",{"ml-5":r.headerTitle||p.title}]),D=M(()=>{const{checkable:t}=p,l=[{label:y("component.tree.expandAll"),value:T.EXPAND_ALL},{label:y("component.tree.unExpandAll"),value:T.UN_EXPAND_ALL,divider:t}];return t?[{label:y("component.tree.selectAll"),value:T.SELECT_ALL},{label:y("component.tree.unSelectAll"),value:T.UN_SELECT_ALL,divider:t},...l,{label:y("component.tree.checkStrictly"),value:T.CHECK_STRICTLY},{label:y("component.tree.checkUnStrictly"),value:T.CHECK_UN_STRICTLY}]:l});function B(t){var a,o,i,f;const{key:l}=t;switch(l){case T.SELECT_ALL:(a=p.checkAll)==null||a.call(p,!0);break;case T.UN_SELECT_ALL:(o=p.checkAll)==null||o.call(p,!1);break;case T.EXPAND_ALL:(i=p.expandAll)==null||i.call(p,!0);break;case T.UN_EXPAND_ALL:(f=p.expandAll)==null||f.call(p,!1);break;case T.CHECK_STRICTLY:E("strictly-change",!1);break;case T.CHECK_UN_STRICTLY:E("strictly-change",!0);break}}function u(t){E("search",t)}const d=rt(u,200);return I(()=>h.value,t=>{d(t)}),I(()=>p.searchText,t=>{t!==h.value&&(h.value=t)}),(t,l)=>(w(),Y("div",{class:de([s(A)(),"flex px-2 py-1.5 items-center"])},[s(r).headerTitle?Ve(t.$slots,"headerTitle",{key:0}):O("",!0),!s(r).headerTitle&&t.title?(w(),Z(s(kt),{key:1,helpMessage:t.helpMessage},{default:H(()=>[ue(he(t.title),1)]),_:1},8,["helpMessage"])):O("",!0),t.search||t.toolbar?(w(),Y("div",Ct,[t.search?(w(),Y("div",{key:0,class:de(L.value)},[x(s(Ze),{placeholder:s(y)("common.searchText"),size:"small",allowClear:"",value:h.value,"onUpdate:value":l[0]||(l[0]=a=>h.value=a),onSearch:l[1]||(l[1]=a=>t.$emit("clickSearch",a))},null,8,["placeholder","value"])],2)):O("",!0),t.toolbar?(w(),Z(s(Je),{key:1,onClick:l[2]||(l[2]=je(()=>{},["prevent"]))},{overlay:H(()=>[x(s(Qe),{onClick:B},{default:H(()=>[(w(!0),Y(W,null,Re(D.value,a=>(w(),Y(W,{key:a.value},[x(s(We),xe({ref_for:!0},{key:a.value}),{default:H(()=>[ue(he(a.label),1)]),_:2},1040),a.divider?(w(),Z(s(et),{key:0})):O("",!0)],64))),128))]),_:1})]),default:H(()=>[x(s(te),{icon:"ion:ellipsis-vertical"})]),_:1})):O("",!0)])):O("",!0)],2))}}),At=({icon:e})=>e?Xe(e)?$e(te,{icon:e,class:"mr-1"}):te:null;function vt(e,k){function h(u){const d=[],t=u||s(e),{key:l,children:a}=s(k);if(!a||!l)return d;for(let o=0;o<t.length;o++){const i=t[o];d.push(i[l]);const f=i[a];f&&f.length&&d.push(...h(f))}return d}function A(u){const d=[],t=u||s(e),{key:l,children:a}=s(k);if(!a||!l)return d;for(let o=0;o<t.length;o++){const i=t[o];i.disabled!==!0&&i.selectable!==!1&&d.push(i[l]);const f=i[a];f&&f.length&&d.push(...A(f))}return d}function p(u,d){const t=[],l=d||s(e),{key:a,children:o}=s(k);if(!o||!a)return t;for(let i=0;i<l.length;i++){const f=l[i],v=f[o];u===f[a]?(t.push(f[a]),v&&v.length&&t.push(...h(v))):v&&v.length&&t.push(...p(u,v))}return t}function E(u,d,t){if(!u)return;const l=t||s(e),{key:a,children:o}=s(k);if(!(!o||!a))for(let i=0;i<l.length;i++){const f=l[i],v=f[o];if(f[a]===u){l[i]=U(U({},l[i]),d);break}else v&&v.length&&E(u,d,f[o])}}function r(u=1,d,t=1){if(!u)return[];const l=[],a=d||s(e)||[];for(let o=0;o<a.length;o++){const i=a[o],{key:f,children:v}=s(k),G=f?i[f]:"",P=v?i[v]:[];l.push(G),P&&P.length&&t<u&&(t+=1,l.push(...r(u,P,t)))}return l}function y({parentKey:u=null,node:d,push:t="push"}){const l=ee(s(e));if(!u){l[t](d),e.value=l;return}const{key:a,children:o}=s(k);!o||!a||(pe(l,i=>{if(i[a]===u)return i[o]=i[o]||[],i[o][t](d),!0}),e.value=l)}function L({parentKey:u=null,list:d,push:t="push"}){const l=ee(s(e));if(!(!d||d.length<1))if(u){const{key:a,children:o}=s(k);if(!o||!a)return;pe(l,i=>{if(i[a]===u){i[o]=i[o]||[];for(let f=0;f<d.length;f++)i[o][t](d[f]);return e.value=l,!0}})}else for(let a=0;a<d.length;a++)l[t](d[a])}function D(u,d){if(!u)return;const t=d||s(e),{key:l,children:a}=s(k);if(!(!a||!l))for(let o=0;o<t.length;o++){const i=t[o],f=i[a];if(i[l]===u){t.splice(o,1);break}else f&&f.length&&D(u,i[a])}}function B(u,d,t){return!u&&u!==0?null:((d||s(e)).forEach(a=>{if(t!=null&&t.key||(t==null?void 0:t.key)===0)return t;if(a.key===u){t=a;return}a.children&&a.children.length&&(t=B(u,a.children,t))}),t||null)}return{deleteNodeByKey:D,insertNodeByKey:y,insertNodesByKey:L,filterByLevel:r,updateNodeByKey:E,getAllKeys:h,getChildrenKeys:p,getEnabledKeys:A,getSelectedNode:B}}function Et(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!ze(e)}const wt=Ke({name:"BasicTree",inheritAttrs:!1,props:xt,emits:Kt,setup(e,{attrs:k,slots:h,emit:A,expose:p}){const[E]=Ce("tree"),r=ye({checkStrictly:e.checkStrictly,expandedKeys:e.expandedKeys||[],selectedKeys:e.selectedKeys||[],checkedKeys:e.checkedKeys||[]}),y=ye({startSearch:!1,searchText:"",searchData:[]}),L=Q([]),[D]=St(),B=M(()=>{const{fieldNames:n}=e;return U({children:"children",title:"title",key:"key"},n)}),u=Q(null),d=M(()=>{let n=ie(U(U({blockNode:!0},k),e),{expandedKeys:r.expandedKeys,selectedKeys:r.selectedKeys,checkedKeys:r.checkedKeys,checkStrictly:r.checkStrictly,fieldNames:s(B),"onUpdate:expandedKeys":c=>{r.expandedKeys=c,A("update:expandedKeys",c)},"onUpdate:selectedKeys":c=>{r.selectedKeys=c,A("update:selectedKeys",c)},onCheck:(c,g)=>{t(c,g)},onRightClick:Te});return tt(n,"treeData","class")}),t=(n,c)=>{let g=X(r.checkedKeys);if(it(g)&&y.startSearch&&c){const S=c.node.eventKey;g=nt(g,Le(S)),c.checked&&g.push(S),r.checkedKeys=g}else r.checkedKeys=n;const K=X(r.checkedKeys);A("update:value",K),A("check",K,c)},l=M(()=>y.startSearch?y.searchData:s(L)),a=M(()=>!l.value||l.value.length===0),{deleteNodeByKey:o,insertNodeByKey:i,insertNodesByKey:f,filterByLevel:v,updateNodeByKey:G,getAllKeys:P,getChildrenKeys:Le,getEnabledKeys:Ae,getSelectedNode:ve}=vt(L,B);function Ee(n,c){return!c&&e.renderIcon&&J(e.renderIcon)?e.renderIcon(n):c}function Te(g){return oe(this,arguments,function*({event:n,node:c}){var N;const{rightMenuList:K=[],beforeRightClick:S}=e;let C={event:n,items:[]};if(S&&J(S)){let _=yield S(c,n);Array.isArray(_)?C.items=_:Object.assign(C,_)}else C.items=K;(N=C.items)!=null&&N.length&&(C.items=C.items.filter(_=>!_.hidden),D(C))})}function V(n){r.expandedKeys=n}function _e(){return r.expandedKeys}function ne(n){r.selectedKeys=n}function be(){return r.selectedKeys}function ae(n){r.checkedKeys=n}function Be(){return r.checkedKeys}function le(n){r.checkedKeys=n?Ae():[]}function q(n){r.expandedKeys=n?P():[]}function De(n){r.checkStrictly=n}I(()=>e.searchValue,n=>{n!==y.searchText&&(y.searchText=n)},{immediate:!0}),I(()=>e.treeData,n=>{n&&z(y.searchText)});function z(n){if(n!==y.searchText&&(y.searchText=n),A("update:searchValue",n),!n){y.startSearch=!1;return}const{filterFn:c,checkable:g,expandOnSearch:K,checkOnSearch:S,selectedOnSearch:C}=s(e);y.startSearch=!0;const{title:N,key:_}=s(B),F=[];if(y.searchData=ot(s(L),b=>{var j,R;const m=c?c(n,b,s(B)):(R=(j=b[N])==null?void 0:j.includes(n))!=null?R:!1;return m&&F.push(b[_]),m},s(B)),K){const b=dt(y.searchData).map(m=>m[_]);b&&b.length&&V(b)}S&&g&&F.length&&ae(F),C&&F.length&&ne(F)}function Fe(n,c){if(!(!e.clickRowToExpand||!c||c.length===0))if(!r.expandedKeys.includes(n))V([...r.expandedKeys,n]);else{const g=[...r.expandedKeys],K=g.findIndex(S=>S===n);K!==-1&&g.splice(K,1),V(g)}}$(()=>{L.value=e.treeData}),Ge(()=>{const n=parseInt(e.defaultExpandLevel);n>0?r.expandedKeys=v(n):e.defaultExpandAll&&q(!0)}),$(()=>{r.expandedKeys=e.expandedKeys}),$(()=>{r.selectedKeys=e.selectedKeys}),$(()=>{r.checkedKeys=e.checkedKeys}),I(()=>e.value,()=>{r.checkedKeys=X(e.value||e.checkedKeys||[])},{immediate:!0}),I(()=>r.checkedKeys,()=>{const n=X(r.checkedKeys);A("update:value",n),A("change",n)}),I(()=>e.checkStrictly,()=>{r.checkStrictly=e.checkStrictly,qe(()=>{var c;const n=(c=u.value)==null?void 0:c.checkedKeys;t([...n])})});const Ne={setExpandedKeys:V,getExpandedKeys:_e,setSelectedKeys:ne,getSelectedKeys:be,setCheckedKeys:ae,getCheckedKeys:Be,insertNodeByKey:i,insertNodesByKey:f,deleteNodeByKey:o,updateNodeByKey:G,getSelectedNode:ve,checkAll:le,expandAll:q,filterByLevel:n=>{r.expandedKeys=v(n)},setSearchValue:n=>{z(n)},getSearchValue:()=>y.searchText};function me(n){const{actionList:c}=e;if(!(!c||c.length===0))return c.map((g,K)=>{var C;let S=!0;return J(g.show)?S=(C=g.show)==null?void 0:C.call(g,n):Se(g.show)&&(S=g.show),S?x("span",{key:K,class:E("action")},[g.render(n)]):null})}const we=M(()=>{const n=ee(l.value);return ut(n,(c,g)=>{var ce;const K=y.searchText,{highlight:S}=s(e),{title:C,key:N,children:_}=s(B),F=Ee(c,c.icon),b=ct(c,C),m=K?b.indexOf(K):-1,j=y.startSearch&&!yt(K)&&S&&m!==-1,R=`color: ${Se(S)?"#f50":S}`,Me=j?x("span",{class:(ce=s(d))!=null&&ce.blockNode?`${E("content")}`:""},[x("span",null,[b.substr(0,m)]),x("span",{style:R},[K]),x("span",null,[b.substr(m+K.length)])]):b;return c[C]=x("span",{class:`${E("title")} pl-2`,onClick:Fe.bind(null,c[N],c[_])},[h!=null&&h.title?ft(h,"title",c):x(W,null,[F&&x(At,{icon:F},null),Me,x("span",{class:E("actions")},[me(c)])])]),c}),n});return p(Ne),()=>{let n;const{title:c,helpMessage:g,toolbar:K,search:S,checkable:C}=e,N=c||K||S||h.headerTitle,_={height:"calc(100% - 38px)"};return x("div",{class:[E(),"h-full",k.class]},[N&&x(Lt,{checkable:C,checkAll:le,expandAll:q,title:c,search:S,toolbar:K,helpMessage:g,onStrictlyChange:De,onSearch:z,onClickSearch:F=>A("search",F),searchText:y.searchText},Et(n=ht(h))?n:{default:()=>[n]}),x(at,{spinning:s(e.loading),tip:"加载中..."},{default:()=>[fe(x(gt,{style:_},{default:()=>[x(lt,xe({ref:u},s(d),{showIcon:!1,treeData:we.value}),null)]}),[[ke,!s(a)]]),fe(x(ge,{image:ge.PRESENTED_IMAGE_SIMPLE,class:"!mt-4"},null),[[ke,s(a)]])]})])}}});export{wt as _};
|