Files
Migu2.0/MiGu.Server/wwwroot/assets/StrategyConfigView-DqIoZFxi.js
T

2 lines
7.2 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{aN as p,bs as f,aE as g,c8 as t,aK as e,N as x,O as T,a4 as B,Z as F,aa as E,ab as U,S as I,bS as v,f as P,a1 as N,a0 as L,aJ as c,a8 as k,i as j,ac as A,a9 as R,bL as z,j as q,D as G,bC as M,c7 as D,aG as O,bW as $,bX as K,aD as w,ak as Q}from"./index-D5GfLbIx.js";/* empty css *//* 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-CgfsngDp.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./PermissionGuard-CR4qtxrh.js";/* empty css */import"./reflection-BwOBPyb9.js";import"./monitorConfigCache-DXn96T8F.js";const H=p({__name:"RoutingPolicyView",setup(b){function m(d){return Object.entries(d).map(([a,n])=>({k:a,v:n}))}return(d,a)=>{const n=F,i=B,l=T,s=U,u=I,o=E,r=x;return f(),g(V,{section:"routing",title:"路径规划策略",description:"算法选择、权重、避障规则、区域限速(RoutingPolicy",defaults:v(P)},{default:t(({payload:_,update:C})=>[e(r,{"label-width":"140px",model:_},{default:t(()=>[e(l,{label:"算法"},{default:t(()=>[e(i,{"model-value":_.algorithm,"onUpdate:modelValue":h=>C({..._,algorithm:h})},{default:t(()=>[e(n,{label:"Dijkstra",value:"dijkstra"}),e(n,{label:"A*",value:"astar"}),e(n,{label:"自定义",value:"custom"})]),_:1},8,["model-value","onUpdate:modelValue"])]),_:2},1024),e(l,{label:"权重"},{default:t(()=>[e(o,{data:m(_.weights),size:"small"},{default:t(()=>[e(s,{label:"维度",prop:"k",width:"140"}),e(s,{label:"权重"},{default:t(h=>[e(u,{"model-value":h.row.v,min:0,max:10,step:.1,"onUpdate:modelValue":S=>C({..._,weights:{..._.weights,[h.row.k]:S??0}})},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024)]),_:2},1032,["data"])]),_:2},1024),e(l,{label:"避障规则"},{default:t(()=>[e(o,{data:_.avoidance,size:"small"},{default:t(()=>[e(s,{label:"ID",prop:"id",width:"100"}),e(s,{label:"区域 ID",prop:"zoneId",width:"140"}),e(s,{label:"规则",prop:"rule"})]),_:1},8,["data"])]),_:2},1024),e(l,{label:"区域限速"},{default:t(()=>[e(o,{data:_.zoneSpeedLimits,size:"small"},{default:t(()=>[e(s,{label:"区域",prop:"zoneId",width:"140"}),e(s,{label:"最大速度 (m/s)",prop:"maxSpeedMps"})]),_:1},8,["data"])]),_:2},1024)]),_:2},1032,["model"])]),_:1},8,["defaults"])}}}),J=p({__name:"TaskAllocationView",setup(b){return(m,d)=>{const a=L,n=N,i=T,l=k,s=I,u=x;return f(),g(V,{section:"task",title:"任务分配机制",description:"负载均衡、就近分配、优先级调度(TaskAllocationPolicy",defaults:v(j)},{default:t(({payload:o,update:r})=>[e(u,{"label-width":"160px",model:o},{default:t(()=>[e(i,{label:"分配模式"},{default:t(()=>[e(n,{"model-value":o.mode,"onUpdate:modelValue":_=>r({...o,mode:_})},{default:t(()=>[e(a,{value:"roundRobin"},{default:t(()=>[...d[0]||(d[0]=[c("轮询",-1)])]),_:1}),e(a,{value:"nearest"},{default:t(()=>[...d[1]||(d[1]=[c("就近",-1)])]),_:1}),e(a,{value:"leastLoad"},{default:t(()=>[...d[2]||(d[2]=[c("最少负载",-1)])]),_:1}),e(a,{value:"custom"},{default:t(()=>[...d[3]||(d[3]=[c("自定义",-1)])]),_:1})]),_:1},8,["model-value","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"启用负载均衡"},{default:t(()=>[e(l,{"model-value":o.loadBalance,"onUpdate:modelValue":_=>r({...o,loadBalance:!!_})},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"单车队列上限"},{default:t(()=>[e(s,{"model-value":o.maxQueuePerCar,min:1,max:100,"onUpdate:modelValue":_=>r({...o,maxQueuePerCar:_??0})},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024)]),_:2},1032,["model"])]),_:1},8,["defaults"])}}}),W=p({__name:"TrafficRuleView",setup(b){return(m,d)=>{const a=U,n=E,i=R,l=A;return f(),g(V,{section:"traffic",title:"交通管制规则",description:"路口策略、区域互斥、动态让行(TrafficRule",defaults:v(q)},{default:t(({payload:s})=>[e(l,{"model-value":"ix"},{default:t(()=>[e(i,{name:"ix",label:"路口策略"},{default:t(()=>[e(n,{data:s.intersections,size:"small"},{default:t(()=>[e(a,{label:"ID",prop:"id",width:"100"}),e(a,{label:"站点 IDs",prop:"siteIds"},{default:t(u=>[c(z(u.row.siteIds.join(", ")),1)]),_:1}),e(a,{label:"模式",prop:"mode",width:"100"})]),_:1},8,["data"])]),_:2},1024),e(i,{name:"mz",label:"区域互斥"},{default:t(()=>[e(n,{data:s.mutex,size:"small"},{default:t(()=>[e(a,{label:"ID",prop:"id",width:"100"}),e(a,{label:"区域 IDs",prop:"zoneIds"},{default:t(u=>[c(z(u.row.zoneIds.join(", ")),1)]),_:1})]),_:1},8,["data"])]),_:2},1024),e(i,{name:"yd",label:"动态让行"},{default:t(()=>[e(n,{data:s.yields,size:"small"},{default:t(()=>[e(a,{label:"ID",prop:"id",width:"100"}),e(a,{label:"From",prop:"from",width:"140"}),e(a,{label:"To",prop:"to",width:"140"}),e(a,{label:"条件",prop:"condition"})]),_:1},8,["data"])]),_:2},1024)]),_:2},1024)]),_:1},8,["defaults"])}}}),X=p({__name:"ChargePolicyView",setup(b){return(m,d)=>{const a=k,n=T,i=I,l=U,s=E,u=x;return f(),g(V,{section:"charge",title:"充电逻辑",description:"充电优先级、空闲充电、任务中断充电(ChargePolicy",defaults:v(G)},{default:t(({payload:o,update:r})=>[e(u,{"label-width":"180px",model:o},{default:t(()=>[e(n,{label:"允许任务中断充电"},{default:t(()=>[e(a,{"model-value":o.allowMidTaskCharge,"onUpdate:modelValue":_=>r({...o,allowMidTaskCharge:!!_})},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024),e(n,{label:"空闲多少秒后充电"},{default:t(()=>[e(i,{"model-value":o.idleChargeAfterSec,min:0,max:86400,"onUpdate:modelValue":_=>r({...o,idleChargeAfterSec:_??0})},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024),e(n,{label:"充电优先级规则"},{default:t(()=>[e(s,{data:o.priority,size:"small"},{default:t(()=>[e(l,{label:"ID",prop:"id",width:"100"}),e(l,{label:"条件",prop:"condition"}),e(l,{label:"权重",prop:"weight",width:"100"})]),_:1},8,["data"])]),_:2},1024)]),_:2},1032,["model"])]),_:1},8,["defaults"])}}}),Z={class:"config-hub-page"},y={class:"config-pane"},Y={class:"config-pane"},ee={class:"config-pane"},te={class:"config-pane"},le=p({__name:"StrategyConfigView",setup(b){const m=$(),d=K(),a=["routing","task","traffic","charge"];function n(){const l=m.query.tab;return typeof l=="string"&&a.includes(l)?l:"routing"}const i=M(n());return D(i,l=>{m.query.tab!==l&&d.replace({query:{...m.query,tab:l}})}),D(()=>m.query.tab,()=>{const l=n();l!==i.value&&(i.value=l)}),(l,s)=>{const u=R,o=A;return f(),O("div",Z,[e(o,{modelValue:i.value,"onUpdate:modelValue":s[0]||(s[0]=r=>i.value=r),class:"hub-tabs"},{default:t(()=>[e(u,{name:"routing",label:"路径规划"},{default:t(()=>[w("div",y,[e(H)])]),_:1}),e(u,{name:"task",label:"任务分配",lazy:""},{default:t(()=>[w("div",Y,[e(J)])]),_:1}),e(u,{name:"traffic",label:"交通管制",lazy:""},{default:t(()=>[w("div",ee,[e(W)])]),_:1}),e(u,{name:"charge",label:"充电策略",lazy:""},{default:t(()=>[w("div",te,[e(X)])]),_:1})]),_:1},8,["modelValue"])])}}}),Ie=Q(le,[["__scopeId","data-v-3f68371b"]]);export{Ie as default};