12 |
- import{c as O,B as P,u as V,o as j,e as F,_ as N}from"./index.6ed0cd31.js";import{L as v,aC as J,i as W,s as k,aD as Y,a2 as q,m as U,J as X,l as Z,aJ as G,al as i,o as r,a as m,Z as l,T as a,F as y,ac as K,S as C,b as L,Y as d,u as Q,ae as ee,X as g,a7 as S,n as te}from"./vue.e1d8f8c6.js";const ne={class:"el-menu-horizontal-warp"},se=v({name:"navMenuHorizontal"}),oe=v({...se,props:{menuList:{type:Array,default:()=>[]}},setup(R){const w=R,z=J(()=>O(()=>import("./subItem.b4cec99d.js"),["./subItem.b4cec99d.js","./vue.e1d8f8c6.js","./index.6ed0cd31.js","./index.bafb3a08.css","./subItem.8f9e68ee.css"],import.meta.url)),c=W(),M=P(),x=V(),{routesList:A}=k(M),{themeConfig:p}=k(x),$=Y(),u=q({defaultActive:""}),b=U(()=>w.menuList),D=n=>{const e=n.wheelDelta||-n.deltaY*40;c.value.$refs.wrapRef.scrollLeft=c.value.$refs.wrapRef.scrollLeft+e/4},B=()=>{te(()=>{let n=document.querySelector(".el-menu.el-menu--horizontal li.is-active");if(!n)return!1;c.value.$refs.wrapRef.scrollLeft=n.offsetLeft})},_=n=>n.filter(e=>{var t;return!((t=e.meta)!=null&&t.isHide)}).map(e=>(e=Object.assign({},e),e.children&&(e.children=_(e.children)),e)),H=n=>{const e=n.split("/");let t={children:[]};return _(A.value).map((o,f)=>{o.path===`/${e[1]}`&&(o.k=f,t.item={...o},t.children=[{...o}],o.children&&(t.children=o.children))}),t},h=n=>{const{path:e,meta:t}=n;if(p.value.layout==="classic")u.defaultActive=`/${e==null?void 0:e.split("/")[1]}`;else{const o=t!=null&&t.isDynamic?t.isDynamicPath.split("/"):e.split("/");o.length>=4&&(t!=null&&t.isHide)?u.defaultActive=o.splice(0,3).join("/"):u.defaultActive=e}},T=n=>{j.handleOpenLink(n)};return X(()=>{h($)}),Z(()=>{B()}),G(n=>{h(n);let{layout:e,isClassicSplitMenu:t}=p.value;e==="classic"&&t&&F.emit("setSendClassicChildren",H(n.path))}),(n,e)=>{const t=i("SvgIcon"),o=i("el-sub-menu"),f=i("el-menu-item"),E=i("el-menu"),I=i("el-scrollbar");return r(),m("div",ne,[l(I,{onWheel:S(D,["prevent"]),ref_key:"elMenuHorizontalScrollRef",ref:c},{default:a(()=>[l(E,{router:"","default-active":u.defaultActive,ellipsis:!1,"background-color":"transparent",mode:"horizontal"},{default:a(()=>[(r(!0),m(y,null,K(b.value,s=>(r(),m(y,null,[s.children&&s.children.length>0?(r(),C(o,{index:s.path,key:s.path},{title:a(()=>[l(t,{name:s.meta.icon},null,8,["name"]),L("span",null,d(n.$t(s.meta.title)),1)]),default:a(()=>[l(Q(z),{chil:s.children},null,8,["chil"])]),_:2},1032,["index"])):(r(),C(f,{index:s.path,key:s.path},ee({_:2},[!s.meta.isLink||s.meta.isLink&&s.meta.isIframe?{name:"title",fn:a(()=>[l(t,{name:s.meta.icon},null,8,["name"]),g(" "+d(n.$t(s.meta.title)),1)]),key:"0"}:{name:"title",fn:a(()=>[L("a",{class:"w100",onClick:S(le=>T(s),["prevent"])},[l(t,{name:s.meta.icon},null,8,["name"]),g(" "+d(n.$t(s.meta.title)),1)],8,["onClick"])]),key:"1"}]),1032,["index"]))],64))),256))]),_:1},8,["default-active"])]),_:1},8,["onWheel"])])}}});const re=N(oe,[["__scopeId","data-v-0e184458"],["__file","E:/code/wwwroot/local81.lzj/simple_storage/vue-next-admin/src/layout/navMenu/horizontal.vue"]]);export{re as default};
|