import{b4 as E,aN as D,bV as I,bp as M,X as f,aG as o,aD as t,aI as P,bL as l,bS as v,aK as d,c8 as r,ai as h,bE as b,aF as z,bC as y,bA as F,ay as k,Q as O,r as R,bX as X,bs as i,ax as G,bk as C,ar as J,b3 as Q,aE as $,aJ as K,at as j,ad as H,ak as U}from"./index-D5GfLbIx.js";/* empty css *//* empty css *//* empty css */import{_ as Y}from"./FRLD-logo-white-no_title-BE78iS6n.js";async function Z(){const{data:u}=await E.get("/wizard/options");return u}async function ss(){const{data:u}=await E.get("/wizard/profile");return u}async function ts(u){const{data:p}=await E.put("/wizard/profile",u);return p}const as={class:"wizard-page"},es={class:"wz-card"},ns={class:"wz-head"},is={class:"wz-user"},os={key:0,class:"wz-loading"},ls={key:1,class:"wz-grid"},ds={class:"wz-main"},cs={class:"wz-section"},rs={class:"wz-section-head"},us={class:"chip-grid"},vs=["onClick"],ms={class:"chip-name"},ps={class:"chip-desc"},_s={class:"wz-section"},gs={class:"wz-section-head"},fs={class:"chip-grid"},hs=["onClick"],bs={class:"chip-name"},ws={class:"chip-desc"},zs={key:0,class:"wz-section"},ys={class:"wz-section-head"},ks={class:"chip-grid"},Cs=["onClick"],Ks={class:"chip-name"},Es={class:"chip-desc"},Ss={class:"wz-summary"},xs={class:"sum-row"},Ns={class:"sum-row"},Vs={class:"sum-row"},Ts={class:"sum-scenes"},Ws={key:0,class:"sum-empty"},$s={class:"wz-foot"},Bs={class:"foot-right"},Ls=D({__name:"WizardView",setup(u){const p=X(),m=I(),S=y(!0),_=y(!1),g=y(null),e=F({platformType:"standard",navigationKinds:[],modules:[],scenarios:[]}),x=k(()=>g.value?.scenarios?.templates??[]),B={magnetic:"scene.magnetic",qrcode:"scene.qrcode",laser:"scene.laser"},N=k(()=>e.navigationKinds.map(n=>B[n]??`scene.${n}`)),V=k(()=>e.navigationKinds.length>0);function w(n,s){const c=n.indexOf(s);c>=0?n.splice(c,1):n.push(s)}M(async()=>{try{const[n,s]=await Promise.all([Z(),ss()]);g.value=n,e.platformType=s.platformType||"standard",e.navigationKinds=[...s.navigationKinds??[]],e.modules=s.modules?.length?[...s.modules]:["wms"],e.scenarios=[...s.scenarios??[]]}catch(n){f.error(`加载向导失败:${n instanceof Error?n.message:String(n)}`)}finally{S.value=!1}});async function L(){if(!V.value){f.warning("请至少选择一种导航方式");return}_.value=!0;try{await ts({platformType:e.platformType,modules:e.modules,navigationKinds:e.navigationKinds,scenarios:e.scenarios}),m.markWizardDone(),f.success("部署配置已保存"),p.push(m.scope==="RCSMonitor"?"/monitor/map":"/admin/dashboard")}catch(n){f.error(`保存失败:${n instanceof Error?n.message:String(n)}`)}finally{_.value=!1}}function q(){m.logout(),p.push("/login")}return(n,s)=>{const c=O,A=H,T=R;return i(),o("div",as,[s[14]||(s[14]=t("div",{class:"wz-orb wz-orb-a","aria-hidden":"true"},null,-1)),s[15]||(s[15]=t("div",{class:"wz-orb wz-orb-b","aria-hidden":"true"},null,-1)),t("div",es,[t("header",ns,[s[0]||(s[0]=P('
迷毂
平台配置向导
按需选择导航方式与功能模块,系统据此裁剪界面并按需加载内核能力
',1)),t("div",is,l(v(m).user?.displayName??v(m).user?.username??""),1)]),S.value?(i(),o("div",os,"正在加载配置选项…")):(i(),o("div",ls,[t("div",ds,[t("section",cs,[t("div",rs,[d(c,null,{default:r(()=>[d(v(G))]),_:1}),s[1]||(s[1]=t("h3",null,"导航方式",-1)),s[2]||(s[2]=t("span",{class:"req"},"至少选 1 项",-1))]),t("div",us,[(i(!0),o(h,null,b(g.value?.navigationKinds??[],a=>(i(),o("button",{key:a.id,type:"button",class:C(["chip",{on:e.navigationKinds.includes(a.id)}]),onClick:W=>w(e.navigationKinds,a.id)},[t("div",ms,l(a.name),1),t("div",ps,l(a.description),1)],10,vs))),128))])]),t("section",_s,[t("div",gs,[d(c,null,{default:r(()=>[d(v(J))]),_:1}),s[3]||(s[3]=t("h3",null,"功能模块",-1))]),t("div",fs,[(i(!0),o(h,null,b(g.value?.modules??[],a=>(i(),o("button",{key:a.id,type:"button",class:C(["chip",{on:e.modules.includes(a.id)}]),onClick:W=>w(e.modules,a.id)},[t("div",bs,l(a.name),1),t("div",ws,l(a.description),1)],10,hs))),128))])]),x.value.length?(i(),o("section",zs,[t("div",ys,[d(c,null,{default:r(()=>[d(v(Q))]),_:1}),s[4]||(s[4]=t("h3",null,"业务场景",-1))]),t("div",ks,[(i(!0),o(h,null,b(x.value,a=>(i(),o("button",{key:a.id,type:"button",class:C(["chip",{on:e.scenarios.includes(a.id)}]),onClick:W=>w(e.scenarios,a.id)},[t("div",Ks,l(a.name),1),t("div",Es,l(a.category),1)],10,Cs))),128))])])):z("",!0)]),t("aside",Ss,[s[8]||(s[8]=t("div",{class:"sum-title"},"已选概览",-1)),t("div",xs,[s[5]||(s[5]=t("span",null,"导航方式",-1)),t("b",null,l(e.navigationKinds.length),1)]),t("div",Ns,[s[6]||(s[6]=t("span",null,"功能模块",-1)),t("b",null,l(e.modules.length),1)]),t("div",Vs,[s[7]||(s[7]=t("span",null,"业务场景",-1)),t("b",null,l(e.scenarios.length),1)]),s[9]||(s[9]=t("div",{class:"sum-divider"},null,-1)),s[10]||(s[10]=t("div",{class:"sum-label"},"将激活的内核场景插件",-1)),t("div",Ts,[(i(!0),o(h,null,b(N.value,a=>(i(),$(A,{key:a,size:"small",effect:"dark",class:"sum-tag"},{default:r(()=>[K(l(a),1)]),_:2},1024))),128)),N.value.length?z("",!0):(i(),o("span",Ws,"(请先选择导航方式)"))])])])),t("footer",$s,[d(T,{text:"",class:"logout-btn",onClick:q},{default:r(()=>[...s[11]||(s[11]=[K("退出登录",-1)])]),_:1}),t("div",Bs,[s[13]||(s[13]=t("span",{class:"foot-hint"},"保存后写入部署画像并联动 SimpleLite 选择性加载导航场景",-1)),d(T,{type:"primary",loading:_.value,disabled:!V.value,onClick:L},{default:r(()=>[_.value?z("",!0):(i(),$(c,{key:0,class:"btn-ic"},{default:r(()=>[d(v(j))]),_:1})),s[12]||(s[12]=K("完成并进入平台 ",-1))]),_:1},8,["loading","disabled"])])])])])}}}),Ps=U(Ls,[["__scopeId","data-v-a4c5be60"]]);export{Ps as default};