build(frontend): sync compiled web assets

This commit is contained in:
zhaowei.huang
2026-06-08 18:18:48 +08:00
parent 7ed1e2603b
commit 1c03c7bd80
102 changed files with 253 additions and 232 deletions
@@ -0,0 +1 @@
import{aN as S,bV as N,aE as f,c8 as a,t as z,bs as p,aK as e,N as A,cb as B,O,R as T,a4 as D,aG as M,ai as U,bE as F,Z as G,r as L,bS as b,aJ as d,G as I,aa as J,ab as K,ad as R,bL as X,aD as c,bA as Z,bC as $,X as g}from"./index-D5GfLbIx.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */const j={style:{display:"flex","align-items":"center",gap:"8px"}},pe=S({__name:"AnnotationView",setup(q){const s=N(),l=Z({title:"",target:"",level:"info",content:""}),m=$([{id:"N001",ts:"2026-05-19 10:25",author:"ops",target:"C05",level:"warn",title:"AGV-005 故障观察",content:"出库点附近频繁停顿,怀疑激光被遮挡"}]);function w(r){return r==="error"?"danger":r==="warn"?"warning":"info"}function v(){if(!l.title){g.warning("请填写标题");return}const r=`N${String(m.value.length+1).padStart(3,"0")}`;m.value.unshift({id:r,ts:new Date().toLocaleString("zh-CN"),author:s.user?.username??"mock",target:l.target,level:l.level,title:l.title,content:l.content}),g.success("已记录(Mock,未写入数据库)"),l.title="",l.content="",l.target=""}return(r,t)=>{const u=R,_=T,i=O,V=G,y=D,E=L,x=A,h=I,n=K,k=J,C=z;return p(),f(C,{shadow:"never"},{header:a(()=>[c("div",j,[t[7]||(t[7]=c("span",null,"运营备注(monitor.note.write · 写 platform.db.Annotations",-1)),b(s).hasOp("monitor.note.write")?(p(),f(u,{key:0,size:"small",type:"success"},{default:a(()=>[...t[5]||(t[5]=[d("可写",-1)])]),_:1})):(p(),f(u,{key:1,size:"small",type:"danger"},{default:a(()=>[...t[6]||(t[6]=[d("只读",-1)])]),_:1}))])]),default:a(()=>[e(x,{inline:"",onSubmit:t[3]||(t[3]=B(()=>{},["prevent"]))},{default:a(()=>[e(i,{label:"标题"},{default:a(()=>[e(_,{modelValue:l.title,"onUpdate:modelValue":t[0]||(t[0]=o=>l.title=o),style:{width:"240px"}},null,8,["modelValue"])]),_:1}),e(i,{label:"关联目标"},{default:a(()=>[e(_,{modelValue:l.target,"onUpdate:modelValue":t[1]||(t[1]=o=>l.target=o),placeholder:"例如 C01 / M02 / S006",style:{width:"200px"}},null,8,["modelValue"])]),_:1}),e(i,{label:"层级"},{default:a(()=>[e(y,{modelValue:l.level,"onUpdate:modelValue":t[2]||(t[2]=o=>l.level=o),style:{width:"120px"}},{default:a(()=>[(p(),M(U,null,F(["info","warn","error"],o=>e(V,{key:o,label:o,value:o},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),e(i,null,{default:a(()=>[e(E,{type:"primary",disabled:!b(s).hasOp("monitor.note.write"),onClick:v},{default:a(()=>[...t[8]||(t[8]=[d("提交",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1}),e(_,{modelValue:l.content,"onUpdate:modelValue":t[4]||(t[4]=o=>l.content=o),type:"textarea",rows:4,placeholder:"描述备注内容...",disabled:!b(s).hasOp("monitor.note.write")},null,8,["modelValue","disabled"]),e(h),e(k,{data:m.value,size:"small","max-height":"400"},{default:a(()=>[e(n,{prop:"ts",label:"时间",width:"180"}),e(n,{prop:"author",label:"作者",width:"100"}),e(n,{prop:"target",label:"目标",width:"100"}),e(n,{prop:"level",label:"层级",width:"80"},{default:a(o=>[e(u,{size:"small",type:w(o.row.level)},{default:a(()=>[d(X(o.row.level),1)]),_:2},1032,["type"])]),_:1}),e(n,{prop:"title",label:"标题"}),e(n,{prop:"content",label:"内容"})]),_:1},8,["data"])]),_:1})}}});export{pe as default};
@@ -1 +0,0 @@
import{aI as S,bv as N,aC as f,bJ as a,t as B,b9 as p,aH as e,N as z,bL as O,O as T,R as A,a4 as M,aE as U,ai as D,bj as F,Z as I,r as L,bt as b,aG as d,H as G,aa as H,ab as j,ad as q,bq as J,aB as c,bg as R,bh as X,X as g}from"./index-Dg4NaXsE.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */const Z={style:{display:"flex","align-items":"center",gap:"8px"}},pe=S({__name:"AnnotationView",setup($){const s=N(),l=R({title:"",target:"",level:"info",content:""}),m=X([{id:"N001",ts:"2026-05-19 10:25",author:"ops",target:"C05",level:"warn",title:"AGV-005 故障观察",content:"出库点附近频繁停顿,怀疑激光被遮挡"}]);function w(r){return r==="error"?"danger":r==="warn"?"warning":"info"}function v(){if(!l.title){g.warning("请填写标题");return}const r=`N${String(m.value.length+1).padStart(3,"0")}`;m.value.unshift({id:r,ts:new Date().toLocaleString("zh-CN"),author:s.user?.username??"mock",target:l.target,level:l.level,title:l.title,content:l.content}),g.success("已记录(Mock,未写入数据库)"),l.title="",l.content="",l.target=""}return(r,t)=>{const u=q,_=A,i=T,V=I,y=M,E=L,h=z,x=G,n=j,k=H,C=B;return p(),f(C,{shadow:"never"},{header:a(()=>[c("div",Z,[t[7]||(t[7]=c("span",null,"运营备注(monitor.note.write · 写 platform.db.Annotations",-1)),b(s).hasOp("monitor.note.write")?(p(),f(u,{key:0,size:"small",type:"success"},{default:a(()=>[...t[5]||(t[5]=[d("可写",-1)])]),_:1})):(p(),f(u,{key:1,size:"small",type:"danger"},{default:a(()=>[...t[6]||(t[6]=[d("只读",-1)])]),_:1}))])]),default:a(()=>[e(h,{inline:"",onSubmit:t[3]||(t[3]=O(()=>{},["prevent"]))},{default:a(()=>[e(i,{label:"标题"},{default:a(()=>[e(_,{modelValue:l.title,"onUpdate:modelValue":t[0]||(t[0]=o=>l.title=o),style:{width:"240px"}},null,8,["modelValue"])]),_:1}),e(i,{label:"关联目标"},{default:a(()=>[e(_,{modelValue:l.target,"onUpdate:modelValue":t[1]||(t[1]=o=>l.target=o),placeholder:"例如 C01 / M02 / S006",style:{width:"200px"}},null,8,["modelValue"])]),_:1}),e(i,{label:"层级"},{default:a(()=>[e(y,{modelValue:l.level,"onUpdate:modelValue":t[2]||(t[2]=o=>l.level=o),style:{width:"120px"}},{default:a(()=>[(p(),U(D,null,F(["info","warn","error"],o=>e(V,{key:o,label:o,value:o},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),e(i,null,{default:a(()=>[e(E,{type:"primary",disabled:!b(s).hasOp("monitor.note.write"),onClick:v},{default:a(()=>[...t[8]||(t[8]=[d("提交",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1}),e(_,{modelValue:l.content,"onUpdate:modelValue":t[4]||(t[4]=o=>l.content=o),type:"textarea",rows:4,placeholder:"描述备注内容...",disabled:!b(s).hasOp("monitor.note.write")},null,8,["modelValue","disabled"]),e(x),e(k,{data:m.value,size:"small","max-height":"400"},{default:a(()=>[e(n,{prop:"ts",label:"时间",width:"180"}),e(n,{prop:"author",label:"作者",width:"100"}),e(n,{prop:"target",label:"目标",width:"100"}),e(n,{prop:"level",label:"层级",width:"80"},{default:a(o=>[e(u,{size:"small",type:w(o.row.level)},{default:a(()=>[d(J(o.row.level),1)]),_:2},1032,["type"])]),_:1}),e(n,{prop:"title",label:"标题"}),e(n,{prop:"content",label:"内容"})]),_:1},8,["data"])]),_:1})}}});export{pe as default};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
.rbac-header[data-v-2392979d]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.rbac-title-wrap[data-v-2392979d]{display:flex;flex-direction:column;gap:4px}.rbac-title[data-v-2392979d]{font-weight:600;font-size:16px;color:var(--mg-text-light)}.rbac-desc[data-v-2392979d]{font-size:12.5px;color:var(--mg-text-muted)}.tab-toolbar[data-v-2392979d]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.toolbar-hint[data-v-2392979d]{font-size:13px;color:var(--mg-text-muted)}.mg-tag[data-v-2392979d]{margin:2px 4px 2px 0}.muted[data-v-2392979d]{color:var(--mg-text-faint)}.page-picker[data-v-2392979d]{display:flex;flex-direction:column;gap:14px;max-height:320px;overflow-y:auto;padding:4px 2px}.page-group-head[data-v-2392979d]{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.page-group-title[data-v-2392979d]{font-weight:600;font-size:13px;color:var(--mg-accent, #c4b5fd)}.page-checks[data-v-2392979d]{display:flex;flex-wrap:wrap;gap:4px 18px}.wildcard-hint[data-v-2392979d]{font-size:13px;color:var(--mg-status-warning, #f59e0b);padding:4px 0 8px}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
.tpl-card[data-v-4faf66a8]{margin-bottom:12px}.tpl-title[data-v-4faf66a8]{font-weight:600;margin-bottom:6px}.tpl-meta[data-v-4faf66a8]{display:flex;gap:6px;margin-bottom:8px}.tpl-baseline[data-v-4faf66a8]{margin:0;font-size:11px;background:#f5f7fa;padding:6px;border-radius:4px;max-height:80px;overflow:auto}.js-mini[data-v-96b90481]{margin:0;font-size:11px;background:#f5f7fa;padding:4px 6px;border-radius:4px;max-height:60px;overflow:auto}.config-hub-page[data-v-aaea055a]{padding:16px;height:100%;display:flex;flex-direction:column;overflow:hidden}.hub-tabs[data-v-aaea055a]{flex:1;min-height:0;display:flex;flex-direction:column}[data-v-aaea055a] .el-tabs__content{flex:1;min-height:0;overflow:auto}[data-v-aaea055a] .el-tab-pane{height:100%}.config-pane[data-v-aaea055a]{height:100%;overflow:auto}[data-v-aaea055a] .el-tabs__item{color:var(--mg-text-muted, rgba(255, 255, 255, .65))}[data-v-aaea055a] .el-tabs__item.is-active{color:var(--mg-text-light, #fff)}[data-v-aaea055a] .el-tabs__active-bar{background-color:var(--mg-accent, var(--el-color-primary))}[data-v-aaea055a] .el-tabs__nav-wrap:after{background-color:#ffffff14}
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
.cse-form[data-v-3cdad944]{padding:8px 4px}.cse-color-code[data-v-3cdad944]{font-family:JetBrains Mono,Consolas,monospace;font-size:12px;color:var(--el-text-color-secondary);margin-left:8px}.cse-color-hint[data-v-3cdad944]{font-size:12px;color:var(--el-text-color-secondary);margin-left:8px}.cse-model-row[data-v-3cdad944]{display:flex;align-items:center;gap:8px;width:100%}.cse-model-hint[data-v-3cdad944]{margin:6px 0 0;font-size:12px;color:var(--el-text-color-secondary);line-height:1.55}.cse-root[data-v-3af8f925]{height:100%;display:flex;flex-direction:column;gap:12px;padding:12px;box-sizing:border-box;overflow:auto}.cse-card[data-v-3af8f925] .el-card__body{padding:12px 16px}.cse-card-header[data-v-3af8f925]{display:flex;align-items:center;gap:10px}.cse-card-title[data-v-3af8f925]{font-weight:600}.cse-card-spacer[data-v-3af8f925]{flex:1}.cse-desc[data-v-3af8f925]{margin:0 0 12px;color:var(--el-text-color-primary);font-size:13px;line-height:1.65;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.cse-palette[data-v-3af8f925]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.cse-palette-item[data-v-3af8f925]{border:1px solid var(--el-border-color);background:var(--el-fill-color-light);border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.cse-palette-label[data-v-3af8f925]{display:flex;align-items:center;gap:6px}.cse-palette-key[data-v-3af8f925]{font-weight:600;color:var(--el-text-color-primary)}.cse-palette-pickers[data-v-3af8f925]{display:flex;align-items:center;gap:8px}.cse-color-code[data-v-3af8f925]{font-family:JetBrains Mono,Consolas,monospace;font-size:12px;color:var(--el-text-color-secondary)}.cse-types-card[data-v-3af8f925]{flex:1}.cse-row-title[data-v-3af8f925]{display:flex;align-items:center;gap:8px;width:100%}.cse-row-name[data-v-3af8f925]{font-weight:600}.cse-row-fqn[data-v-3af8f925]{font-family:JetBrains Mono,Consolas,monospace;font-size:12px;color:var(--el-text-color-secondary);flex:1;text-align:left;word-break:break-all}.cse-btn-text[data-v-3af8f925]{margin-left:4px}.car-page[data-v-c3733824]{height:calc(100vh - 56px);padding:12px 14px;box-sizing:border-box;display:flex;flex-direction:column}.car-tabs[data-v-c3733824]{flex:1;display:flex;flex-direction:column;overflow:hidden}.car-tabs[data-v-c3733824] .el-tabs__content{flex:1;overflow:hidden;padding:0}.car-tabs[data-v-c3733824] .el-tab-pane{height:100%;overflow:hidden}
.cse-form[data-v-3cdad944]{padding:8px 4px}.cse-color-code[data-v-3cdad944]{font-family:JetBrains Mono,Consolas,monospace;font-size:12px;color:var(--el-text-color-secondary);margin-left:8px}.cse-color-hint[data-v-3cdad944]{font-size:12px;color:var(--el-text-color-secondary);margin-left:8px}.cse-model-row[data-v-3cdad944]{display:flex;align-items:center;gap:8px;width:100%}.cse-model-hint[data-v-3cdad944]{margin:6px 0 0;font-size:12px;color:var(--el-text-color-secondary);line-height:1.55}.cse-root[data-v-3af8f925]{height:100%;display:flex;flex-direction:column;gap:12px;padding:12px;box-sizing:border-box;overflow:auto}.cse-card[data-v-3af8f925] .el-card__body{padding:12px 16px}.cse-card-header[data-v-3af8f925]{display:flex;align-items:center;gap:10px}.cse-card-title[data-v-3af8f925]{font-weight:600}.cse-card-spacer[data-v-3af8f925]{flex:1}.cse-desc[data-v-3af8f925]{margin:0 0 12px;color:var(--el-text-color-primary);font-size:13px;line-height:1.65;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.cse-palette[data-v-3af8f925]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.cse-palette-item[data-v-3af8f925]{border:1px solid var(--el-border-color);background:var(--el-fill-color-light);border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.cse-palette-label[data-v-3af8f925]{display:flex;align-items:center;gap:6px}.cse-palette-key[data-v-3af8f925]{font-weight:600;color:var(--el-text-color-primary)}.cse-palette-pickers[data-v-3af8f925]{display:flex;align-items:center;gap:8px}.cse-color-code[data-v-3af8f925]{font-family:JetBrains Mono,Consolas,monospace;font-size:12px;color:var(--el-text-color-secondary)}.cse-types-card[data-v-3af8f925]{flex:1}.cse-row-title[data-v-3af8f925]{display:flex;align-items:center;gap:8px;width:100%}.cse-row-name[data-v-3af8f925]{font-weight:600}.cse-row-fqn[data-v-3af8f925]{font-family:JetBrains Mono,Consolas,monospace;font-size:12px;color:var(--el-text-color-secondary);flex:1;text-align:left;word-break:break-all}.cse-btn-text[data-v-3af8f925]{margin-left:4px}.car-page[data-v-a07bde0e]{height:calc(100vh - 56px);padding:12px 14px;box-sizing:border-box;display:flex;flex-direction:column}.car-tabs[data-v-a07bde0e]{flex:1;display:flex;flex-direction:column;overflow:hidden}.car-tabs[data-v-a07bde0e] .el-tabs__content{flex:1;overflow:hidden;padding:0}.car-tabs[data-v-a07bde0e] .el-tab-pane{height:100%;overflow:hidden}
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
import{aI as s,aC as c,bJ as t,bt as d,b9 as u,aH as e,N as f,O as b,a8 as h,S as C,aa as g,ab as w,D as E}from"./index-Dg4NaXsE.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{C as V}from"./ConfigPageBase-MHa7yfOO.js";/* empty css *//* empty css *//* empty css */import"./PermissionGuard-BlMEkqrL.js";/* empty css */import"./reflection-B_glb6eT.js";import"./monitorConfigCache-BigdkiFw.js";const K=s({__name:"ChargePolicyView",setup(x){return(T,U)=>{const i=h,l=b,n=C,a=w,p=g,_=f;return u(),c(V,{section:"charge",title:"充电逻辑",description:"充电优先级、空闲充电、任务中断充电(ChargePolicy",defaults:d(E)},{default:t(({payload:o,update:r})=>[e(_,{"label-width":"180px",model:o},{default:t(()=>[e(l,{label:"允许任务中断充电"},{default:t(()=>[e(i,{"model-value":o.allowMidTaskCharge,"onUpdate:modelValue":m=>r({...o,allowMidTaskCharge:!!m})},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024),e(l,{label:"空闲多少秒后充电"},{default:t(()=>[e(n,{"model-value":o.idleChargeAfterSec,min:0,max:86400,"onUpdate:modelValue":m=>r({...o,idleChargeAfterSec:m??0})},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024),e(l,{label:"充电优先级规则"},{default:t(()=>[e(p,{data:o.priority,size:"small"},{default:t(()=>[e(a,{label:"ID",prop:"id",width:"100"}),e(a,{label:"条件",prop:"condition"}),e(a,{label:"权重",prop:"weight",width:"100"})]),_:1},8,["data"])]),_:2},1024)]),_:2},1032,["model"])]),_:1},8,["defaults"])}}});export{K as default};
@@ -1 +0,0 @@
.js-mini[data-v-96b90481]{margin:0;font-size:11px;background:#f5f7fa;padding:4px 6px;border-radius:4px;max-height:60px;overflow:auto}
@@ -1 +0,0 @@
import{aI as _,aC as i,bJ as e,bt as d,b9 as s,aH as t,aa as u,ab as f,aB as n,bq as r,aE as b,ai as g,bj as h,ad as w,aG as C,l as E,ak as T}from"./index-Dg4NaXsE.js";/* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css */import{C as y}from"./ConfigPageBase-MHa7yfOO.js";/* empty css *//* empty css *//* empty css */import"./PermissionGuard-BlMEkqrL.js";/* empty css */import"./reflection-B_glb6eT.js";import"./monitorConfigCache-BigdkiFw.js";const B={class:"js-mini"},k={class:"js-mini"},x=_({__name:"CustomWidgetView",setup(J){return(S,V)=>{const a=f,p=w,m=u;return s(),i(y,{section:"widget",title:"自定义控件",description:"呼叫/展示界面可自由定义(platform-vue + rcsmonitor-vue 双渲染器)",defaults:d(E)},{default:e(({payload:c})=>[t(m,{data:c.items,size:"small",border:""},{default:e(()=>[t(a,{label:"ID",prop:"id",width:"180"}),t(a,{label:"名称",prop:"name",width:"140"}),t(a,{label:"Schema",prop:"schemaJson"},{default:e(o=>[n("pre",B,r(o.row.schemaJson),1)]),_:1}),t(a,{label:"Layout",prop:"layoutJson"},{default:e(o=>[n("pre",k,r(o.row.layoutJson),1)]),_:1}),t(a,{label:"绑定 Scope"},{default:e(o=>[(s(!0),b(g,null,h(o.row.bindToScopes,l=>(s(),i(p,{key:l,size:"small",effect:"plain",style:{"margin-right":"4px"}},{default:e(()=>[C(r(l),1)]),_:2},1024))),128))]),_:1})]),_:1},8,["data"])]),_:1},8,["defaults"])}}}),M=T(x,[["__scopeId","data-v-96b90481"]]);export{M as default};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
import{aI as b,aC as u,bJ as a,bt as f,b9 as h,aH as e,ac as w,a9 as v,aa as C,ab as E,a8 as D,C as P,F as T,aG as i,bq as r,a as V}from"./index-Dg4NaXsE.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css */import{C as g}from"./ConfigPageBase-MHa7yfOO.js";/* empty css *//* empty css *//* empty css */import"./PermissionGuard-BlMEkqrL.js";/* empty css */import"./reflection-B_glb6eT.js";import"./monitorConfigCache-BigdkiFw.js";const W=b({__name:"DeviceHubView",setup(I){return(x,S)=>{const l=E,s=C,n=v,d=D,o=T,m=P,c=w;return h(),u(g,{section:"device",title:"第三方设备统一接入",description:"电梯/卷帘门/安全门/充电桩/AP/交换机/摄像头/读码器/PLCDeviceManagementConfig",defaults:f(V)},{default:a(({payload:t})=>[e(c,{"model-value":"drivers"},{default:a(()=>[e(n,{name:"drivers",label:"驱动绑定"},{default:a(()=>[e(s,{data:t.drivers,size:"small",border:""},{default:a(()=>[e(l,{label:"ID",prop:"id",width:"120"}),e(l,{label:"设备类型",prop:"deviceType",width:"120"}),e(l,{label:"驱动名",prop:"driverName"}),e(l,{label:"版本",prop:"version",width:"100"})]),_:1},8,["data"])]),_:2},1024),e(n,{name:"devices",label:"设备实例"},{default:a(()=>[e(s,{data:t.devices,size:"small",border:""},{default:a(()=>[e(l,{label:"ID",prop:"id",width:"120"}),e(l,{label:"名称",prop:"name",width:"140"}),e(l,{label:"类型",prop:"deviceType",width:"100"}),e(l,{label:"协议",prop:"protocol",width:"120"}),e(l,{label:"地址",prop:"address"}),e(l,{label:"启用",width:"80"},{default:a(p=>[e(d,{modelValue:p.row.enabled,"onUpdate:modelValue":_=>p.row.enabled=_},null,8,["modelValue","onUpdate:modelValue"])]),_:1})]),_:1},8,["data"])]),_:2},1024),e(n,{name:"policy",label:"健康 / 告警"},{default:a(()=>[e(m,{column:2,border:""},{default:a(()=>[e(o,{label:"心跳周期 (s)"},{default:a(()=>[i(r(t.healthPolicy.heartbeatSec),1)]),_:2},1024),e(o,{label:"离线判定 (s)"},{default:a(()=>[i(r(t.healthPolicy.offlineSec),1)]),_:2},1024),e(o,{label:"告警启用"},{default:a(()=>[i(r(t.alarmPolicy.enabled?"是":"否"),1)]),_:2},1024),e(o,{label:"规则数"},{default:a(()=>[i(r(t.alarmPolicy.rules.length),1)]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1},8,["defaults"])}}});export{W as default};
@@ -1 +0,0 @@
import{aI as U,aC as x,bJ as a,bt as c,b9 as b,aH as t,ac as g,aE as T,ai as h,bj as I,a9 as S,aa as B,ab as $,R as v,a8 as D,r as L,aG as f,bc as N,bq as R,c as z}from"./index-Dg4NaXsE.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{C as P}from"./ConfigPageBase-MHa7yfOO.js";/* empty css *//* empty css */import"./PermissionGuard-BlMEkqrL.js";/* empty css */import"./reflection-B_glb6eT.js";import"./monitorConfigCache-BigdkiFw.js";const le=U({__name:"ExternalIntegrationView",setup(A){function w(r,s,l){const o=`${l}-${Date.now()}`,i={...r,[l]:[...r[l]??[],{id:o,name:"新端点",url:"http://",enabled:!1}]};s(i)}function V(r,s,l,o){const i={...r,[l]:(r[l]??[]).filter((u,p)=>p!==o)};s(i)}return(r,s)=>{const l=v,o=$,i=D,u=L,p=B,E=S,C=g;return b(),x(P,{section:"integrations",title:"外部系统对接",description:"MES / WMS / RCS / PTL 等标准接口配置(ExternalIntegrations",defaults:c(z)},{default:a(({payload:d,update:_})=>[t(C,{"model-value":"mes"},{default:a(()=>[(b(),T(h,null,I(["mes","wms","rcs","ptl"],m=>t(E,{key:m,name:m,label:m.toUpperCase()},{default:a(()=>[t(p,{data:d[m]??[],size:"small",border:""},{default:a(()=>[t(o,{label:"ID",width:"120"},{default:a(e=>[t(l,{modelValue:e.row.id,"onUpdate:modelValue":n=>e.row.id=n},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),t(o,{label:"名称","min-width":"160"},{default:a(e=>[t(l,{modelValue:e.row.name,"onUpdate:modelValue":n=>e.row.name=n},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),t(o,{label:"URL","min-width":"260"},{default:a(e=>[t(l,{modelValue:e.row.url,"onUpdate:modelValue":n=>e.row.url=n},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),t(o,{label:"启用",width:"80"},{default:a(e=>[t(i,{modelValue:e.row.enabled,"onUpdate:modelValue":n=>e.row.enabled=n},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),t(o,{label:"操作",width:"80"},{default:a(e=>[t(u,{text:"",type:"danger",size:"small",onClick:n=>V(d,_,m,e.$index)},{default:a(()=>[...s[0]||(s[0]=[f("删除",-1)])]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1032,["data"]),t(u,{size:"small",icon:c(N),style:{"margin-top":"8px"},onClick:e=>w(d,_,m)},{default:a(()=>[f("新增 "+R(m.toUpperCase())+" 端点",1)]),_:2},1032,["icon","onClick"])]),_:2},1032,["name","label"])),64))]),_:2},1024)]),_:1},8,["defaults"])}}});export{le as default};
@@ -0,0 +1 @@
import{aN as u,bs as b,aE as E,c8 as t,aK as e,ac as f,a9 as h,aa as V,ab as T,a8 as I,B as P,C as B,aJ as p,bL as _,bS as C,a as L,$ as N,d as q,bC as A,c7 as g,aG as S,bW as k,bX as z,aD as y,ak as U}from"./index-D5GfLbIx.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css */import{C as D}from"./ConfigPageBase-CgfsngDp.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./PermissionGuard-CR4qtxrh.js";/* empty css */import"./reflection-BwOBPyb9.js";import"./monitorConfigCache-DXn96T8F.js";const F=u({__name:"DeviceHubView",setup(w){return(r,m)=>{const a=T,i=V,o=h,l=I,n=B,c=P,d=f;return b(),E(D,{section:"device",title:"第三方设备统一接入",description:"电梯/卷帘门/安全门/充电桩/AP/交换机/摄像头/读码器/PLCDeviceManagementConfig",defaults:C(L)},{default:t(({payload:s})=>[e(d,{"model-value":"drivers"},{default:t(()=>[e(o,{name:"drivers",label:"驱动绑定"},{default:t(()=>[e(i,{data:s.drivers,size:"small",border:""},{default:t(()=>[e(a,{label:"ID",prop:"id",width:"120"}),e(a,{label:"设备类型",prop:"deviceType",width:"120"}),e(a,{label:"驱动名",prop:"driverName"}),e(a,{label:"版本",prop:"version",width:"100"})]),_:1},8,["data"])]),_:2},1024),e(o,{name:"devices",label:"设备实例"},{default:t(()=>[e(i,{data:s.devices,size:"small",border:""},{default:t(()=>[e(a,{label:"ID",prop:"id",width:"120"}),e(a,{label:"名称",prop:"name",width:"140"}),e(a,{label:"类型",prop:"deviceType",width:"100"}),e(a,{label:"协议",prop:"protocol",width:"120"}),e(a,{label:"地址",prop:"address"}),e(a,{label:"启用",width:"80"},{default:t(v=>[e(l,{modelValue:v.row.enabled,"onUpdate:modelValue":x=>v.row.enabled=x},null,8,["modelValue","onUpdate:modelValue"])]),_:1})]),_:1},8,["data"])]),_:2},1024),e(o,{name:"policy",label:"健康 / 告警"},{default:t(()=>[e(c,{column:2,border:""},{default:t(()=>[e(n,{label:"心跳周期 (s)"},{default:t(()=>[p(_(s.healthPolicy.heartbeatSec),1)]),_:2},1024),e(n,{label:"离线判定 (s)"},{default:t(()=>[p(_(s.healthPolicy.offlineSec),1)]),_:2},1024),e(n,{label:"告警启用"},{default:t(()=>[p(_(s.alarmPolicy.enabled?"是":"否"),1)]),_:2},1024),e(n,{label:"规则数"},{default:t(()=>[p(_(s.alarmPolicy.rules.length),1)]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1},8,["defaults"])}}}),M=u({__name:"LocationView",setup(w){return(r,m)=>{const a=T,i=N,o=V,l=h,n=f;return b(),E(D,{section:"location",title:"库位管理",description:"出入库、库存、库位可视化(LocationManagement",defaults:C(q)},{default:t(({payload:c})=>[e(n,{"model-value":"locs"},{default:t(()=>[e(l,{name:"locs",label:"库位"},{default:t(()=>[e(o,{data:c.locations,size:"small",border:""},{default:t(()=>[e(a,{label:"ID",prop:"id",width:"100"}),e(a,{label:"编码",prop:"code",width:"120"}),e(a,{label:"名称",prop:"name"}),e(a,{label:"站点",prop:"siteId",width:"100"}),e(a,{label:"容量",prop:"capacity",width:"100"}),e(a,{label:"占用"},{default:t(d=>[e(i,{percentage:Math.round(d.row.occupied/d.row.capacity*100),"stroke-width":10},null,8,["percentage"])]),_:1})]),_:1},8,["data"])]),_:2},1024),e(l,{name:"rules",label:"库存规则"},{default:t(()=>[e(o,{data:c.inventoryRules,size:"small",border:""},{default:t(()=>[e(a,{label:"ID",prop:"id",width:"100"}),e(a,{label:"物料类型",prop:"itemType"}),e(a,{label:"下限",prop:"minQty",width:"100"}),e(a,{label:"上限",prop:"maxQty",width:"100"})]),_:1},8,["data"])]),_:2},1024)]),_:2},1024)]),_:1},8,["defaults"])}}}),R={class:"config-hub-page"},$={class:"config-pane"},O={class:"config-pane"},Q=u({__name:"FacilityConfigView",setup(w){const r=k(),m=z(),a=["device","location"];function i(){const l=r.query.tab;return typeof l=="string"&&a.includes(l)?l:"device"}const o=A(i());return g(o,l=>{r.query.tab!==l&&m.replace({query:{...r.query,tab:l}})}),g(()=>r.query.tab,()=>{const l=i();l!==o.value&&(o.value=l)}),(l,n)=>{const c=h,d=f;return b(),S("div",R,[e(d,{modelValue:o.value,"onUpdate:modelValue":n[0]||(n[0]=s=>o.value=s),class:"hub-tabs"},{default:t(()=>[e(c,{name:"device",label:"设备接入"},{default:t(()=>[y("div",$,[e(F)])]),_:1}),e(c,{name:"location",label:"库位管理",lazy:""},{default:t(()=>[y("div",O,[e(M)])]),_:1})]),_:1},8,["modelValue"])])}}}),pe=U(Q,[["__scopeId","data-v-c7c6b85e"]]);export{pe as default};
@@ -0,0 +1 @@
.config-hub-page[data-v-c7c6b85e]{padding:16px;height:100%;display:flex;flex-direction:column;overflow:hidden}.hub-tabs[data-v-c7c6b85e]{flex:1;min-height:0;display:flex;flex-direction:column}[data-v-c7c6b85e] .el-tabs__content{flex:1;min-height:0;overflow:auto}[data-v-c7c6b85e] .el-tab-pane{height:100%}.config-pane[data-v-c7c6b85e]{height:100%;overflow:auto}[data-v-c7c6b85e] .el-tabs__item{color:var(--mg-text-muted, rgba(255, 255, 255, .65))}[data-v-c7c6b85e] .el-tabs__item.is-active{color:var(--mg-text-light, #fff)}[data-v-c7c6b85e] .el-tabs__active-bar{background-color:var(--mg-accent, var(--el-color-primary))}[data-v-c7c6b85e] .el-tabs__nav-wrap:after{background-color:#ffffff14}
@@ -1 +0,0 @@
import{aI as s,aC as m,bJ as t,bt as c,b9 as d,aH as e,ac as _,a9 as b,aa as u,ab as f,$ as w,d as h}from"./index-Dg4NaXsE.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css */import{C as g}from"./ConfigPageBase-MHa7yfOO.js";/* empty css *//* empty css *//* empty css */import"./PermissionGuard-BlMEkqrL.js";/* empty css */import"./reflection-B_glb6eT.js";import"./monitorConfigCache-BigdkiFw.js";const J=s({__name:"LocationView",setup(C){return(T,E)=>{const a=f,i=w,o=u,l=b,n=_;return d(),m(g,{section:"location",title:"库位管理",description:"出入库、库存、库位可视化(LocationManagement",defaults:c(h)},{default:t(({payload:p})=>[e(n,{"model-value":"locs"},{default:t(()=>[e(l,{name:"locs",label:"库位"},{default:t(()=>[e(o,{data:p.locations,size:"small",border:""},{default:t(()=>[e(a,{label:"ID",prop:"id",width:"100"}),e(a,{label:"编码",prop:"code",width:"120"}),e(a,{label:"名称",prop:"name"}),e(a,{label:"站点",prop:"siteId",width:"100"}),e(a,{label:"容量",prop:"capacity",width:"100"}),e(a,{label:"占用"},{default:t(r=>[e(i,{percentage:Math.round(r.row.occupied/r.row.capacity*100),"stroke-width":10},null,8,["percentage"])]),_:1})]),_:1},8,["data"])]),_:2},1024),e(l,{name:"rules",label:"库存规则"},{default:t(()=>[e(o,{data:p.inventoryRules,size:"small",border:""},{default:t(()=>[e(a,{label:"ID",prop:"id",width:"100"}),e(a,{label:"物料类型",prop:"itemType"}),e(a,{label:"下限",prop:"minQty",width:"100"}),e(a,{label:"上限",prop:"maxQty",width:"100"})]),_:1},8,["data"])]),_:2},1024)]),_:2},1024)]),_:1},8,["defaults"])}}});export{J as default};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
.mmcg[data-v-242bdaa0]{display:flex;flex-direction:column;gap:8px;padding:12px 14px;background:var(--mg-veil-1);border:1px solid var(--mg-veil-border);border-radius:8px}.mmcg-head[data-v-242bdaa0]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mmcg-title[data-v-242bdaa0]{font-weight:600;font-size:13px;color:var(--mg-text-light)}.mmcg-head .spacer[data-v-242bdaa0]{flex:1}.mmcg-empty[data-v-242bdaa0]{margin:4px 0 0;font-size:12px;font-style:italic}.muted[data-v-242bdaa0]{color:var(--mg-text-dim)}.mmcg-grid[data-v-242bdaa0]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 12px;align-items:center}.mmcg-grid[data-v-242bdaa0] .el-checkbox{margin-right:0;height:28px}.mmcg-grid[data-v-242bdaa0] .el-checkbox__label{color:var(--mg-text-light);font-size:12.5px;font-family:ui-monospace,Menlo,Consolas,monospace}.mmcg-orphans[data-v-242bdaa0]{margin-top:4px}.orphan-list[data-v-242bdaa0]{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.mmc-card[data-v-4d3be43b]{margin:0}.mmc-header[data-v-4d3be43b]{display:flex;align-items:center;gap:8px}.mmc-title[data-v-4d3be43b]{font-weight:600;font-size:15px;color:var(--mg-text-light)}.mmc-header .spacer[data-v-4d3be43b]{flex:1}.mmc-desc[data-v-4d3be43b]{color:var(--mg-text-muted);font-size:12.5px;margin:0 0 12px;line-height:1.7}.mmc-desc code[data-v-4d3be43b]{background:var(--mg-veil-2);padding:1px 5px;border-radius:4px;font-family:ui-monospace,Menlo,Consolas,monospace}.mmc-tabs[data-v-4d3be43b] .el-tabs__item{color:var(--mg-text-muted)!important}.mmc-tabs[data-v-4d3be43b] .el-tabs__item.is-active{color:var(--mg-text-light)!important}.mmc-tab-body[data-v-4d3be43b]{display:flex;flex-direction:column;gap:18px;padding-top:6px}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
import{R as o}from"./ReflectionManagerPanel-BZQZIz4T.js";import{aI as i,aE as t,aH as r,b9 as p,ak as e}from"./index-Dg4NaXsE.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./reflection-B_glb6eT.js";import"./useMapEditStream-BgR6WvRg.js";import"./useProjectionStream-BBHmpNXC.js";const m={class:"mission-page"},s=i({__name:"MissionEditorView",setup(a){return(n,c)=>(p(),t("div",m,[r(o,{kind:"process","kind-label":"任务",title:"任务编排(Mission / 进程,含插件 MissionType 实例化)","empty-text":"当前没有任务;点击右上角「新建任务」从已加载的 MissionType 中选一个实例化。"})]))}}),z=e(s,[["__scopeId","data-v-40f885f1"]]);export{z as default};
@@ -1 +0,0 @@
.mission-page[data-v-40f885f1]{height:calc(100vh - 56px);padding:12px 14px;box-sizing:border-box}
@@ -1 +1 @@
import{aI as k,b7 as M,aE as T,aH as t,bJ as e,bh as p,a2 as V,b9 as z,w as B,a6 as D,aB as d,bq as c,t as I,aa as N,ab as S,ad as P,aG as v,$ as q,ax as _,ak as A}from"./index-Dg4NaXsE.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{l as G,a as H}from"./projection-BMms551H.js";import{l as J}from"./ops-CsVl7GhE.js";import"./reflection-B_glb6eT.js";const R={class:"muted"},$=k({__name:"MonitorDashboardView",setup(j){const n=p([]),m=p([]),i=p([]),b=_(()=>n.value.filter(l=>l.state!=="offline").length),x=_(()=>m.value.filter(l=>l.status==="running").length),C=_(()=>n.value.filter(l=>l.state==="fault").length);function E(l){switch(l){case"running":return"success";case"idle":return"info";case"charging":return"warning";case"paused":return"warning";case"fault":return"danger";case"offline":return"info";default:return"info"}}return M(async()=>{[n.value,m.value,i.value]=await Promise.all([G(),H(),J()])}),(l,r)=>{const u=D,o=B,f=V,a=S,g=P,y=q,h=N,w=I;return z(),T("div",null,[t(f,{gutter:14,class:"kpi-row"},{default:e(()=>[t(o,{span:6},{default:e(()=>[t(u,{title:"车辆在线",value:b.value},{suffix:e(()=>[d("span",R,"/ "+c(n.value.length),1)]),_:1},8,["value"])]),_:1}),t(o,{span:6},{default:e(()=>[t(u,{title:"任务进行中",value:x.value},null,8,["value"])]),_:1}),t(o,{span:6},{default:e(()=>[t(u,{title:"故障车辆",value:C.value},null,8,["value"])]),_:1}),t(o,{span:6},{default:e(()=>[t(u,{title:"今日运维动作",value:i.value.length},null,8,["value"])]),_:1})]),_:1}),t(f,{gutter:14,style:{"margin-top":"14px"}},{default:e(()=>[t(o,{span:14},{default:e(()=>[t(w,{shadow:"never"},{header:e(()=>[...r[0]||(r[0]=[d("span",null,"实时车辆",-1)])]),default:e(()=>[t(h,{data:n.value,size:"small","max-height":"360",stripe:""},{default:e(()=>[t(a,{prop:"name",label:"名称",width:"100"}),t(a,{prop:"state",label:"状态",width:"90"},{default:e(s=>[t(g,{size:"small",type:E(s.row.state)},{default:e(()=>[v(c(s.row.state),1)]),_:2},1032,["type"])]),_:1}),t(a,{prop:"group",label:"分组",width:"100"}),t(a,{label:"电量",width:"160"},{default:e(s=>[t(y,{percentage:Math.round(s.row.batterySoc*100),"stroke-width":8},null,8,["percentage"])]),_:1}),t(a,{prop:"missionId",label:"当前任务"})]),_:1},8,["data"])]),_:1})]),_:1}),t(o,{span:10},{default:e(()=>[t(w,{shadow:"never"},{header:e(()=>[...r[1]||(r[1]=[d("span",null,"最近运维动作",-1)])]),default:e(()=>[t(h,{data:i.value,size:"small","max-height":"360",stripe:""},{default:e(()=>[t(a,{prop:"ts",label:"时间",width:"180"}),t(a,{prop:"opCode",label:"动作"}),t(a,{prop:"target",label:"目标",width:"100"}),t(a,{prop:"result",label:"结果",width:"80"},{default:e(s=>[t(g,{size:"small",type:s.row.result==="ok"?"success":"danger"},{default:e(()=>[v(c(s.row.result),1)]),_:2},1032,["type"])]),_:1})]),_:1},8,["data"])]),_:1})]),_:1})]),_:1})])}}}),ot=A($,[["__scopeId","data-v-53088435"]]);export{ot as default};
import{aN as k,bp as M,aG as T,aK as t,c8 as e,bC as p,a2 as V,bs as z,w as D,a6 as N,aD as d,bL as c,t as B,aa as S,ab as I,ad as P,aJ as v,$ as A,ay as _,ak as G}from"./index-D5GfLbIx.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{l as J,a as K}from"./projection-BHFE6Meg.js";import{l as L}from"./ops-C48uBBTk.js";import"./reflection-BwOBPyb9.js";const R={class:"muted"},$=k({__name:"MonitorDashboardView",setup(j){const n=p([]),m=p([]),i=p([]),b=_(()=>n.value.filter(l=>l.state!=="offline").length),C=_(()=>m.value.filter(l=>l.status==="running").length),x=_(()=>n.value.filter(l=>l.state==="fault").length);function y(l){switch(l){case"running":return"success";case"idle":return"info";case"charging":return"warning";case"paused":return"warning";case"fault":return"danger";case"offline":return"info";default:return"info"}}return M(async()=>{[n.value,m.value,i.value]=await Promise.all([J(),K(),L()])}),(l,r)=>{const u=N,o=D,f=V,a=I,g=P,E=A,w=S,h=B;return z(),T("div",null,[t(f,{gutter:14,class:"kpi-row"},{default:e(()=>[t(o,{span:6},{default:e(()=>[t(u,{title:"车辆在线",value:b.value},{suffix:e(()=>[d("span",R,"/ "+c(n.value.length),1)]),_:1},8,["value"])]),_:1}),t(o,{span:6},{default:e(()=>[t(u,{title:"任务进行中",value:C.value},null,8,["value"])]),_:1}),t(o,{span:6},{default:e(()=>[t(u,{title:"故障车辆",value:x.value},null,8,["value"])]),_:1}),t(o,{span:6},{default:e(()=>[t(u,{title:"今日运维动作",value:i.value.length},null,8,["value"])]),_:1})]),_:1}),t(f,{gutter:14,style:{"margin-top":"14px"}},{default:e(()=>[t(o,{span:14},{default:e(()=>[t(h,{shadow:"never"},{header:e(()=>[...r[0]||(r[0]=[d("span",null,"实时车辆",-1)])]),default:e(()=>[t(w,{data:n.value,size:"small","max-height":"360",stripe:""},{default:e(()=>[t(a,{prop:"name",label:"名称",width:"100"}),t(a,{prop:"state",label:"状态",width:"90"},{default:e(s=>[t(g,{size:"small",type:y(s.row.state)},{default:e(()=>[v(c(s.row.state),1)]),_:2},1032,["type"])]),_:1}),t(a,{prop:"group",label:"分组",width:"100"}),t(a,{label:"电量",width:"160"},{default:e(s=>[t(E,{percentage:Math.round(s.row.batterySoc*100),"stroke-width":8},null,8,["percentage"])]),_:1}),t(a,{prop:"missionId",label:"当前任务"})]),_:1},8,["data"])]),_:1})]),_:1}),t(o,{span:10},{default:e(()=>[t(h,{shadow:"never"},{header:e(()=>[...r[1]||(r[1]=[d("span",null,"最近运维动作",-1)])]),default:e(()=>[t(w,{data:i.value,size:"small","max-height":"360",stripe:""},{default:e(()=>[t(a,{prop:"ts",label:"时间",width:"180"}),t(a,{prop:"opCode",label:"动作"}),t(a,{prop:"target",label:"目标",width:"100"}),t(a,{prop:"result",label:"结果",width:"80"},{default:e(s=>[t(g,{size:"small",type:s.row.result==="ok"?"success":"danger"},{default:e(()=>[v(c(s.row.result),1)]),_:2},1032,["type"])]),_:1})]),_:1},8,["data"])]),_:1})]),_:1})]),_:1})])}}}),ot=G($,[["__scopeId","data-v-53088435"]]);export{ot as default};
@@ -0,0 +1 @@
import o from"./MapMonitorView-CdBlKooR.js";import{aN as r,aE as t,bs as p}from"./index-D5GfLbIx.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./Workspace3D-B9mv4VWE.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css */import"./reflection-BwOBPyb9.js";import"./mapEdit-BXIATxCI.js";import"./ops-BCeFEEjY.js";import"./ops-C48uBBTk.js";import"./monitorConfigCache-DXn96T8F.js";/* empty css *//* empty css *//* empty css */import"./workspaceToolbar-abOZ7a24.js";import"./projection-BHFE6Meg.js";import"./useProjectionStream-ayb6RvWW.js";const H=r({__name:"MonitorMapView",setup(i){return(m,e)=>(p(),t(o,{"read-only":""}))}});export{H as default};
@@ -1 +0,0 @@
import o from"./MapMonitorView-Bc6X9WQO.js";import{aI as r,aC as t,b9 as p}from"./index-Dg4NaXsE.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./Workspace3D-DpUfTJl7.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css */import"./reflection-B_glb6eT.js";import"./mapEdit-TNAQr3Be.js";import"./ops-BCeFEEjY.js";import"./ops-CsVl7GhE.js";import"./monitorConfigCache-BigdkiFw.js";/* empty css *//* empty css *//* empty css */import"./projection-BMms551H.js";import"./useProjectionStream-BBHmpNXC.js";const G=r({__name:"MonitorMapView",setup(i){return(m,e)=>(p(),t(o,{"read-only":""}))}});export{G as default};
@@ -1,2 +1,2 @@
import{aI as T,bv as V,b7 as z,aC as m,bJ as a,bh as B,b9 as d,aH as o,t as S,aa as M,bt as _,ab as P,aB as p,bq as r,ad as $,aG as i,R as A,r as D,ae as N,aE as G,ai as H,bj as L,af as R,bg as U,ax as j,X as f,Y as q}from"./index-Dg4NaXsE.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{P as F}from"./PermissionGuard-BlMEkqrL.js";import{O as g}from"./ops-BCeFEEjY.js";import{l as C,e as J}from"./ops-CsVl7GhE.js";/* empty css */const W={style:{display:"flex","align-items":"center",gap:"8px"}},me=T({__name:"OpsActionPanelView",setup(X){const w=V(),u=U({}),c=B([]),E=j(()=>g.filter(n=>w.hasOp(n.code)));async function x(n){const e=u[n.code];if(!e&&n.target!=="note"){f.warning("请填写目标 ID");return}if(n.needConfirm)try{await q.confirm(`确认执行 [${n.label}]
目标${e}`,"二次确认",{type:"warning"})}catch{return}try{const l=await J({opCode:n.code,targetId:e});f.success(`成功auditId=${l.auditId}`),c.value=await C()}catch(l){f.error(`失败${l instanceof Error?l.message:String(l)}`)}}return z(async()=>{c.value=await C()}),(n,e)=>{const l=$,s=P,h=A,k=D,v=M,b=S,I=R,O=N;return d(),m(F,{"widget-id":"OpsActionPanel"},{default:a(()=>[o(b,{shadow:"never"},{header:a(()=>[p("div",W,[e[1]||(e[1]=p("span",null,"运维操作(架构 §5.1 白名单)",-1)),o(l,{size:"small",type:"info"},{default:a(()=>[...e[0]||(e[0]=[i("scope=RCSMonitor",-1)])]),_:1}),o(l,{size:"small",type:"success"},{default:a(()=>[i(r(E.value.length)+" / "+r(_(g).length)+" 可用",1)]),_:1})])]),default:a(()=>[o(v,{data:_(g),size:"small",border:""},{default:a(()=>[o(s,{prop:"code",label:"权限码",width:"200"},{default:a(t=>[p("code",null,r(t.row.code),1)]),_:1}),o(s,{prop:"label",label:"操作",width:"140"}),o(s,{prop:"target",label:"目标",width:"80"}),o(s,{prop:"needConfirm",label:"二次确认",width:"100"},{default:a(t=>[t.row.needConfirm?(d(),m(l,{key:0,size:"small",type:"warning"},{default:a(()=>[...e[2]||(e[2]=[i("是",-1)])]),_:1})):(d(),m(l,{key:1,size:"small",effect:"plain"},{default:a(()=>[...e[3]||(e[3]=[i("否",-1)])]),_:1}))]),_:1}),o(s,{prop:"description",label:"说明"}),o(s,{label:"操作",width:"200"},{default:a(t=>[o(h,{modelValue:u[t.row.code],"onUpdate:modelValue":y=>u[t.row.code]=y,placeholder:"目标 ID",size:"small",style:{width:"100px","margin-right":"6px"}},null,8,["modelValue","onUpdate:modelValue"]),o(k,{size:"small",type:t.row.needConfirm?"warning":"primary",disabled:!_(w).hasOp(t.row.code),onClick:y=>x(t.row)},{default:a(()=>[...e[4]||(e[4]=[i("执行",-1)])]),_:1},8,["type","disabled","onClick"])]),_:1})]),_:1},8,["data"])]),_:1}),o(b,{shadow:"never",style:{"margin-top":"12px"}},{header:a(()=>[...e[5]||(e[5]=[p("span",null,"本地操作记录(占位 Mock",-1)])]),default:a(()=>[o(O,null,{default:a(()=>[(d(!0),G(H,null,L(c.value,t=>(d(),m(I,{key:t.id,timestamp:t.ts,type:t.result==="ok"?"success":"danger"},{default:a(()=>[p("strong",null,r(t.opCode),1),i(" → "+r(t.target)+""+r(t.user)+" ",1)]),_:2},1032,["timestamp","type"]))),128))]),_:1})]),_:1})]),_:1})}}});export{me as default};
import{aN as O,bV as T,bp as z,aE as m,c8 as a,bC as S,bs as d,aK as o,t as B,aa as A,bS as _,ab as M,aD as p,bL as r,ad as P,aJ as i,R as $,r as D,ae as N,aG as L,ai as G,bE as R,af as U,bA as F,ay as H,X as f,Y as J}from"./index-D5GfLbIx.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{P as K}from"./PermissionGuard-CR4qtxrh.js";import{O as g}from"./ops-BCeFEEjY.js";import{l as E,e as W}from"./ops-C48uBBTk.js";/* empty css */const X={style:{display:"flex","align-items":"center",gap:"8px"}},me=O({__name:"OpsActionPanelView",setup(Y){const w=T(),u=F({}),c=S([]),C=H(()=>g.filter(n=>w.hasOp(n.code)));async function x(n){const e=u[n.code];if(!e&&n.target!=="note"){f.warning("请填写目标 ID");return}if(n.needConfirm)try{await J.confirm(`确认执行 [${n.label}]
目标${e}`,"二次确认",{type:"warning"})}catch{return}try{const l=await W({opCode:n.code,targetId:e});f.success(`成功auditId=${l.auditId}`),c.value=await E()}catch(l){f.error(`失败${l instanceof Error?l.message:String(l)}`)}}return z(async()=>{c.value=await E()}),(n,e)=>{const l=P,s=M,h=$,k=D,v=A,b=B,I=U,V=N;return d(),m(K,{"widget-id":"OpsActionPanel"},{default:a(()=>[o(b,{shadow:"never"},{header:a(()=>[p("div",X,[e[1]||(e[1]=p("span",null,"运维操作(架构 §5.1 白名单)",-1)),o(l,{size:"small",type:"info"},{default:a(()=>[...e[0]||(e[0]=[i("scope=RCSMonitor",-1)])]),_:1}),o(l,{size:"small",type:"success"},{default:a(()=>[i(r(C.value.length)+" / "+r(_(g).length)+" 可用",1)]),_:1})])]),default:a(()=>[o(v,{data:_(g),size:"small",border:""},{default:a(()=>[o(s,{prop:"code",label:"权限码",width:"200"},{default:a(t=>[p("code",null,r(t.row.code),1)]),_:1}),o(s,{prop:"label",label:"操作",width:"140"}),o(s,{prop:"target",label:"目标",width:"80"}),o(s,{prop:"needConfirm",label:"二次确认",width:"100"},{default:a(t=>[t.row.needConfirm?(d(),m(l,{key:0,size:"small",type:"warning"},{default:a(()=>[...e[2]||(e[2]=[i("是",-1)])]),_:1})):(d(),m(l,{key:1,size:"small",effect:"plain"},{default:a(()=>[...e[3]||(e[3]=[i("否",-1)])]),_:1}))]),_:1}),o(s,{prop:"description",label:"说明"}),o(s,{label:"操作",width:"200"},{default:a(t=>[o(h,{modelValue:u[t.row.code],"onUpdate:modelValue":y=>u[t.row.code]=y,placeholder:"目标 ID",size:"small",style:{width:"100px","margin-right":"6px"}},null,8,["modelValue","onUpdate:modelValue"]),o(k,{size:"small",type:t.row.needConfirm?"warning":"primary",disabled:!_(w).hasOp(t.row.code),onClick:y=>x(t.row)},{default:a(()=>[...e[4]||(e[4]=[i("执行",-1)])]),_:1},8,["type","disabled","onClick"])]),_:1})]),_:1},8,["data"])]),_:1}),o(b,{shadow:"never",style:{"margin-top":"12px"}},{header:a(()=>[...e[5]||(e[5]=[p("span",null,"本地操作记录(占位 Mock",-1)])]),default:a(()=>[o(V,null,{default:a(()=>[(d(!0),L(G,null,R(c.value,t=>(d(),m(I,{key:t.id,timestamp:t.ts,type:t.result==="ok"?"success":"danger"},{default:a(()=>[p("strong",null,r(t.opCode),1),i(" → "+r(t.target)+""+r(t.user)+" ",1)]),_:2},1032,["timestamp","type"]))),128))]),_:1})]),_:1})]),_:1})}}});export{me as default};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
.monitor-section[data-v-bf134df3]{min-height:80px}.cfg-check-grid[data-v-bf134df3]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 10px}.type-actions[data-v-bf134df3]{width:100%}.empty-hint[data-v-bf134df3]{margin:4px 0 0;font-size:12px}.muted[data-v-bf134df3]{color:var(--mg-text-muted)}
@@ -1 +1 @@
import{aI as p,bv as c,bk as i,aE as u,aB as s,aC as m,L as g,bJ as v,ax as k,b9 as d,bq as y,ak as _}from"./index-Dg4NaXsE.js";/* empty css *//* empty css */const f=["title"],b={class:"pg-hidden-hint"},h=p({__name:"PermissionGuard",props:{widgetId:{}},setup(e){const n=e,l=c(),a=k(()=>l.widgetOf(n.widgetId));return(o,t)=>{const r=g;return a.value==="interactive"?i(o.$slots,"default",{key:0},void 0,!0):a.value==="readonly"?(d(),u("div",{key:1,class:"pg-readonly",title:`${e.widgetId} 当前为只读`},[i(o.$slots,"default",{},void 0,!0),t[0]||(t[0]=s("div",{class:"pg-mask"},null,-1))],8,f)):(d(),m(r,{key:2,class:"pg-hidden"},{description:v(()=>[t[1]||(t[1]=s("p",{class:"pg-hidden-title"},"当前账号无权查看此功能",-1)),s("p",b,"控件:"+y(e.widgetId)+"。若应为管理员可见,请尝试顶部切换「管理员/运营」或刷新页面。",1)]),_:1}))}}}),E=_(h,[["__scopeId","data-v-4766a149"]]);export{E as P};
import{aN as p,bV as c,bF as i,aG as u,aD as s,aE as m,L as g,c8 as y,ay as v,bs as d,bL as k,ak as _}from"./index-D5GfLbIx.js";/* empty css *//* empty css */const f=["title"],h={class:"pg-hidden-hint"},w=p({__name:"PermissionGuard",props:{widgetId:{}},setup(e){const n=e,l=c(),a=v(()=>l.widgetOf(n.widgetId));return(o,t)=>{const r=g;return a.value==="interactive"?i(o.$slots,"default",{key:0},void 0,!0):a.value==="readonly"?(d(),u("div",{key:1,class:"pg-readonly",title:`${e.widgetId} 当前为只读`},[i(o.$slots,"default",{},void 0,!0),t[0]||(t[0]=s("div",{class:"pg-mask"},null,-1))],8,f)):(d(),m(r,{key:2,class:"pg-hidden"},{description:y(()=>[t[1]||(t[1]=s("p",{class:"pg-hidden-title"},"当前账号无权查看此功能",-1)),s("p",h,"控件:"+k(e.widgetId)+"。若应为管理员可见,请尝试顶部切换「管理员/运营」或刷新页面。",1)]),_:1}))}}}),E=_(w,[["__scopeId","data-v-4766a149"]]);export{E as P};
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
import{aI as c,aC as y,bJ as a,t as w,b9 as V,aH as e,a2 as E,w as k,R as B,B as g,r as x,aG as n,bt as N,bF as P,H as v,aa as z,ab as C,aB as D,bq as S,bg as A,bh as I}from"./index-Dg4NaXsE.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */const K=30,X=c({__name:"PlaybackView",setup(T){const s=A({kw:"",range:null}),i=I([{id:"SNAP-001",ts:"2026-05-19 10:21:33",type:"调度异常",summary:"AGV-005 上线超时 → 故障",size:"128 KB"},{id:"SNAP-002",ts:"2026-05-19 14:05:17",type:"路口死锁",summary:"路口-N 等待链 3 节点 30s",size:"64 KB"},{id:"SNAP-003",ts:"2026-05-20 09:11:02",type:"手动快照",summary:"用户 admin 触发 SnapshotExport",size:"420 KB"}]);return(G,t)=>{const d=B,r=k,m=g,o=x,u=E,_=v,l=C,b=z,f=w;return V(),y(f,{shadow:"never"},{header:a(()=>[D("span",null,"调度回放(PlaybackPolicy.retentionDays="+S(K)+" 天)")]),default:a(()=>[e(u,{gutter:12},{default:a(()=>[e(r,{span:6},{default:a(()=>[e(d,{modelValue:s.kw,"onUpdate:modelValue":t[0]||(t[0]=p=>s.kw=p),placeholder:"按任务 / 车辆检索",clearable:""},null,8,["modelValue"])]),_:1}),e(r,{span:8},{default:a(()=>[e(m,{modelValue:s.range,"onUpdate:modelValue":t[1]||(t[1]=p=>s.range=p),type:"datetimerange","range-separator":"→","start-placeholder":"开始","end-placeholder":"结束",style:{width:"100%"}},null,8,["modelValue"])]),_:1}),e(r,{span:10},{default:a(()=>[e(o,{type:"primary"},{default:a(()=>[...t[2]||(t[2]=[n("检索快照",-1)])]),_:1}),e(o,null,{default:a(()=>[...t[3]||(t[3]=[n("下载日志",-1)])]),_:1}),e(o,{icon:N(P),plain:""},{default:a(()=>[...t[4]||(t[4]=[n("回放选中",-1)])]),_:1},8,["icon"])]),_:1})]),_:1}),e(_),e(b,{data:i.value,stripe:""},{default:a(()=>[e(l,{prop:"id",label:"ID",width:"100"}),e(l,{prop:"ts",label:"时间",width:"180"}),e(l,{prop:"type",label:"类型",width:"140"}),e(l,{prop:"summary",label:"概要"}),e(l,{prop:"size",label:"大小",width:"100"}),e(l,{label:"操作",width:"160"},{default:a(()=>[e(o,{text:"",size:"small"},{default:a(()=>[...t[5]||(t[5]=[n("回放",-1)])]),_:1}),e(o,{text:"",size:"small"},{default:a(()=>[...t[6]||(t[6]=[n("下载",-1)])]),_:1})]),_:1})]),_:1},8,["data"])]),_:1})}}});export{X as default};
@@ -0,0 +1 @@
.process-page[data-v-05b2f671]{height:calc(100vh - 56px);padding:12px 14px;box-sizing:border-box}
@@ -1 +0,0 @@
.process-page[data-v-6a85813e]{height:calc(100vh - 56px);padding:12px 14px;box-sizing:border-box}
@@ -0,0 +1 @@
import{R as t}from"./ReflectionManagerPanel-CqcqGxZI.js";import{aN as o,aG as e,aK as r,bs as i,ak as s}from"./index-D5GfLbIx.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./reflection-BwOBPyb9.js";import"./projectSaveFlow-BOHSv3Vc.js";import"./useProjectionStream-ayb6RvWW.js";import"./mapEdit-BXIATxCI.js";const p={class:"process-page"},m=o({__name:"ProcessPanelView",setup(a){return(n,c)=>(i(),e("div",p,[r(t,{kind:"process","kind-label":"进程",title:"进程管理(Mission / Process","empty-text":"当前没有进程;点击右上角「新建进程」即可基于已加载的 MissionType 实例化一个。","show-status-column":"","status-label":"状态","status-reflection-key":"status","enable-project-save":""})]))}}),A=s(m,[["__scopeId","data-v-05b2f671"]]);export{A as default};
@@ -1 +0,0 @@
import{R as o}from"./ReflectionManagerPanel-BZQZIz4T.js";import{aI as t,aE as r,aH as e,b9 as i,ak as p}from"./index-Dg4NaXsE.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./reflection-B_glb6eT.js";import"./useMapEditStream-BgR6WvRg.js";import"./useProjectionStream-BBHmpNXC.js";const m={class:"process-page"},s=t({__name:"ProcessPanelView",setup(a){return(n,c)=>(i(),r("div",m,[e(o,{kind:"process","kind-label":"进程",title:"进程管理(Mission / Process","empty-text":"当前没有进程;点击右上角「新建进程」即可基于已加载的 MissionType 实例化一个。"})]))}}),z=p(s,[["__scopeId","data-v-6a85813e"]]);export{z as default};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
import{aI as f,aC as w,bJ as t,bt as h,b9 as g,aH as e,N as v,O as E,a4 as I,Z as k,aa as x,ab as z,S as C,f as U}from"./index-Dg4NaXsE.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{C as V}from"./ConfigPageBase-MHa7yfOO.js";/* empty css *//* empty css *//* empty css */import"./PermissionGuard-BlMEkqrL.js";/* empty css */import"./reflection-B_glb6eT.js";import"./monitorConfigCache-BigdkiFw.js";const X=f({__name:"RoutingPolicyView",setup(D){function _(r){return Object.entries(r).map(([p,a])=>({k:p,v:a}))}return(r,p)=>{const a=k,u=I,m=E,o=z,d=C,n=x,c=v;return g(),w(V,{section:"routing",title:"路径规划策略",description:"算法选择、权重、避障规则、区域限速(RoutingPolicy",defaults:h(U)},{default:t(({payload:l,update:s})=>[e(c,{"label-width":"140px",model:l},{default:t(()=>[e(m,{label:"算法"},{default:t(()=>[e(u,{"model-value":l.algorithm,"onUpdate:modelValue":i=>s({...l,algorithm:i})},{default:t(()=>[e(a,{label:"Dijkstra",value:"dijkstra"}),e(a,{label:"A*",value:"astar"}),e(a,{label:"自定义",value:"custom"})]),_:1},8,["model-value","onUpdate:modelValue"])]),_:2},1024),e(m,{label:"权重"},{default:t(()=>[e(n,{data:_(l.weights),size:"small"},{default:t(()=>[e(o,{label:"维度",prop:"k",width:"140"}),e(o,{label:"权重"},{default:t(i=>[e(d,{"model-value":i.row.v,min:0,max:10,step:.1,"onUpdate:modelValue":b=>s({...l,weights:{...l.weights,[i.row.k]:b??0}})},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024)]),_:2},1032,["data"])]),_:2},1024),e(m,{label:"避障规则"},{default:t(()=>[e(n,{data:l.avoidance,size:"small"},{default:t(()=>[e(o,{label:"ID",prop:"id",width:"100"}),e(o,{label:"区域 ID",prop:"zoneId",width:"140"}),e(o,{label:"规则",prop:"rule"})]),_:1},8,["data"])]),_:2},1024),e(m,{label:"区域限速"},{default:t(()=>[e(n,{data:l.zoneSpeedLimits,size:"small"},{default:t(()=>[e(o,{label:"区域",prop:"zoneId",width:"140"}),e(o,{label:"最大速度 (m/s)",prop:"maxSpeedMps"})]),_:1},8,["data"])]),_:2},1024)]),_:2},1032,["model"])]),_:1},8,["defaults"])}}});export{X as default};
@@ -1 +0,0 @@
import{aI as b,aC as _,bJ as e,bt as C,b9 as n,aH as t,a2 as E,aE as g,ai as v,bj as w,w as S,t as h,aB as r,bq as a,ad as k,aG as o,H as D,C as P,F as V,g as B,ak as T}from"./index-Dg4NaXsE.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{C as x}from"./ConfigPageBase-MHa7yfOO.js";/* empty css */import"./PermissionGuard-BlMEkqrL.js";/* empty css */import"./reflection-B_glb6eT.js";import"./monitorConfigCache-BigdkiFw.js";const I={class:"tpl-title"},L={class:"tpl-meta"},N={class:"tpl-baseline"},F=b({__name:"ScenarioTemplateView",setup(R){return(y,z)=>{const c=k,d=h,m=S,p=E,f=D,l=V,u=P;return n(),_(x,{section:"scenario",title:"业务场景模板化",description:"SPS / Pack / 环线 / 点对点;DSL/低代码扩展(ScenarioTemplateConfig",defaults:C(B)},{default:e(({payload:s})=>[t(p,{gutter:12},{default:e(()=>[(n(!0),g(v,null,w(s.templates,i=>(n(),_(m,{key:i.id,span:6},{default:e(()=>[t(d,{shadow:"hover",class:"tpl-card"},{default:e(()=>[r("div",I,a(i.name),1),r("div",L,[t(c,{size:"small"},{default:e(()=>[o(a(i.category),1)]),_:2},1024),t(c,{size:"small",type:"info"},{default:e(()=>[o("v"+a(i.version),1)]),_:2},1024)]),r("pre",N,a(i.baselineJson||"{}"),1)]),_:2},1024)]),_:2},1024))),128))]),_:2},1024),t(f),t(u,{column:2,border:""},{default:e(()=>[t(l,{label:"DSL 启用"},{default:e(()=>[o(a(s.dslPolicy.enabled?"是":"否"),1)]),_:2},1024),t(l,{label:"Schema 版本"},{default:e(()=>[o(a(s.dslPolicy.schemaVersion),1)]),_:2},1024),t(l,{label:"低代码"},{default:e(()=>[o(a(s.lowCode.enabled?"启用":"关闭"),1)]),_:2},1024),t(l,{label:"编辑器"},{default:e(()=>[o(a(s.lowCode.editor),1)]),_:2},1024),t(l,{label:"保留版本"},{default:e(()=>[o(a(s.versionPolicy.keepVersions),1)]),_:2},1024),t(l,{label:"允许回滚"},{default:e(()=>[o(a(s.versionPolicy.allowRollback?"是":"否"),1)]),_:2},1024)]),_:2},1024)]),_:1},8,["defaults"])}}}),Y=T(F,[["__scopeId","data-v-4faf66a8"]]);export{Y as default};
@@ -1 +0,0 @@
.tpl-card[data-v-4faf66a8]{margin-bottom:12px}.tpl-title[data-v-4faf66a8]{font-weight:600;margin-bottom:6px}.tpl-meta[data-v-4faf66a8]{display:flex;gap:6px;margin-bottom:8px}.tpl-baseline[data-v-4faf66a8]{margin:0;font-size:11px;background:#f5f7fa;padding:6px;border-radius:4px;max-height:80px;overflow:auto}
@@ -0,0 +1 @@
.script-page[data-v-10fa0621]{height:calc(100vh - 56px);padding:12px 14px;box-sizing:border-box}
@@ -0,0 +1 @@
import{R as t}from"./ReflectionManagerPanel-CqcqGxZI.js";import{aN as r,aG as o,aK as i,bs as e,ak as m}from"./index-D5GfLbIx.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./reflection-BwOBPyb9.js";import"./projectSaveFlow-BOHSv3Vc.js";import"./useProjectionStream-ayb6RvWW.js";import"./mapEdit-BXIATxCI.js";const p={class:"script-page"},a=r({__name:"ScriptPanelView",setup(s){return(c,n)=>(e(),o("div",p,[i(t,{kind:"script","kind-label":"脚本",title:"脚本管理(CarProgram 运行实例 · 与 SimpleLite 工作台「脚本」页对齐)","empty-text":"当前无 CarProgram 实例。CarProgram 是 Mission 运行时编译用户脚本后产生的对象,请在 SimpleLite 工作台新建 Mission(任务)后由调度运行时自动生成。","disable-create":"","disable-delete":"","show-summary-column":"","summary-label":"车辆","show-status-column":"","status-label":"状态","show-script-actions":""})]))}}),z=m(a,[["__scopeId","data-v-10fa0621"]]);export{z as default};
@@ -1 +0,0 @@
import{R as t}from"./ReflectionManagerPanel-BZQZIz4T.js";import{aI as r,aE as o,aH as i,b9 as e,ak as a}from"./index-Dg4NaXsE.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./reflection-B_glb6eT.js";import"./useMapEditStream-BgR6WvRg.js";import"./useProjectionStream-BBHmpNXC.js";const m={class:"script-page"},p=r({__name:"ScriptPanelView",setup(s){return(c,n)=>(e(),o("div",m,[i(t,{kind:"script","kind-label":"脚本",title:"脚本管理(CarProgram 运行实例 · 与 SimpleLite 工作台「脚本」页对齐)","empty-text":"当前无 CarProgram 实例。CarProgram 是 Mission 运行时编译用户脚本后产生的对象,要创建脚本请到「任务编排」页新建 Mission。","disable-create":"","disable-delete":"","show-summary-column":"","summary-label":"车辆","show-status-column":"","status-label":"状态","show-script-actions":""})]))}}),q=a(p,[["__scopeId","data-v-40d1e5dd"]]);export{q as default};
@@ -1 +0,0 @@
.script-page[data-v-40d1e5dd]{height:calc(100vh - 56px);padding:12px 14px;box-sizing:border-box}
@@ -1 +1 @@
import{aI as w,b7 as k,b8 as E,aE as x,aH as s,bJ as e,t as y,bh as V,bx as C,b9 as D,C as I,F as z,aG as a,bq as f,bt as B,ad as M,aB as m,r as W,ak as N}from"./index-Dg4NaXsE.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */const O={class:"status-page mg-content"},K={class:"status-actions"},R=w({__name:"ServiceStatusView",setup(T){const b=C(),_=new Date().toLocaleString("zh-CN"),i=V("00:00:00");let r;const S=Date.now();function u(){const p=Date.now()-S,t=Math.floor(p/1e3),o=String(Math.floor(t/3600)).padStart(2,"0"),l=String(Math.floor(t%3600/60)).padStart(2,"0"),d=String(t%60).padStart(2,"0");i.value=`${o}:${l}:${d}`}k(()=>{u(),r=window.setInterval(u,1e3)}),E(()=>{r&&clearInterval(r)});function v(){b.back()}return(p,t)=>{const o=M,l=z,d=I,n=W,g=y;return D(),x("div",O,[s(g,{shadow:"never",class:"status-card"},{header:e(()=>[t[1]||(t[1]=m("span",null,"SimpleLite Service Status",-1)),s(o,{type:"success",effect:"dark",style:{"margin-left":"8px"}},{default:e(()=>[...t[0]||(t[0]=[a("Web-Enabled (Mock)",-1)])]),_:1})]),default:e(()=>[s(d,{column:2,border:""},{default:e(()=>[s(l,{label:"模式"},{default:e(()=>[...t[2]||(t[2]=[a("Web-Enabled",-1)])]),_:1}),s(l,{label:"启动时间"},{default:e(()=>[a(f(B(_)),1)]),_:1}),s(l,{label:"运行时长"},{default:e(()=>[a(f(i.value),1)]),_:1}),s(l,{label:"节点角色"},{default:e(()=>[s(o,{type:"success"},{default:e(()=>[...t[3]||(t[3]=[a("Active (ROSE)",-1)])]),_:1})]),_:1}),s(l,{label:"WebAPI"},{default:e(()=>[t[5]||(t[5]=a("http://0.0.0.0:7001 ",-1)),s(o,{size:"small"},{default:e(()=>[...t[4]||(t[4]=[a("OK",-1)])]),_:1})]),_:1}),s(l,{label:"WebSocket"},{default:e(()=>[t[7]||(t[7]=a("ws://0.0.0.0:7002 ",-1)),s(o,{size:"small"},{default:e(()=>[...t[6]||(t[6]=[a("OK",-1)])]),_:1})]),_:1}),s(l,{label:"webVRender"},{default:e(()=>[t[9]||(t[9]=a("http://0.0.0.0:8223 ",-1)),s(o,{size:"small",type:"success"},{default:e(()=>[...t[8]||(t[8]=[a("OK",-1)])]),_:1})]),_:1}),s(l,{label:"Platform.Server"},{default:e(()=>[...t[10]||(t[10]=[a(":8080 (pid=12345)",-1)])]),_:1}),s(l,{label:"在线 Vue 客户端"},{default:e(()=>[...t[11]||(t[11]=[a("admin=3, monitor=4",-1)])]),_:1}),s(l,{label:"调度循环 / 任务"},{default:e(()=>[...t[12]||(t[12]=[a("50 Hz · 14 / 32",-1)])]),_:1})]),_:1}),m("div",K,[s(n,null,{default:e(()=>[...t[13]||(t[13]=[a("查看日志",-1)])]),_:1}),s(n,{type:"warning",plain:""},{default:e(()=>[...t[14]||(t[14]=[a("重启 Web",-1)])]),_:1}),s(n,{type:"danger",plain:""},{default:e(()=>[...t[15]||(t[15]=[a("关闭服务",-1)])]),_:1}),s(n,{onClick:v},{default:e(()=>[...t[16]||(t[16]=[a("返回",-1)])]),_:1})])]),_:1})])}}}),q=N(R,[["__scopeId","data-v-ddc086d3"]]);export{q as default};
import{aN as w,bp as k,br as E,aG as y,aK as s,c8 as e,t as C,bC as D,bX as V,bs as x,B as z,C as B,aJ as a,bL as f,bS as I,ad as M,aD as m,r as N,ak as W}from"./index-D5GfLbIx.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */const K={class:"status-page mg-content"},O={class:"status-actions"},L=w({__name:"ServiceStatusView",setup(R){const b=V(),S=new Date().toLocaleString("zh-CN"),i=D("00:00:00");let r;const _=Date.now();function u(){const p=Date.now()-_,t=Math.floor(p/1e3),o=String(Math.floor(t/3600)).padStart(2,"0"),l=String(Math.floor(t%3600/60)).padStart(2,"0"),d=String(t%60).padStart(2,"0");i.value=`${o}:${l}:${d}`}k(()=>{u(),r=window.setInterval(u,1e3)}),E(()=>{r&&clearInterval(r)});function v(){b.back()}return(p,t)=>{const o=M,l=B,d=z,n=N,g=C;return x(),y("div",K,[s(g,{shadow:"never",class:"status-card"},{header:e(()=>[t[1]||(t[1]=m("span",null,"SimpleLite Service Status",-1)),s(o,{type:"success",effect:"dark",style:{"margin-left":"8px"}},{default:e(()=>[...t[0]||(t[0]=[a("Web-Enabled (Mock)",-1)])]),_:1})]),default:e(()=>[s(d,{column:2,border:""},{default:e(()=>[s(l,{label:"模式"},{default:e(()=>[...t[2]||(t[2]=[a("Web-Enabled",-1)])]),_:1}),s(l,{label:"启动时间"},{default:e(()=>[a(f(I(S)),1)]),_:1}),s(l,{label:"运行时长"},{default:e(()=>[a(f(i.value),1)]),_:1}),s(l,{label:"节点角色"},{default:e(()=>[s(o,{type:"success"},{default:e(()=>[...t[3]||(t[3]=[a("Active (ROSE)",-1)])]),_:1})]),_:1}),s(l,{label:"WebAPI"},{default:e(()=>[t[5]||(t[5]=a("http://0.0.0.0:7001 ",-1)),s(o,{size:"small"},{default:e(()=>[...t[4]||(t[4]=[a("OK",-1)])]),_:1})]),_:1}),s(l,{label:"WebSocket"},{default:e(()=>[t[7]||(t[7]=a("ws://0.0.0.0:7002 ",-1)),s(o,{size:"small"},{default:e(()=>[...t[6]||(t[6]=[a("OK",-1)])]),_:1})]),_:1}),s(l,{label:"webVRender"},{default:e(()=>[t[9]||(t[9]=a("http://0.0.0.0:8223 ",-1)),s(o,{size:"small",type:"success"},{default:e(()=>[...t[8]||(t[8]=[a("OK",-1)])]),_:1})]),_:1}),s(l,{label:"Platform.Server"},{default:e(()=>[...t[10]||(t[10]=[a(":8080 (pid=12345)",-1)])]),_:1}),s(l,{label:"在线 Vue 客户端"},{default:e(()=>[...t[11]||(t[11]=[a("admin=3, monitor=4",-1)])]),_:1}),s(l,{label:"调度循环 / 任务"},{default:e(()=>[...t[12]||(t[12]=[a("50 Hz · 14 / 32",-1)])]),_:1})]),_:1}),m("div",O,[s(n,null,{default:e(()=>[...t[13]||(t[13]=[a("查看日志",-1)])]),_:1}),s(n,{type:"warning",plain:""},{default:e(()=>[...t[14]||(t[14]=[a("重启 Web",-1)])]),_:1}),s(n,{type:"danger",plain:""},{default:e(()=>[...t[15]||(t[15]=[a("关闭服务",-1)])]),_:1}),s(n,{onClick:v},{default:e(()=>[...t[16]||(t[16]=[a("返回",-1)])]),_:1})])]),_:1})])}}}),H=W(L,[["__scopeId","data-v-ddc086d3"]]);export{H as default};
@@ -0,0 +1 @@
.config-hub-page[data-v-3f68371b]{padding:16px;height:100%;display:flex;flex-direction:column;overflow:hidden}.hub-tabs[data-v-3f68371b]{flex:1;min-height:0;display:flex;flex-direction:column}[data-v-3f68371b] .el-tabs__content{flex:1;min-height:0;overflow:auto}[data-v-3f68371b] .el-tab-pane{height:100%}.config-pane[data-v-3f68371b]{height:100%;overflow:auto}[data-v-3f68371b] .el-tabs__item{color:var(--mg-text-muted, rgba(255, 255, 255, .65))}[data-v-3f68371b] .el-tabs__item.is-active{color:var(--mg-text-light, #fff)}[data-v-3f68371b] .el-tabs__active-bar{background-color:var(--mg-accent, var(--el-color-primary))}[data-v-3f68371b] .el-tabs__nav-wrap:after{background-color:#ffffff14}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
.theme-customizer[data-v-8a725bd2]{margin-top:8px}.tc-hint[data-v-8a725bd2]{margin:0 0 12px;font-size:12px;color:var(--mg-text-dim, rgba(255, 255, 255, .55));line-height:1.5}.tc-title-row[data-v-8a725bd2]{display:flex;align-items:center;gap:10px;width:100%}.tc-swatch[data-v-8a725bd2]{width:22px;height:22px;border-radius:6px;flex-shrink:0;box-shadow:0 2px 6px #00000059}.tc-name[data-v-8a725bd2]{font-weight:600;color:var(--mg-text-light, #fff)}.tc-panel[data-v-8a725bd2]{padding:4px 8px 12px}.tc-picker-row[data-v-8a725bd2]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tc-hex[data-v-8a725bd2]{font-family:ui-monospace,monospace;font-size:12px;color:var(--mg-text-muted, rgba(255, 255, 255, .75))}.tc-field-hint[data-v-8a725bd2]{font-size:11px;color:var(--mg-text-dim, rgba(255, 255, 255, .45))}.tc-actions[data-v-8a725bd2]{display:flex;gap:8px;margin-top:8px;padding-left:100px}.tc-footer[data-v-8a725bd2]{margin-top:16px}.ai-service-card[data-v-b66101c5]{margin:12px 0}.ml-8[data-v-b66101c5]{margin-left:8px}.rbac-header[data-v-2392979d]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.rbac-title-wrap[data-v-2392979d]{display:flex;flex-direction:column;gap:4px}.rbac-title[data-v-2392979d]{font-weight:600;font-size:16px;color:var(--mg-text-light)}.rbac-desc[data-v-2392979d]{font-size:12.5px;color:var(--mg-text-muted)}.tab-toolbar[data-v-2392979d]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.toolbar-hint[data-v-2392979d]{font-size:13px;color:var(--mg-text-muted)}.mg-tag[data-v-2392979d]{margin:2px 4px 2px 0}.muted[data-v-2392979d]{color:var(--mg-text-faint)}.page-picker[data-v-2392979d]{display:flex;flex-direction:column;gap:14px;max-height:320px;overflow-y:auto;padding:4px 2px}.page-group-head[data-v-2392979d]{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.page-group-title[data-v-2392979d]{font-weight:600;font-size:13px;color:var(--mg-accent, #c4b5fd)}.page-checks[data-v-2392979d]{display:flex;flex-wrap:wrap;gap:4px 18px}.wildcard-hint[data-v-2392979d]{font-size:13px;color:var(--mg-status-warning, #f59e0b);padding:4px 0 8px}.config-hub-page[data-v-ee3a3656]{padding:16px;height:100%;display:flex;flex-direction:column;overflow:hidden}.hub-tabs[data-v-ee3a3656]{flex:1;min-height:0;display:flex;flex-direction:column}[data-v-ee3a3656] .el-tabs__content{flex:1;min-height:0;overflow:auto}[data-v-ee3a3656] .el-tab-pane{height:100%}.config-pane[data-v-ee3a3656]{height:100%;overflow:auto}[data-v-ee3a3656] .el-tabs__item{color:var(--mg-text-muted, rgba(255, 255, 255, .65))}[data-v-ee3a3656] .el-tabs__item.is-active{color:var(--mg-text-light, #fff)}[data-v-ee3a3656] .el-tabs__active-bar{background-color:var(--mg-accent, var(--el-color-primary))}[data-v-ee3a3656] .el-tabs__nav-wrap:after{background-color:#ffffff14}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
.theme-customizer[data-v-8a725bd2]{margin-top:8px}.tc-hint[data-v-8a725bd2]{margin:0 0 12px;font-size:12px;color:var(--mg-text-dim, rgba(255, 255, 255, .55));line-height:1.5}.tc-title-row[data-v-8a725bd2]{display:flex;align-items:center;gap:10px;width:100%}.tc-swatch[data-v-8a725bd2]{width:22px;height:22px;border-radius:6px;flex-shrink:0;box-shadow:0 2px 6px #00000059}.tc-name[data-v-8a725bd2]{font-weight:600;color:var(--mg-text-light, #fff)}.tc-panel[data-v-8a725bd2]{padding:4px 8px 12px}.tc-picker-row[data-v-8a725bd2]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tc-hex[data-v-8a725bd2]{font-family:ui-monospace,monospace;font-size:12px;color:var(--mg-text-muted, rgba(255, 255, 255, .75))}.tc-field-hint[data-v-8a725bd2]{font-size:11px;color:var(--mg-text-dim, rgba(255, 255, 255, .45))}.tc-actions[data-v-8a725bd2]{display:flex;gap:8px;margin-top:8px;padding-left:100px}.tc-footer[data-v-8a725bd2]{margin-top:16px}.ai-service-card[data-v-b66101c5]{margin:12px 0}.ml-8[data-v-b66101c5]{margin-left:8px}
@@ -1 +0,0 @@
import{aI as p,aC as f,bJ as o,bt as c,b9 as b,aH as e,N as v,O as V,a1 as x,a0 as B,aG as n,a8 as C,S as E,i as U}from"./index-Dg4NaXsE.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{C as k}from"./ConfigPageBase-MHa7yfOO.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./PermissionGuard-BlMEkqrL.js";/* empty css */import"./reflection-B_glb6eT.js";import"./monitorConfigCache-BigdkiFw.js";const j=p({__name:"TaskAllocationView",setup(w){return(T,t)=>{const m=B,d=x,u=V,i=C,s=E,_=v;return b(),f(k,{section:"task",title:"任务分配机制",description:"负载均衡、就近分配、优先级调度(TaskAllocationPolicy",defaults:c(U)},{default:o(({payload:l,update:r})=>[e(_,{"label-width":"160px",model:l},{default:o(()=>[e(u,{label:"分配模式"},{default:o(()=>[e(d,{"model-value":l.mode,"onUpdate:modelValue":a=>r({...l,mode:a})},{default:o(()=>[e(m,{value:"roundRobin"},{default:o(()=>[...t[0]||(t[0]=[n("轮询",-1)])]),_:1}),e(m,{value:"nearest"},{default:o(()=>[...t[1]||(t[1]=[n("就近",-1)])]),_:1}),e(m,{value:"leastLoad"},{default:o(()=>[...t[2]||(t[2]=[n("最少负载",-1)])]),_:1}),e(m,{value:"custom"},{default:o(()=>[...t[3]||(t[3]=[n("自定义",-1)])]),_:1})]),_:1},8,["model-value","onUpdate:modelValue"])]),_:2},1024),e(u,{label:"启用负载均衡"},{default:o(()=>[e(i,{"model-value":l.loadBalance,"onUpdate:modelValue":a=>r({...l,loadBalance:!!a})},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024),e(u,{label:"单车队列上限"},{default:o(()=>[e(s,{"model-value":l.maxQueuePerCar,min:1,max:100,"onUpdate:modelValue":a=>r({...l,maxQueuePerCar:a??0})},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024)]),_:2},1032,["model"])]),_:1},8,["defaults"])}}});export{j as default};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
.scene-mgr-page[data-v-a723a6fa]{height:calc(100vh - 56px);padding:12px 14px;box-sizing:border-box;display:flex;flex-direction:column}.scene-tabs[data-v-a723a6fa]{flex:1;display:flex;flex-direction:column;overflow:hidden}
@@ -0,0 +1 @@
import{aN as m,bs as _,aG as k,aK as e,c8 as a,a9 as v,ac as x,bC as r,ak as g,aE as T}from"./index-D5GfLbIx.js";/* empty css *//* empty css */import{R as s}from"./ReflectionManagerPanel-CqcqGxZI.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./reflection-BwOBPyb9.js";import"./projectSaveFlow-BOHSv3Vc.js";import"./useProjectionStream-ayb6RvWW.js";import"./mapEdit-BXIATxCI.js";const y={class:"scene-mgr-page"},P=m({__name:"SceneManagerView",setup(f){const l=r("site"),o=r(null),p=r(null),c=r(null);function u(t){(t==="site"?o.value:t==="track"?p.value:t==="special"?c.value:null)?.refresh?.()}return(t,n)=>{const i=v,d=x;return _(),k("div",y,[e(d,{modelValue:l.value,"onUpdate:modelValue":n[0]||(n[0]=b=>l.value=b),type:"border-card",class:"scene-tabs admin-tabs",onTabChange:u},{default:a(()=>[e(i,{label:"站点",name:"site"},{default:a(()=>[e(s,{ref_key:"sitePanelRef",ref:o,kind:"site","kind-label":"站点",title:"站点管理(Site / UISite,含禁用/启用、必空点等动作)","empty-text":"当前没有站点;点击右上角「新建站点」按 x/y 坐标添加。","enable-project-save":""},null,512)]),_:1}),e(i,{label:"路径",name:"track"},{default:a(()=>[e(s,{ref_key:"trackPanelRef",ref:p,kind:"track","kind-label":"路径",title:"路径管理(Track / UITrack,含方向、冲突、投影、二分等动作)","empty-text":"当前没有路径;点击右上角「新建路径」选起止站点添加。","enable-project-save":""},null,512)]),_:1}),e(i,{label:"装饰物",name:"special"},{default:a(()=>[e(s,{ref_key:"specialPanelRef",ref:c,kind:"special","kind-label":"装饰物",title:"装饰物管理(UI_Image / UI_Text / UI_Model","empty-text":"当前没有装饰物;新建图片/文本/模型可用底部按钮,或先在地图编辑里上传资产。","enable-project-save":""},null,512)]),_:1})]),_:1},8,["modelValue"])])}}}),R=g(P,[["__scopeId","data-v-a723a6fa"]]),Z=m({__name:"TrackTableView",setup(f){return(l,o)=>(_(),T(R))}});export{Z as default};
@@ -1 +0,0 @@
.scene-mgr-page[data-v-ce41515a]{height:calc(100vh - 56px);padding:12px 14px;box-sizing:border-box;display:flex;flex-direction:column}.scene-tabs[data-v-ce41515a]{flex:1;display:flex;flex-direction:column;overflow:hidden}
@@ -1 +0,0 @@
import{aI as m,b9 as _,aE as b,aH as e,bJ as a,a9 as x,ac as g,bh as l,ak as T,aC as v}from"./index-Dg4NaXsE.js";/* empty css *//* empty css */import{R as s}from"./ReflectionManagerPanel-BZQZIz4T.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./reflection-B_glb6eT.js";import"./useMapEditStream-BgR6WvRg.js";import"./useProjectionStream-BBHmpNXC.js";const y={class:"scene-mgr-page"},I=m({__name:"SceneManagerView",setup(f){const r=l("site"),o=l(null),p=l(null),c=l(null);function u(t){(t==="site"?o.value:t==="track"?p.value:t==="special"?c.value:null)?.refresh?.()}return(t,n)=>{const i=x,d=g;return _(),b("div",y,[e(d,{modelValue:r.value,"onUpdate:modelValue":n[0]||(n[0]=k=>r.value=k),type:"border-card",class:"scene-tabs admin-tabs",onTabChange:u},{default:a(()=>[e(i,{label:"站点",name:"site"},{default:a(()=>[e(s,{ref_key:"sitePanelRef",ref:o,kind:"site","kind-label":"站点",title:"站点管理(Site / UISite,含禁用/启用、必空点等动作)","empty-text":"当前没有站点;点击右上角「新建站点」按 x/y 坐标添加。"},null,512)]),_:1}),e(i,{label:"路径",name:"track"},{default:a(()=>[e(s,{ref_key:"trackPanelRef",ref:p,kind:"track","kind-label":"路径",title:"路径管理(Track / UITrack,含方向、冲突、投影、二分等动作)","empty-text":"当前没有路径;点击右上角「新建路径」选起止站点添加。"},null,512)]),_:1}),e(i,{label:"装饰物",name:"special"},{default:a(()=>[e(s,{ref_key:"specialPanelRef",ref:c,kind:"special","kind-label":"装饰物",title:"装饰物管理(UI_Image / UI_Text / UI_Model","empty-text":"当前没有装饰物;新建图片/文本/模型可用底部按钮,或先在地图编辑里上传资产。"},null,512)]),_:1})]),_:1},8,["modelValue"])])}}}),P=T(I,[["__scopeId","data-v-ce41515a"]]),Y=m({__name:"TrackTableView",setup(f){return(r,o)=>(_(),v(P))}});export{Y as default};
@@ -1 +0,0 @@
import{aI as m,aC as d,bJ as e,bt as _,b9 as c,aH as a,ac as f,a9 as b,aa as u,ab as I,aG as s,bq as p,j as w}from"./index-Dg4NaXsE.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css */import{C as T}from"./ConfigPageBase-MHa7yfOO.js";/* empty css *//* empty css *//* empty css */import"./PermissionGuard-BlMEkqrL.js";/* empty css */import"./reflection-B_glb6eT.js";import"./monitorConfigCache-BigdkiFw.js";const H=m({__name:"TrafficRuleView",setup(h){return(x,C)=>{const t=I,o=u,l=b,n=f;return c(),d(T,{section:"traffic",title:"交通管制规则",description:"路口策略、区域互斥、动态让行(TrafficRule",defaults:_(w)},{default:e(({payload:i})=>[a(n,{"model-value":"ix"},{default:e(()=>[a(l,{name:"ix",label:"路口策略"},{default:e(()=>[a(o,{data:i.intersections,size:"small"},{default:e(()=>[a(t,{label:"ID",prop:"id",width:"100"}),a(t,{label:"站点 IDs",prop:"siteIds"},{default:e(r=>[s(p(r.row.siteIds.join(", ")),1)]),_:1}),a(t,{label:"模式",prop:"mode",width:"100"})]),_:1},8,["data"])]),_:2},1024),a(l,{name:"mz",label:"区域互斥"},{default:e(()=>[a(o,{data:i.mutex,size:"small"},{default:e(()=>[a(t,{label:"ID",prop:"id",width:"100"}),a(t,{label:"区域 IDs",prop:"zoneIds"},{default:e(r=>[s(p(r.row.zoneIds.join(", ")),1)]),_:1})]),_:1},8,["data"])]),_:2},1024),a(l,{name:"yd",label:"动态让行"},{default:e(()=>[a(o,{data:i.yields,size:"small"},{default:e(()=>[a(t,{label:"ID",prop:"id",width:"100"}),a(t,{label:"From",prop:"from",width:"140"}),a(t,{label:"To",prop:"to",width:"140"}),a(t,{label:"条件",prop:"condition"})]),_:1},8,["data"])]),_:2},1024)]),_:2},1024)]),_:1},8,["defaults"])}}});export{H as default};
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{aI as J,b7 as Q,b6 as X,aE as b,b3 as Z,aH as u,ad as K,bJ as c,aB as f,bq as s,aC as V,aD as p,r as Y,bt as T,Q as ee,bh as l,ax as A,b9 as i,aG as m,bi as ae,aS as te,aZ as ne,ak as oe}from"./index-Dg4NaXsE.js";/* empty css *//* empty css *//* empty css */const se={key:0,class:"workspace-3d-toolbar"},le={class:"hint"},re=["src"],ce={key:1,class:"workspace-3d-mask"},ie=1800,de=4,ue=18e3,fe=J({__name:"Workspace3D",props:{host:{default:void 0},scope:{default:"Platform"},token:{default:""},readOnly:{type:Boolean,default:!1},embedUi:{type:Boolean,default:!1},canvasOnly:{type:Boolean,default:!1},hideToolbar:{type:Boolean,default:!1}},emits:["pick","select","ready"],setup(o,{expose:M,emit:R}){const n=o,h=R,_=l(),O=l(),y=l(!1),v=l("正在连接 webVRender ..."),w=l(null),g=l([]),r=l(""),d=A(()=>n.host??"localhost:8223"??"localhost:8223"),z=A(()=>{const a=new URLSearchParams;return a.set("scope",n.scope??"Platform"),n.token&&a.set("token",n.token),a.set("ro",n.readOnly?"1":"0"),n.canvasOnly?a.set("ui","canvas-only"):n.embedUi&&a.set("ui","embed"),`http://${d.value}/?${a.toString()}`});let k=null,E=0;function F(){return`http://${d.value}`}function B(a){return new Promise(e=>setTimeout(e,a))}function P(){return n.canvasOnly||n.embedUi}function H(){return n.canvasOnly?"/declareCanvasOnly":n.embedUi?"/declareEmbedUi":null}async function D(a){try{return(await fetch(`${F()}${a}`,{method:"GET",cache:"no-store",credentials:"omit",signal:AbortSignal.timeout(ie)})).ok}catch{return!1}}async function I(){const a=H();if(a){for(let e=0;e<de;e++){if(await D(a))return;await B(80*(e+1))}console.warn(`[Workspace3D] ${a} 未成功,将依赖 SimpleLite 默认 canvas-only 模式`)}}async function G(a=1e4){const e=Date.now()+a;let t=60;for(;Date.now()<e;){if(await D("/vrenderReady"))return!0;await B(t),t=Math.min(t+40,280)}return!1}function S(){k!=null&&(clearTimeout(k),k=null)}function N(a){S(),k=setTimeout(()=>{a!==E||y.value||(v.value=`连接超时 (http://${d.value}),请确认 SimpleLite 已启动`)},ue)}function L(a){const e=z.value;if(!a)return e;const t=e.includes("?")?"&":"?";return`${e}${t}_=${Date.now()}`}async function x(a=!1){const e=++E;if(y.value=!1,v.value=`正在连接 webVRender (http://${d.value}) ...`,N(e),P())I(),r.value=L(a||!!r.value);else{if(v.value="正在等待 SimpleLite webVRender 就绪 ...",await G(),e!==E)return;r.value=L(a||!!r.value)}}function q(){y.value=!0,S(),h("ready")}function C(a){if(!_.value||a.source!==_.value.contentWindow)return;const e=a.data;if(!(!e||typeof e!="object")){if(e.type==="workspace.pick"&&e.payload&&typeof e.payload.x=="number")w.value=e.payload,h("pick",e.payload);else if(e.type==="workspace.select"&&Array.isArray(e.payload))g.value=e.payload,h("select",e.payload);else if(e.type==="workspace.shortcut"&&e.payload&&typeof e.payload=="object"){const t=e.payload.action;(t==="undo"||t==="redo"||t==="delete")&&window.dispatchEvent(new CustomEvent("workspace-shortcut",{detail:{action:t}}))}}}function W(){x(!0)}function $(){const a=O.value;a&&(document.fullscreenElement?document.exitFullscreen():a.requestFullscreen())}return Q(()=>{window.addEventListener("message",C),x(!1)}),X(()=>{window.removeEventListener("message",C),S()}),M({reload:W,enterFullscreen:$}),(a,e)=>{const t=K,U=Y,j=ee;return i(),b("div",{class:Z(["workspace-3d-wrap",{"workspace-3d--canvas-only":o.canvasOnly||o.hideToolbar}])},[o.canvasOnly||o.hideToolbar?p("",!0):(i(),b("div",se,[u(t,{type:o.readOnly?"info":"success",effect:"dark",size:"small"},{default:c(()=>[m(s(o.readOnly?"只读":"可交互"),1)]),_:1},8,["type"]),f("span",le,"webVRender · http://"+s(d.value)+" · scope="+s(o.scope),1),e[2]||(e[2]=f("div",{class:"spacer"},null,-1)),w.value?(i(),V(t,{key:0,type:"warning",size:"small"},{default:c(()=>[m(" Pick ("+s(w.value.x.toFixed(0))+", "+s(w.value.y.toFixed(0))+") ",1)]),_:1})):p("",!0),g.value.length?(i(),V(t,{key:1,type:"primary",size:"small"},{default:c(()=>[m(" Selected: "+s(g.value.length),1)]),_:1})):p("",!0),u(U,{size:"small",icon:T(ae),onClick:W},{default:c(()=>[...e[0]||(e[0]=[m("重载",-1)])]),_:1},8,["icon"]),u(U,{size:"small",icon:T(te),onClick:$},{default:c(()=>[...e[1]||(e[1]=[m("全屏",-1)])]),_:1},8,["icon"])])),f("div",{ref_key:"frameWrap",ref:O,class:"workspace-3d-frame"},[r.value?(i(),b("iframe",{key:0,ref_key:"frame",ref:_,src:r.value,class:"workspace-3d-iframe",allow:"fullscreen",onLoad:q},null,40,re)):p("",!0),y.value?p("",!0):(i(),b("div",ce,[u(j,{class:"is-loading",size:"32"},{default:c(()=>[u(T(ne))]),_:1}),f("span",null,s(v.value),1),e[3]||(e[3]=f("span",{class:"muted"},"如长时间未加载,请确认 SimpleLite 已以 Web-Enabled 模式启动且 8223 端口可达。",-1))]))],512)],2)}}}),we=oe(fe,[["__scopeId","data-v-17efa15d"]]);export{we as W};
import{aN as J,bp as K,bo as Q,aG as b,bk as X,aK as u,ad as Y,c8 as c,aD as f,bL as s,aE as V,aF as p,r as Z,bS as T,Q as ee,bC as l,ay as A,bs as i,aJ as m,bD as ae,a$ as te,bc as ne,ak as oe}from"./index-D5GfLbIx.js";/* empty css *//* empty css *//* empty css */const se={key:0,class:"workspace-3d-toolbar"},le={class:"hint"},re=["src"],ce={key:1,class:"workspace-3d-mask"},ie=1800,de=4,ue=18e3,fe=J({__name:"Workspace3D",props:{host:{default:void 0},scope:{default:"Platform"},token:{default:""},readOnly:{type:Boolean,default:!1},embedUi:{type:Boolean,default:!1},canvasOnly:{type:Boolean,default:!1},hideToolbar:{type:Boolean,default:!1}},emits:["pick","select","ready"],setup(o,{expose:F,emit:M}){const n=o,h=M,_=l(),D=l(),y=l(!1),v=l("正在连接 webVRender ..."),w=l(null),g=l([]),r=l(""),d=A(()=>n.host??"localhost:8223"??"localhost:8223"),R=A(()=>{const a=new URLSearchParams;return a.set("scope",n.scope??"Platform"),n.token&&a.set("token",n.token),a.set("ro",n.readOnly?"1":"0"),n.canvasOnly?a.set("ui","canvas-only"):n.embedUi&&a.set("ui","embed"),`http://${d.value}/?${a.toString()}`});let k=null,E=0;function z(){return`http://${d.value}`}function L(a){return new Promise(e=>setTimeout(e,a))}function P(){return n.canvasOnly||n.embedUi}function N(){return n.canvasOnly?"/declareCanvasOnly":n.embedUi?"/declareEmbedUi":null}async function O(a){try{return(await fetch(`${z()}${a}`,{method:"GET",cache:"no-store",credentials:"omit",signal:AbortSignal.timeout(ie)})).ok}catch{return!1}}async function G(){const a=N();if(a){for(let e=0;e<de;e++){if(await O(a))return;await L(80*(e+1))}console.warn(`[Workspace3D] ${a} 未成功,将依赖 SimpleLite 默认 canvas-only 模式`)}}async function H(a=1e4){const e=Date.now()+a;let t=60;for(;Date.now()<e;){if(await O("/vrenderReady"))return!0;await L(t),t=Math.min(t+40,280)}return!1}function S(){k!=null&&(clearTimeout(k),k=null)}function I(a){S(),k=setTimeout(()=>{a!==E||y.value||(v.value=`连接超时 (http://${d.value}),请确认 SimpleLite 已启动`)},ue)}function B(a){const e=R.value;if(!a)return e;const t=e.includes("?")?"&":"?";return`${e}${t}_=${Date.now()}`}async function C(a=!1){const e=++E;if(y.value=!1,v.value=`正在连接 webVRender (http://${d.value}) ...`,I(e),P())G(),r.value=B(a||!!r.value);else{if(v.value="正在等待 SimpleLite webVRender 就绪 ...",await H(),e!==E)return;r.value=B(a||!!r.value)}}function j(){y.value=!0,S(),h("ready")}function W(a){if(!_.value||a.source!==_.value.contentWindow)return;const e=a.data;if(!(!e||typeof e!="object")){if(e.type==="workspace.pick"&&e.payload&&typeof e.payload.x=="number")w.value=e.payload,h("pick",e.payload);else if(e.type==="workspace.select"&&Array.isArray(e.payload))g.value=e.payload,h("select",e.payload);else if(e.type==="workspace.shortcut"&&e.payload&&typeof e.payload=="object"){const t=e.payload.action;(t==="undo"||t==="redo"||t==="delete")&&window.dispatchEvent(new CustomEvent("workspace-shortcut",{detail:{action:t}}))}}}function $(){C(!0)}function x(){const a=D.value;a&&(document.fullscreenElement?document.exitFullscreen():a.requestFullscreen())}return K(()=>{window.addEventListener("message",W),C(!1)}),Q(()=>{window.removeEventListener("message",W),S()}),F({reload:$,enterFullscreen:x}),(a,e)=>{const t=Y,U=Z,q=ee;return i(),b("div",{class:X(["workspace-3d-wrap",{"workspace-3d--canvas-only":o.canvasOnly||o.hideToolbar}])},[o.canvasOnly||o.hideToolbar?p("",!0):(i(),b("div",se,[u(t,{type:o.readOnly?"info":"success",effect:"dark",size:"small"},{default:c(()=>[m(s(o.readOnly?"只读":"可交互"),1)]),_:1},8,["type"]),f("span",le,"webVRender · http://"+s(d.value)+" · scope="+s(o.scope),1),e[2]||(e[2]=f("div",{class:"spacer"},null,-1)),w.value?(i(),V(t,{key:0,type:"warning",size:"small"},{default:c(()=>[m(" Pick ("+s(w.value.x.toFixed(0))+", "+s(w.value.y.toFixed(0))+") ",1)]),_:1})):p("",!0),g.value.length?(i(),V(t,{key:1,type:"primary",size:"small"},{default:c(()=>[m(" Selected: "+s(g.value.length),1)]),_:1})):p("",!0),u(U,{size:"small",icon:T(ae),onClick:$},{default:c(()=>[...e[0]||(e[0]=[m("重载",-1)])]),_:1},8,["icon"]),u(U,{size:"small",icon:T(te),onClick:x},{default:c(()=>[...e[1]||(e[1]=[m("全屏",-1)])]),_:1},8,["icon"])])),f("div",{ref_key:"frameWrap",ref:D,class:"workspace-3d-frame"},[r.value?(i(),b("iframe",{key:0,ref_key:"frame",ref:_,src:r.value,class:"workspace-3d-iframe",allow:"fullscreen",onLoad:j},null,40,re)):p("",!0),y.value?p("",!0):(i(),b("div",ce,[u(q,{class:"is-loading",size:"32"},{default:c(()=>[u(T(ne))]),_:1}),f("span",null,s(v.value),1),e[3]||(e[3]=f("span",{class:"muted"},"如长时间未加载,请确认 SimpleLite 已以 Web-Enabled 模式启动且 8223 端口可达。",-1))]))],512)],2)}}}),we=oe(fe,[["__scopeId","data-v-17efa15d"]]);export{we as W};
@@ -0,0 +1 @@
.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb:before,.el-breadcrumb:after{content:"";display:table}.el-breadcrumb:after{clear:both}.el-breadcrumb__separator{color:var(--el-text-color-placeholder);margin:0 9px;font-weight:700}.el-breadcrumb__separator.el-icon{margin:0 6px;font-weight:400}.el-breadcrumb__separator.el-icon svg{vertical-align:middle}.el-breadcrumb__item{float:left;align-items:center;display:inline-flex}.el-breadcrumb__inner{color:var(--el-text-color-regular)}.el-breadcrumb__inner.is-link,.el-breadcrumb__inner a{transition:var(--el-transition-color);color:var(--el-text-color-primary);font-weight:700;text-decoration:none}.el-breadcrumb__inner.is-link:hover,.el-breadcrumb__inner a:hover{color:var(--el-color-primary);cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover{color:var(--el-text-color-regular);cursor:text;font-weight:400}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{aU as t}from"./index-Dg4NaXsE.js";const s="/sl/projection/map-edit",r="/sl/projection/ai-config";async function a(e){const{data:o}=await e;if(!o?.success)throw new Error(o?.message??"request failed");return o.data}const m={createSite:e=>a(t.post(`${s}/objects/site`,e)),createTrack:(e,o)=>a(t.post(`${s}/objects/${e}`,o)),createImage:e=>a(t.post(`${s}/objects/image`,e)),createText:e=>a(t.post(`${s}/objects/text`,e)),createModel:e=>a(t.post(`${s}/objects/model`,e)),createCar:e=>a(t.post(`${s}/objects/car`,e)),deleteObject:(e,o)=>a(t.delete(`${s}/objects/${e}/${o}`)),batch:e=>a(t.post(`${s}/objects/batch`,{ops:e})),copyFieldsTo:(e,o,c,p)=>a(t.post(`${s}/objects/${e}/${o}/fields/copy-to`,{fieldNames:c,targets:p})),pick:()=>a(t.post(`${s}/pick`)),dashboardSummary:()=>a(t.get(`${s}/dashboard/summary`)),uploadAsset:(e,o)=>a(t.post(`${s}/assets/upload`,{filename:e,data:o},{headers:{"Content-Type":"multipart/form-data"}})),aiMapGenerate:e=>a(t.post(`${s}/ai/map-generate`,e)),projectSave:e=>a(t.post(`${s}/project/save`,{path:e??""})),projectLoad:e=>a(t.post(`${s}/project/load`,{path:e})),projectCurrent:()=>a(t.get(`${s}/project/current`)),projectBrowse:e=>a(t.get(`${s}/project/browse`,{params:e?{dir:e}:{}})),projectNativePickOpen:e=>a(t.post(`${s}/project/native-pick-open`,{initialDir:e??""})),projectNativePickSave:(e,o)=>a(t.post(`${s}/project/native-pick-save`,{initialDir:e??"",suggestedFileName:o??"project.current.json"})),sampleSitesAlongTrack:(e,o)=>a(t.post(`${s}/objects/track/${e}/sample-sites`,o)),getViewFilter:()=>a(t.get(`${s}/view-filter`)),setViewFilter:e=>a(t.post(`${s}/view-filter`,e))},$={get:()=>a(t.get(`${r}/`)),save:e=>a(t.post(`${r}/`,e))},d={list:()=>a(t.get(`${s}/maps`)),sceneTaskStatus:()=>a(t.get(`${s}/maps/scene-task-status`)),async save(e,o=!1){const{data:c}=await t.post(`${s}/maps/save`,{name:e,overwrite:o});return c?.success?{ok:!0,data:c.data}:{ok:!1,conflict:c?.code===409,message:c?.message??"保存失败"}},open:e=>a(t.post(`${s}/maps/open`,{name:e})),use:e=>a(t.post(`${s}/maps/use`,{name:e})),delete:e=>a(t.delete(`${s}/maps/${encodeURIComponent(e)}`)),rename:(e,o)=>a(t.post(`${s}/maps/rename`,{from:e,to:o})),async merge(e,o,c=!1){const{data:p}=await t.post(`${s}/maps/merge`,{sources:e,target:o,overwrite:c});return p?.success?{ok:!0,data:p.data}:{ok:!1,conflict:p?.code===409&&(p?.message??"").includes("已存在"),message:p?.message??"合并失败"}}};export{$ as a,d as b,m};
import{b4 as t}from"./index-D5GfLbIx.js";const s="/sl/projection/map-edit",n="/sl/projection/ai-config";async function a(e){const{data:o}=await e;if(!o?.success)throw new Error(o?.message??"request failed");return o.data}const m={createSite:e=>a(t.post(`${s}/objects/site`,e)),createTrack:(e,o)=>a(t.post(`${s}/objects/${e}`,o)),createImage:e=>a(t.post(`${s}/objects/image`,e)),createText:e=>a(t.post(`${s}/objects/text`,e)),createModel:e=>a(t.post(`${s}/objects/model`,e)),createCar:e=>a(t.post(`${s}/objects/car`,e)),deleteObject:(e,o)=>a(t.delete(`${s}/objects/${e}/${o}`)),batch:e=>a(t.post(`${s}/objects/batch`,{ops:e})),copyFieldsTo:(e,o,c,r)=>a(t.post(`${s}/objects/${e}/${o}/fields/copy-to`,{fieldNames:c,targets:r})),pick:()=>a(t.post(`${s}/pick`)),dashboardSummary:()=>a(t.get(`${s}/dashboard/summary`)),uploadAsset:(e,o)=>a(t.post(`${s}/assets/upload`,{filename:e,data:o},{headers:{"Content-Type":"multipart/form-data"}})),aiMapGenerate:e=>a(t.post(`${s}/ai/map-generate`,e)),projectSave:e=>a(t.post(`${s}/project/save`,{path:e??""})),projectLoad:e=>a(t.post(`${s}/project/load`,{path:e})),projectCurrent:()=>a(t.get(`${s}/project/current`)),projectBrowse:e=>a(t.get(`${s}/project/browse`,{params:e?{dir:e}:{}})),projectNativePickOpen:e=>a(t.post(`${s}/project/native-pick-open`,{initialDir:e??""})),projectNativePickSave:(e,o)=>a(t.post(`${s}/project/native-pick-save`,{initialDir:e??"",suggestedFileName:o??"project.current.json"})),sampleSitesAlongTrack:(e,o)=>a(t.post(`${s}/objects/track/${e}/sample-sites`,o)),getViewFilter:()=>a(t.get(`${s}/view-filter`)),setViewFilter:e=>a(t.post(`${s}/view-filter`,e))},d={get:()=>a(t.get(`${n}/`)),save:e=>a(t.post(`${n}/`,e))},$={list:()=>a(t.get(`${s}/maps`)),readContent:e=>t.get(`/maps/${encodeURIComponent(e)}/content`).then(o=>o.data),sceneTaskStatus:()=>a(t.get(`${s}/maps/scene-task-status`)),async save(e,o=!1){try{const{data:c}=await t.post(`${s}/maps/save`,{name:e,overwrite:o});return c?.success?{ok:!0,data:c.data}:{ok:!1,conflict:c?.code===409,message:c?.message??"保存失败"}}catch(c){const r=c,p=r.response?.data;if(r.response?.status===409||p?.code===409)return{ok:!1,conflict:!0,message:p?.message??"地图已存在"};throw c}},open:e=>a(t.post(`${s}/maps/open`,{name:e})),use:e=>a(t.post(`${s}/maps/use`,{name:e})),delete:e=>a(t.delete(`${s}/maps/${encodeURIComponent(e)}`)),rename:(e,o)=>a(t.post(`${s}/maps/rename`,{from:e,to:o})),async merge(e,o,c=!1){const{data:r}=await t.post(`${s}/maps/merge`,{sources:e,target:o,overwrite:c});return r?.success?{ok:!0,data:r.data}:{ok:!1,conflict:r?.code===409&&(r?.message??"").includes("已存在"),message:r?.message??"合并失败"}}};export{d as a,$ as b,m};
@@ -1 +1 @@
import{r as e}from"./reflection-B_glb6eT.js";let i=null,n=null;function o(){i=null,n=null}async function f(l=!1){return!l&&i?i:(!l&&n||(n=e.getMonitorConfig().then(t=>(i=t,n=null,t)).catch(t=>{throw n=null,t})),n)}export{f,o as i};
import{r as e}from"./reflection-BwOBPyb9.js";let i=null,n=null;function o(){i=null,n=null}async function f(l=!1){return!l&&i?i:(!l&&n||(n=e.getMonitorConfig().then(t=>(i=t,n=null,t)).catch(t=>{throw n=null,t})),n)}export{f,o as i};
@@ -0,0 +1 @@
import{b4 as s}from"./index-D5GfLbIx.js";async function n(t){const{data:a}=await s.post("/sl/ops/execute",t);return a}async function o(){const{data:t}=await s.get("/sl/ops/audits");return t}export{n as e,o as l};
@@ -1 +0,0 @@
import{aU as a}from"./index-Dg4NaXsE.js";async function n(t){const{data:s}=await a.post("/sl/ops/execute",t);return s}async function o(){const{data:t}=await a.get("/sl/ops/audits");return t}export{n as e,o as l};
@@ -0,0 +1,4 @@
import{u as p}from"./useProjectionStream-ayb6RvWW.js";import{bp as m,bo as f,Y as l}from"./index-D5GfLbIx.js";import{b as d}from"./mapEdit-BXIATxCI.js";import{r as i}from"./reflection-BwOBPyb9.js";function N(t){const e=p({autoConnect:!1});function a(r){const n=r?.payload;if(n)switch(r.kind){case"alarm":t.onAlarm?.(n);break;case"object-created":t.onObjectCreated?.(n);break;case"object-deleted":t.onObjectDeleted?.(n);break;case"object-patched":t.onObjectPatched?.(n);break;case"object-batch-changed":t.onObjectBatchChanged?.(n);break;case"pick-result":t.onPickResult?.(n);break;case"selection-detail":t.onSelectionDetail?.(n);break;case"workspace-shortcut":t.onWorkspaceShortcut?.(n);break;case"viewport-style-updated":t.onViewportStyleUpdated?.();break}}return m(()=>{e.on(a),e.connect()}),f(()=>{e.off(a),e.disconnect()}),{connected:e.connected}}function u(t=new Date){const e=a=>String(a).padStart(2,"0");return`${t.getFullYear()}${e(t.getMonth()+1)}${e(t.getDate())}_${e(t.getHours())}${e(t.getMinutes())}${e(t.getSeconds())}`}function b(t,e=new Date){const a=t.trim();return a?`${a}_${u(e)}`:u(e)}function h(t){const e=t.replace(/\\/g,"/"),a=e.slice(e.lastIndexOf("/")+1),r=a.lastIndexOf(".");return r>=0?a.slice(0,r):a}function j(t,e,a=".json"){const r=t.replace(/\\/g,"/"),n=r.lastIndexOf("/"),c=t.includes("\\")?"\\":"/",o=n>=0?r.slice(0,n).replace(/\//g,c):"",s=`${e}${a}`;return o?`${o}${c}${s}`:s}async function w(){try{const t=await i.getProjectFields();if(t.lastLoadedPath?.trim())return t.lastLoadedPath.trim();if(t.autoloadPath?.trim())return t.autoloadPath.trim()}catch{}return null}async function v(){try{const t=await d.list(),e=t.maps.find(a=>a.isCurrent);if(e?.name?.trim())return e.name.trim();if(t.currentFileName?.trim())return t.currentFileName.replace(/\.json$/i,"").trim()}catch{}return""}const g=/^[^\\/:*?"<>|]+$/;async function x(){try{return await l.confirm(`是否保存成新项目?
· 在原项目基础上保存名称不变直接覆盖原文件
· 保存成新项目在服务器另存默认名称含修改日期`,"保存确认",{confirmButtonText:"是,保存成新项目",cancelButtonText:"否,在原项目基础上保存",distinguishCancelAndClose:!0,type:"info"}),"new"}catch(t){return t==="cancel"?"replace":"cancel"}}async function P(t,e){try{return((await l.prompt(`请输入${t}名称`,t,{inputValue:b(e),inputPattern:g,inputErrorMessage:'名称不能包含 \\ / : * ? " < > | 等字符',confirmButtonText:"保存到服务器",cancelButtonText:"取消"})).value??"").trim()||null}catch{return null}}async function B(t){if(t==="cancel")return null;if(t==="replace")return(await i.saveProject()).path;const e=await w(),a=e?h(e):"project",r=await P("保存成新项目",a);if(!r)return null;const n=e?j(e,r):`${r}.json`;return(await i.saveProject(n)).path}export{x as a,B as e,P as p,v as r,N as u};
@@ -1 +1 @@
import{aU as e}from"./index-Dg4NaXsE.js";import{r as s}from"./reflection-B_glb6eT.js";async function p(){const{data:t}=await e.get("/sl/projection/sites");return t}async function d(){const{data:t}=await e.get("/sl/projection/tracks");return t}function i(t){if(!t)return"idle";const r=t.toLowerCase();return/fault|error|failed|故障|异常|失联|超时|检修/.test(r)?"fault":/charg|充电/.test(r)?"charging":/pause|暂停|挂起/.test(r)?"paused":/offline|离线/.test(r)?"offline":/run|busy|working|运行|工作|执行|忙/.test(r)?"running":"idle"}function o(t){if(!t)return"queued";const r=t.toLowerCase();return/run|运行|执行/.test(r)?"running":/pause|暂停|挂起/.test(r)?"paused":/complete|done|完成|成功/.test(r)?"completed":/cancel|取消|中止/.test(r)?"cancelled":/fail|error|fault|失败|异常/.test(r)?"failed":/assign|分配/.test(r)?"assigned":"queued"}function u(t){return{id:`C${String(t.id).padStart(2,"0")}`,rawId:t.id,name:t.name,typeName:t.typeName,x:0,y:0,theta:0,batterySoc:.8,state:i(t.status),lastUpdate:new Date().toISOString(),group:t.layer??void 0}}function c(t){return{id:`M${String(t.id).padStart(2,"0")}`,name:t.name,typeName:t.typeName,priority:50,status:o(t.status),steps:[],createdAt:new Date().toISOString()}}async function n(){return(await s.listObjects("car")).map(u)}async function a(){return(await s.listObjects("mission")).map(c)}async function m(){try{const{data:t}=await e.get("/sl/projection/cars");if(Array.isArray(t)&&t.length>0)return t;const r=await n();return r.length>0?r:Array.isArray(t)?t:[]}catch{return n()}}async function y(){try{const{data:t}=await e.get("/sl/projection/missions");if(Array.isArray(t)&&t.length>0)return t;const r=await a();return r.length>0?r:Array.isArray(t)?t:[]}catch{return a()}}export{y as a,p as b,d as c,m as l};
import{b4 as e}from"./index-D5GfLbIx.js";import{r as s}from"./reflection-BwOBPyb9.js";async function p(){const{data:t}=await e.get("/sl/projection/sites");return t}async function d(){const{data:t}=await e.get("/sl/projection/tracks");return t}function i(t){if(!t)return"idle";const r=t.toLowerCase();return/fault|error|failed|故障|异常|失联|超时|检修/.test(r)?"fault":/charg|充电/.test(r)?"charging":/pause|暂停|挂起/.test(r)?"paused":/offline|离线/.test(r)?"offline":/run|busy|working|运行|工作|执行|忙/.test(r)?"running":"idle"}function o(t){if(!t)return"queued";const r=t.toLowerCase();return/run|运行|执行/.test(r)?"running":/pause|暂停|挂起/.test(r)?"paused":/complete|done|完成|成功/.test(r)?"completed":/cancel|取消|中止/.test(r)?"cancelled":/fail|error|fault|失败|异常/.test(r)?"failed":/assign|分配/.test(r)?"assigned":"queued"}function u(t){return{id:`C${String(t.id).padStart(2,"0")}`,rawId:t.id,name:t.name,typeName:t.typeName,x:0,y:0,theta:0,batterySoc:.8,state:i(t.status),lastUpdate:new Date().toISOString(),group:t.layer??void 0}}function c(t){return{id:`M${String(t.id).padStart(2,"0")}`,name:t.name,typeName:t.typeName,priority:50,status:o(t.status),steps:[],createdAt:new Date().toISOString()}}async function n(){return(await s.listObjects("car")).map(u)}async function a(){return(await s.listObjects("mission")).map(c)}async function m(){try{const{data:t}=await e.get("/sl/projection/cars");if(Array.isArray(t)&&t.length>0)return t;const r=await n();return r.length>0?r:Array.isArray(t)?t:[]}catch{return n()}}async function y(){try{const{data:t}=await e.get("/sl/projection/missions");if(Array.isArray(t)&&t.length>0)return t;const r=await a();return r.length>0?r:Array.isArray(t)?t:[]}catch{return a()}}export{y as a,p as b,d as c,m as l};
@@ -1 +1 @@
import{aU as l}from"./index-Dg4NaXsE.js";const d="/sl/projection/reflection";function p(){return{fields:[],status:[],methods:[]}}function f(){return{car:p(),site:p(),track:p()}}const y=f;async function s(e){const{data:t}=await l.get(`${d}${e}`);if(!t?.success)throw new Error(t?.message??`reflection ${e} failed`);return t.data}async function n(e,t){const{data:o}=await l.post(`${d}${e}`,null,{params:t});if(!o?.success)throw new Error(o?.message??`reflection ${e} failed`);return o.data}async function g(e){const{data:t}=await l.delete(`${d}${e}`);if(!t?.success)throw new Error(t?.message??`reflection ${e} failed`);return t.data}async function u(e,t){const{data:o}=await l.patch(`${d}${e}`,t);if(!o?.success)throw new Error(o?.message??`reflection PATCH ${e} failed`);return o.data}const A={listKinds:()=>s("/kinds"),listAssemblies:()=>s("/assemblies"),listObjects:e=>s(`/objects/${e}`),listCreatableTypes:e=>s(`/types/${e}`),createObject:(e,t,o)=>{const r={};if(t&&(r.typeName=t),o)for(const[c,a]of Object.entries(o))a==null||a===""||(r[c]=a);return n(`/objects/${e}`,r)},deleteObject:(e,t)=>g(`/objects/${e}/${t}`),reloadPlugins:()=>n("/plugins/reload"),listPlugins:()=>s("/plugins"),unloadPlugin:e=>n(`/plugins/${encodeURIComponent(e)}/unload`),listMethods:(e,t)=>s(`/methods/${e}/${t}`),listMethodsByType:e=>s(`/methods-by-type/${e}`),getStatus:(e,t)=>s(`/status/${e}/${t}`),getFields:(e,t)=>s(`/fields/${e}/${t}`),setField:(e,t,o,r)=>n(`/fields/${e}/${t}/${encodeURIComponent(o)}`,{value:r}),deleteField:(e,t,o)=>g(`/fields/${e}/${t}/${encodeURIComponent(o)}`),getBundle:(e,t)=>s(`/bundle/${e}/${t}`),execute:(e,t,o,r)=>n(`/execute/${e}/${t}/${encodeURIComponent(o)}`,r),gotoCarSite:(e,t)=>n(`/car/${e}/goto-site`,{siteId:t}),getScriptSource:e=>s(`/scripts/${e}/source`),getScriptExceptionStatus:e=>s(`/scripts/${e}/exception-status`),getMonitorConfig:()=>s("/monitor-config"),saveMonitorConfig:async e=>{const{data:t}=await l.post(`${d}/monitor-config`,e);if(!t?.success)throw new Error(t?.message??"saveMonitorConfig failed");return t.data},getSelection:()=>s("/selection"),setSelection:(e,t)=>n("/selection",{kind:e,id:t}),clearSelection:()=>n("/selection/clear"),getProjectFields:()=>s("/project/fields"),setProjectField:(e,t)=>n(`/project/fields/${encodeURIComponent(e)}`,{value:t}),saveProject:e=>n("/project/save",e?{path:e}:void 0),getAppConfigFields:()=>s("/app-config/fields"),setAppConfigField:(e,t)=>n(`/app-config/fields/${encodeURIComponent(e)}`,{value:t}),saveAppConfig:()=>n("/app-config/save"),getViewportStyle:()=>s("/viewport-style"),patchViewportStyle:e=>u("/viewport-style",b(e)),getCarStyleTypes:()=>s("/car-style/types"),getCarStyle:e=>s(`/car-style/${encodeURIComponent(e)}`),putCarStyle:async(e,t)=>{const{data:o}=await l.post(`${d}/car-style/${encodeURIComponent(e)}`,t);if(!o?.success)throw new Error(o?.message??"putCarStyle failed");return o.data},deleteCarStyle:e=>g(`/car-style/${encodeURIComponent(e)}`),getAlarmColors:()=>s("/car-style/alarm-colors"),putAlarmColors:async e=>{const{data:t}=await l.post(`${d}/car-style/alarm-colors`,e);if(!t?.success)throw new Error(t?.message??"putAlarmColors failed");return t.data},saveCarStyle:()=>n("/car-style/save")};function i(e){return Number.isFinite(e)?e>>>0:0}function C(e){const t=i(e),o=t>>>24&255,r=t>>>16&255,c=t>>>8&255,a=t&255;return o>=255?`#${r.toString(16).padStart(2,"0")}${c.toString(16).padStart(2,"0")}${a.toString(16).padStart(2,"0")}`:`#${o.toString(16).padStart(2,"0")}${r.toString(16).padStart(2,"0")}${c.toString(16).padStart(2,"0")}${a.toString(16).padStart(2,"0")}`}function w(e){const t=e.replace("#","").trim();if(t.length===6){const o=parseInt(t.slice(0,2),16),r=parseInt(t.slice(2,4),16),c=parseInt(t.slice(4,6),16);return i(255<<24|o<<16|r<<8|c)}if(t.length===8){const o=parseInt(t.slice(0,2),16),r=parseInt(t.slice(2,4),16),c=parseInt(t.slice(4,6),16),a=parseInt(t.slice(6,8),16);return i(o<<24|r<<16|c<<8|a)}return 4294967295}const $=["colorNormalArgb","colorSelectedArgb","labelColorNormalArgb","labelColorSelectedArgb"],m=["colorNormalArgb","colorSelectedArgb"];function b(e){const t={};if(e.site){const o={...e.site};for(const r of $)o[r]!=null&&(o[r]=i(o[r]));t.site=o}if(e.track){const o={...e.track};for(const r of m)o[r]!=null&&(o[r]=i(o[r]));t.track=o}return t}function I(e){return{site:{...e.site,colorNormalArgb:i(e.site.colorNormalArgb),colorSelectedArgb:i(e.site.colorSelectedArgb),labelColorNormalArgb:i(e.site.labelColorNormalArgb),labelColorSelectedArgb:i(e.site.labelColorSelectedArgb)},track:{...e.track,colorNormalArgb:i(e.track.colorNormalArgb),colorSelectedArgb:i(e.track.colorSelectedArgb)}}}export{C as a,f as b,y as e,w as h,I as n,A as r};
import{b4 as l}from"./index-D5GfLbIx.js";const d="/sl/projection/reflection";function p(){return{fields:[],status:[],methods:[]}}function f(){return{car:p(),site:p(),track:p()}}const y=f;async function s(e){const{data:t}=await l.get(`${d}${e}`);if(!t?.success)throw new Error(t?.message??`reflection ${e} failed`);return t.data}async function n(e,t){const{data:o}=await l.post(`${d}${e}`,null,{params:t});if(!o?.success)throw new Error(o?.message??`reflection ${e} failed`);return o.data}async function g(e){const{data:t}=await l.delete(`${d}${e}`);if(!t?.success)throw new Error(t?.message??`reflection ${e} failed`);return t.data}async function u(e,t){const{data:o}=await l.patch(`${d}${e}`,t);if(!o?.success)throw new Error(o?.message??`reflection PATCH ${e} failed`);return o.data}const A={listKinds:()=>s("/kinds"),listAssemblies:()=>s("/assemblies"),listObjects:e=>s(`/objects/${e}`),listCreatableTypes:e=>s(`/types/${e}`),createObject:(e,t,o)=>{const r={};if(t&&(r.typeName=t),o)for(const[a,c]of Object.entries(o))c==null||c===""||(r[a]=c);return n(`/objects/${e}`,r)},deleteObject:(e,t)=>g(`/objects/${e}/${t}`),reloadPlugins:()=>n("/plugins/reload"),listPlugins:()=>s("/plugins"),unloadPlugin:e=>n(`/plugins/${encodeURIComponent(e)}/unload`),listMethods:(e,t)=>s(`/methods/${e}/${t}`),listMethodsByType:e=>s(`/methods-by-type/${e}`),getStatus:(e,t)=>s(`/status/${e}/${t}`),getFields:(e,t)=>s(`/fields/${e}/${t}`),setField:(e,t,o,r)=>n(`/fields/${e}/${t}/${encodeURIComponent(o)}`,{value:r}),deleteField:(e,t,o)=>g(`/fields/${e}/${t}/${encodeURIComponent(o)}`),getBundle:(e,t)=>s(`/bundle/${e}/${t}`),execute:(e,t,o,r)=>n(`/execute/${e}/${t}/${encodeURIComponent(o)}`,r),gotoCarSite:(e,t)=>n(`/car/${e}/goto-site`,{siteId:t}),getScriptSource:e=>s(`/scripts/${e}/source`),getScriptExceptionStatus:e=>s(`/scripts/${e}/exception-status`),getMonitorConfig:()=>s("/monitor-config"),saveMonitorConfig:async e=>{const{data:t}=await l.post(`${d}/monitor-config`,e);if(!t?.success)throw new Error(t?.message??"saveMonitorConfig failed");return t.data},getSelection:()=>s("/selection"),setSelection:(e,t)=>n("/selection",{kind:e,id:t}),clearSelection:()=>n("/selection/clear"),getProjectFields:()=>s("/project/fields"),setProjectField:(e,t)=>n(`/project/fields/${encodeURIComponent(e)}`,{value:t}),saveProject:e=>n("/project/save",e?{path:e}:void 0),getAppConfigFields:()=>s("/app-config/fields"),setAppConfigField:(e,t)=>n(`/app-config/fields/${encodeURIComponent(e)}`,{value:t}),saveAppConfig:()=>n("/app-config/save"),getViewportStyle:()=>s("/viewport-style"),patchViewportStyle:e=>u("/viewport-style",m(e)),getCarStyleTypes:()=>s("/car-style/types"),getCarStyle:e=>s(`/car-style/${encodeURIComponent(e)}`),putCarStyle:async(e,t)=>{const{data:o}=await l.post(`${d}/car-style/${encodeURIComponent(e)}`,t);if(!o?.success)throw new Error(o?.message??"putCarStyle failed");return o.data},deleteCarStyle:e=>g(`/car-style/${encodeURIComponent(e)}`),getAlarmColors:()=>s("/car-style/alarm-colors"),putAlarmColors:async e=>{const{data:t}=await l.post(`${d}/car-style/alarm-colors`,e);if(!t?.success)throw new Error(t?.message??"putAlarmColors failed");return t.data},saveCarStyle:()=>n("/car-style/save")};function i(e){return Number.isFinite(e)?e>>>0:0}function C(e){const t=i(e),o=t>>>24&255,r=t>>>16&255,a=t>>>8&255,c=t&255;return o>=255?`#${r.toString(16).padStart(2,"0")}${a.toString(16).padStart(2,"0")}${c.toString(16).padStart(2,"0")}`:`#${o.toString(16).padStart(2,"0")}${r.toString(16).padStart(2,"0")}${a.toString(16).padStart(2,"0")}${c.toString(16).padStart(2,"0")}`}function w(e){const t=e.replace("#","").trim();if(t.length===6){const o=parseInt(t.slice(0,2),16),r=parseInt(t.slice(2,4),16),a=parseInt(t.slice(4,6),16);return i(255<<24|o<<16|r<<8|a)}if(t.length===8){const o=parseInt(t.slice(0,2),16),r=parseInt(t.slice(2,4),16),a=parseInt(t.slice(4,6),16),c=parseInt(t.slice(6,8),16);return i(o<<24|r<<16|a<<8|c)}return 4294967295}const $=["colorNormalArgb","colorSelectedArgb","labelColorNormalArgb","labelColorSelectedArgb"],b=["colorNormalArgb","colorSelectedArgb"];function m(e){const t={};if(e.site){const o={...e.site};for(const r of $)o[r]!=null&&(o[r]=i(o[r]));t.site=o}if(e.track){const o={...e.track};for(const r of b)o[r]!=null&&(o[r]=i(o[r]));t.track=o}return t}function I(e){return{site:{...e.site,colorNormalArgb:i(e.site.colorNormalArgb),colorSelectedArgb:i(e.site.colorSelectedArgb),labelColorNormalArgb:i(e.site.labelColorNormalArgb),labelColorSelectedArgb:i(e.site.labelColorSelectedArgb)},track:{...e.track,colorNormalArgb:i(e.track.colorNormalArgb),colorSelectedArgb:i(e.track.colorSelectedArgb)}}}export{C as a,f as b,y as e,w as h,I as n,A as r};
@@ -1 +0,0 @@
import{u as n}from"./useProjectionStream-BBHmpNXC.js";import{b7 as r,b6 as s}from"./index-Dg4NaXsE.js";function u(e){const c=n({autoConnect:!1});function o(a){const t=a?.payload;if(t)switch(a.kind){case"alarm":e.onAlarm?.(t);break;case"object-created":e.onObjectCreated?.(t);break;case"object-deleted":e.onObjectDeleted?.(t);break;case"object-patched":e.onObjectPatched?.(t);break;case"object-batch-changed":e.onObjectBatchChanged?.(t);break;case"pick-result":e.onPickResult?.(t);break;case"selection-detail":e.onSelectionDetail?.(t);break;case"workspace-shortcut":e.onWorkspaceShortcut?.(t);break;case"viewport-style-updated":e.onViewportStyleUpdated?.();break}}return r(()=>{c.on(o),c.connect()}),s(()=>{c.off(o),c.disconnect()}),{connected:c.connected}}export{u};
@@ -1 +0,0 @@
import{b8 as S,bh as v}from"./index-Dg4NaXsE.js";const g=["snapshot-tick","selection-detail","alarm","object-created","object-deleted","object-patched","object-batch-changed","pick-result","project-saved","project-loaded","car-state","mission-status","monitor-config-updated","workspace-shortcut","viewport-style-updated"];function w(a={}){const y=a.url??"/api/sl/projection/stream",j=a.reconnectDelayMs??3e3,r=v(!1),u=v(null),s=new Set;let e=null,c=null,l=!1;function i(){if(l||e)return;try{e=new EventSource(y)}catch{p();return}e.onopen=()=>{r.value=!0},e.onerror=()=>{r.value=!1,f(),p()},e.onmessage=t=>{d(void 0,t.data)};const n=new Set([...g,...a.extraEventKinds??[]]);for(const t of n)e.addEventListener(t,o=>{d(t,o.data)})}function d(n,t){if(!(typeof t!="string"||!t))try{const o=JSON.parse(t),m=typeof o=="object"&&o!==null&&"kind"in o?o:{kind:n??"message",payload:o};u.value=m,s.forEach(k=>{try{k(m)}catch{}})}catch{}}function f(){if(e){try{e.close()}catch{}e=null}}function p(){l||c||(c=setTimeout(()=>{c=null,i()},j))}function h(){l=!0,c&&(clearTimeout(c),c=null),f(),r.value=!1}function b(n){s.add(n)}function E(n){s.delete(n)}return a.autoConnect!==!1&&i(),S(()=>{h(),s.clear()}),{connected:r,lastEvent:u,connect:i,disconnect:h,on:b,off:E}}export{w as u};
@@ -0,0 +1 @@
import{br as S,bC as v}from"./index-D5GfLbIx.js";const g=["snapshot-tick","selection-detail","alarm","object-created","object-deleted","object-patched","object-batch-changed","pick-result","project-saved","project-loaded","car-state","mission-status","monitor-config-updated","workspace-shortcut","viewport-style-updated"];function T(a={}){const y=a.url??"/api/sl/projection/stream",j=a.reconnectDelayMs??3e3,r=v(!1),u=v(null),s=new Set;let e=null,c=null,l=!1;function i(){if(l||e)return;try{e=new EventSource(y,{withCredentials:!0})}catch{p();return}e.onopen=()=>{r.value=!0},e.onerror=()=>{r.value=!1,f(),p()},e.onmessage=t=>{d(void 0,t.data)};const n=new Set([...g,...a.extraEventKinds??[]]);for(const t of n)e.addEventListener(t,o=>{d(t,o.data)})}function d(n,t){if(!(typeof t!="string"||!t))try{const o=JSON.parse(t),m=typeof o=="object"&&o!==null&&"kind"in o?o:{kind:n??"message",payload:o};u.value=m,s.forEach(k=>{try{k(m)}catch{}})}catch{}}function f(){if(e){try{e.close()}catch{}e=null}}function p(){l||c||(c=setTimeout(()=>{c=null,i()},j))}function h(){l=!0,c&&(clearTimeout(c),c=null),f(),r.value=!1}function b(n){s.add(n)}function E(n){s.delete(n)}return a.autoConnect!==!1&&i(),S(()=>{h(),s.clear()}),{connected:r,lastEvent:u,connect:i,disconnect:h,on:b,off:E}}export{T as u};

Some files were not shown because too many files have changed in this diff Show More