Breadcrumb-650d927f.js
3.19 KB
var V=Object.defineProperty,T=Object.defineProperties;var L=Object.getOwnPropertyDescriptors;var R=Object.getOwnPropertySymbols;var O=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable;var E=(e,t,r)=>t in e?V(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,C=(e,t)=>{for(var r in t||(t={}))O.call(t,r)&&E(e,r,t[r]);if(R)for(var r of R(t))z.call(t,r)&&E(e,r,t[r]);return e},y=(e,t)=>T(e,L(t));var M=(e,t,r)=>new Promise((h,d)=>{var g=l=>{try{f(r.next(l))}catch(c){d(c)}},p=l=>{try{f(r.throw(l))}catch(c){d(c)}},f=l=>l.done?h(l.value):Promise.resolve(l.value).then(g,p);f((r=r.apply(e,t)).next())});import{d as G,k as H,U,s as j,a8 as B,_,$ as P,f as q,aa as w,a9 as A,ac as F,a1 as N,E as J,a2 as K}from"./vue-5a35c3f5.js";import{I as Q,p as W,h as X,N as Y,b as Z,c as x,ak as ee,R as te,H as ne,l as ae,bf as re,_ as se}from"./index.js";import{bV as S}from"./antd-6b087f69.js";const oe=G({name:"LayoutBreadcrumb",components:{Icon:Q,[S.name]:S},props:{theme:W.oneOf(["dark","light"])},setup(){const e=H([]),{currentRoute:t}=U(),{prefixCls:r}=X("layout-breadcrumb"),{getShowBreadCrumbIcon:h}=Y(),d=Z(),{t:g}=x();j(()=>M(this,null,function*(){var k,I,$;if(t.value.name===te)return;const s=yield ne(),n=t.value.matched,a=n==null?void 0:n[n.length-1];let o=t.value.path;a&&((k=a==null?void 0:a.meta)!=null&&k.currentActiveMenu)&&(o=a.meta.currentActiveMenu);const u=ae(s,o),m=s.filter(D=>D.path===u[0]),i=p(m,u);if(!i||i.length===0)return;const v=f(i);(I=t.value.meta)!=null&&I.currentActiveMenu&&v.push(y(C({},t.value),{name:(($=t.value.meta)==null?void 0:$.title)||t.value.name})),e.value=v}));function p(s,n){const a=[];return s.forEach(o=>{var u,m;n.includes(o.path)&&a.push(y(C({},o),{name:((u=o.meta)==null?void 0:u.title)||o.name})),(m=o.children)!=null&&m.length&&a.push(...p(o.children,n))}),a}function f(s){return re(s,n=>{const{meta:a,name:o}=n;if(!a)return!!o;const{title:u,hideBreadcrumb:m,hideMenu:i}=a;return!(!u||m||i)}).filter(n=>{var a;return!((a=n.meta)!=null&&a.hideBreadcrumb)})}function l(s,n,a){a==null||a.preventDefault();const{children:o,redirect:u,meta:m}=s;if(o!=null&&o.length&&!u){a==null||a.stopPropagation();return}if(!(m!=null&&m.carryParam))if(u&&ee(u))d(u);else{let i="";n.length===1?i=n[0]:i=`${n.slice(1).pop()||""}`,i=/^\//.test(i)?i:`/${i}`,d(i)}}function c(s,n){return s.indexOf(n)!==s.length-1}function b(s){var n;return s.icon||((n=s.meta)==null?void 0:n.icon)}return{routes:e,t:g,prefixCls:r,getIcon:b,getShowBreadCrumbIcon:h,handleClick:l,hasRedirect:c}}});const ce={key:1};function ie(e,t,r,h,d,g){const p=B("Icon"),f=B("router-link"),l=B("a-breadcrumb");return _(),P("div",{class:K([e.prefixCls,`${e.prefixCls}--${e.theme}`])},[q(l,{routes:e.routes},{itemRender:w(({route:c,routes:b,paths:s})=>[e.getShowBreadCrumbIcon&&e.getIcon(c)?(_(),A(p,{key:0,icon:e.getIcon(c)},null,8,["icon"])):F("v-if",!0),e.hasRedirect(b,c)?(_(),A(f,{key:2,to:"",onClick:n=>e.handleClick(c,s,n)},{default:w(()=>[J(N(e.t(c.name||c.meta.title)),1)]),_:2},1032,["onClick"])):(_(),P("span",ce,N(e.t(c.name||c.meta.title)),1))]),_:1},8,["routes"])],2)}const de=se(oe,[["render",ie],["__file","E:/allcode/erp/test7901/order-erp-front/src/layouts/default/header/components/Breadcrumb.vue"]]);export{de as default};