import{g as xe,j as me,c as n,l as A,a as e,k as r,p as he,F as v,r as y,v as te,D as w,t as u,m as x,q as S,d as le,s as p,x as ye,C as se,o,n as z,G as B,A as fe,_ as _e}from"./96IDI_OR.js";import{u as ge}from"./Do83zqYq.js";import{u as ke}from"./CVUxyiJx.js";const we={key:0,class:"mb-4 rounded-lg px-4 py-3 text-sm",style:{background:"#fffbeb",border:"1px solid #fde68a",color:"#92400e"}},Ce={class:"flex items-center justify-between mb-5"},Ve={class:"flex items-center gap-3"},Se=["value"],Ue={class:"flex gap-4",style:{"align-items":"flex-start"}},Te={style:{width:"248px","flex-shrink":"0"}},Me={class:"flex flex-col gap-2"},De=["onClick"],Ae={style:{"min-width":"0",flex:"1"}},$e={class:"flex items-center gap-2"},je={class:"font-semibold text-slate-800 text-sm truncate"},Le={class:"flex flex-wrap gap-1 mt-1"},Ne={key:0,class:"lock-badge"},Oe={key:0,class:"text-xs text-slate-400 text-center py-8"},Re={class:"flex-1 min-w-0"},Fe={class:"bg-white rounded-2xl border border-slate-100 shadow-sm p-6"},Ie={key:0,class:"text-center text-slate-300 py-20"},ze={class:"flex items-center justify-between mb-5"},Be={class:"flex items-center gap-3"},Ee={class:"text-base font-semibold text-slate-800"},He={class:"text-xs text-slate-400 mt-0.5"},Ge={class:"flex gap-2"},Je={class:"grid grid-cols-2 gap-4 mb-4"},qe={class:"form-control"},Ke={class:"form-control"},Pe={class:"form-control mb-4"},Qe={class:"mb-4"},We={class:"flex flex-wrap gap-3"},Xe=["value"],Ye={class:"text-xs text-slate-600"},Ze={key:0,class:"text-xs text-slate-400 py-4 text-center"},et={key:1,class:"overflow-x-auto"},tt={class:"table text-xs"},lt=["onUpdate:modelValue"],st=["onUpdate:modelValue"],nt={class:"text-center"},ot=["onUpdate:modelValue"],at={class:"relative"},it=["type","onUpdate:modelValue"],dt=["onClick"],ct=["onUpdate:modelValue"],ut=["onClick"],rt={class:"flex items-center justify-between mb-5"},vt={class:"flex gap-2"},pt={class:"grid grid-cols-2 gap-4 mb-4"},bt={class:"form-control"},xt={class:"form-control"},mt={class:"form-control mb-4"},ht={class:"mb-4"},yt={class:"flex flex-wrap gap-3"},ft=["value"],_t={class:"text-xs text-slate-600"},gt={key:0,class:"text-xs text-slate-400 py-4 text-center"},kt={key:1,class:"overflow-x-auto"},wt={class:"table text-xs"},Ct=["onUpdate:modelValue"],Vt=["onUpdate:modelValue"],St={class:"text-center"},Ut=["onUpdate:modelValue"],Tt={class:"relative"},Mt=["type","onUpdate:modelValue"],Dt=["onClick"],At=["onUpdate:modelValue"],$t=["onClick"],jt={key:0,class:"text-center py-10 text-slate-400"},Lt={class:"flex items-center justify-between mb-5"},Nt={class:"flex items-center gap-3"},Ot={class:"text-base font-semibold text-slate-800"},Rt={class:"badge badge-warning badge-sm mt-0.5"},Ft={class:"rounded-lg px-3 py-2 mb-4 text-xs",style:{background:"#fefce8",border:"1px solid #fde047",color:"#854d0e"}},It={class:"overflow-x-auto"},zt={class:"table text-xs"},Bt={class:"font-mono text-slate-700"},Et={class:"text-slate-500"},Ht={class:"text-center"},Gt={key:0,class:"override-badge"},Jt={key:1,class:"inherit-badge"},qt={class:"relative"},Kt=["type","onUpdate:modelValue"],Pt=["onClick"],Qt=["onUpdate:modelValue","placeholder"],Wt={class:"sync-overlay"},Xt={class:"sync-box"},Yt={class:"flex items-start gap-3 mb-4"},Zt={style:{width:"42px",height:"42px",background:"linear-gradient(135deg,#4f46e5,#7c3aed)","border-radius":"13px",display:"flex","align-items":"center","justify-content":"center","flex-shrink":"0"}},el={style:{width:"20px",height:"20px",color:"#fff"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},tl={class:"text-xs text-slate-400 mt-1"},ll=["innerHTML"],sl={class:"flex items-center justify-between mb-1"},nl={class:"flex gap-2"},ol={class:"sync-region-grid"},al=["onClick"],il=["checked","onClick"],dl=xe({__name:"serviceconfig",setup(cl){const U=[{value:1,label:"中国"},{value:2,label:"美国"},{value:3,label:"东亚"},{value:4,label:"东南亚"},{value:5,label:"南亚"},{value:6,label:"中东"},{value:7,label:"欧洲"},{value:8,label:"俄罗斯"},{value:9,label:"非洲"},{value:10,label:"南美"},{value:11,label:"北美"},{value:12,label:"大洋洲"},{value:13,label:"巴西"},{value:14,label:"印度"}],$=[{v:1,label:"STT 语音识别",short:"STT",color:"#0369a1",bg:"#dbeafe"},{v:2,label:"TTS 语音合成",short:"TTS",color:"#7c3aed",bg:"#ede9fe"},{v:3,label:"MT 机器翻译",short:"MT",color:"#059669",bg:"#dcfce7"},{v:4,label:"AST 端到端",short:"AST",color:"#c2410c",bg:"#fff7ed"},{v:5,label:"LLM 大语言",short:"LLM",color:"#b45309",bg:"#fef9c3"},{v:6,label:"存储 OSS/COS",short:"存储",color:"#475569",bg:"#f1f5f9"}],{webApi:g}=ge(),{success:T,error:k}=ke();function j(s){return $.find(l=>l.v===s)||{short:"?",color:"#999",bg:"#eee",v:0,label:""}}function E(s){return(s||"").split(",").map(l=>parseInt(l)||0).filter(l=>l>0)}function H(s){return(s.fields||[]).filter(l=>l.encrypted).length}const L=p(!0),C=p([]),a=p(null),b=p(0),m=p("empty"),c=ye({id:"",name:"",description:"",enable:!1}),_=p([]),h=p([]),M=p([]),N=p(!1),G=se(()=>{const s=U.find(l=>l.value===b.value);return s?s.label:"区域"+b.value});async function O(){try{const s=await g("getsvcconfigs",{});C.value=s?.items??[],L.value=!0}catch{L.value=!1,C.value=[];return}if(a.value){const s=C.value.find(l=>l.id===a.value.id);s&&D(s)}}function ne(){a.value?D(a.value):m.value!=="new"&&(m.value="empty")}function D(s){s&&(a.value=s,b.value===0?oe():de())}function oe(){const s=a.value;c.id=s.id,c.name=s.name||"",c.description=s.description||"",c.enable=!!s.enable,_.value=E(s.categories),h.value=JSON.parse(JSON.stringify(s.fields||[])).map(l=>({...l,_show:!1})),m.value="default"}function ae(){a.value=null,c.id="",c.name="",c.description="",c.enable=!1,_.value=[],h.value=[],m.value="new"}function ie(){a.value?D(a.value):m.value="empty"}function J(){h.value.push({key:"",description:"",encrypted:!1,def_value:"",sort:h.value.length,_show:!1})}function q(s){h.value.splice(s,1),h.value.forEach((l,t)=>{l.sort=t})}async function de(){const s=a.value;N.value=!0,m.value="region";try{const t=(await g("getsvcregionoverride",{svc_id:s.id,region:b.value}))?.fields??[];M.value=t.map(d=>({...d,_input:d.encrypted?"":d.is_overridden&&d.value||"",_show:!1}))}catch(l){k(l?.message??"加载区域覆盖失败"),M.value=[]}finally{N.value=!1}}function ce(s){const l={name:c.name||"",description:c.description||"",categories:_.value.slice().sort((t,d)=>t-d).join(","),enable:c.enable||!1,fields:h.value.map(t=>({key:t.key,description:t.description,encrypted:t.encrypted,def_value:t.def_value,sort:t.sort}))};return s?l.id=c.id||"":l.id=a.value.id,l}function ue(){const s={};return M.value.forEach(l=>{s[l.key]=l._input||""}),s}async function K(s){const l=s||!a.value;if(b.value===0){const t=ce(l);if(!t.id||!t.name)return k("服务ID 和名称 必填"),!1;const d=l?"addsvcconfig":"updatesvcconfig";try{const i=await g(d,t);return a.value=i,await O(),T("保存成功"),!0}catch(i){return k(i?.message??"保存失败"),!1}}else{const t=ue();try{return await g("savesvcregionoverride",{svc_id:a.value.id,region:b.value,overrides:t}),T("区域覆盖已保存"),!0}catch(d){return k(d?.message??"保存失败"),!1}}}async function re(){if(a.value&&window.confirm("确定删除服务「"+a.value.name+"」及其所有区域覆盖?")){try{await g("delsvcconfig",{id:a.value.id})}catch(s){k(s?.message??"删除失败");return}a.value=null,T("已删除"),await O(),m.value="empty"}}const R=p(!1),F=p(!1),P=p(""),Q=p(""),f=p([]),W=se(()=>U.filter(s=>s.value!==b.value));function I(s){F.value=s;const l=a.value?a.value.name:c.name||"新服务",t=b.value===0;P.value=t?"「"+l+"」默认配置将保存,可同步推送到其他区域。":"「"+l+"」在当前区域的字段覆盖将保存,可同步到其他区域。",Q.value=t?"✦ 同步内容:各字段默认值推送为目标区域「覆盖值」,目标区域原有覆盖值将被替换。":"✦ 同步内容:当前区域的字段覆盖值复制到目标区域。",f.value=[],R.value=!0}function X(s){const l=f.value.indexOf(s);l>=0?f.value.splice(l,1):f.value.push(s)}function Y(s){f.value=s?W.value.map(l=>l.value):[]}function Z(){R.value=!1}async function ve(){Z(),await K(F.value)}async function pe(){const s=f.value.slice();if(Z(),!await K(F.value)||!s.length)return;const t=a.value?a.value.id:null;if(!t)return;let d=0;try{d=(await g("syncsvctoregins",{svc_id:t,src_region:b.value,target_regions:s}))?.synced??0}catch(V){k(V?.message??"同步失败");return}const i=s.map(V=>{const ee=U.find(be=>be.value===V);return ee?ee.label:"区域"+V});T("已保存并同步到:"+i.join("、")+"("+d+" 个)")}return me(O),(s,l)=>(o(),n("div",null,[L.value?A("",!0):(o(),n("div",we," ⚠ 「依赖服务配置」的后端接口尚未迁移到当前 console 服务,功能暂不可用。 ")),e("div",Ce,[l[15]||(l[15]=e("div",null,[e("h2",{class:"text-lg font-semibold text-slate-800"},"依赖服务配置"),e("p",{class:"text-xs text-slate-400 mt-1"},"配置火山引擎、阿里云等第三方服务;字段支持加密存储。默认配置全区域共用,可按区域覆盖字段值。")],-1)),e("div",Ve,[r(e("select",{"onUpdate:modelValue":l[0]||(l[0]=t=>b.value=t),class:"select select-bordered select-sm",onChange:ne},[l[14]||(l[14]=e("option",{value:0},"默认(全区域)",-1)),(o(),n(v,null,y(U,t=>e("option",{key:t.value,value:t.value},u(t.label),9,Se)),64))],544),[[he,b.value,void 0,{number:!0}]]),r(e("button",{class:"btn btn-primary btn-sm text-white",onClick:ae},"+ 新增服务",512),[[te,b.value===0]])])]),e("div",Ue,[e("div",Te,[e("div",Me,[(o(!0),n(v,null,y(C.value,t=>(o(),n("div",{key:t.id,class:z(["svc-item",{active:a.value&&a.value.id===t.id}]),onClick:d=>D(t)},[e("div",{class:"svc-logo",style:w({background:t.color||"#6366f1"})},u(t.icon||(t.name||"").charAt(0)),5),e("div",Ae,[e("div",$e,[e("span",je,u(t.name),1),e("span",{class:z(["badge badge-xs",t.enable?"badge-success":"badge-ghost"])},u(t.enable?"启用":"停用"),3)]),e("div",Le,[(o(!0),n(v,null,y(E(t.categories),d=>(o(),n("span",{key:d,class:"cat-chip",style:w({color:j(d).color,background:j(d).bg})},u(j(d).short),5))),128)),H(t)?(o(),n("span",Ne,"🔒"+u(H(t)),1)):A("",!0)])])],10,De))),128)),C.value.length?A("",!0):(o(),n("p",Oe,"暂无服务"))])]),e("div",Re,[e("div",Fe,[m.value==="empty"?(o(),n("div",Ie,[...l[16]||(l[16]=[e("div",{class:"text-5xl mb-3"},"⚙️",-1),e("p",{class:"text-sm"},"从左侧选择一个服务开始配置",-1)])])):m.value==="default"&&a.value?(o(),n(v,{key:1},[e("div",ze,[e("div",Be,[e("div",{class:"svc-logo",style:w({background:a.value.color||"#6366f1",width:"44px",height:"44px",fontSize:"20px"})},u(a.value.icon||(a.value.name||"").charAt(0)),5),e("div",null,[e("h3",Ee,u(a.value.name),1),e("p",He,u(a.value.id),1)])]),e("div",Ge,[e("button",{class:"btn btn-error btn-sm btn-outline",onClick:re},"删除服务"),e("button",{class:"btn btn-primary btn-sm text-white",onClick:l[1]||(l[1]=t=>I(!1))},"保存")])]),l[23]||(l[23]=e("div",{class:"divider text-xs text-slate-400 my-3"},"基本信息",-1)),e("div",Je,[e("div",qe,[l[17]||(l[17]=e("label",{class:"label"},[e("span",{class:"label-text"},"服务名称 *")],-1)),r(e("input",{"onUpdate:modelValue":l[2]||(l[2]=t=>c.name=t),class:"input input-bordered"},null,512),[[x,c.name]])]),e("div",Ke,[l[18]||(l[18]=e("label",{class:"label"},[e("span",{class:"label-text"},"启用")],-1)),r(e("input",{"onUpdate:modelValue":l[3]||(l[3]=t=>c.enable=t),type:"checkbox",class:"toggle toggle-primary mt-3"},null,512),[[S,c.enable]])])]),e("div",Pe,[l[19]||(l[19]=e("label",{class:"label"},[e("span",{class:"label-text"},"服务描述")],-1)),r(e("input",{"onUpdate:modelValue":l[4]||(l[4]=t=>c.description=t),class:"input input-bordered"},null,512),[[x,c.description]])]),e("div",Qe,[l[20]||(l[20]=e("p",{class:"text-sm font-medium text-slate-700 mb-2"},[le("服务类别 "),e("span",{class:"text-slate-400 text-xs"},"(可多选)")],-1)),e("div",We,[(o(),n(v,null,y($,t=>e("label",{key:t.v,class:"flex items-center gap-2 cursor-pointer"},[r(e("input",{type:"checkbox",class:"checkbox checkbox-sm checkbox-primary",value:t.v,"onUpdate:modelValue":l[5]||(l[5]=d=>_.value=d)},null,8,Xe),[[S,_.value]]),e("span",{class:"cat-chip",style:w({color:t.color,background:t.bg})},u(t.short),5),e("span",Ye,u(t.label),1)])),64))])]),l[24]||(l[24]=e("div",{class:"divider text-xs text-slate-400 my-3"},"自定义字段",-1)),e("div",null,[h.value.length?(o(),n("div",et,[e("table",tt,[l[22]||(l[22]=e("thead",null,[e("tr",null,[e("th",{class:"w-32"},"字段名"),e("th",null,"字段描述"),e("th",{class:"w-16 text-center"},"加密"),e("th",null,"默认值"),e("th",{class:"w-12"})])],-1)),e("tbody",null,[(o(!0),n(v,null,y(h.value,(t,d)=>(o(),n("tr",{key:d},[e("td",null,[r(e("input",{class:"field-input","onUpdate:modelValue":i=>t.key=i,placeholder:"key"},null,8,lt),[[x,t.key]])]),e("td",null,[r(e("input",{class:"field-input","onUpdate:modelValue":i=>t.description=i,placeholder:"用途描述"},null,8,st),[[x,t.description]])]),e("td",nt,[r(e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary","onUpdate:modelValue":i=>t.encrypted=i},null,8,ot),[[S,t.encrypted]])]),e("td",null,[t.encrypted?(o(),n(v,{key:0},[e("div",at,[r(e("input",{type:t._show?"text":"password",class:"field-input pr-14","onUpdate:modelValue":i=>t.def_value=i,placeholder:"留空保留原值"},null,8,it),[[B,t.def_value]]),e("button",{type:"button",class:"absolute right-2 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:i=>t._show=!t._show},u(t._show?"隐藏":"显示"),9,dt)]),l[21]||(l[21]=e("span",{class:"lock-badge ml-1"},"🔒 加密",-1))],64)):r((o(),n("input",{key:1,class:"field-input","onUpdate:modelValue":i=>t.def_value=i},null,8,ct)),[[x,t.def_value]])]),e("td",null,[e("button",{class:"btn btn-ghost btn-xs text-error",onClick:i=>q(d)},"×",8,ut)])]))),128))])])])):(o(),n("p",Ze,"尚无自定义字段,点击下方添加")),e("button",{class:"btn btn-ghost btn-sm mt-2 text-primary",onClick:J},"+ 添加字段")])],64)):m.value==="new"?(o(),n(v,{key:2},[e("div",rt,[l[25]||(l[25]=e("h3",{class:"text-base font-semibold text-slate-800"},"新增依赖服务",-1)),e("div",vt,[e("button",{class:"btn btn-ghost btn-sm",onClick:ie},"取消"),e("button",{class:"btn btn-primary btn-sm text-white",onClick:l[6]||(l[6]=t=>I(!0))},"创建")])]),l[32]||(l[32]=e("div",{class:"divider text-xs text-slate-400 my-3"},"基本信息",-1)),e("div",pt,[e("div",bt,[l[26]||(l[26]=e("label",{class:"label"},[e("span",{class:"label-text"},[le("服务ID * "),e("span",{class:"text-slate-400 text-xs"},"(唯一,如 volcengine)")])],-1)),r(e("input",{"onUpdate:modelValue":l[7]||(l[7]=t=>c.id=t),class:"input input-bordered font-mono",placeholder:"volcengine"},null,512),[[x,c.id]])]),e("div",xt,[l[27]||(l[27]=e("label",{class:"label"},[e("span",{class:"label-text"},"服务名称 *")],-1)),r(e("input",{"onUpdate:modelValue":l[8]||(l[8]=t=>c.name=t),class:"input input-bordered",placeholder:"火山引擎"},null,512),[[x,c.name]])])]),e("div",mt,[l[28]||(l[28]=e("label",{class:"label"},[e("span",{class:"label-text"},"服务描述")],-1)),r(e("input",{"onUpdate:modelValue":l[9]||(l[9]=t=>c.description=t),class:"input input-bordered",placeholder:"简述该服务的用途"},null,512),[[x,c.description]])]),e("div",ht,[l[29]||(l[29]=e("p",{class:"text-sm font-medium text-slate-700 mb-2"},"服务类别",-1)),e("div",yt,[(o(),n(v,null,y($,t=>e("label",{key:t.v,class:"flex items-center gap-2 cursor-pointer"},[r(e("input",{type:"checkbox",class:"checkbox checkbox-sm checkbox-primary",value:t.v,"onUpdate:modelValue":l[10]||(l[10]=d=>_.value=d)},null,8,ft),[[S,_.value]]),e("span",{class:"cat-chip",style:w({color:t.color,background:t.bg})},u(t.short),5),e("span",_t,u(t.label),1)])),64))])]),l[33]||(l[33]=e("div",{class:"divider text-xs text-slate-400 my-3"},"自定义字段",-1)),e("div",null,[h.value.length?(o(),n("div",kt,[e("table",wt,[l[31]||(l[31]=e("thead",null,[e("tr",null,[e("th",{class:"w-32"},"字段名"),e("th",null,"字段描述"),e("th",{class:"w-16 text-center"},"加密"),e("th",null,"默认值"),e("th",{class:"w-12"})])],-1)),e("tbody",null,[(o(!0),n(v,null,y(h.value,(t,d)=>(o(),n("tr",{key:d},[e("td",null,[r(e("input",{class:"field-input","onUpdate:modelValue":i=>t.key=i,placeholder:"key"},null,8,Ct),[[x,t.key]])]),e("td",null,[r(e("input",{class:"field-input","onUpdate:modelValue":i=>t.description=i,placeholder:"用途描述"},null,8,Vt),[[x,t.description]])]),e("td",St,[r(e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary","onUpdate:modelValue":i=>t.encrypted=i},null,8,Ut),[[S,t.encrypted]])]),e("td",null,[t.encrypted?(o(),n(v,{key:0},[e("div",Tt,[r(e("input",{type:t._show?"text":"password",class:"field-input pr-14","onUpdate:modelValue":i=>t.def_value=i,placeholder:"留空保留原值"},null,8,Mt),[[B,t.def_value]]),e("button",{type:"button",class:"absolute right-2 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:i=>t._show=!t._show},u(t._show?"隐藏":"显示"),9,Dt)]),l[30]||(l[30]=e("span",{class:"lock-badge ml-1"},"🔒 加密",-1))],64)):r((o(),n("input",{key:1,class:"field-input","onUpdate:modelValue":i=>t.def_value=i},null,8,At)),[[x,t.def_value]])]),e("td",null,[e("button",{class:"btn btn-ghost btn-xs text-error",onClick:i=>q(d)},"×",8,$t)])]))),128))])])])):(o(),n("p",gt,"尚无自定义字段,点击下方添加")),e("button",{class:"btn btn-ghost btn-sm mt-2 text-primary",onClick:J},"+ 添加字段")])],64)):m.value==="region"&&a.value?(o(),n(v,{key:3},[N.value?(o(),n("div",jt,"加载中...")):(o(),n(v,{key:1},[e("div",Lt,[e("div",Nt,[e("div",{class:"svc-logo",style:w({background:a.value.color||"#6366f1",width:"44px",height:"44px",fontSize:"20px"})},u(a.value.icon||(a.value.name||"").charAt(0)),5),e("div",null,[e("h3",Ot,u(a.value.name),1),e("span",Rt,u(G.value)+" 覆盖模式",1)])]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:l[11]||(l[11]=t=>I(!1))},"保存覆盖")]),e("div",Ft," ✦ 当前编辑「"+u(G.value)+"」的字段覆盖值。留空的字段将继承默认值。加密字段留空保留已存储密文。 ",1),e("div",It,[e("table",zt,[l[35]||(l[35]=e("thead",null,[e("tr",null,[e("th",{class:"w-32"},"字段名"),e("th",null,"字段描述"),e("th",{class:"w-24 text-center"},"状态"),e("th",null,"有效值")])],-1)),e("tbody",null,[(o(!0),n(v,null,y(M.value,(t,d)=>(o(),n("tr",{key:d},[e("td",Bt,u(t.key),1),e("td",Et,u(t.description),1),e("td",Ht,[t.is_overridden?(o(),n("span",Gt,"覆盖")):(o(),n("span",Jt,"继承"))]),e("td",null,[t.encrypted?(o(),n(v,{key:0},[e("div",qt,[r(e("input",{type:t._show?"text":"password",class:"field-input pr-14","onUpdate:modelValue":i=>t._input=i,placeholder:"留空继承默认"},null,8,Kt),[[B,t._input]]),e("button",{type:"button",class:"absolute right-2 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:i=>t._show=!t._show},u(t._show?"隐藏":"显示"),9,Pt)]),l[34]||(l[34]=e("span",{class:"lock-badge ml-1"},"🔒",-1))],64)):r((o(),n("input",{key:1,class:"field-input","onUpdate:modelValue":i=>t._input=i,placeholder:"留空继承:"+(t.value||"")},null,8,Qt)),[[x,t._input]])])]))),128))])])])],64))],64)):A("",!0)])])]),r(e("div",Wt,[e("div",Xt,[e("div",Yt,[e("div",Zt,[(o(),n("svg",el,[...l[36]||(l[36]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"},null,-1)])]))]),e("div",null,[l[37]||(l[37]=e("h3",{class:"text-base font-semibold text-slate-800"},"同步到其他区域",-1)),e("p",tl,u(P.value),1)])]),e("div",{class:"text-xs px-3 py-2 rounded-lg mb-3",style:{background:"#f0fdf4",border:"1px solid #bbf7d0",color:"#15803d"},innerHTML:Q.value},null,8,ll),e("div",sl,[l[38]||(l[38]=e("span",{class:"text-xs font-semibold text-slate-500"},"选择目标区域",-1)),e("div",nl,[e("button",{class:"btn btn-ghost btn-xs",onClick:l[12]||(l[12]=t=>Y(!0))},"全选"),e("button",{class:"btn btn-ghost btn-xs",onClick:l[13]||(l[13]=t=>Y(!1))},"清空")])]),e("div",ol,[(o(!0),n(v,null,y(W.value,t=>(o(),n("label",{key:t.value,class:z(["sync-region-item",{checked:f.value.includes(t.value)}]),onClick:d=>X(t.value)},[e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary",checked:f.value.includes(t.value),onClick:fe(d=>X(t.value),["stop"])},null,8,il),e("span",null,u(t.label),1)],10,al))),128))]),l[39]||(l[39]=e("p",{class:"text-[11px] text-slate-400 mb-5"},"⚠ 已勾选区域中与当前配置相同的字段将被覆盖;加密字段密文一并同步。",-1)),e("div",{class:"flex gap-3 justify-end"},[e("button",{class:"btn btn-ghost",onClick:ve},"仅保存当前区域"),e("button",{class:"btn btn-primary text-white",onClick:pe},"保存并同步")])])],512),[[te,R.value]])]))}}),pl=_e(dl,[["__scopeId","data-v-97419e3c"]]);export{pl as default};