Files
----/后端源码/yifan.action-ai.cn/index/js/index.ColvmVCg.js

33 lines
11 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{x as e,y as a,aq as l,ar as t,g as s,t as i,h as o,w as d,T as r,ae as n,aA as u,C as p,aB as c,q as m,ao as f,u as _,l as v,P as g,Q as y,L as h,a as V,D as b}from"./element-plus.DhcJM-BD.js";import{_ as w}from"./index.XAb1m6gg.js";import{_ as k}from"./UserTableSelect.vue_vue_type_script_setup_true_lang.CcU3vWb_.js";import{o as C,dY as U,B as x,aC as A,aD as $,t as z,H as q,K as j,I as D,J as I,u as M,v as R,X as Y,V as P,Y as S,Z as T,a9 as B,R as F,am as H,M as L,a as N,r as O,ac as E,c as K,D as Q}from"./.pnpm.DGfAnZKL.js";import{l as J,u as X,g as Z,D as G}from"./index.D0FKZcEF.js";import{f as W}from"./dateUtil.BP-B7AtB.js";import{_ as ee}from"./_plugin-vue_export-helper.BCo6x5W8.js";import"./codemirror.CR5zRbyM.js";const ae="/application/myapp",le={
/**
* 获取应用详情
* @param id 应用ID
*/
detailApp:e=>J({url:`${ae}/detail/${e}`,method:"get"}),
/**
* 查询应用列表
* @param query 查询参数
*/
listApp:e=>J({url:`${ae}/list`,method:"get",params:e}),
/**
* 创建应用
* @param body 应用信息
*/
createApp:e=>J({url:`${ae}/create`,method:"post",data:e}),
/**
* 修改应用
* @param id 应用ID
* @param body 应用信息
*/
updateApp:(e,a)=>J({url:`${ae}/update/${e}`,method:"put",data:a}),
/**
* 删除应用
* @param body 应用ID数组
*/
deleteApp:e=>J({url:`${ae}/delete`,method:"delete",data:e}),
/**
* 批量修改应用状态
* @param body 批量操作参数
*/
batchApp:e=>J({url:`${ae}/available/setting`,method:"patch",data:e})},te={class:"app-container"},se={class:"search-container"},ie={class:"card-header"},oe={class:"app-grid-container"},de={class:"grid-wrapper"},re=["onMouseenter","onClick"],ne={class:"app-info-header"},ue={class:"app-title-wrap"},pe=["title"],ce={class:"app-content"},me=["title"],fe={class:"card-footer"},_e={class:"footer-item"},ve={class:"footer-text"},ge={class:"footer-item"},ye={class:"footer-text"},he={key:0},Ve={class:"dialog-footer"},be=ee(C({name:"MyApplication",inheritAttrs:!1,__name:"index",setup(C){const J=X(),ee=Z(),ae=U(),be=O(),we=O(),ke=O(!1),Ce=O(0),Ue=O(!1),xe=O("create"),Ae=O(null),$e=O(!1),ze=O(!0),qe=O(null),je=E({page_no:1,page_size:12,name:void 0,status:void 0,created_id:void 0}),De=O([]),Ie=E({name:"",access_url:"",icon_url:"",status:"0",description:""}),Me=E({name:[{required:!0,message:"请输入应用名称",trigger:"blur"},{min:2,max:30,message:"长度在 2 到 30 个字符",trigger:"blur"}],access_url:[{required:!0,message:"请输入访问地址",trigger:"blur"},{type:"url",message:"请输入正确的URL格式",trigger:"blur"}],icon_url:[{required:!0,message:"请输入图标地址",trigger:"blur"},{type:"url",message:"请输入正确的URL格式",trigger:"blur"}],status:[{required:!0,message:"请选择应用状态",trigger:"change"}]}),Re=K(()=>J.device===G.DESKTOP?"500px":"90%"),Ye=K(()=>"create"===xe.value?"创建应用":"编辑应用");async function Pe(){ke.value=!0;try{const e=await le.listApp(je);De.value=e.data.data.items,Ce.value=e.data.data.total}catch(e){}finally{ke.value=!1}}async function Se(){je.page_no=1,await Pe()}function Te(){Se()}async function Be(){var e;null==(e=be.value)||e.resetFields(),je.page_no=1,await Pe()}function Fe(){xe.value="create",Le(),Ue.value=!0}async function He(e,a){switch(e){case"edit":!function(e){xe.value="edit",Ae.value=e,Object.assign(Ie,e),Ue.value=!0}(a);break;case"delete":await async function(e){try{await b.confirm("确认删除该应用?","警告",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}),await le.deleteApp([e.id]),await Pe()}catch(a){}}(a)}}function Le(){var e;Object.assign(Ie,{name:"",access_url:"",icon_url:"",status:"0",description:""}),null==(e=we.value)||e.resetFields()}function Ne(){Ue.value=!1,Le()}async function Oe(){var e;try{await(null==(e=we.value)?void 0:e.validate()),"create"===xe.value?await le.createApp(Ie):await le.updateApp(Ae.value.id,Ie),Ue.value=!1,Le(),await Pe()}catch(a){}}return x(()=>{Pe()}),(b,C)=>{const U=a,x=e,O=t,E=l,K=k,J=s,X=A("ArrowUp"),Z=A("ArrowDown"),G=o,le=i,xe=d,Ae=A("QuestionFilled"),Le=v,Ee=p,Ke=m,Qe=r,Je=_,Xe=w,Ze=y,Ge=g,We=h,ea=$("hasPerm"),aa=f;return z(),q("div",te,[j("div",se,[D(xe,{ref_key:"queryFormRef",ref:be,model:M(je),inline:!0,"label-suffix":":",onSubmit:B(Se,["prevent"])},{default:I(()=>[D(x,{prop:"name",label:"应用名称"},{default:I(()=>[D(U,{modelValue:M(je).name,"onUpdate:modelValue":C[0]||(C[0]=e=>M(je).name=e),placeholder:"请输入应用名称",clearable:""},null,8,["modelValue"])]),_:1}),D(x,{prop:"status",label:"状态"},{default:I(()=>[D(E,{modelValue:M(je).status,"onUpdate:modelValue":C[1]||(C[1]=e=>M(je).status=e),placeholder:"请选择状态",clearable:"",style:{width:"170px"}},{default:I(()=>[D(O,{label:"启用",value:!0}),D(O,{label:"停用",value:!1})]),_:1},8,["modelValue"])]),_:1}),M($e)?(z(),R(x,{key:0,prop:"created_id",label:"创建人"},{default:I(()=>[D(K,{modelValue:M(je).created_id,"onUpdate:modelValue":C[2]||(C[2]=e=>M(je).created_id=e),onConfirmClick:Te,onClearClick:Se},null,8,["modelValue"])]),_:1})):Y("",!0),M($e)?(z(),R(x,{key:1,prop:"updated_id",label:"更新人"},{default:I(()=>[D(K,{modelValue:M(je).updated_id,"onUpdate:modelValue":C[3]||(C[3]=e=>M(je).updated_id=e),onConfirmClick:Te,onClearClick:Se},null,8,["modelValue"])]),_:1})):Y("",!0),D(x,{class:"search-buttons"},{default:I(()=>[P((z(),R(J,{type:"primary",icon:"search","native-type":"submit"},{default:I(()=>[...C[16]||(C[16]=[S(" 查询 ",-1)])]),_:1})),[[ea,["module_module_application:myapp:query"]]]),P((z(),R(J,{icon:"refresh",onClick:Be},{default:I(()=>[...C[17]||(C[17]=[S(" 重置 ",-1)])]),_:1})),[[ea,["module_application:myapp:query"]]]),M(ze)?(z(),R(le,{key:0,class:"ml-3",type:"primary",underline:"never",onClick:C[4]||(C[4]=e=>$e.value=!M($e))},{default:I(()=>[S(T(M($e)?"收起":"展开")+" ",1),D(G,null,{default:I(()=>[M($e)?(z(),R(X,{key:0})):(z(),R(Z,{key:1}))]),_:1})]),_:1})):Y("",!0)]),_:1})]),_:1},8,["model"])]),D(Qe,{shadow:"hover",class:"app-grid-card"},{header:I(()=>[j("div",ie,[j("span",null,[D(Le,{content:"点击卡片,打开应用"},{default:I(()=>[D(Ae,{class:"w-4 h-4 mx-1"})]),_:1}),C[18]||(C[18]=S(" 应用市场 ",-1))]),P((z(),R(J,{type:"primary",icon:"plus",onClick:Fe},{default:I(()=>[...C[19]||(C[19]=[S(" 创建应用 ",-1)])]),_:1})),[[ea,["module_application:myapp:create"]]])])]),footer:I(()=>[D(Xe,{total:M(Ce),"onUpdate:total":C[7]||(C[7]=e=>N(Ce)?Ce.value=e:null),page:M(je).page_no,"onUpdate:page":C[8]||(C[8]=e=>M(je).page_no=e),limit:M(je).page_size,"onUpdate:limit":C[9]||(C[9]=e=>M(je).page_size=e),"page-sizes":[12,24,48],onPagination:Pe},null,8,["total","page","limit"])]),default:I(()=>[P((z(),q("div",oe,[j("div",de,[(z(!0),q(F,null,H(M(De),e=>(z(),q("div",{key:e.id,onMouseenter:a=>e.id&&(qe.value=e.id),onMouseleave:C[6]||(C[6]=e=>qe.value=null),onClick:a=>e.status&&e.id&&function(e){if(!e.status||!e.id)return void(e.status?V.warning("应用ID不存在无法打开"):V.warning("应用已停用,无法打开"));if(!e.access_url)return void V.warning("应用访问地址不存在");const a=`/internal-app/${e.id}`,l=`InternalApp${e.id}`,t=e.name||"未命名应用";ae.push({path:a,query:{url:e.access_url,appId:e.id.toString(),appName:t}}).then(()=>{Q(()=>{var s;const i=ee.visitedViews.find(e=>e.path===a);i?ee.updateVisitedView({...i,title:t}):ee.addView({name:l,title:t,path:a,fullPath:a+`?url=${encodeURIComponent(e.access_url||"")}&appId=${e.id}&appName=${encodeURIComponent(t)}`,icon:"Monitor",affix:!1,keepAlive:!1,query:{url:e.access_url,appId:null==(s=null==e?void 0:e.id)?void 0:s.toString(),appName:t}})})})}(e)},[D(Qe,{shadow:"hover",class:L(["app-card",{"card-disabled":!e.status}])},{header:I(()=>[j("div",ne,[D(Ee,{size:42,src:e.icon_url,class:"app-avatar"},{default:I(()=>[D(G,{size:"20"},{default:I(()=>[D(M(c))]),_:1})]),_:1},8,["src"]),j("div",ue,[j("h3",{class:"app-name",title:e.name},T(e.name),9,pe),D(Ke,{type:e.status?"success":"info",size:"small",effect:"plain",class:"status-tag"},{default:I(()=>[S(T(e.status?"启用":"停用"),1)]),_:2},1032,["type"])]),M(qe)===e.id?(z(),q("div",{key:0,class:"card-actions",onClick:C[5]||(C[5]=B(()=>{},["stop"]))},[P(D(J,{type:"primary",link:"",icon:"Edit",onClick:a=>He("edit",e)},null,8,["onClick"]),[[ea,["module_application:myapp:update"]]]),P(D(J,{type:"danger",link:"",icon:"Delete",onClick:a=>He("delete",e)},null,8,["onClick"]),[[ea,["module_application:myapp:delete"]]])])):Y("",!0)])]),default:I(()=>[j("div",ce,[j("p",{class:"app-description",title:e.description},T(e.description||"暂无描述"),9,me)])]),footer:I(()=>{var a,l;return[j("div",fe,[j("div",_e,[D(G,{size:"14",class:"footer-icon"},{default:I(()=>[D(M(n))]),_:1}),j("span",ve,T((null==(a=e.created_by)?void 0:a.name)||"未知"),1)]),j("div",ge,[D(G,{size:"14",class:"footer-icon"},{default:I(()=>[D(M(u))]),_:1}),j("span",ye,T((l=e.created_time,l?W(l,"YYYY-MM-DD HH:mm:ss"):"未知")),1)])])]}),_:2},1032,["class"])],40,re))),128))])])),[[aa,M(ke)]]),0!==M(De).length||M(ke)?Y("",!0):(z(),q("div",he,[D(Je,{"image-size":80,description:"暂无数据"})]))]),_:1}),D(We,{modelValue:M(Ue),"onUpdate:modelValue":C[15]||(C[15]=e=>N(Ue)?Ue.value=e:null),title:M(Ye),size:M(Re),direction:"rtl",onClose:Ne},{footer:I(()=>[j("div",Ve,[D(J,{onClick:Ne},{default:I(()=>[...C[22]||(C[22]=[S("取消",-1)])]),_:1}),D(J,{type:"primary",onClick:Oe},{default:I(()=>[...C[23]||(C[23]=[S("确定",-1)])]),_:1})])]),default:I(()=>[D(xe,{ref_key:"formRef",ref:we,model:M(Ie),rules:M(Me),"label-width":"100px","label-position":"right"},{default:I(()=>[D(x,{label:"应用名称",prop:"name"},{default:I(()=>[D(U,{modelValue:M(Ie).name,"onUpdate:modelValue":C[10]||(C[10]=e=>M(Ie).name=e),placeholder:"请输入应用名称"},null,8,["modelValue"])]),_:1}),D(x,{label:"访问地址",prop:"access_url"},{default:I(()=>[D(U,{modelValue:M(Ie).access_url,"onUpdate:modelValue":C[11]||(C[11]=e=>M(Ie).access_url=e),placeholder:"请输入访问地址"},null,8,["modelValue"])]),_:1}),D(x,{label:"图标地址",prop:"icon_url"},{default:I(()=>[D(U,{modelValue:M(Ie).icon_url,"onUpdate:modelValue":C[12]||(C[12]=e=>M(Ie).icon_url=e),placeholder:"请输入图标地址"},null,8,["modelValue"])]),_:1}),D(x,{label:"应用状态",prop:"status"},{default:I(()=>[D(Ge,{modelValue:M(Ie).status,"onUpdate:modelValue":C[13]||(C[13]=e=>M(Ie).status=e)},{default:I(()=>[D(Ze,{value:"0"},{default:I(()=>[...C[20]||(C[20]=[S("启用",-1)])]),_:1}),D(Ze,{value:"1"},{default:I(()=>[...C[21]||(C[21]=[S("停用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),D(x,{label:"应用描述",prop:"description"},{default:I(()=>[D(U,{modelValue:M(Ie).description,"onUpdate:modelValue":C[14]||(C[14]=e=>M(Ie).description=e),type:"textarea",rows:4,placeholder:"请输入应用描述",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title","size"])])}}}),[["__scopeId","data-v-78eb411f"]]);export{be as default};