import{aE as A,bp as O,br as q,b4 as o,ay as u,bD as e,aD as t,$ as pe,aC as m,at as b,a0 as me,X as ue,bs as G,ax as a,a$ as F,bk as l,bn as s,Q as J,ap as X,K as H,aA as y,ah as S,be as T,J as K,a_ as N,aq as _e,az as P,I as Q,aj as Y,aB as fe,A as be,bq as he,bg as ge,m as ve,V as ke,a6 as ye,W as we,bh as I,P as Ee,aN as Ce,aJ as Me,p as Se,q as xe,n as $e,U as De,M as Pe,aP as Ie,aX as W,bl as Te,b0 as j,bj as Ne,aY as Ae,b9 as Re}from"./index-C6ULY2Si.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css */const Be="/FRLD-logo-white-no_title.png",Le="/FRLD-logo-white.png",ze=A({__name:"ScopeSwitcher",setup(R){const i=O(),E=q(),r=b(()=>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(f){ue.error(f?.message??`切换到 ${_} 失败`)}}return(_,f)=>{const C=pe,x=me;return o(),u(x,{"model-value":r.value,size:"small",onChange:g},{default:e(()=>[t(C,{value:"Platform"},{default:e(()=>[...f[0]||(f[0]=[m("管理员",-1)])]),_:1}),t(C,{value:"RCSMonitor"},{default:e(()=>[...f[1]||(f[1]=[m("运营",-1)])]),_:1})]),_:1},8,["model-value"])}}}),Ue=["title"],Ve={class:"theme-label"},Fe={class:"option-text"},We={class:"option-name"},je={class:"option-desc"},Oe=A({__name:"ThemeSwitcher",setup(R){const i=G(),E=b(()=>({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 _=J,f=K,C=H,x=Q;return o(),u(x,{trigger:"click",onCommand:c},{dropdown:e(()=>[t(C,{class:"theme-menu"},{default:e(()=>[(o(!0),y(S,null,T(s(i).availableThemes,h=>(o(),u(f,{key:h.id,command:h.id,class:N({"is-active":h.id===s(i).themeId})},{default:e(()=>[a("span",{class:"option-swatch",style:F(r(h))},null,4),a("span",Fe,[a("span",We,l(h.name),1),a("span",je,l(h.description),1)]),h.id===s(i).themeId?(o(),u(_,{key:0,class:"check"},{default:e(()=>[t(s(_e))]),_:1})):P("",!0)]),_:2},1032,["command","class"]))),128))]),_:1})]),default:e(()=>[a("button",{class:"theme-trigger",type:"button",title:`当前主题:${s(i).activeTheme.name}`},[a("span",{class:"swatch",style:F(E.value)},null,4),a("span",Ve,l(s(i).activeTheme.name),1),t(_,{class:"caret"},{default:e(()=>[t(s(X))]),_:1})],8,Ue)]),_:1})}}}),qe=Y(Oe,[["__scopeId","data-v-28ea4aeb"]]),Ge={class:"app-shell"},Je={class:"aside-footer"},Xe={key:0},He={class:"header-left"},Ke={class:"header-right"},Qe={class:"user-link"},Ye={class:"user-name"},Ze=A({__name:"AppShell",setup(R){const i=he(),E=q(),r=O(),c=G(),g=b(()=>"localhost:8223".split(":")[1]??"8223"),w=b(()=>"/api"),_=b(()=>(r.user?.displayName??r.user?.username??"?").slice(0,1).toUpperCase()),f=b(()=>r.scope==="Platform"?"管理员 (Platform)":"运营 (RCSMonitor)"),C=b(()=>{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/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:Ne,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:Ae,key:"monitor-dashboard"},{path:"/monitor/map",label:"地图监控",icon:W,key:"monitor-map"},{path:"/monitor/ops",label:"运维操作",icon:Re,key:"monitor-ops"},{path:"/monitor/notes",label:"运营备注",icon:j,key:"monitor-notes"}];function Z(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=b(()=>Z(r.scope==="Platform"?x:h)),ee=b(()=>{const v=i.path,n=[],d=k=>{k.forEach($=>{n.push($),$.children&&d($.children)})};return d(B.value),n.find(k=>k.path===v)?.path??v}),L=b(()=>i.meta.title??"");function ae(v){v==="logout"?(r.logout(),E.push("/login")):v==="status"&&E.push("/status")}return(v,n)=>{const d=J,M=we,k=ye,$=ke,te=ve,z=xe,ne=Se,oe=$e,U=K,se=H,le=Q,ie=Ee,re=ge("router-view"),ce=De,de=Pe,V=be;return o(),y("div",Ge,[n[8]||(n[8]=fe('
',1)),t(V,{class:"app-container"},{default:e(()=>[t(te,{width:s(c).sidebarCollapsed?"76px":"240px",class:"aside"},{default:e(()=>[a("div",{class:N(["logo",{collapsed:s(c).sidebarCollapsed}])},[s(c).sidebarCollapsed?(o(),y(S,{key:0},[n[1]||(n[1]=a("img",{src:Be,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:Le,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"),m("i "),a("b",null,"G"),m("u · "),a("b",null,"I"),m("ntelligent "),a("b",null,"D"),m("ispatch "),a("b",null,"P"),m("latform ")])],-1))],64))],2),t($,{"default-active":ee.value,collapse:s(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,p=>(o(),y(S,{key:p.path},[p.children?(o(),u(k,{key:0,index:p.path},{title:e(()=>[t(d,null,{default:e(()=>[(o(),u(I(p.icon)))]),_:2},1024),a("span",null,l(p.label),1)]),default:e(()=>[(o(!0),y(S,null,T(p.children,D=>(o(),u(M,{key:D.path,index:D.path},{default:e(()=>[a("span",null,l(D.label),1)]),_:2},1032,["index"]))),128))]),_:2},1032,["index"])):(o(),u(M,{key:1,index:p.path},{title:e(()=>[m(l(p.label),1)]),default:e(()=>[t(d,null,{default:e(()=>[(o(),u(I(p.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)),s(c).sidebarCollapsed?P("",!0):(o(),y("span",Xe,l(s(c).activeTheme.name)+" · "+l(s(c).activeTheme.preview),1))])]),_:1},8,["width"]),t(V,{class:"container-right"},{default:e(()=>[t(ie,{class:"header"},{default:e(()=>[a("div",He,[a("button",{class:"icon-btn",onClick:n[0]||(n[0]=p=>s(c).toggleSidebar()),title:"切换侧栏"},[t(d,{size:"18"},{default:e(()=>[s(c).sidebarCollapsed?(o(),u(s(Me),{key:1})):(o(),u(s(Ce),{key:0}))]),_:1})]),t(ne,{separator:"/"},{default:e(()=>[t(z,null,{default:e(()=>[m(l(f.value),1)]),_:1}),L.value?(o(),u(z,{key:0},{default:e(()=>[m(l(L.value),1)]),_:1})):P("",!0)]),_:1})]),a("div",Ke,[t(qe),t(ze),a("span",{class:N(["runmode-tag",s(r).runMode])},l(C.value),3),t(le,{trigger:"click",onCommand:ae},{dropdown:e(()=>[t(se,null,{default:e(()=>[t(U,{command:"status"},{default:e(()=>[...n[6]||(n[6]=[m("服务状态",-1)])]),_:1}),t(U,{command:"logout",divided:""},{default:e(()=>[...n[7]||(n[7]=[m("退出登录",-1)])]),_:1})]),_:1})]),default:e(()=>[a("span",Qe,[t(oe,{size:"small"},{default:e(()=>[m(l(_.value),1)]),_:1}),a("span",Ye,l(s(r).user?.displayName??"未登录"),1),t(d,null,{default:e(()=>[t(s(X))]),_:1})])]),_:1})])]),_:1}),t(ce,{class:"main mg-content"},{default:e(()=>[t(re,null,{default:e(({Component:p,route:D})=>[p?(o(),u(I(p),{key:D.fullPath,class:"route-page"})):P("",!0)]),_:1})]),_:1}),t(de,{class:"footer"},{default:e(()=>[a("span",null,l(f.value)+" · webVRender :"+l(g.value)+" · API "+l(w.value),1)]),_:1})]),_:1})]),_:1})])}}}),ca=Y(Ze,[["__scopeId","data-v-800dedbc"]]);export{ca as default};