index.BEM79XbV.js 8.7 KB

1
  1. import{x as e,y as a,a as t,ar as s,d as l,an as i,g as r,O as o,z as n,A as p,t as c,a3 as d,as as u,q as m,P as f}from"./element-plus.DUy1TWHM.js";import{M as g,aS as j,ao as b,a_ as v,aL as _,u as h,I as y,bk as k,bJ as w,bL as x,F as C,aX as V,au as z,v as q,bb as P,bO as R,t as U,H as A,s as T,aU as L,as as O,q as S}from"./@vue.DbmRtknU.js";import{v as D,y as E,B as F,F as H,H as B,_ as I}from"./index.DA4qvbdk.js";import{P as Y}from"./system.74_136zs.js";import{P as M}from"./PageContent.BbMtqJS6.js";import{E as Q}from"./size.NjBEh3Yp.js";import J from"./UserTableSelect.CrH2H0OY.js";import"./lodash-es.DaM9m3L-.js";import"./async-validator.j0i5Y79Y.js";import"./@popperjs.DxtSUbXb.js";import"./@ctrl.BEgk5vdO.js";import"./dayjs.DCWbrgJ0.js";import"./memoize-one.BAtLgO95.js";import"./normalize-wheel-es.TzhA1irr.js";import"./@floating-ui.8vigAAFV.js";import"./pinia.BlfmsheH.js";import"./@vueuse.Dnsd2JKX.js";import"./vue-i18n.DXLOBfKS.js";import"./@intlify.DPMNdUn_.js";import"./nprogress.BTjJXJ-u.js";import"./codemirror.CYSLATvI.js";import"./diff-match-patch.DkK4wJpa.js";import"./vue-web-terminal.D-rog7dz.js";import"./vue.MGxsMDTR.js";/* empty css */import"./axios.Da-QW0H8.js";import"./qs.BQjOrGHM.js";import"./side-channel.4q28KFJj.js";import"./es-errors.DTEWvbA_.js";import"./object-inspect.DvQZIv3_.js";import"./side-channel-list.Do0-XmF5.js";import"./side-channel-map.DNHQ53lO.js";import"./get-intrinsic.Bbe5x-9b.js";import"./es-object-atoms.CyiuHMUS.js";import"./math-intrinsics.pM-JTNwN.js";import"./gopd.BudZp56J.js";import"./es-define-property.F0aoeP8o.js";import"./has-symbols.BcO-SUVM.js";import"./get-proto.Cb_fpw-j.js";import"./dunder-proto.WEH3rgQR.js";import"./call-bind-apply-helpers.DJjIjCF_.js";import"./function-bind.DrnB-baK.js";import"./hasown.BXcyoiLU.js";import"./call-bound.22gFUC2Q.js";import"./side-channel-weakmap.DpSeWE6i.js";import"./vue-router.yxIMtaxH.js";import"./pinia-plugin-persistedstate.COWkwNh5.js";import"./exceljs.DLSZe_6I.js";import"./xml.Wl-M70oS.js";import"./sql.CUDWS0mJ.js";import"./index.CwRnxs-M.js";const K={class:"app-container"},N={class:"card-header"},G={class:"app-grid-container"},W={key:0,class:"app-grid-empty"},X={key:1,class:"grid-wrapper"},$=["onClick"],Z={class:"app-info-header"},ee=["title"],ae={key:0,class:"app-description"},te={class:"card-footer-row"},se={class:"card-meta"},le={class:"dialog-footer"},ie=I(g({name:"PortalApplication",inheritAttrs:!1,__name:"index",setup(g){const I=D(),{searchRef:ie,contentRef:re,handleQueryClick:oe,handleResetClick:ne,refreshList:pe}=E(),ce=L(),de=L(!1),ue=L("create"),me=L(null);function fe(){O(()=>pe())}const ge=j({permPrefix:"module_application:portal",colon:!0,isExpandable:!0,showNumber:2,showToggle:!1,form:{labelWidth:"auto"},formItems:[{prop:"name",label:"应用名称",type:"input",attrs:{placeholder:"请输入应用名称",clearable:!0}},{prop:"status",label:"状态",type:"select",options:[{label:"启用",value:!0},{label:"停用",value:!1}],attrs:{placeholder:"请选择状态",clearable:!0,style:{width:"170px"}}},{prop:"created_id",label:"创建人",type:"user-table-select",initialValue:null,events:{"confirm-click":fe,"clear-click":fe}},{prop:"updated_id",label:"更新人",type:"user-table-select",initialValue:null,events:{"confirm-click":fe,"clear-click":fe}}],customComponents:{"user-table-select":b(J)}}),je=j({permPrefix:"module_application:portal",cols:[],hideColumnFilter:!0,showToolbar:!1,cardShadow:"hover",toolbar:[],defaultToolbar:[],pagination:{pageSize:12,pageSizes:[12,24,48]},request:{page_no:"page_no",page_size:"page_size"},indexAction:async e=>{const a=await F.listApp(e);return{total:a.data.data.total,list:a.data.data.items}}}),be=j({name:"",access_url:"",icon_url:"",status:"0",description:""}),ve=j({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"}]}),_e=S(()=>I.device===B.DESKTOP?"500px":"90%"),he=S(()=>"create"===ue.value?"创建应用":"编辑应用");function ye(){ue.value="create",we(),de.value=!0}async function ke(e,a){switch(e){case"edit":!function(e){ue.value="edit",me.value=e,Object.assign(be,e),de.value=!0}(a);break;case"delete":await async function(e){try{await f.confirm("确认删除该应用?","警告",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}),await F.deleteApp([e.id]),await pe()}catch(a){}}(a)}}function we(){var e;Object.assign(be,{name:"",access_url:"",icon_url:"",status:"0",description:""}),null==(e=ce.value)||e.resetFields()}function xe(){de.value=!1,we()}async function Ce(){var e;try{await(null==(e=ce.value)?void 0:e.validate()),"create"===ue.value?await F.createApp(be):await F.updateApp(me.value.id,be),de.value=!1,we(),await pe()}catch(a){}}return(f,g)=>{const j=t,b=e,L=l,O=s,S=r,D=a,E=c,F=p,B=u,I=d,J=n,pe=v("hasPerm"),ue=o;return _(),h("div",K,[y(Y,{ref_key:"searchRef",ref:ie,"search-config":ge,onQueryClick:k(oe),onResetClick:k(ne)},null,8,["search-config","onQueryClick","onResetClick"]),y(M,{ref_key:"contentRef",ref:re,class:"flex-1 min-h-0","content-config":je},{header:w(()=>[q("div",N,[g[8]||(g[8]=q("span",{class:"market-title"},"应用市场",-1)),x((_(),T(j,{type:"primary",icon:"plus",onClick:ye},{default:w(()=>[...g[7]||(g[7]=[A(" 创建应用 ",-1)])]),_:1})),[[pe,["module_application:portal:create"]]])])]),table:w(({data:e,loading:a})=>[x((_(),h("div",G,[a||0!==e.length?(_(),h("div",X,[(_(!0),h(C,null,V(e,e=>(_(),h("div",{key:e.id,class:"app-grid-item",onClick:a=>e.status&&e.id&&void m.warning("插件应用点击,业务场景暂时开放中。。。")},[y(D,{shadow:"never",class:z(["app-card",{"card-disabled":!e.status}])},{header:w(()=>[q("div",Z,[y(O,{size:40,src:e.icon_url},{default:w(()=>[y(L,{size:"20"},{default:w(()=>[y(k(i))]),_:1})]),_:1},8,["src"]),q("h3",{class:"app-name",title:e.name},P(e.name),9,ee),y(S,{type:e.status?"success":"info",size:"small",effect:"plain",class:"app-status"},{default:w(()=>[A(P(e.status?"启用":"停用"),1)]),_:2},1032,["type"])])]),default:w(()=>[e.description?(_(),h("p",ae,P(e.description),1)):U("",!0)]),footer:w(()=>{var a,t;return[q("div",te,[q("div",se,P((null==(a=e.created_by)?void 0:a.name)||"—")+" · "+P((t=e.created_time,t?H(t,"YYYY-MM-DD HH:mm:ss"):"—")),1),q("div",{class:"card-actions",onClick:g[0]||(g[0]=R(()=>{},["stop"]))},[x(y(j,{type:"primary",link:"",icon:"Edit",onClick:a=>ke("edit",e)},null,8,["onClick"]),[[pe,["module_application:portal:update"]]]),x(y(j,{type:"danger",link:"",icon:"Delete",onClick:a=>ke("delete",e)},null,8,["onClick"]),[[pe,["module_application:portal:delete"]]])])])]}),_:2},1032,["class"])],8,$))),128))])):(_(),h("div",W,[y(b,{"image-size":88,description:"暂无应用"})]))])),[[ue,a]])]),_:1},8,["content-config"]),y(Q,{modelValue:de.value,"onUpdate:modelValue":g[6]||(g[6]=e=>de.value=e),title:he.value,size:_e.value,direction:"rtl",onClose:xe},{footer:w(()=>[q("div",le,[y(j,{onClick:xe},{default:w(()=>[...g[11]||(g[11]=[A("取消",-1)])]),_:1}),y(j,{type:"primary",onClick:Ce},{default:w(()=>[...g[12]||(g[12]=[A("确定",-1)])]),_:1})])]),default:w(()=>[y(J,{ref_key:"formRef",ref:ce,model:be,rules:ve,"label-width":"100px","label-position":"right"},{default:w(()=>[y(F,{label:"应用名称",prop:"name"},{default:w(()=>[y(E,{modelValue:be.name,"onUpdate:modelValue":g[1]||(g[1]=e=>be.name=e),placeholder:"请输入应用名称"},null,8,["modelValue"])]),_:1}),y(F,{label:"访问地址",prop:"access_url"},{default:w(()=>[y(E,{modelValue:be.access_url,"onUpdate:modelValue":g[2]||(g[2]=e=>be.access_url=e),placeholder:"请输入访问地址"},null,8,["modelValue"])]),_:1}),y(F,{label:"图标地址",prop:"icon_url"},{default:w(()=>[y(E,{modelValue:be.icon_url,"onUpdate:modelValue":g[3]||(g[3]=e=>be.icon_url=e),placeholder:"请输入图标地址"},null,8,["modelValue"])]),_:1}),y(F,{label:"应用状态",prop:"status"},{default:w(()=>[y(I,{modelValue:be.status,"onUpdate:modelValue":g[4]||(g[4]=e=>be.status=e)},{default:w(()=>[y(B,{value:"0"},{default:w(()=>[...g[9]||(g[9]=[A("启用",-1)])]),_:1}),y(B,{value:"1"},{default:w(()=>[...g[10]||(g[10]=[A("停用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),y(F,{label:"应用描述",prop:"description"},{default:w(()=>[y(E,{modelValue:be.description,"onUpdate:modelValue":g[5]||(g[5]=e=>be.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-bbed4bd5"]]);export{ie as default};