import{aG as R,bt as O,bv as G,b7 as o,aA as p,bH as e,aF as t,$ as me,aE as u,av as f,a0 as ue,X as pe,bw as q,az as a,b2 as V,bo as s,br as l,Q as H,aq as J,K,aC as y,ah as S,bh as T,J as Q,b1 as A,ar as _e,aB as D,I as X,aj as Z,aD as be,A as fe,bu as he,bj as ge,m as ve,V as ke,a6 as ye,W as we,bk as I,P as Ee,aP as Ce,aL as Me,p as Se,q as xe,n as Pe,U as $e,M as De,aR as Ie,aZ as W,bp as Te,b3 as j,bm as Ae,a_ as Re,bA as Ne,bc as Be}from"./index-D5OuyicD.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css */const Le="/FRLD-logo-white-no_title.png",ze="/FRLD-logo-white.png",Fe=R({__name:"ScopeSwitcher",setup(N){const i=O(),E=G(),r=f(()=>i.scope??"Platform");let c=!1;async function g(_){if(!c){c=!0;try{await w(_)}finally{c=!1}}}async function w(_){try{await i.switchScope(_),E.push(_==="Platform"?"/admin/map-monitor":"/monitor/map")}catch(b){pe.error(b?.message??`切换到 ${_} 失败`)}}return(_,b)=>{const C=me,x=ue;return o(),p(x,{"model-value":r.value,size:"small",onChange:g},{default:e(()=>[t(C,{value:"Platform"},{default:e(()=>[...b[0]||(b[0]=[u("管理员",-1)])]),_:1}),t(C,{value:"RCSMonitor"},{default:e(()=>[...b[1]||(b[1]=[u("运营",-1)])]),_:1})]),_:1},8,["model-value"])}}}),Ue=["title"],Ve={class:"theme-label"},We={class:"option-text"},je={class:"option-name"},Oe={class:"option-desc"},Ge=R({__name:"ThemeSwitcher",setup(N){const i=q(),E=f(()=>({background:`linear-gradient(135deg, ${i.activeTheme.preview} 0%, ${i.activeTheme.previewAccent} 100%)`}));function r(g){const w=i.getMergedTheme(g);return{background:`linear-gradient(135deg, ${w.preview} 0%, ${w.previewAccent} 100%)`}}function c(g){i.setThemeId(g)}return(g,w)=>{const _=H,b=Q,C=K,x=X;return o(),p(x,{trigger:"click",onCommand:c},{dropdown:e(()=>[t(C,{class:"theme-menu"},{default:e(()=>[(o(!0),y(S,null,T(l(i).availableThemes,h=>(o(),p(b,{key:h.id,command:h.id,class:A({"is-active":h.id===l(i).themeId})},{default:e(()=>[a("span",{class:"option-swatch",style:V(r(h))},null,4),a("span",We,[a("span",je,s(h.name),1),a("span",Oe,s(h.description),1)]),h.id===l(i).themeId?(o(),p(_,{key:0,class:"check"},{default:e(()=>[t(l(_e))]),_:1})):D("",!0)]),_:2},1032,["command","class"]))),128))]),_:1})]),default:e(()=>[a("button",{class:"theme-trigger",type:"button",title:`当前主题:${l(i).activeTheme.name}`},[a("span",{class:"swatch",style:V(E.value)},null,4),a("span",Ve,s(l(i).activeTheme.name),1),t(_,{class:"caret"},{default:e(()=>[t(l(J))]),_:1})],8,Ue)]),_:1})}}}),qe=Z(Ge,[["__scopeId","data-v-28ea4aeb"]]),He={class:"app-shell"},Je={class:"aside-footer"},Ke={key:0},Qe={class:"header-left"},Xe={class:"header-right"},Ze={class:"user-link"},Ye={class:"user-name"},ea=R({__name:"AppShell",setup(N){const i=he(),E=G(),r=O(),c=q(),g=f(()=>"localhost:8223".split(":")[1]??"8223"),w=f(()=>"/api"),_=f(()=>(r.user?.displayName??r.user?.username??"?").slice(0,1).toUpperCase()),b=f(()=>r.scope==="Platform"?"管理员 (Platform)":"运营 (RCSMonitor)"),C=f(()=>{switch(r.runMode){case"WebOnly":return"Web-Only";case"WebEnabled":return"Web + Desktop";case"Detached":return"SimpleLite 未连接";default:return String(r.runMode??"Unknown")}}),x=[{path:"/admin/dashboard",label:"总览",icon:Ie,key:"admin-dashboard"},{path:"/admin/map-monitor",label:"地图监控",icon:W,key:"admin-map-monitor"},{path:"/admin/design",label:"设计与编排",icon:Te,children:[{path:"/admin/map-editor",label:"地图编辑",key:"admin-map-editor"},{path:"/admin/project-properties",label:"项目属性",key:"admin-project-properties"},{path:"/admin/tracks",label:"场景管理",key:"admin-tracks"},{path:"/admin/cars",label:"车辆管理",key:"admin-cars"},{path:"/admin/vehicle-hub",label:"车辆运维",key:"admin-vehicle-hub"},{path:"/admin/processes",label:"进程管理",key:"admin-processes"},{path:"/admin/scripts",label:"脚本管理",key:"admin-scripts"},{path:"/admin/missions",label:"任务编排",key:"admin-missions"}]},{path:"/admin/playback",label:"调度回放",icon:j,key:"admin-playback"},{path:"/admin/config",label:"平台配置中心",icon:Ae,children:[{path:"/admin/config/system",label:"系统级配置",key:"admin-config-system"},{path:"/admin/config/integrations",label:"外部系统对接",key:"admin-config-integrations"},{path:"/admin/config/routing",label:"路径规划",key:"admin-config-routing"},{path:"/admin/config/vehicle",label:"车辆维护策略",key:"admin-config-vehicle"},{path:"/admin/config/charge",label:"充电策略",key:"admin-config-charge"},{path:"/admin/config/task",label:"任务分配",key:"admin-config-task"},{path:"/admin/config/traffic",label:"交通管制",key:"admin-config-traffic"},{path:"/admin/config/auth",label:"权限与角色",key:"admin-config-auth"},{path:"/admin/config/device",label:"设备接入",key:"admin-config-device"},{path:"/admin/config/fleet",label:"车队生命周期",key:"admin-config-fleet"},{path:"/admin/config/scenario",label:"场景模板",key:"admin-config-scenario"},{path:"/admin/config/location",label:"库位管理",key:"admin-config-location"},{path:"/admin/config/ops",label:"运营维护",key:"admin-config-ops"},{path:"/admin/config/widget",label:"自定义控件",key:"admin-config-widget"}]}],h=[{path:"/monitor/dashboard",label:"运营总览",icon:Re,key:"monitor-dashboard"},{path:"/monitor/vehicle-hub",label:"车辆运维",icon:Ne,key:"monitor-vehicle-hub"},{path:"/monitor/map",label:"地图监控",icon:W,key:"monitor-map"},{path:"/monitor/ops",label:"运维操作",icon:Be,key:"monitor-ops"},{path:"/monitor/notes",label:"运营备注",icon:j,key:"monitor-notes"}];function Y(v){const n=[];for(const d of v)if(d.children){const M=d.children.filter(k=>!k.key||r.hasPage(k.key));M.length&&n.push({...d,children:M})}else(!d.key||r.hasPage(d.key))&&n.push(d);return n}const B=f(()=>Y(r.scope==="Platform"?x:h)),ee=f(()=>{const v=i.path,n=[],d=k=>{k.forEach(P=>{n.push(P),P.children&&d(P.children)})};return d(B.value),n.find(k=>k.path===v)?.path??v}),L=f(()=>i.meta.title??"");function ae(v){v==="logout"?(r.logout(),E.push("/login")):v==="status"&&E.push("/status")}return(v,n)=>{const d=H,M=we,k=ye,P=ke,te=ve,z=xe,ne=Se,oe=Pe,F=Q,le=K,se=X,ie=Ee,re=ge("router-view"),ce=$e,de=De,U=fe;return o(),y("div",He,[n[8]||(n[8]=be('
',1)),t(U,{class:"app-container"},{default:e(()=>[t(te,{width:l(c).sidebarCollapsed?"76px":"240px",class:"aside"},{default:e(()=>[a("div",{class:A(["logo",{collapsed:l(c).sidebarCollapsed}])},[l(c).sidebarCollapsed?(o(),y(S,{key:0},[n[1]||(n[1]=a("img",{src:Le,alt:"FRLD",class:"logo-img-small"},null,-1)),n[2]||(n[2]=a("span",{class:"logo-abbr"},"迷毂",-1))],64)):(o(),y(S,{key:1},[n[3]||(n[3]=a("img",{src:ze,alt:"FRLD",class:"logo-img-full"},null,-1)),n[4]||(n[4]=a("div",{class:"logo-titles"},[a("span",{class:"logo-title-zh"},"迷 毂 · 智能调度平台"),a("span",{class:"logo-title-en"},[a("b",null,"M"),u("i "),a("b",null,"G"),u("u · "),a("b",null,"I"),u("ntelligent "),a("b",null,"D"),u("ispatch "),a("b",null,"P"),u("latform ")])],-1))],64))],2),t(P,{"default-active":ee.value,collapse:l(c).sidebarCollapsed,"collapse-transition":!1,"background-color":"transparent","text-color":"rgba(255, 255, 255, 0.72)","active-text-color":"#fff",router:"",class:"menu"},{default:e(()=>[(o(!0),y(S,null,T(B.value,m=>(o(),y(S,{key:m.path},[m.children?(o(),p(k,{key:0,index:m.path},{title:e(()=>[t(d,null,{default:e(()=>[(o(),p(I(m.icon)))]),_:2},1024),a("span",null,s(m.label),1)]),default:e(()=>[(o(!0),y(S,null,T(m.children,$=>(o(),p(M,{key:$.path,index:$.path},{default:e(()=>[a("span",null,s($.label),1)]),_:2},1032,["index"]))),128))]),_:2},1032,["index"])):(o(),p(M,{key:1,index:m.path},{title:e(()=>[u(s(m.label),1)]),default:e(()=>[t(d,null,{default:e(()=>[(o(),p(I(m.icon)))]),_:2},1024)]),_:2},1032,["index"]))],64))),128))]),_:1},8,["default-active","collapse"]),a("div",Je,[n[5]||(n[5]=a("span",{class:"aside-footer-badge"},"v1.6",-1)),l(c).sidebarCollapsed?D("",!0):(o(),y("span",Ke,s(l(c).activeTheme.name)+" · "+s(l(c).activeTheme.preview),1))])]),_:1},8,["width"]),t(U,{class:"container-right"},{default:e(()=>[t(ie,{class:"header"},{default:e(()=>[a("div",Qe,[a("button",{class:"icon-btn",onClick:n[0]||(n[0]=m=>l(c).toggleSidebar()),title:"切换侧栏"},[t(d,{size:"18"},{default:e(()=>[l(c).sidebarCollapsed?(o(),p(l(Me),{key:1})):(o(),p(l(Ce),{key:0}))]),_:1})]),t(ne,{separator:"/"},{default:e(()=>[t(z,null,{default:e(()=>[u(s(b.value),1)]),_:1}),L.value?(o(),p(z,{key:0},{default:e(()=>[u(s(L.value),1)]),_:1})):D("",!0)]),_:1})]),a("div",Xe,[t(qe),t(Fe),a("span",{class:A(["runmode-tag",l(r).runMode])},s(C.value),3),t(se,{trigger:"click",onCommand:ae},{dropdown:e(()=>[t(le,null,{default:e(()=>[t(F,{command:"status"},{default:e(()=>[...n[6]||(n[6]=[u("服务状态",-1)])]),_:1}),t(F,{command:"logout",divided:""},{default:e(()=>[...n[7]||(n[7]=[u("退出登录",-1)])]),_:1})]),_:1})]),default:e(()=>[a("span",Ze,[t(oe,{size:"small"},{default:e(()=>[u(s(_.value),1)]),_:1}),a("span",Ye,s(l(r).user?.displayName??"未登录"),1),t(d,null,{default:e(()=>[t(l(J))]),_:1})])]),_:1})])]),_:1}),t(ce,{class:"main mg-content"},{default:e(()=>[t(re,null,{default:e(({Component:m,route:$})=>[m?(o(),p(I(m),{key:$.fullPath,class:"route-page"})):D("",!0)]),_:1})]),_:1}),t(de,{class:"footer"},{default:e(()=>[a("span",null,s(b.value)+" · webVRender :"+s(g.value)+" · API "+s(w.value),1)]),_:1})]),_:1})]),_:1})])}}}),da=Z(ea,[["__scopeId","data-v-7400086b"]]);export{da as default};