index.Cxosv6s7.js 8.7 KB

1
  1. import{x as e,y as a,a as t,ar as s,d as l,am 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.B27SxRGv.js";import{M as g,aS as j,ao as v,a_ as b,aL as h,u as _,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 R,bO as U,t as A,H as P,s as T,aU as L,as as S,q as D}from"./@vue.DbmRtknU.js";import{v as E,y as F,B as H,F as O,H as B,_ as I}from"./index.DYWCVKSk.js";import{P as M}from"./wechat.DxkWAiK2.js";import{P as Y}from"./PageContent.2D3OI2WE.js";import{E as Q}from"./size.DzUFG__r.js";import J from"./UserTableSelect.DBCUa568.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"./vue-router.yxIMtaxH.js";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"./pinia-plugin-persistedstate.COWkwNh5.js";import"./exceljs.DLSZe_6I.js";import"./sql.Cgn48OB5.js";import"./time.bF_pEo2S.js";import"./index.gRlf2XCu.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=E(),{searchRef:ie,contentRef:re,handleQueryClick:oe,handleResetClick:ne,refreshList:pe}=F(),ce=L(),de=L(!1),ue=L("create"),me=L(null);function fe(){S(()=>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":v(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 H.listApp(e);return{total:a.data.data.total,list:a.data.data.items}}}),ve=j({name:"",access_url:"",icon_url:"",status:"0",description:""}),be=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"}]}),he=D(()=>I.device===B.DESKTOP?"500px":"90%"),_e=D(()=>"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(ve,e),de.value=!0}(a);break;case"delete":await async function(e){try{await f.confirm("确认删除该应用?","警告",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}),await H.deleteApp([e.id]),await pe()}catch(a){}}(a)}}function we(){var e;Object.assign(ve,{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 H.createApp(ve):await H.updateApp(me.value.id,ve),de.value=!1,we(),await pe()}catch(a){}}return(f,g)=>{const j=t,v=e,L=l,S=s,D=r,E=a,F=c,H=p,B=u,I=d,J=n,pe=b("hasPerm"),ue=o;return h(),_("div",K,[y(M,{ref_key:"searchRef",ref:ie,"search-config":ge,onQueryClick:k(oe),onResetClick:k(ne)},null,8,["search-config","onQueryClick","onResetClick"]),y(Y,{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((h(),T(j,{type:"primary",icon:"plus",onClick:ye},{default:w(()=>[...g[7]||(g[7]=[P(" 创建应用 ",-1)])]),_:1})),[[pe,["module_application:portal:create"]]])])]),table:w(({data:e,loading:a})=>[x((h(),_("div",G,[a||0!==e.length?(h(),_("div",X,[(h(!0),_(C,null,V(e,e=>(h(),_("div",{key:e.id,class:"app-grid-item",onClick:a=>e.status&&e.id&&void m.warning("插件应用点击,业务场景暂时开放中。。。")},[y(E,{shadow:"never",class:z(["app-card",{"card-disabled":!e.status}])},{header:w(()=>[q("div",Z,[y(S,{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},R(e.name),9,ee),y(D,{type:e.status?"success":"info",size:"small",effect:"plain",class:"app-status"},{default:w(()=>[P(R(e.status?"启用":"停用"),1)]),_:2},1032,["type"])])]),default:w(()=>[e.description?(h(),_("p",ae,R(e.description),1)):A("",!0)]),footer:w(()=>{var a,t;return[q("div",te,[q("div",se,R((null==(a=e.created_by)?void 0:a.name)||"—")+" · "+R((t=e.created_time,t?O(t,"YYYY-MM-DD HH:mm:ss"):"—")),1),q("div",{class:"card-actions",onClick:g[0]||(g[0]=U(()=>{},["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(v,{"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:_e.value,size:he.value,direction:"rtl",onClose:xe},{footer:w(()=>[q("div",le,[y(j,{onClick:xe},{default:w(()=>[...g[11]||(g[11]=[P("取消",-1)])]),_:1}),y(j,{type:"primary",onClick:Ce},{default:w(()=>[...g[12]||(g[12]=[P("确定",-1)])]),_:1})])]),default:w(()=>[y(J,{ref_key:"formRef",ref:ce,model:ve,rules:be,"label-width":"100px","label-position":"right"},{default:w(()=>[y(H,{label:"应用名称",prop:"name"},{default:w(()=>[y(F,{modelValue:ve.name,"onUpdate:modelValue":g[1]||(g[1]=e=>ve.name=e),placeholder:"请输入应用名称"},null,8,["modelValue"])]),_:1}),y(H,{label:"访问地址",prop:"access_url"},{default:w(()=>[y(F,{modelValue:ve.access_url,"onUpdate:modelValue":g[2]||(g[2]=e=>ve.access_url=e),placeholder:"请输入访问地址"},null,8,["modelValue"])]),_:1}),y(H,{label:"图标地址",prop:"icon_url"},{default:w(()=>[y(F,{modelValue:ve.icon_url,"onUpdate:modelValue":g[3]||(g[3]=e=>ve.icon_url=e),placeholder:"请输入图标地址"},null,8,["modelValue"])]),_:1}),y(H,{label:"应用状态",prop:"status"},{default:w(()=>[y(I,{modelValue:ve.status,"onUpdate:modelValue":g[4]||(g[4]=e=>ve.status=e)},{default:w(()=>[y(B,{value:"0"},{default:w(()=>[...g[9]||(g[9]=[P("启用",-1)])]),_:1}),y(B,{value:"1"},{default:w(()=>[...g[10]||(g[10]=[P("停用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),y(H,{label:"应用描述",prop:"description"},{default:w(()=>[y(F,{modelValue:ve.description,"onUpdate:modelValue":g[5]||(g[5]=e=>ve.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};