2 lines
5.5 KiB
JavaScript
2 lines
5.5 KiB
JavaScript
import{d as T,o as c,c as k,F as A,r as j,i as v,w as s,g as _,t as d,h as g,b as r,f as n,k as u,u as J,a as K,m as L,e,M as U,J as H,l as w,j as C,N as Q,C as X,E as Z,B,K as D,A as ee,O as ae,n as te}from"./index-CRqUMQHL.js";import{c as ne,m as oe,l as E,r as se,b as le,d as re}from"./index-BJtbWSeb.js";const ue=T({__name:"NavigationMenu",props:{items:{}},setup(x){return(i,a)=>{const l=u("el-menu-item"),m=u("NavigationMenu",!0),b=u("el-sub-menu");return c(!0),k(A,null,j(x.items,o=>{var h;return c(),k(A,{key:o.id},[(h=o.children)!=null&&h.length?(c(),v(b,{key:0,index:o.id},{title:s(()=>[a[0]||(a[0]=n("span",{class:"nav-marker"},null,-1)),_(d(o.title),1)]),default:s(()=>[o.path?(c(),v(l,{key:0,index:o.path,route:o.path},{default:s(()=>[_(d(o.title),1)]),_:2},1032,["index","route"])):g("",!0),r(m,{items:o.children},null,8,["items"])]),_:2},1032,["index"])):o.path?(c(),v(l,{key:1,index:o.path,route:o.path},{default:s(()=>[a[1]||(a[1]=n("span",{class:"nav-marker"},null,-1)),_(d(o.title),1)]),_:2},1032,["index","route"])):g("",!0)],64)}),128)}}}),ie={class:"app-shell"},de={class:"brand-mark"},ce={class:"nav-label"},me={class:"sidebar-bottom"},pe={class:"workspace"},_e={class:"topbar"},fe={class:"topbar-left"},ve={class:"breadcrumb-root"},be={class:"breadcrumb-current"},ge={class:"topbar-actions"},ye=["disabled"],he={class:"avatar"},ke={class:"account-name"},we={class:"page-content"},Ce={class:"workspace-footer"},Me=T({__name:"Shell",setup(x){const i=J(),a=K(),l=H(),m=w(!1),b=w(!1),o=w(!1),h=C(()=>{var p;return i.requiresPasswordChange||i.requiresWecomBinding?[]:te(((p=i.user)==null?void 0:p.menus)||[])}),q=C(()=>a.enabled&&l.meta.companyModule&&a.currentCompanyId?`${l.path}?company_id=${a.currentCompanyId}`:l.path),z=C(()=>{var p,t,y;return l.meta.companyModule||l.meta.native||l.name==="dashboard"||l.name==="group-members"?((p=a.currentCompany)==null?void 0:p.name)||((t=a.context)==null?void 0:t.group.name)||"集团":((y=a.context)==null?void 0:y.group.name)||"集团"});L(()=>l.fullPath,()=>{m.value=!1});async function O(){if(!b.value){b.value=!0;try{await X(),Z.success("权限与导航已更新")}catch(p){B(p)}finally{b.value=!1}}}async function P(p){if(p==="profile"){await D.push("/profile");return}if(!o.value){o.value=!0;try{await ee("/login/logout")}catch(t){B(t)}finally{i.clear(),ae(),o.value=!1,await D.replace("/login")}}}return(p,t)=>{var S;const y=u("el-icon"),R=u("router-link"),V=u("el-menu"),N=u("el-button"),M=u("el-tag"),F=u("el-tooltip"),$=u("el-dropdown-item"),G=u("el-dropdown-menu"),W=u("el-dropdown"),Y=u("router-view");return c(),k("div",ie,[m.value?(c(),k("button",{key:0,class:"sidebar-overlay","aria-label":"关闭导航",onClick:t[0]||(t[0]=f=>m.value=!1)})):g("",!0),n("aside",{class:U(["sidebar",{"is-open":m.value}])},[r(R,{class:"brand",to:"/dashboard"},{default:s(()=>[n("span",de,[r(y,{size:22},{default:s(()=>[r(e(E))]),_:1})]),n("span",null,[n("strong",null,d(e(a).enabled?"集团身份中心":"账号与权限"),1),n("small",null,d(e(a).enabled?"GROUP IDENTITY":"IDENTITY ADMIN"),1)])]),_:1}),n("div",ce,d(e(a).enabled?"功能导航":"管理空间"),1),r(V,{router:"","default-active":q.value,class:"main-menu",onSelect:t[1]||(t[1]=f=>m.value=!1)},{default:s(()=>[r(ue,{items:h.value},null,8,["items"])]),_:1},8,["default-active"]),n("div",me,[t[3]||(t[3]=n("span",{class:"status-dot"},null,-1)),_(" "+d(e(a).enabled?((S=e(a).context)==null?void 0:S.group.name)||"集团身份管理":e(i).isShared?"原项目共享数据":"独立身份管理工作区"),1)])],2),n("div",pe,[n("header",_e,[n("div",fe,[r(N,{class:"mobile-nav-button",text:"",icon:m.value?e(ne):e(oe),"aria-label":"切换导航",onClick:t[2]||(t[2]=f=>m.value=!m.value)},null,8,["icon"]),n("span",ve,d(e(a).enabled?e(l).meta.title||"集团工作台":"管理后台"),1),t[4]||(t[4]=n("span",{class:"breadcrumb-separator"},"/",-1)),n("span",be,d(e(a).enabled?z.value:e(l).meta.title||"工作台"),1)]),n("div",ge,[e(a).isGroupAdmin?(c(),v(M,{key:0,size:"small",effect:"plain"},{default:s(()=>[...t[5]||(t[5]=[_("集团管理员",-1)])]),_:1})):e(i).isShared&&!e(a).enabled?(c(),v(M,{key:1,size:"small",effect:"plain"},{default:s(()=>[...t[6]||(t[6]=[_("共享数据",-1)])]),_:1})):g("",!0),r(F,{content:"刷新当前权限和导航",placement:"bottom"},{default:s(()=>[r(N,{text:"",icon:e(se),loading:b.value,"aria-label":"刷新权限",onClick:O},null,8,["icon","loading"])]),_:1}),t[9]||(t[9]=n("div",{class:"topbar-divider"},null,-1)),r(W,{onCommand:P,trigger:"click",disabled:o.value},{dropdown:s(()=>[r(G,null,{default:s(()=>[!e(i).requiresWecomBinding||e(i).requiresPasswordChange?(c(),v($,{key:0,command:"profile",icon:e(E)},{default:s(()=>[...t[7]||(t[7]=[_("个人账号与密码",-1)])]),_:1},8,["icon"])):g("",!0),r($,{command:"logout",icon:e(re),divided:""},{default:s(()=>[...t[8]||(t[8]=[_("退出登录",-1)])]),_:1},8,["icon"])]),_:1})]),default:s(()=>{var f,I;return[n("button",{class:"account-trigger",disabled:o.value},[n("span",he,d((((f=e(i).user)==null?void 0:f.name)||"用").slice(0,1)),1),n("span",ke,d((I=e(i).user)==null?void 0:I.name),1),r(y,null,{default:s(()=>[r(e(le))]),_:1})],8,ye)]}),_:1},8,["disabled"])])]),n("main",we,[r(Y,null,{default:s(({Component:f})=>[!e(l).meta.dynamic||e(a).directoryAvailable||e(a).enabled&&e(l).meta.companyModule?(c(),v(Q(f),{key:`${e(l).path}:${e(a).currentCompanyId||""}:${e(a).companyRevision}`})):g("",!0)]),_:1})]),n("footer",Ce,d(e(a).enabled?"集团身份中心 · 公司与应用统一入口":`账号与权限管理 · ${e(i).isShared?"原项目共享数据":"独立管理后台"}`),1)])])}}});export{Me as default};
|