2 lines
12 KiB
JavaScript
2 lines
12 KiB
JavaScript
import{a6 as e,g as a,aj as l,ak as t,aa as i,al as o,am as d,q as n,an as u,ao as r,ap as p,a5 as s,w as c,x as m,y as _,aq as v,ar as f,M as g,v as y,P as b,Q as w,a as h,D as V}from"./element-plus.DhcJM-BD.js";import{A as k,E as C}from"./ai_config.OU8K-Y0S.js";import{o as U,B as z,t as x,H as j,I as A,J as I,K as q,u as P,Y as K,V as S,v as O,Z as R,R as B,X as D,r as E,ac as F}from"./.pnpm.DGfAnZKL.js";import{_ as Q}from"./_plugin-vue_export-helper.BCo6x5W8.js";import"./index.BPA2kTd2.js";import"./codemirror.CR5zRbyM.js";const $={class:"app-container"},G={class:"tab-content"},H={class:"table-toolbar"},J={class:"tab-content"},L={class:"table-toolbar"},M=Q(U({name:"AIConfig",inheritAttrs:!1,__name:"index",setup(U){const Q=E("provider"),M=E(!1),X=E([]),Y=E(0),Z=E([]),N=F({page_no:1,page_size:10,name:void 0,provider_type:void 0}),T=E(!1),W=E("新增供应商"),ee=E(),ae=F({id:void 0,name:void 0,provider_type:void 0,base_url:void 0,api_key:void 0,is_default:0,description:void 0}),le={name:[{required:!0,message:"请输入供应商名称",trigger:"blur"}],provider_type:[{required:!0,message:"请选择供应商类型",trigger:"change"}],base_url:[{required:!0,message:"请输入接口地址",trigger:"blur"}],api_key:[{required:!0,message:"请输入API Key",trigger:"blur"}]};async function te(){M.value=!0;try{const e=await k.list(N);X.value=e.data.data.items,Y.value=e.data.data.total}finally{M.value=!1}}function ie(e){Z.value=e}function oe(){W.value="新增供应商",Object.assign(ae,{id:void 0,name:void 0,provider_type:void 0,base_url:void 0,api_key:void 0,is_default:0,description:void 0}),T.value=!0}async function de(){var e;await(null==(e=ee.value)?void 0:e.validate()),ae.id?(await k.update(ae.id,ae),h.success("更新成功")):(await k.create(ae),h.success("创建成功")),T.value=!1,te()}async function ne(){await V.confirm(`确定删除选中的${Z.value.length}条记录吗?`,"提示",{type:"warning"});const e=Z.value.map(e=>e.id);await k.delete(e),h.success("删除成功"),te()}const ue=E(!1),re=E([]),pe=E(0),se=E([]),ce=F({page_no:1,page_size:10,name:void 0,embedding_type:void 0}),me=E(!1),_e=E("新增向量化配置"),ve=E(),fe=F({id:void 0,name:void 0,embedding_type:0,model_name:void 0,base_url:void 0,api_key:void 0,is_default:0,description:void 0}),ge={name:[{required:!0,message:"请输入配置名称",trigger:"blur"}],embedding_type:[{required:!0,message:"请选择向量化类型",trigger:"change"}],model_name:[{required:!0,message:"请输入模型名称",trigger:"blur"}]};async function ye(){ue.value=!0;try{const e=await C.list(ce);re.value=e.data.data.items,pe.value=e.data.data.total}finally{ue.value=!1}}function be(e){se.value=e}function we(){_e.value="新增向量化配置",Object.assign(fe,{id:void 0,name:void 0,embedding_type:0,model_name:void 0,base_url:void 0,api_key:void 0,is_default:0,description:void 0}),me.value=!0}async function he(){var e;await(null==(e=ve.value)?void 0:e.validate()),fe.id?(await C.update(fe.id,fe),h.success("更新成功")):(await C.create(fe),h.success("创建成功")),me.value=!1,ye()}async function Ve(){await V.confirm(`确定删除选中的${se.value.length}条记录吗?`,"提示",{type:"warning"});const e=se.value.map(e=>e.id);await C.delete(e),h.success("删除成功"),ye()}return z(()=>{te(),ye()}),(U,z)=>{const E=a,F=d,ke=n,Ce=o,Ue=p,ze=e,xe=s,je=_,Ae=m,Ie=f,qe=v,Pe=g,Ke=c,Se=y,Oe=w,Re=b,Be=r;return x(),j("div",$,[A(xe,{modelValue:Q.value,"onUpdate:modelValue":z[4]||(z[4]=e=>Q.value=e),type:"border-card"},{default:I(()=>[A(ze,{label:"AI供应商",name:"provider"},{default:I(()=>[q("div",G,[q("div",H,[A(E,{icon:P(l),onClick:te},{default:I(()=>[...z[22]||(z[22]=[K("刷新",-1)])]),_:1},8,["icon"]),A(E,{type:"primary",icon:P(t),onClick:oe},{default:I(()=>[...z[23]||(z[23]=[K("新增",-1)])]),_:1},8,["icon"]),A(E,{type:"danger",icon:P(i),disabled:0===Z.value.length,onClick:ne},{default:I(()=>[...z[24]||(z[24]=[K("批量删除",-1)])]),_:1},8,["icon","disabled"])]),S((x(),O(Ce,{data:X.value,onSelectionChange:ie},{default:I(()=>[A(F,{type:"selection",width:"50"}),A(F,{prop:"name",label:"供应商名称","min-width":"120"}),A(F,{prop:"provider_type",label:"类型",width:"100"},{default:I(({row:e})=>[A(ke,null,{default:I(()=>[K(R(e.provider_type),1)]),_:2},1024)]),_:1}),A(F,{prop:"base_url",label:"接口地址","min-width":"200","show-overflow-tooltip":""}),A(F,{prop:"api_key",label:"API Key","min-width":"150"},{default:I(({row:e})=>{return[q("span",null,R((a=e.api_key,!a||a.length<=8?"****":a.substring(0,4)+"****"+a.substring(a.length-4))),1)];var a}),_:1}),A(F,{prop:"is_default",label:"默认",width:"80",align:"center"},{default:I(({row:e})=>[A(ke,{type:1===e.is_default?"success":"info"},{default:I(()=>[K(R(1===e.is_default?"是":"否"),1)]),_:2},1032,["type"])]),_:1}),A(F,{prop:"description",label:"备注","min-width":"150","show-overflow-tooltip":""}),A(F,{label:"操作",width:"150",fixed:"right"},{default:I(({row:e})=>[A(E,{type:"primary",link:"",icon:P(u),onClick:a=>function(e){W.value="编辑供应商",Object.assign(ae,e),T.value=!0}(e)},{default:I(()=>[...z[25]||(z[25]=[K("编辑",-1)])]),_:1},8,["icon","onClick"]),A(E,{type:"danger",link:"",icon:P(i),onClick:a=>async function(e){await V.confirm("确定删除该供应商吗?","提示",{type:"warning"}),await k.delete([e.id]),h.success("删除成功"),te()}(e)},{default:I(()=>[...z[26]||(z[26]=[K("删除",-1)])]),_:1},8,["icon","onClick"])]),_:1})]),_:1},8,["data"])),[[Be,M.value]]),A(Ue,{"current-page":N.page_no,"onUpdate:currentPage":z[0]||(z[0]=e=>N.page_no=e),"page-size":N.page_size,"onUpdate:pageSize":z[1]||(z[1]=e=>N.page_size=e),total:Y.value,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next, jumper",onSizeChange:te,onCurrentChange:te},null,8,["current-page","page-size","total"])])]),_:1}),A(ze,{label:"向量化配置",name:"embedding"},{default:I(()=>[q("div",J,[q("div",L,[A(E,{icon:P(l),onClick:ye},{default:I(()=>[...z[27]||(z[27]=[K("刷新",-1)])]),_:1},8,["icon"]),A(E,{type:"primary",icon:P(t),onClick:we},{default:I(()=>[...z[28]||(z[28]=[K("新增",-1)])]),_:1},8,["icon"]),A(E,{type:"danger",icon:P(i),disabled:0===se.value.length,onClick:Ve},{default:I(()=>[...z[29]||(z[29]=[K("批量删除",-1)])]),_:1},8,["icon","disabled"])]),S((x(),O(Ce,{data:re.value,onSelectionChange:be},{default:I(()=>[A(F,{type:"selection",width:"50"}),A(F,{prop:"name",label:"配置名称","min-width":"120"}),A(F,{prop:"embedding_type",label:"类型",width:"100"},{default:I(({row:e})=>[A(ke,{type:0===e.embedding_type?"primary":"success"},{default:I(()=>[K(R(0===e.embedding_type?"本地":"远程"),1)]),_:2},1032,["type"])]),_:1}),A(F,{prop:"model_name",label:"模型名称","min-width":"150"}),A(F,{prop:"base_url",label:"接口地址","min-width":"200","show-overflow-tooltip":""},{default:I(({row:e})=>[K(R(e.base_url||"-"),1)]),_:1}),A(F,{prop:"is_default",label:"默认",width:"80",align:"center"},{default:I(({row:e})=>[A(ke,{type:1===e.is_default?"success":"info"},{default:I(()=>[K(R(1===e.is_default?"是":"否"),1)]),_:2},1032,["type"])]),_:1}),A(F,{prop:"description",label:"备注","min-width":"150","show-overflow-tooltip":""}),A(F,{label:"操作",width:"150",fixed:"right"},{default:I(({row:e})=>[A(E,{type:"primary",link:"",icon:P(u),onClick:a=>function(e){_e.value="编辑向量化配置",Object.assign(fe,e),me.value=!0}(e)},{default:I(()=>[...z[30]||(z[30]=[K("编辑",-1)])]),_:1},8,["icon","onClick"]),A(E,{type:"danger",link:"",icon:P(i),onClick:a=>async function(e){await V.confirm("确定删除该配置吗?","提示",{type:"warning"}),await C.delete([e.id]),h.success("删除成功"),ye()}(e)},{default:I(()=>[...z[31]||(z[31]=[K("删除",-1)])]),_:1},8,["icon","onClick"])]),_:1})]),_:1},8,["data"])),[[Be,ue.value]]),A(Ue,{"current-page":ce.page_no,"onUpdate:currentPage":z[2]||(z[2]=e=>ce.page_no=e),"page-size":ce.page_size,"onUpdate:pageSize":z[3]||(z[3]=e=>ce.page_size=e),total:pe.value,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next, jumper",onSizeChange:ye,onCurrentChange:ye},null,8,["current-page","page-size","total"])])]),_:1})]),_:1},8,["modelValue"]),A(Se,{modelValue:T.value,"onUpdate:modelValue":z[12]||(z[12]=e=>T.value=e),title:W.value,width:"600px","destroy-on-close":""},{footer:I(()=>[A(E,{onClick:z[11]||(z[11]=e=>T.value=!1)},{default:I(()=>[...z[32]||(z[32]=[K("取消",-1)])]),_:1}),A(E,{type:"primary",onClick:de},{default:I(()=>[...z[33]||(z[33]=[K("确定",-1)])]),_:1})]),default:I(()=>[A(Ke,{ref_key:"providerFormRef",ref:ee,model:ae,rules:le,"label-width":"100px"},{default:I(()=>[A(Ae,{label:"供应商名称",prop:"name"},{default:I(()=>[A(je,{modelValue:ae.name,"onUpdate:modelValue":z[5]||(z[5]=e=>ae.name=e),placeholder:"请输入供应商名称"},null,8,["modelValue"])]),_:1}),A(Ae,{label:"供应商类型",prop:"provider_type"},{default:I(()=>[A(qe,{modelValue:ae.provider_type,"onUpdate:modelValue":z[6]||(z[6]=e=>ae.provider_type=e),placeholder:"请选择供应商类型",style:{width:"100%"}},{default:I(()=>[A(Ie,{label:"OpenAI",value:"openai"}),A(Ie,{label:"DeepSeek",value:"deepseek"}),A(Ie,{label:"Anthropic",value:"anthropic"}),A(Ie,{label:"Gemini",value:"gemini"}),A(Ie,{label:"Qwen",value:"qwen"}),A(Ie,{label:"其他",value:"other"})]),_:1},8,["modelValue"])]),_:1}),A(Ae,{label:"接口地址",prop:"base_url"},{default:I(()=>[A(je,{modelValue:ae.base_url,"onUpdate:modelValue":z[7]||(z[7]=e=>ae.base_url=e),placeholder:"请输入接口地址(BaseURL)"},null,8,["modelValue"])]),_:1}),A(Ae,{label:"API Key",prop:"api_key"},{default:I(()=>[A(je,{modelValue:ae.api_key,"onUpdate:modelValue":z[8]||(z[8]=e=>ae.api_key=e),placeholder:"请输入API Key",type:"password","show-password":""},null,8,["modelValue"])]),_:1}),A(Ae,{label:"设为默认",prop:"is_default"},{default:I(()=>[A(Pe,{modelValue:ae.is_default,"onUpdate:modelValue":z[9]||(z[9]=e=>ae.is_default=e),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1}),A(Ae,{label:"备注",prop:"description"},{default:I(()=>[A(je,{modelValue:ae.description,"onUpdate:modelValue":z[10]||(z[10]=e=>ae.description=e),type:"textarea",rows:3,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),A(Se,{modelValue:me.value,"onUpdate:modelValue":z[21]||(z[21]=e=>me.value=e),title:_e.value,width:"600px","destroy-on-close":""},{footer:I(()=>[A(E,{onClick:z[20]||(z[20]=e=>me.value=!1)},{default:I(()=>[...z[36]||(z[36]=[K("取消",-1)])]),_:1}),A(E,{type:"primary",onClick:he},{default:I(()=>[...z[37]||(z[37]=[K("确定",-1)])]),_:1})]),default:I(()=>[A(Ke,{ref_key:"embeddingFormRef",ref:ve,model:fe,rules:ge,"label-width":"100px"},{default:I(()=>[A(Ae,{label:"配置名称",prop:"name"},{default:I(()=>[A(je,{modelValue:fe.name,"onUpdate:modelValue":z[13]||(z[13]=e=>fe.name=e),placeholder:"请输入配置名称"},null,8,["modelValue"])]),_:1}),A(Ae,{label:"向量化类型",prop:"embedding_type"},{default:I(()=>[A(Re,{modelValue:fe.embedding_type,"onUpdate:modelValue":z[14]||(z[14]=e=>fe.embedding_type=e)},{default:I(()=>[A(Oe,{value:0},{default:I(()=>[...z[34]||(z[34]=[K("本地",-1)])]),_:1}),A(Oe,{value:1},{default:I(()=>[...z[35]||(z[35]=[K("远程",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),A(Ae,{label:"模型名称",prop:"model_name"},{default:I(()=>[A(je,{modelValue:fe.model_name,"onUpdate:modelValue":z[15]||(z[15]=e=>fe.model_name=e),placeholder:"请输入Embedding模型名称"},null,8,["modelValue"])]),_:1}),1===fe.embedding_type?(x(),j(B,{key:0},[A(Ae,{label:"接口地址",prop:"base_url"},{default:I(()=>[A(je,{modelValue:fe.base_url,"onUpdate:modelValue":z[16]||(z[16]=e=>fe.base_url=e),placeholder:"请输入远程接口地址"},null,8,["modelValue"])]),_:1}),A(Ae,{label:"API Key",prop:"api_key"},{default:I(()=>[A(je,{modelValue:fe.api_key,"onUpdate:modelValue":z[17]||(z[17]=e=>fe.api_key=e),placeholder:"请输入API Key",type:"password","show-password":""},null,8,["modelValue"])]),_:1})],64)):D("",!0),A(Ae,{label:"设为默认",prop:"is_default"},{default:I(()=>[A(Pe,{modelValue:fe.is_default,"onUpdate:modelValue":z[18]||(z[18]=e=>fe.is_default=e),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1}),A(Ae,{label:"备注",prop:"description"},{default:I(()=>[A(je,{modelValue:fe.description,"onUpdate:modelValue":z[19]||(z[19]=e=>fe.description=e),type:"textarea",rows:3,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),[["__scopeId","data-v-8e6fe729"]]);export{M as default};
|