mirror of
https://github.com/vastxie/99AI.git
synced 2025-09-19 01:56:38 +08:00
9 lines
6.7 KiB
JavaScript
9 lines
6.7 KiB
JavaScript
|
|
/**
|
|
* 由 Fantastic-admin 提供技术支持
|
|
* Powered by Fantastic-admin
|
|
* https://fantastic-admin.github.io
|
|
*/
|
|
|
|
import{_ as ae}from"./index.vue_vue_type_script_setup_true_lang-c3O57XSg.js";import{_ as oe}from"./index.vue_vue_type_script_setup_true_lang-BhIKqf2a.js";import{I as A,d as ne,m as z,r as _,n as se,a as ue,p as n,q as re,g as R,c as B,b as e,w as a,h as d,v as ie,x as pe,F as de,s as me,i as u,y as ce,z as O,t as j,e as v,D as _e,G as V,E as fe,j as ye,_ as ge,k as F}from"./index-6QRvoxq4.js";import{b as ve,Q as be}from"./index-BE-LteFu.js";const x={queryAutoReply:i=>A.get("autoreply/query",{params:i}),delAutoReply:i=>A.post("autoreply/del",i),addAutoReply:i=>A.post("autoreply/add",i),updateAutoReply:i=>A.post("autoreply/update",i)},we=v("div",{class:"flex items-center gap-4"},"自定义知识库说明",-1),Ae=v("div",{class:"text-sm/6"},[v("div",null," 自定义知识库会根据用户提问中的关键词匹配知识库的内容作为预设。同一知识库支持多个关键词,多个关键词用空格隔开。 "),v("div",null,"默认开启 AI 回复,关闭后将直接回复预设答案。")],-1),Re={class:"dialog-footer"},Ve=ne({__name:"autpReply",setup(i){const r=z({prompt:"",status:void 0,page:1,size:10}),m=_(!1),b=_(!1),y=_(0),$=_(0),S=_(),k=_(),s=z({status:1,prompt:"",answer:"",isAIReplyEnabled:1}),M=z({status:[{required:!0,message:"请选择开启状态",trigger:"change"}],prompt:[{required:!0,message:"请填写预设问题",trigger:"blur"}],answer:[{required:!0,message:"请填写回复答案",trigger:"blur"}],isAIReplyEnabled:[{required:!0,message:"请选择是否开启AI回复",trigger:"change"}]}),q=_([]);async function p(){try{b.value=!0;const o=await x.queryAutoReply(r),{rows:t,count:g}=o.data;b.value=!1,$.value=g,q.value=t}catch{b.value=!1}}async function P(o){await x.delAutoReply({id:o}),V.success("删除自定义知识库成功"),await p()}function K(o){o==null||o.resetFields(),p()}function Q(o){y.value=o.id;const{status:t,prompt:g,answer:C,isAIReplyEnabled:I}=o;m.value=!0,fe(()=>{Object.assign(s,{status:t,prompt:g,answer:C,isAIReplyEnabled:I})})}const T=se(()=>y.value!==0);function H(o){o==null||o.resetFields(),y.value=0}async function L(o){o==null||o.validate(async t=>{if(!t){V.warning("请按规则填写所有信息!");return}y.value===0?(await x.addAutoReply(s),V.success("添加自定义知识库成功")):(await x.updateAutoReply({id:y.value,...s}),V.success("更新自定义知识库成功")),m.value=!1,p()})}return ue(()=>{p()}),(o,t)=>{const g=ye,C=ge,I=oe,U=n("el-input"),c=n("el-form-item"),G=n("el-option"),E=n("el-select"),f=n("el-button"),h=n("el-form"),D=ae,w=n("el-table-column"),J=n("el-tag"),W=n("el-popconfirm"),X=n("el-table"),Y=n("el-pagination"),Z=n("el-row"),N=n("el-switch"),ee=n("el-dialog"),te=re("loading");return R(),B("div",null,[e(I,null,{title:a(()=>[we]),content:a(()=>[Ae]),default:a(()=>[e(C,{outline:"",onClick:t[0]||(t[0]=l=>m.value=!0)},{default:a(()=>[e(g,{name:"i-ri:file-text-line"}),d(" 添加知识库 ")]),_:1})]),_:1}),e(D,null,{default:a(()=>[e(h,{ref_key:"formRef",ref:S,inline:!0,model:r},{default:a(()=>[e(c,{label:"关键词",prop:"prompt"},{default:a(()=>[e(U,{modelValue:r.prompt,"onUpdate:modelValue":t[1]||(t[1]=l=>r.prompt=l),placeholder:"关键词[模糊搜索]",onKeydown:ie(pe(p,["prevent"]),["enter"])},null,8,["modelValue","onKeydown"])]),_:1}),e(c,{label:"启用状态",prop:"status"},{default:a(()=>[e(E,{modelValue:r.status,"onUpdate:modelValue":t[2]||(t[2]=l=>r.status=l),placeholder:"请选择启用状态",clearable:"",style:{width:"160px"}},{default:a(()=>[(R(!0),B(de,null,me(u(ve),l=>(R(),O(G,{key:l.value,label:l.label,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(c,null,{default:a(()=>[e(f,{type:"primary",onClick:p},{default:a(()=>[d(" 查询 ")]),_:1}),e(f,{onClick:t[3]||(t[3]=l=>K(u(S)))},{default:a(()=>[d(" 重置 ")]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),e(D,{style:{width:"100%"}},{default:a(()=>[ce((R(),O(X,{border:"",data:u(q),style:{width:"100%"},size:"large"},{default:a(()=>[e(w,{prop:"prompt",label:"关键词"}),e(w,{prop:"answer",label:"知识库"}),e(w,{prop:"status",label:"状态",width:"120"},{default:a(l=>[e(J,{type:l.row.status===1?"success":"danger"},{default:a(()=>[d(j(u(be)[l.row.status]),1)]),_:2},1032,["type"])]),_:1}),e(w,{fixed:"right",label:"操作",width:"200"},{default:a(l=>[e(f,{link:"",type:"primary",size:"small",onClick:le=>Q(l.row)},{default:a(()=>[d(" 编辑 ")]),_:2},1032,["onClick"]),e(W,{"confirm-button-text":"确认删除","cancel-button-text":"放弃",type:"danger",width:"230px","icon-color":"red",title:"确定删除次条知识库?",onConfirm:le=>P(l.row.id)},{reference:a(()=>[e(f,{link:"",type:"danger",size:"small"},{default:a(()=>[d(" 删除 ")]),_:1})]),_:2},1032,["onConfirm"])]),_:1})]),_:1},8,["data"])),[[te,u(b)]]),e(Z,{class:"mt-5 flex justify-end"},{default:a(()=>[e(Y,{"current-page":r.page,"onUpdate:currentPage":t[4]||(t[4]=l=>r.page=l),"page-size":r.size,"onUpdate:pageSize":t[5]||(t[5]=l=>r.size=l),class:"mr-5","page-sizes":[10,20,30,50],layout:"total, sizes, prev, pager, next, jumper",total:u($),onSizeChange:p,onCurrentChange:p},null,8,["current-page","page-size","total"])]),_:1})]),_:1}),e(ee,{modelValue:u(m),"onUpdate:modelValue":t[12]||(t[12]=l=>_e(m)?m.value=l:null),title:`${u(T)?"编辑":"添加"}知识库`,width:"600px",onClose:t[13]||(t[13]=l=>H(u(k)))},{footer:a(()=>[v("span",Re,[e(f,{onClick:t[10]||(t[10]=l=>m.value=!1)},{default:a(()=>[d("取消")]),_:1}),e(f,{type:"primary",onClick:t[11]||(t[11]=l=>L(u(k)))},{default:a(()=>[d(j(`${u(T)?"更新":"新增"}知识库 `),1)]),_:1})])]),default:a(()=>[e(h,{ref_key:"formAutoReplyRef",ref:k,"label-position":"right","label-width":"80px",model:s,rules:M},{default:a(()=>[e(c,{label:"开启状态",prop:"status"},{default:a(()=>[e(N,{modelValue:s.status,"onUpdate:modelValue":t[6]||(t[6]=l=>s.status=l),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1}),e(c,{label:"AI回复",prop:"isAIReplyEnabled"},{default:a(()=>[e(N,{modelValue:s.isAIReplyEnabled,"onUpdate:modelValue":t[7]||(t[7]=l=>s.isAIReplyEnabled=l),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1}),e(c,{label:"关键词",prop:"prompt"},{default:a(()=>[e(U,{modelValue:s.prompt,"onUpdate:modelValue":t[8]||(t[8]=l=>s.prompt=l),type:"textarea",rows:5,placeholder:"请填写关键词,多个关键词用空格隔开"},null,8,["modelValue"])]),_:1}),e(c,{label:"知识库",prop:"answer"},{default:a(()=>[e(U,{modelValue:s.answer,"onUpdate:modelValue":t[9]||(t[9]=l=>s.answer=l),type:"textarea",rows:5,placeholder:"请填写匹配的知识库内容"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])])}}});typeof F=="function"&&F(Ve);export{Ve as default};
|