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