mirror of
https://github.com/vastxie/99AI.git
synced 2025-09-21 19:16:37 +08:00
10 lines
11 KiB
JavaScript
10 lines
11 KiB
JavaScript
|
|
/**
|
|
* 由 Fantastic-admin 提供技术支持
|
|
* Powered by Fantastic-admin
|
|
* Gitee https://gitee.com/hooray/fantastic-admin
|
|
* Github https://github.com/hooray/fantastic-admin
|
|
*/
|
|
|
|
import{_ as ve}from"./index-38e73db4.js";import{d as be,r as f,Q as B,B as Q,x as we,h as r,R as Ae,o as u,c as C,e as t,f as l,S as L,U as M,b as n,k as ke,m as Ve,l as p,w as he,I as g,t as y,a as U,J as D,V as Ie,W as V,X as xe,E as h,q as H}from"./index-b779f4e0.js";import{u as Ce}from"./utcformatTime-e76e5157.js";import{A as Ue,Q as De}from"./index-7b2ba868.js";const ze={style:{maxWidth:"350px"}},Pe={style:{maxHeight:"50px",cursor:"pointer"}},qe={style:{maxWidth:"350px"}},Se={style:{maxHeight:"50px",cursor:"pointer"}},Te=["src"],$e={class:"flex justify-end mr-5"},Re=be({__name:"application",setup(Be){const N=f(),j=f(0),w=f(!1),z=f(!1),i=B({catId:"",name:"",status:"",role:"",page:1,size:10}),J=f("/api/upload/file"),P=f(),I=f(0),q=f(!1),F=f(0),s=B({catId:"",name:"",preset:"",des:"",coverImg:"",demoData:"",order:100,status:0}),X=B({catId:[{required:!0,message:"请选择App分类",trigger:"change"}],name:[{required:!0,message:"请填写App名称",trigger:"blur"}],preset:[{required:!0,message:"请填写App预设信息",trigger:"blur"}],des:[{required:!0,message:"请填写App描述",trigger:"blur"}],coverImg:[{required:!1,message:"请填写App封面图片地址",trigger:"blur"}],demoData:[{required:!1,message:"请填写App演示数据",trigger:"blur"}],order:[{required:!1,message:"请填写排序ID",trigger:"blur"}],status:[{required:!0,message:"请选择App状态",trigger:"change"}]}),O=f([]),S=f([]),Z=Q(()=>I.value?"更新套餐":"新增套餐"),E=Q(()=>I.value?"确认更新":"确认新增");async function _(){try{z.value=!0;const o=await V.queryApp(i),{rows:a,count:v}=o.data;z.value=!1,j.value=v,O.value=a.sort((A,k)=>k.order-A.order)}catch{z.value=!1}}async function ee(){const o=await V.queryCats({size:100}),{rows:a}=o.data;S.value=a}function te(o){I.value=o.id,q.value=o.role==="user",F.value=o.status;const{name:a,status:v,des:A,order:k,coverImg:x,catId:d,preset:b,demoData:c}=o;xe(()=>{Object.assign(s,{name:a,status:v,des:A,order:k,coverImg:x,catId:d,preset:b,demoData:c})}),w.value=!0}function le(o){I.value=0,o==null||o.resetFields()}async function ae(o){await V.deleteApp({id:o.id}),h.success("删除分类成功"),_()}function oe(o){o==null||o.resetFields(),_()}const se=(o,a)=>{console.log("response: ",o.data),s.coverImg=o.data},re=o=>{if(["image/png","image/jpeg","image/gif","image/webp"].includes(o.type)){if(o.size/1024>300)return h.error("当前限制文件最大不超过 300KB!"),!1}else return h.error("当前系统仅支持 PNG、JPEG、GIF、和 WebP 格式的图片!"),!1};function ne(o){o==null||o.validate(async a=>{if(a){if(I.value){const v={id:I.value,...s};q.value&&Object.assign(v,{status:F.value}),await V.updateApp(v),h({type:"success",message:"更新套餐成功!"})}else await V.createApp(s),h({type:"success",message:"创建新的套餐成功!"});w.value=!1,_()}})}async function ue(o){const a=await V.auditPassApp({id:o.id});h({type:"success",message:a.data}),_()}async function de(o){const a=await V.auditFailApp({id:o.id});h({type:"success",message:a.data}),_()}return we(()=>{_(),ee()}),(o,a)=>{const v=r("el-alert"),A=ve,k=r("el-option"),x=r("el-select"),d=r("el-form-item"),b=r("el-input"),c=r("el-button"),K=r("Plus"),W=r("el-icon"),Y=r("el-form"),pe=r("el-image"),m=r("el-table-column"),T=r("el-tag"),G=r("el-tooltip"),$=r("el-popconfirm"),ie=r("el-table"),ce=r("el-pagination"),me=r("el-row"),fe=r("el-switch"),_e=r("el-upload"),ge=r("el-dialog"),ye=Ae("loading");return u(),C("div",null,[t(A,null,{default:l(()=>[t(v,{closable:!1,"show-icon":"",title:"应用说明",description:"[由于各模型的使用不同、暂时关闭其他模型的应用使用、仅仅支持使用OpenAi的key使用、请配置了openAi的key之后再进行使用、如果没有配置将不能使用此功能、但用户可以自定义选择模型] ==== 应用一旦创建、可能会被多处使用后续将限制删除、请保持良好习惯、规范命名分类、后续尽量变更而不是删除。用户创建的应用我们不允许删除、但是可以做一定的变更和修改、审核通过的应用也将限制用户更改、一旦通过或者拒绝、将不允许再次对其状态进行变更、请知悉!",type:"success"})]),_:1}),t(A,null,{default:l(()=>[t(Y,{ref_key:"formRef",ref:N,inline:!0,model:i},{default:l(()=>[t(d,{label:"App分类",prop:"catId"},{default:l(()=>[t(x,{modelValue:i.catId,"onUpdate:modelValue":a[0]||(a[0]=e=>i.catId=e),placeholder:"请选择App分类",clearable:""},{default:l(()=>[(u(!0),C(L,null,M(n(S),e=>(u(),g(k,{key:e.id,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(d,{label:"App名称",prop:"name"},{default:l(()=>[t(b,{modelValue:i.name,"onUpdate:modelValue":a[1]||(a[1]=e=>i.name=e),placeholder:"App名称[模糊搜索]",clearable:"",onKeydown:ke(Ve(_,["prevent"]),["enter"])},null,8,["modelValue","onKeydown"])]),_:1}),t(d,{label:"App角色",prop:"status"},{default:l(()=>[t(x,{modelValue:i.role,"onUpdate:modelValue":a[2]||(a[2]=e=>i.role=e),placeholder:"请选择App角色",clearable:""},{default:l(()=>[(u(!0),C(L,null,M(n(Ue),e=>(u(),g(k,{key:e.value,label:e.label,value:e.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(d,null,{default:l(()=>[t(c,{type:"primary",onClick:_},{default:l(()=>[p(" 查询 ")]),_:1}),t(c,{onClick:a[3]||(a[3]=e=>oe(n(N)))},{default:l(()=>[p(" 重置 ")]),_:1})]),_:1}),t(c,{type:"success",style:{float:"right"},onClick:a[4]||(a[4]=e=>w.value=!0)},{default:l(()=>[p(" 创建应用 "),t(W,{class:"ml-3"},{default:l(()=>[t(K)]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t(A,{style:{width:"100%"}},{default:l(()=>[he((u(),g(ie,{border:"",data:n(O),style:{width:"100%"},size:"large"},{default:l(()=>[t(m,{prop:"coverImg",label:"应用封面",width:"100"},{default:l(e=>[t(pe,{style:{height:"50px"},src:e.row.coverImg,fit:"fill"},null,8,["src"])]),_:1}),t(m,{prop:"catName",label:"应用分类",width:"100"}),t(m,{prop:"name",label:"应用名称",width:"120"}),t(m,{prop:"status",label:"应用状态",width:"100"},{default:l(e=>[t(T,{type:e.row.status===1?"success":"danger"},{default:l(()=>[p(y(n(De)[e.row.status]),1)]),_:2},1032,["type"])]),_:1}),t(m,{prop:"public",label:"是否共享",width:"100"},{default:l(e=>[t(T,{type:e.row.public?"success":""},{default:l(()=>[p(y(e.row.public?"共享":"私有"),1)]),_:2},1032,["type"])]),_:1}),t(m,{prop:"public",label:"应用创建角色",width:"120"},{default:l(e=>[t(T,{type:e.row.role==="system"?"success":""},{default:l(()=>[p(y(e.row.role==="system"?"系统":"用户"),1)]),_:2},1032,["type"])]),_:1}),t(m,{prop:"order",label:"排序ID"}),p(" /> "),t(m,{prop:"preset",label:"预设信息",width:"400"},{default:l(e=>[t(G,{class:"box-item",effect:"dark",placement:"top-start"},{content:l(()=>[U("div",ze,y(e.row.preset),1)]),default:l(()=>[U("div",Pe,y(e.row.preset),1)]),_:2},1024)]),_:1}),t(m,{prop:"des",label:"描述信息",width:"300"},{default:l(e=>[t(G,{class:"box-item",effect:"dark",placement:"top-start"},{content:l(()=>[U("div",qe,y(e.row.des),1)]),default:l(()=>[U("div",Se,y(e.row.des),1)]),_:2},1024)]),_:1}),t(m,{prop:"createdAt",label:"创建时间",width:"120"},{default:l(e=>[p(y(n(Ce)(e.row.createdAt,"YYYY-MM-DD")),1)]),_:1}),t(m,{label:"操作",width:"200"},{default:l(e=>[e.row.role==="system"||e.row.public?(u(),g(c,{key:0,link:"",type:"primary",size:"small",onClick:R=>te(e.row)},{default:l(()=>[p(" 编辑 ")]),_:2},1032,["onClick"])):D("",!0),e.row.role==="system"?(u(),g($,{key:1,title:"确认删除此应用么?",width:"200","icon-color":"red",onConfirm:R=>ae(e.row)},{reference:l(()=>[t(c,{link:"",type:"danger",size:"small"},{default:l(()=>[p(" 删除应用 ")]),_:1})]),_:2},1032,["onConfirm"])):D("",!0),e.row.role==="user"&&e.row.status===3?(u(),g($,{key:2,title:"确认通过审核此应用么?",width:"200","icon-color":"red",onConfirm:R=>ue(e.row)},{reference:l(()=>[t(c,{link:"",type:"success",size:"small"},{default:l(()=>[p(" 通过审核 ")]),_:1})]),_:2},1032,["onConfirm"])):D("",!0),e.row.role==="user"&&e.row.status===3?(u(),g($,{key:3,title:"确认拒绝通过此应用共享请求么?",width:"200","icon-color":"red",onConfirm:R=>de(e.row)},{reference:l(()=>[t(c,{link:"",type:"danger",size:"small"},{default:l(()=>[p(" 拒绝审核 ")]),_:1})]),_:2},1032,["onConfirm"])):D("",!0)]),_:1})]),_:1},8,["data"])),[[ye,n(z)]]),t(me,{class:"flex justify-end mt-5"},{default:l(()=>[t(ce,{"current-page":i.page,"onUpdate:currentPage":a[5]||(a[5]=e=>i.page=e),"page-size":i.size,"onUpdate:pageSize":a[6]||(a[6]=e=>i.size=e),class:"mr-5","page-sizes":[10,20,30,50],layout:"total, sizes, prev, pager, next, jumper",total:n(j),onSizeChange:_,onCurrentChange:_},null,8,["current-page","page-size","total"])]),_:1})]),_:1}),t(ge,{modelValue:n(w),"onUpdate:modelValue":a[16]||(a[16]=e=>Ie(w)?w.value=e:null),"close-on-click-modal":!1,title:n(Z),width:"570",onClose:a[17]||(a[17]=e=>le(n(P)))},{footer:l(()=>[U("span",$e,[t(c,{onClick:a[14]||(a[14]=e=>w.value=!1)},{default:l(()=>[p("取消")]),_:1}),t(c,{type:"primary",onClick:a[15]||(a[15]=e=>ne(n(P)))},{default:l(()=>[p(y(n(E)),1)]),_:1})])]),default:l(()=>[t(Y,{ref_key:"formPackageRef",ref:P,"label-position":"right","label-width":"100px",model:s,rules:X},{default:l(()=>[t(d,{label:"App分类",prop:"catId"},{default:l(()=>[t(x,{modelValue:s.catId,"onUpdate:modelValue":a[7]||(a[7]=e=>s.catId=e),placeholder:"请选择App分类",clearable:"",style:{width:"100%"}},{default:l(()=>[(u(!0),C(L,null,M(n(S),e=>(u(),g(k,{key:e.id,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(d,{label:"App名称",prop:"name"},{default:l(()=>[t(b,{modelValue:s.name,"onUpdate:modelValue":a[8]||(a[8]=e=>s.name=e),placeholder:"请填写App名称"},null,8,["modelValue"])]),_:1}),n(q)?D("",!0):(u(),g(d,{key:0,label:"App状态",prop:"status"},{default:l(()=>[t(fe,{modelValue:s.status,"onUpdate:modelValue":a[9]||(a[9]=e=>s.status=e),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})),t(d,{label:"App描述",prop:"des"},{default:l(()=>[t(b,{modelValue:s.des,"onUpdate:modelValue":a[10]||(a[10]=e=>s.des=e),type:"textarea",placeholder:"请填写App介绍信息、用于对外展示...",rows:4},null,8,["modelValue"])]),_:1}),t(d,{label:"App预设",prop:"preset"},{default:l(()=>[t(b,{modelValue:s.preset,"onUpdate:modelValue":a[11]||(a[11]=e=>s.preset=e),type:"textarea",placeholder:"请填写App预设信息、用于给AI预设身份...",rows:4},null,8,["modelValue"])]),_:1}),t(d,{label:"示例内容",prop:"demoData"},{default:l(()=>[t(b,{modelValue:s.demoData,"onUpdate:modelValue":a[12]||(a[12]=e=>s.demoData=e),type:"textarea",placeholder:"请填写App的demo示例数据、每换行一次表示一个新的示例...",rows:4},null,8,["modelValue"])]),_:1}),t(d,{label:"应用Logo",prop:"coverImg"},{default:l(()=>[t(_e,{class:"avatar-uploader",action:n(J),"show-file-list":!1,"on-success":se,"before-upload":re},{default:l(()=>[s.coverImg?(u(),C("img",{key:0,src:s.coverImg,style:{width:"100px"},class:"avatar"},null,8,Te)):(u(),g(W,{key:1,class:"avatar-uploader-icon"},{default:l(()=>[t(K)]),_:1}))]),_:1},8,["action"])]),_:1}),t(d,{label:"排序ID",prop:"order"},{default:l(()=>[t(b,{modelValue:s.order,"onUpdate:modelValue":a[13]||(a[13]=e=>s.order=e),modelModifiers:{number:!0},placeholder:"请填写排序ID[数字越大越靠前]"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])])}}});typeof H=="function"&&H(Re);export{Re as default};
|