import{g as Ce,B as $e,c as n,a as e,d,p as N,q as K,F as c,r as V,t as i,l as f,G as Ne,v as de,s as ce,x as _,y as ue,z as E,o as a,n as y,_ as Ve}from"./CCjf5Io-.js";import{u as Ae}from"./C-6Qe-lq.js";import{u as Ue}from"./DTVGNZEd.js";import{L as re}from"./ChQPCk92.js";import"./42htcooJ.js";const Le={class:"scopebar"},Me={class:"flex items-center gap-2"},Se=["value"],De=["value"],Oe={class:"text-[11px] text-slate-400"},Be={key:0,class:"bg-white rounded-xl border border-slate-100 py-16 text-center"},Ee={key:0,class:"alert alert-warning py-2 text-sm mb-4"},Te={class:"card"},je={class:"card-head"},ze={class:"flex gap-2 shrink-0"},Fe=["disabled"],Ge=["disabled"],He={class:"probe-bar"},Ie=["value"],Ke={key:0,class:"probe-out"},Pe={key:1,class:"probe-out bad"},Re={key:0,class:"py-10 text-center text-slate-400 text-sm"},We={class:"min-w-0"},Xe={class:"svc-prov"},qe={class:"flex flex-wrap gap-1"},Je={key:0,class:"lang"},Qe={key:1,class:"text-[11px] text-slate-400"},Ye={class:"svc-cost"},Ze={key:1,class:"text-slate-300"},et=["checked","disabled","onChange"],tt={class:"svc-acts"},st=["disabled","onClick"],lt=["disabled","onClick"],nt=["onClick"],at=["onClick"],it={class:"card mt-4"},ot={class:"card-head"},dt={class:"flex gap-2 shrink-0"},ct=["disabled"],ut=["disabled"],rt={key:0,class:"py-10 text-center text-slate-400 text-sm"},vt={class:"min-w-0"},bt={class:"svc-name"},_t={class:"svc-prov"},pt={class:"svc-cost"},mt={key:1,class:"text-slate-300"},gt=["checked","disabled","onChange"],ht={class:"svc-acts"},ft=["disabled","onClick"],kt=["disabled","onClick"],xt=["onClick"],yt=["onClick"],wt={class:"card mt-4"},Ct={class:"card-head"},$t=["disabled"],Nt={class:"mode-bar"},Vt={class:"flex items-center gap-2 cursor-pointer shrink-0"},At=["checked","disabled"],Ut={class:"mode-txt"},Lt={key:0,class:"py-10 text-center text-slate-400 text-sm"},Mt={class:"grid place-items-center"},St=["checked","disabled","onChange"],Dt={class:"min-w-0"},Ot={class:"svc-name"},Bt={key:0,title:"多媒体大模型,能识图"},Et={key:1,class:"chip chip-app ml-1"},Tt={class:"svc-prov"},jt={class:"svc-cost"},zt={key:1,class:"text-slate-300"},Ft=["checked","disabled","title","onChange"],Gt=["checked","disabled","onChange"],Ht={class:"svc-acts"},It=["onClick"],Kt=["onClick"],Pt={class:"modal-box max-w-md"},Rt={class:"font-bold text-lg"},Wt={class:"mt-4 space-y-3"},Xt={class:"form-control"},qt=["value"],Jt={key:0,class:"text-[11px] text-amber-600 mt-1"},Qt={class:"form-control"},Yt={class:"label py-1"},Zt={class:"label-text text-sm font-medium"},es={key:0,class:"flex gap-4"},ts={class:"flex items-center gap-2 cursor-pointer"},ss={class:"flex items-center gap-2 cursor-pointer"},ls={class:"modal-action"},ns=["disabled"],as={class:"modal-box max-w-sm"},is={class:"text-xs text-slate-400 mt-1"},os={class:"modal-action"},ds=["disabled"],cs=Ce({__name:"meetingsvc",setup(us){const{webApi:S,consoleApi:ve}=Ae(),{success:P,error:A}=Ue(),se=[{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:"印度"}];function be(l){return se.find(t=>t.value===l)?.label??"区域"+l}const R=_([]),w=_(""),C=_(0),D=_([]),T=_([]),W=_({1:[8],2:[3],3:[5,9]}),U=_(!1),le=_(!1),X=_(!1),L=_(!1),r=_(!1),m=_("zh-CN"),j=_(null),z=_(null),g=_(1),v=ue({svc_id:"",cost_hint:0,is_default:!1,client_visible:!1}),k=ue({row_id:0,name:"",kind:1,cost_hint:0});function _e(l){return l===1?"识别":l===2?"翻译":"总结"}function ne(l){return l===1?"元/小时":l===2?"元/百万字符":"元/百万token"}function q(l){return re.find(t=>t.code===l)?.name??l}function ae(l,t){return(l||"").split(",").map(s=>Number(s.trim())).includes(t)}const F=E(()=>{const l=new Map;for(const t of T.value)l.set(t.id,t);return l});function x(l){return F.value.get(l)?.name??l}function J(l){return F.value.get(l)?.provider??"?"}function M(l){return F.value.get(l)?.languages??""}function pe(l){return ae(F.value.get(l)?.categories??"",9)}function b(l){return D.value.filter(t=>t.kind===l).sort((t,s)=>t.priority-s.priority)}function O(l){const t=W.value[String(l)]??[],s=new Set(D.value.filter(o=>o.kind===l).map(o=>o.svc_id));return T.value.filter(o=>!s.has(o.id)&&o.categories.split(",").some(u=>t.includes(Number(u.trim()))))}function G(l,t){const s=M(l);return s?s.split(",").map(o=>o.trim()).includes(t):!0}const h=E(()=>b(1).find(l=>l.enabled&&G(l.svc_id,m.value))??null),$=E(()=>b(2).find(l=>l.enabled)??null);function me(l){return h.value?.row_id!==l.row_id&&(!l.enabled||!G(l.svc_id,m.value))}function ge(l){return h.value?.row_id===l.row_id?"ok":!l.enabled||!G(l.svc_id,m.value)?"no":""}function he(l){return h.value?.row_id===l.row_id?M(l.svc_id)?`✓ 当前源语言(${q(m.value)})由它承接`:"✓ 未限定语言,先落到它(实际支持由引擎判断)":l.enabled?G(l.svc_id,m.value)?"备用:前面都跳过时接手":`不支持 ${q(m.value)}(${m.value}),跳过 → 顺延下一个`:"已停用,跳过"}const H=E(()=>b(3).find(l=>l.is_default)??null),Q=E(()=>b(3).filter(l=>l.enabled&&l.client_visible));async function fe(){try{const l=await ve("products/list",{});R.value=(l??[]).map(t=>t.name).filter(Boolean)}catch{R.value=[]}}async function p(){X.value=!0;try{const l=await S("getechoorch",{app_name:w.value,region:C.value});D.value=l?.items??[],T.value=l?.available??[],W.value=l?.kind_cats??W.value,U.value=!!l?.setting?.llm_client_choice,le.value=(!!w.value||C.value!==0)&&(D.value.length>0||U.value)}catch(l){A(l?.message??"加载失败")}finally{X.value=!1}}async function Y(l){await S("saveechoorch",{app_name:w.value,region:C.value,orch:l})}function Z(l){g.value=l,v.svc_id="",v.cost_hint=0,v.is_default=!1,v.client_visible=!1,j.value?.showModal()}async function ke(){if(v.svc_id){L.value=!0;try{const l=b(g.value),t=l.length?l[l.length-1].priority+10:10;await Y({kind:g.value,svc_id:v.svc_id,priority:t,cost_hint:Number(v.cost_hint)||0,is_default:g.value===3?v.is_default:!1,client_visible:g.value===3?v.client_visible:!1,enabled:!0}),P("已添加"),j.value?.close(),await p()}catch(l){A(l?.message??"添加失败")}finally{L.value=!1}}}async function B(l,t){r.value=!0;try{await Y({...l,...t}),await p()}catch(s){A(s?.message??"操作失败"),await p()}finally{r.value=!1}}async function ee(l){if(confirm(`从本段移除「${x(l.svc_id)}」?(不影响第三方服务配置里的服务本身)`))try{await S("delechoorch",{row_id:l.row_id}),P("已移除"),await p()}catch(t){A(t?.message??"移除失败")}}async function ie(l){r.value=!0;try{await S("reorderechoorch",{items:l.map((t,s)=>({row_id:t.row_id,priority:(s+1)*10}))}),await p()}catch(t){A(t?.message??"排序失败"),await p()}finally{r.value=!1}}function I(l,t,s){const o=[...b(l)],u=t+s;if(u<0||u>=o.length)return;const we=o[t];o[t]=o[u],o[u]=we,ie(o)}function oe(l){const t=[...b(l)].sort((s,o)=>s.enabled!==o.enabled?s.enabled?-1:1:(s.cost_hint||Number.MAX_VALUE)-(o.cost_hint||Number.MAX_VALUE));ie(t)}function te(l){k.row_id=l.row_id,k.name=x(l.svc_id),k.kind=l.kind,k.cost_hint=l.cost_hint,z.value?.showModal()}async function xe(){const l=D.value.find(t=>t.row_id===k.row_id);if(l){L.value=!0;try{await Y({...l,cost_hint:Number(k.cost_hint)||0}),P("已保存"),z.value?.close(),await p()}catch(t){A(t?.message??"保存失败")}finally{L.value=!1}}}async function ye(){r.value=!0;try{await S("saveechoorchsetting",{app_name:w.value,region:C.value,llm_client_choice:!U.value}),await p()}catch(l){A(l?.message??"保存失败"),await p()}finally{r.value=!1}}return $e(async()=>{await fe(),await p()}),(l,t)=>(a(),n("div",null,[t[44]||(t[44]=e("div",{class:"flex items-start justify-between mb-4 flex-wrap gap-3"},[e("div",null,[e("h2",{class:"text-lg font-semibold text-slate-800"},"会议记录服务"),e("p",{class:"text-xs text-slate-400 mt-1 max-w-3xl"},[d(" 识别 / 翻译 / 总结三段,从"),e("b",null,"第三方服务配置"),d("里选已配好的服务来编排(不再单独填凭据)。 "),e("span",{class:"text-slate-500"},"先配「全局默认」作兜底,再按应用 / 区域覆盖"),d("——没配覆盖的应用自动继承全局默认。 ")])])],-1)),e("div",Le,[e("div",Me,[t[17]||(t[17]=e("span",{class:"text-xs text-slate-500 font-semibold"},"作用域",-1)),N(e("select",{"onUpdate:modelValue":t[0]||(t[0]=s=>w.value=s),class:"select select-bordered select-sm",onChange:p},[t[15]||(t[15]=e("option",{value:""},"全局默认(兜底)",-1)),(a(!0),n(c,null,V(R.value,s=>(a(),n("option",{key:s,value:s},"应用:"+i(s),9,Se))),128))],544),[[K,w.value]]),N(e("select",{"onUpdate:modelValue":t[1]||(t[1]=s=>C.value=s),class:"select select-bordered select-sm",onChange:p},[t[16]||(t[16]=e("option",{value:0},"全区域",-1)),(a(),n(c,null,V(se,s=>e("option",{key:s.value,value:s.value},i(s.label),9,De)),64))],544),[[K,C.value,void 0,{number:!0}]])]),e("span",Oe,[d(i(w.value?`正在编辑「${w.value}」`:"正在编辑全局默认")+i(C.value?` · ${be(C.value)}`:" · 全区域")+" ",1),le.value?(a(),n(c,{key:0},[d("(覆盖全局默认)")],64)):f("",!0)])]),X.value?(a(),n("div",Be,[...t[18]||(t[18]=[e("span",{class:"loading loading-spinner loading-sm"},null,-1)])])):(a(),n(c,{key:1},[T.value.length?f("",!0):(a(),n("div",Ee,[...t[19]||(t[19]=[e("span",null,[d(" 该作用域没有可选服务。先去"),e("b",null,"第三方服务配置"),d("添加「录音文件识别 / 机器翻译 / 文本或多媒体大模型」类的服务 (全局默认或该应用作用域),这里才能选。 ")],-1)])])),e("div",Te,[e("div",je,[t[20]||(t[20]=e("div",null,[e("div",{class:"card-title"},"识别(录音文件转写)"),e("div",{class:"card-desc"},[d("按顺序找"),e("b",null,"第一个「已启用 + 支持源语言」"),d('的服务,不支持则跳到下一个。把便宜的排前面即"优先用性价比高的"。')])],-1)),e("div",ze,[e("button",{class:"btn btn-xs",disabled:b(1).length<2||r.value,onClick:t[2]||(t[2]=s=>oe(1))},"⇅ 按参考单价重排",8,Fe),e("button",{class:"btn btn-primary btn-xs text-white",disabled:!O(1).length,onClick:t[3]||(t[3]=s=>Z(1))},"+ 添加识别服务",8,Ge)])]),e("div",He,[t[21]||(t[21]=e("span",{class:"text-xs text-slate-500 font-semibold"},"选路预览",-1)),N(e("select",{"onUpdate:modelValue":t[4]||(t[4]=s=>m.value=s),class:"select select-bordered select-xs w-44 text-xs"},[(a(!0),n(c,null,V(Ne(re),s=>(a(),n("option",{key:s.code,value:s.code},i(s.code)+" · "+i(s.name),9,Ie))),128))],512),[[K,m.value]]),h.value?(a(),n("span",Ke,[d("命中 "+i(x(h.value.svc_id)),1),h.value.cost_hint?(a(),n(c,{key:0},[d(" · ¥"+i(h.value.cost_hint)+"/时",1)],64)):f("",!0)])):(a(),n("span",Pe,"无可用服务 —— "+i(q(m.value))+" 会转写失败",1))]),b(1).length?f("",!0):(a(),n("div",Re,"暂无识别服务,点右上「+ 添加识别服务」")),(a(!0),n(c,null,V(b(1),(s,o)=>(a(),n("div",{key:s.row_id,class:y(["svc asr",{hit:h.value&&h.value.row_id===s.row_id,off:!s.enabled}])},[e("div",{class:y(["svc-rank",{hit:h.value&&h.value.row_id===s.row_id}])},i(o+1),3),e("div",We,[e("div",{class:y(["svc-name",{skip:me(s)}])},i(x(s.svc_id)),3),e("div",Xe,i(J(s.svc_id))+" · "+i(s.svc_id),1)]),e("div",qe,[M(s.svc_id)?(a(),n(c,{key:0},[(a(!0),n(c,null,V(M(s.svc_id).split(",").slice(0,5),u=>(a(),n("span",{key:u,class:y(["lang",{on:u===m.value}])},i(u),3))),128)),M(s.svc_id).split(",").length>5?(a(),n("span",Je,"+"+i(M(s.svc_id).split(",").length-5),1)):f("",!0)],64)):(a(),n("span",Qe,"未限定"))]),e("div",Ye,[s.cost_hint?(a(),n(c,{key:0},[d("¥"+i(s.cost_hint),1),t[22]||(t[22]=e("small",null," /时",-1))],64)):(a(),n("span",Ze,"—"))]),e("div",null,[e("input",{type:"checkbox",class:"toggle toggle-success toggle-sm",checked:s.enabled,disabled:r.value,onChange:u=>B(s,{enabled:!s.enabled})},null,40,et)]),e("div",tt,[e("button",{class:"arrow",disabled:o===0||r.value,"aria-label":"上移",onClick:u=>I(1,o,-1)},"↑",8,st),e("button",{class:"arrow",disabled:o===b(1).length-1||r.value,"aria-label":"下移",onClick:u=>I(1,o,1)},"↓",8,lt),e("button",{class:"btn btn-ghost btn-xs",onClick:u=>te(s)},"单价",8,nt),e("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:u=>ee(s)},"移除",8,at)]),e("div",{class:y(["svc-why",ge(s)])},i(he(s)),3)],2))),128))]),e("div",it,[e("div",ot,[t[23]||(t[23]=e("div",null,[e("div",{class:"card-title"},"翻译"),e("div",{class:"card-desc"},[d("按顺序取"),e("b",null,"第一个已启用"),d("的服务;调用失败自动回退下一个。")])],-1)),e("div",dt,[e("button",{class:"btn btn-xs",disabled:b(2).length<2||r.value,onClick:t[5]||(t[5]=s=>oe(2))},"⇅ 按参考单价重排",8,ct),e("button",{class:"btn btn-primary btn-xs text-white",disabled:!O(2).length,onClick:t[6]||(t[6]=s=>Z(2))},"+ 添加翻译服务",8,ut)])]),b(2).length?f("",!0):(a(),n("div",rt,"暂无翻译服务")),(a(!0),n(c,null,V(b(2),(s,o)=>(a(),n("div",{key:s.row_id,class:y(["svc mt",{hit:$.value&&$.value.row_id===s.row_id,off:!s.enabled}])},[e("div",{class:y(["svc-rank",{hit:$.value&&$.value.row_id===s.row_id}])},i(o+1),3),e("div",vt,[e("div",bt,i(x(s.svc_id)),1),e("div",_t,i(J(s.svc_id))+" · "+i(s.svc_id),1)]),e("div",pt,[s.cost_hint?(a(),n(c,{key:0},[d("¥"+i(s.cost_hint),1),t[24]||(t[24]=e("small",null," /百万字符",-1))],64)):(a(),n("span",mt,"—"))]),e("div",null,[e("input",{type:"checkbox",class:"toggle toggle-success toggle-sm",checked:s.enabled,disabled:r.value,onChange:u=>B(s,{enabled:!s.enabled})},null,40,gt)]),e("div",ht,[e("button",{class:"arrow",disabled:o===0||r.value,"aria-label":"上移",onClick:u=>I(2,o,-1)},"↑",8,ft),e("button",{class:"arrow",disabled:o===b(2).length-1||r.value,"aria-label":"下移",onClick:u=>I(2,o,1)},"↓",8,kt),e("button",{class:"btn btn-ghost btn-xs",onClick:u=>te(s)},"单价",8,xt),e("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:u=>ee(s)},"移除",8,yt)]),e("div",{class:y(["svc-why",s.enabled?$.value&&$.value.row_id===s.row_id?"ok":"":"no"])},[s.enabled?$.value&&$.value.row_id===s.row_id?(a(),n(c,{key:1},[d("✓ 默认由它承接,失败顺延")],64)):(a(),n(c,{key:2},[d("备用:前面失败时接手")],64)):(a(),n(c,{key:0},[d("已停用,跳过")],64))],2)],2))),128))]),e("div",wt,[e("div",Ct,[t[25]||(t[25]=e("div",null,[e("div",{class:"card-title"},"总结(大模型)"),e("div",{class:"card-desc"},[d("后台指定默认模型,客户端可在允许范围内自选。带 🖼 的是"),e("b",null,"多媒体大模型"),d(",能识别会议里的图片。")])],-1)),e("button",{class:"btn btn-primary btn-xs text-white shrink-0",disabled:!O(3).length,onClick:t[7]||(t[7]=s=>Z(3))},"+ 添加模型",8,$t)]),e("div",Nt,[e("label",Vt,[e("input",{type:"checkbox",class:"toggle toggle-primary toggle-sm",checked:U.value,disabled:r.value,onChange:ye},null,40,At),t[26]||(t[26]=e("span",{class:"text-sm font-semibold text-slate-700"},"允许客户端指定模型",-1))]),e("p",Ut,[U.value?(a(),n(c,{key:0},[t[27]||(t[27]=d(" 前端能选 ",-1)),e("b",null,i(Q.value.length),1),t[28]||(t[28]=d(" 个模型",-1)),Q.value.length?(a(),n(c,{key:0},[d(":"+i(Q.value.map(s=>x(s.svc_id)).join("、")),1)],64)):(a(),n(c,{key:1},[d("(一个都没勾「前端可见」,等同强制默认)")],64)),t[29]||(t[29]=d("。不传则用默认 ",-1)),e("b",null,i(H.value?x(H.value.svc_id):"—"),1),t[30]||(t[30]=d("。 ",-1))],64)):(a(),n(c,{key:1},[t[31]||(t[31]=d(" 前端不下发模型列表,一律走默认模型 ",-1)),e("b",null,i(H.value?x(H.value.svc_id):"—"),1),t[32]||(t[32]=d(";客户端传了也忽略。 ",-1))],64))])]),b(3).length?f("",!0):(a(),n("div",Lt,"暂无模型")),(a(!0),n(c,null,V(b(3),s=>(a(),n("div",{key:s.row_id,class:y(["svc llm",{isdefault:s.is_default,off:!s.enabled}])},[e("div",Mt,[e("input",{type:"radio",name:"llmdef",class:"radio radio-primary radio-xs",checked:s.is_default,disabled:!s.enabled||r.value,onChange:o=>B(s,{is_default:!0})},null,40,St)]),e("div",Dt,[e("div",Ot,[d(i(x(s.svc_id))+" ",1),pe(s.svc_id)?(a(),n("span",Bt,"🖼")):f("",!0),s.is_default?(a(),n("span",Et,"默认")):f("",!0)]),e("div",Tt,i(J(s.svc_id))+" · "+i(s.svc_id),1)]),e("div",jt,[s.cost_hint?(a(),n(c,{key:0},[d("¥"+i(s.cost_hint),1),t[33]||(t[33]=e("small",null," /百万token",-1))],64)):(a(),n("span",zt,"—"))]),e("div",null,[e("input",{type:"checkbox",class:"toggle toggle-success toggle-sm",checked:s.client_visible,disabled:!U.value||!s.enabled||r.value,title:U.value?"":"先打开「允许客户端指定模型」",onChange:o=>B(s,{client_visible:!s.client_visible})},null,40,Ft)]),e("div",null,[e("input",{type:"checkbox",class:"toggle toggle-success toggle-sm",checked:s.enabled,disabled:r.value,onChange:o=>B(s,{enabled:!s.enabled})},null,40,Gt)]),e("div",Ht,[e("button",{class:"btn btn-ghost btn-xs",onClick:o=>te(s)},"单价",8,It),e("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:o=>ee(s)},"移除",8,Kt)])],2))),128)),t[34]||(t[34]=e("div",{class:"col-h llm-h"},[e("div"),e("div"),e("div",null,"参考单价"),e("div",null,"前端可见"),e("div",null,"启用"),e("div")],-1))])],64)),e("dialog",{ref_key:"addDlg",ref:j,class:"modal"},[e("div",Pt,[e("h3",Rt,"添加"+i(_e(g.value))+"服务",1),t[40]||(t[40]=e("p",{class:"text-xs text-slate-400 mt-1"},"从第三方服务配置里选一个已配好的服务加入本段编排。",-1)),e("div",Wt,[e("div",Xt,[t[36]||(t[36]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm font-medium"},"服务")],-1)),N(e("select",{"onUpdate:modelValue":t[8]||(t[8]=s=>v.svc_id=s),class:"select select-bordered select-sm"},[t[35]||(t[35]=e("option",{value:""},"请选择服务…",-1)),(a(!0),n(c,null,V(O(g.value),s=>(a(),n("option",{key:s.id,value:s.id},i(s.name)+i(g.value===3&&ae(s.categories,9)?" 🖼":"")+"("+i(s.provider||s.id)+") ",9,qt))),128))],512),[[K,v.svc_id]]),O(g.value).length?f("",!0):(a(),n("span",Jt,"没有可添加的服务了(都加过了,或服务池里没这类服务)。"))]),e("div",Qt,[e("label",Yt,[e("span",Zt,"参考单价("+i(ne(g.value))+",可空)",1)]),N(e("input",{"onUpdate:modelValue":t[9]||(t[9]=s=>v.cost_hint=s),type:"number",step:"0.01",min:"0",class:"input input-bordered input-sm font-mono text-xs",placeholder:"0"},null,512),[[de,v.cost_hint,void 0,{number:!0}]]),t[37]||(t[37]=e("span",{class:"text-[11px] text-slate-400 mt-1"},"仅用于排序/展示,填你的实付价。",-1))]),g.value===3?(a(),n("div",es,[e("label",ts,[N(e("input",{"onUpdate:modelValue":t[10]||(t[10]=s=>v.is_default=s),type:"checkbox",class:"toggle toggle-primary toggle-sm"},null,512),[[ce,v.is_default]]),t[38]||(t[38]=e("span",{class:"text-sm"},"设为默认",-1))]),e("label",ss,[N(e("input",{"onUpdate:modelValue":t[11]||(t[11]=s=>v.client_visible=s),type:"checkbox",class:"toggle toggle-success toggle-sm"},null,512),[[ce,v.client_visible]]),t[39]||(t[39]=e("span",{class:"text-sm"},"前端可见",-1))])])):f("",!0)]),e("div",ls,[e("button",{class:"btn btn-ghost btn-sm",onClick:t[12]||(t[12]=s=>j.value?.close())},"取消"),e("button",{class:"btn btn-primary btn-sm text-white",disabled:!v.svc_id||L.value,onClick:ke},i(L.value?"添加中…":"添加"),9,ns)])]),t[41]||(t[41]=e("form",{method:"dialog",class:"modal-backdrop"},[e("button",null,"close")],-1))],512),e("dialog",{ref_key:"costDlg",ref:z,class:"modal"},[e("div",as,[t[42]||(t[42]=e("h3",{class:"font-bold text-lg"},"参考单价",-1)),e("p",is,i(k.name)+"("+i(ne(k.kind))+")",1),N(e("input",{"onUpdate:modelValue":t[13]||(t[13]=s=>k.cost_hint=s),type:"number",step:"0.01",min:"0",class:"input input-bordered input-sm w-full font-mono text-xs mt-3",placeholder:"0"},null,512),[[de,k.cost_hint,void 0,{number:!0}]]),e("div",os,[e("button",{class:"btn btn-ghost btn-sm",onClick:t[14]||(t[14]=s=>z.value?.close())},"取消"),e("button",{class:"btn btn-primary btn-sm text-white",disabled:L.value,onClick:xe},"保存",8,ds)])]),t[43]||(t[43]=e("form",{method:"dialog",class:"modal-backdrop"},[e("button",null,"close")],-1))],512)]))}}),ms=Ve(cs,[["__scopeId","data-v-4edbf244"]]);export{ms as default};