| 1 |
- import{k as e,m as a,d as t,aJ as l,K as o,a as n,x as i,O as r,a1 as s,a2 as u,az as d,_ as c,aK as m,aL as p,aM as f,L as _,aN as h,z as v,A as y,t as w,q as b,P as g}from"./element-plus.DUy1TWHM.js";import{M as j,a_ as k,aL as C,u as x,I as R,bk as V,bJ as z,v as B,bL as P,s as U,H as L,bb as q,t as $,F,aX as S,au as T,bM as K,aU as M,aS as E}from"./@vue.DbmRtknU.js";import{y as I,N as A,_ as N}from"./index.B1CvNv-2.js";import{_ as O,a as D,P as J}from"./PageContent.v2drBSrF.js";import{P as Q}from"./system.0GYJijcz.js";import{E as G}from"./xml.DHJV7eh_.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";const H={class:"app-container"},W={class:"card-header"},X={class:"breadcrumb-container"},Y={class:"data-table__toolbar--right flex flex-wrap items-center gap-3"},Z={class:"data-table__content"},ee={class:"file-name"},ae=["onClick"],te={key:0},le=N(j({name:"ResourceMonitor",inheritAttrs:!1,__name:"index",setup(j){const{searchRef:N,contentRef:le,handleQueryClick:oe,handleResetClick:ne,refreshList:ie}=I(),re=M([]),se=M([{name:"资源根目录",path:"/"}]),ue=M(!1),de=M("/"),ce=E({permPrefix:"module_monitor:resource",colon:!0,isExpandable:!1,showNumber:3,form:{labelWidth:"auto"},searchButtonPerm:"module_monitor:resource:query",resetButtonPerm:"module_monitor:resource:query",formItems:[{prop:"name",label:"关键词",type:"input",attrs:{placeholder:"请输入文件名或目录名",clearable:!0,style:{width:"200px"}}}]}),me=E({permPrefix:"module_monitor:resource",cols:[],hideColumnFilter:!0,toolbar:[],defaultToolbar:["refresh"],pk:"file_url",pagination:{pageSize:10,pageSizes:[10,20,30,50]},request:{page_no:"page_no",page_size:"page_size"},indexAction:async e=>{const a={...e,include_hidden:ue.value};de.value&&"/"!==de.value&&(a.path=de.value);const t=await A.listResource(a);return{total:t.data.data.total,list:t.data.data.items}}}),pe=M(!1),fe=M(!1),_e=M(!1),he=M(!1),ve=M(),ye=M([]),we=E({dir_name:""}),be=E({new_name:"",old_path:""});function ge(){if("/"===de.value)return void(se.value=[{name:"资源根目录",path:"/"}]);const e=de.value.split("/").filter(e=>""!==e);se.value=[{name:"资源根目录",path:"/"},...e.map((a,t)=>({name:a,path:e.slice(0,t+1).join("/")}))]}function je(e){e.is_dir?("/"===de.value?de.value=e.name:de.value=de.value+"/"+e.name,ge(),ie()):function(e){let a=e.file_url;a&&!a.startsWith("http")&&(a=`${window.location.origin}${a}`);window.open(a,"_blank")}(e)}function ke(){pe.value=!0,ye.value=[]}function Ce(e,a){ye.value=a}async function xe(){if(0!==ye.value.length)try{he.value=!0;const e=new FormData;ye.value.forEach(a=>{const t=a.raw;t&&e.append("file",t)});const a="/"===de.value?"":de.value;e.append("target_path",a),await A.uploadFile(e),pe.value=!1,ie()}catch(e){}finally{he.value=!1}else b.warning("请选择要上传的文件")}function Re(){pe.value=!1,ye.value=[]}function Ve(){we.dir_name="",fe.value=!0}async function ze(){if(we.dir_name.trim())try{const e="/"===de.value?"":de.value;await A.createDirectory({parent_path:e,dir_name:we.dir_name.trim()}),fe.value=!1,ie()}catch(e){}else b.warning("请输入文件夹名称")}function Be(){ie()}async function Pe(){if(be.new_name.trim())try{await A.renameResource({old_path:be.old_path,new_name:be.new_name.trim()}),_e.value=!1,ie()}catch(e){}else b.warning("请输入新名称")}async function Ue(){if(0!==re.value.length)try{await g.confirm(`确定要删除选中的 ${re.value.length} 个文件吗?`,"确认删除",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"});const e=re.value.map(e=>e.file_url);await A.deleteResource(e),ie()}catch(e){}else b.warning("请选择要删除的文件")}function Le(e){if(!e||null===e)return"-";const a=["B","KB","MB","GB","TB"];let t=0,l=e;for(;l>=1024&&t<a.length-1;)l/=1024,t++;return`${l.toFixed(1)} ${a[t]}`}return(b,j)=>{const M=c,E=f,I=p,qe=n,$e=u,Fe=s,Se=d,Te=i,Ke=a,Me=t,Ee=e,Ie=_,Ae=w,Ne=y,Oe=v,De=k("hasPerm"),Je=r;return C(),x("div",H,[R(Q,{ref_key:"searchRef",ref:N,"search-config":ce,onQueryClick:V(oe),onResetClick:V(ne)},null,8,["search-config","onQueryClick","onResetClick"]),R(J,{ref_key:"contentRef",ref:le,"content-config":me},{header:z(()=>[B("div",W,[B("span",null,[R(M,{content:"资源文件管理系统: 点击路径可以快速返回上级目录"},{default:z(()=>[R(V(m),{class:"w-4 h-4 mx-1"})]),_:1}),j[9]||(j[9]=L(" 文件列表(当前路径): ",-1))]),B("div",X,[j[10]||(j[10]=B("span",{class:"breadcrumb-label"},null,-1)),R(I,{separator:"/"},{default:z(()=>[(C(!0),x(F,null,S(se.value,(e,a)=>(C(),U(E,{key:a,class:T({"is-link":a<se.value.length-1}),onClick:a=>function(e){de.value=e.path,ge(),ie()}(e)},{default:z(()=>[L(q(e.name),1)]),_:2},1032,["class","onClick"]))),128))]),_:1})])])]),toolbar:z(({toolbarRight:e,onToolbar:a,removeIds:t,cols:l})=>[R(O,{"remove-ids":t},{default:z(()=>[R(Fe,{gutter:10},{default:z(()=>[R($e,{span:1.5},{default:z(()=>[P((C(),U(qe,{type:"success",icon:"plus",onClick:ke},{default:z(()=>[...j[11]||(j[11]=[L(" 上传文件 ",-1)])]),_:1})),[[De,["module_monitor:resource:upload"]]])]),_:1}),R($e,{span:1.5},{default:z(()=>[P((C(),U(qe,{type:"primary",icon:"folder-add",onClick:Ve},{default:z(()=>[...j[12]||(j[12]=[L(" 新建文件夹 ",-1)])]),_:1})),[[De,["module_monitor:resource:create_dir"]]])]),_:1}),R($e,{span:1.5},{default:z(()=>[P((C(),U(qe,{type:"danger",icon:"delete",disabled:0===t.length,onClick:Ue},{default:z(()=>[...j[13]||(j[13]=[L(" 批量删除 ",-1)])]),_:1},8,["disabled"])),[[De,["module_monitor:resource:delete"]]])]),_:2},1024)]),_:2},1024)]),_:2},1032,["remove-ids"]),B("div",Y,[P((C(),U(Se,{modelValue:ue.value,"onUpdate:modelValue":j[0]||(j[0]=e=>ue.value=e),onChange:Be},{default:z(()=>[...j[14]||(j[14]=[L(" 显示隐藏文件 ",-1)])]),_:1},8,["modelValue"])),[[De,["module_monitor:resource:query"]]]),R(D,{buttons:e,cols:l,"on-toolbar":a},null,8,["buttons","cols","on-toolbar"])])]),table:z(({data:e,loading:a,tableRef:t,onSelectionChange:n,pagination:i})=>[B("div",Z,[P((C(),U(Ee,{ref:t,"row-key":"file_url",data:e,height:"100%",border:"",stripe:"",onSelectionChange:e=>{var a;a=e,re.value=a,n(e)}},{empty:z(()=>[R(Te,{"image-size":80,description:"暂无数据"})]),default:z(()=>[R(Ke,{type:"selection","min-width":"40",align:"center"}),R(Ke,{type:"index",fixed:"",label:"序号","min-width":"50"},{default:z(e=>[L(q((i.currentPage-1)*i.pageSize+e.$index+1),1)]),_:2},1024),R(Ke,{label:"名称",prop:"name","min-width":"200"},{default:z(({row:e})=>[B("div",ee,[R(Me,{class:"file-icon"},{default:z(()=>[e.is_dir?(C(),U(V(l),{key:0})):(C(),U(V(o),{key:1}))]),_:2},1024),B("span",{class:"file-name-clickable",onClick:a=>je(e)},q(e.name),9,ae)])]),_:1}),R(Ke,{label:"大小",prop:"size","min-width":"120",align:"center"},{default:z(({row:e})=>[e.is_dir?$("",!0):(C(),x("span",te,q(Le(e.size)),1))]),_:1}),R(Ke,{label:"修改时间",prop:"modified_time","min-width":"180",sortable:""}),R(Ke,{fixed:"right",label:"操作",align:"center","min-width":"200","class-name":"search-buttons"},{default:z(({row:e})=>[e.is_dir?$("",!0):P((C(),U(qe,{key:0,type:"success",size:"small",link:"",icon:"download",onClick:a=>async function(e){try{const a=(await A.downloadFile(e.file_url)).data,t=window.URL.createObjectURL(a),l=document.createElement("a");l.href=t,l.download=e.name,document.body.appendChild(l),l.click(),document.body.removeChild(l),window.URL.revokeObjectURL(t)}catch(a){}}(e)},{default:z(()=>[...j[15]||(j[15]=[L(" 下载 ",-1)])]),_:1},8,["onClick"])),[[De,["module_monitor:resource:download"]]]),P((C(),U(qe,{type:"primary",size:"small",link:"",icon:"edit",onClick:a=>{return t=e,be.old_path=t.file_url,be.new_name=t.name,void(_e.value=!0);var t}},{default:z(()=>[...j[16]||(j[16]=[L(" 重命名 ",-1)])]),_:1},8,["onClick"])),[[De,["module_monitor:resource:rename"]]]),P((C(),U(qe,{type:"danger",size:"small",link:"",icon:"delete",onClick:a=>async function(e){try{await g.confirm(`确定要删除 ${e.name} 吗?`,"确认删除",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}),await A.deleteResource([e.file_url]),ie()}catch(a){}}(e)},{default:z(()=>[...j[17]||(j[17]=[L(" 删除 ",-1)])]),_:1},8,["onClick"])),[[De,["module_monitor:resource:delete"]]])]),_:1})]),_:2},1032,["data","onSelectionChange"])),[[Je,a]])])]),_:1},8,["content-config"]),R(G,{modelValue:pe.value,"onUpdate:modelValue":j[2]||(j[2]=e=>pe.value=e),title:"上传文件",width:"500px",onClose:Re},{footer:z(()=>[R(qe,{onClick:j[1]||(j[1]=e=>pe.value=!1)},{default:z(()=>[...j[20]||(j[20]=[L("取消",-1)])]),_:1}),P((C(),U(qe,{type:"primary",loading:he.value,onClick:xe},{default:z(()=>[...j[21]||(j[21]=[L(" 确定上传 ",-1)])]),_:1},8,["loading"])),[[De,["module_monitor:resource:upload"]]])]),default:z(()=>[R(Ie,{ref_key:"uploadRef",ref:ve,"auto-upload":!1,multiple:!0,"file-list":ye.value,drag:"",onChange:Ce},{tip:z(()=>[...j[18]||(j[18]=[B("div",{class:"el-upload__tip",style:{color:"red"}}," 不支持多文件上传,单个文件不超过100MB,多文件上传,取最后一个文件上传 ",-1)])]),default:z(()=>[R(Me,{class:"el-icon--upload"},{default:z(()=>[R(V(h))]),_:1}),j[19]||(j[19]=B("div",{class:"el-upload__text"},[L(" 将文件拖到此处,或 "),B("em",null,"点击上传")],-1))]),_:1},8,["file-list"])]),_:1},8,["modelValue"]),R(G,{modelValue:fe.value,"onUpdate:modelValue":j[5]||(j[5]=e=>fe.value=e),title:"新建文件夹",width:"400px"},{footer:z(()=>[R(qe,{onClick:j[4]||(j[4]=e=>fe.value=!1)},{default:z(()=>[...j[22]||(j[22]=[L("取消",-1)])]),_:1}),P((C(),U(qe,{type:"primary",onClick:ze},{default:z(()=>[...j[23]||(j[23]=[L(" 确定 ",-1)])]),_:1})),[[De,["module_monitor:resource:create_dir"]]])]),default:z(()=>[R(Oe,{model:we,"label-width":"80px"},{default:z(()=>[R(Ne,{label:"文件夹名",required:""},{default:z(()=>[R(Ae,{modelValue:we.dir_name,"onUpdate:modelValue":j[3]||(j[3]=e=>we.dir_name=e),placeholder:"请输入文件夹名称",onKeyup:K(ze,["enter"])},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),R(G,{modelValue:_e.value,"onUpdate:modelValue":j[8]||(j[8]=e=>_e.value=e),title:"重命名",width:"400px"},{footer:z(()=>[R(qe,{onClick:j[7]||(j[7]=e=>_e.value=!1)},{default:z(()=>[...j[24]||(j[24]=[L("取消",-1)])]),_:1}),P((C(),U(qe,{type:"primary",onClick:Pe},{default:z(()=>[...j[25]||(j[25]=[L(" 确定 ",-1)])]),_:1})),[[De,["module_monitor:resource:rename"]]])]),default:z(()=>[R(Oe,{model:be,"label-width":"80px"},{default:z(()=>[R(Ne,{label:"新名称",required:""},{default:z(()=>[R(Ae,{modelValue:be.new_name,"onUpdate:modelValue":j[6]||(j[6]=e=>be.new_name=e),placeholder:"请输入新名称",onKeyup:K(Pe,["enter"])},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-2d0f5ff0"]]);export{le as default};
|