import{x as e,y as a,aq as t,ar as l,h as o,t as s,i as r,w as i,U as n,V as d,l as p,al as u,am as _,q as c,r as m,u as f,ao as y,T as b,a3 as v,a4 as g,v as h,D as w}from"./element-plus.C1XeB8_q.js";import{_ as q}from"./index.DSbwPKqQ.js";import{_ as x}from"./index.vue_vue_type_script_setup_true_lang.I__YyVnm.js";import{D as k}from"./index.CEi5IP3a.js";import{J as j,S as V,_ as C,a2 as U,T,o as L,eB as P,aa as z,j as S,t as $,aO as A,aP as O,a1 as E,$ as B,a0 as D,a8 as F,z as I,a6 as J,a9 as N,aw as H,r as R,ak as G}from"./.pnpm.BudmgPu7.js";import{l as M}from"./index.Cvigsp8N.js";import{_ as Q}from"./UserTableSelect.vue_vue_type_script_setup_true_lang.BC9TvTnQ.js";import{_ as K}from"./ExportModal.vue_vue_type_script_setup_true_lang.CZ8E9_Y6.js";import{_ as W}from"./_plugin-vue_export-helper.BCo6x5W8.js";import{f as X}from"./dateUtil.f5zninan.js";import"./codemirror.BdleaLZh.js";import"./exceljs.Be_qVvLB.js";const Y="/system/log",Z={listLog:e=>M({url:`${Y}/list`,method:"get",params:e}),detailLog:e=>M({url:`${Y}/detail/${e}`,method:"get"}),deleteLog:e=>M({url:`${Y}/delete`,method:"delete",data:e}),exportLog:e=>M({url:`${Y}/export`,method:"post",data:e,responseType:"blob"})},ee={key:1,class:"json-pretty-fallback"},ae=W(j({__name:"index",props:{value:{type:[String,Object,Array,Number,Boolean],default:""},height:{type:String,default:"240px"}},setup(e){const a=e,t=S(()=>{const e=a.value;if("string"==typeof e)try{return JSON.parse(e)}catch{return e}return e}),l=S(()=>"object"==typeof t.value&&null!==t.value),o=S(()=>{const e=a.value;return"string"==typeof e?e:JSON.stringify(e,null,2)});return(a,s)=>(V(),C("div",{class:"json-pretty-wrapper",style:U({maxHeight:e.height})},[l.value?(V(),T(L(P),{key:0,data:t.value,"show-line":!0,"show-double-quotes":!1,"show-length":!0,deep:3},null,8,["data"])):(V(),C("pre",ee,z(o.value),1))],4))}}),[["__scopeId","data-v-4e8acb9c"]]),te={class:"app-container"},le={class:"search-container"},oe={class:"card-header"},se={class:"data-table__toolbar"},re={class:"data-table__toolbar--left"},ie={class:"data-table__toolbar--right"},ne={class:"dialog-footer"},de=j({name:"Log",inheritAttrs:!1,__name:"index",setup(j){const U=R(),P=R(),S=R(0),M=R([]),W=R(!1),Y=R(!1),ee=R(!0),de=R([]),pe=R(!1),ue=R([]),_e=R({}),ce=G({page_no:1,page_size:10,type:void 0,request_path:void 0,creator_name:void 0,created_time:void 0,created_id:void 0,updated_id:void 0}),me=G({title:"",visible:!1,type:"create"}),fe=R([]);function ye(e){fe.value=e,e&&2===e.length?ce.created_time=[X(e[0]),X(e[1])]:ce.created_time=void 0}async function be(){await he()}const ve=e=>void 0===e?"info":e>=200&&e<300?"success":e>=300&&e<400?"warning":"danger",ge=e=>void 0===e||"GET"===e?"info":"POST"===e?"success":"PUT"===e||"PATCH"===e?"warning":"DELETE"===e?"danger":"info";async function he(){W.value=!0;try{const e=await Z.listLog(ce);de.value=e.data.data.items,S.value=e.data.data.total}catch(e){}finally{W.value=!1}}async function we(){ce.page_no=1,he()}function qe(){we()}async function xe(){U.value.resetFields(),ce.page_no=1,fe.value=[],ce.created_time=void 0,he()}async function ke(e){M.value=e.map(e=>e.id),ue.value=e}async function je(){me.visible=!1,async function(){P.value&&(P.value.resetFields(),P.value.clearValidate()),_e.value.id=void 0}()}async function Ve(e){w.confirm("确认删除该项数据?","警告",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(async()=>{try{W.value=!0,await Z.deleteLog(e),xe()}catch(a){}finally{W.value=!1}}).catch(()=>{w.close()})}function Ce(){pe.value=!0}const Ue={permPrefix:"module_system:log",cols:[{prop:"type",label:"日志类型"},{prop:"request_path",label:"请求路径"},{prop:"request_method",label:"请求方法"},{prop:"response_code",label:"状态码"},{prop:"request_ip",label:"请求IP"},{prop:"login_location",label:"登录地点"},{prop:"process_time",label:"处理时间"},{prop:"request_browser",label:"浏览器"},{prop:"request_os",label:"系统"},{prop:"description",label:"描述"},{prop:"created_time",label:"创建时间"},{prop:"updated_time",label:"更新时间"}],exportsAction:async e=>{var a,t,l,o;const s={...e};s.page_no=1,s.page_size=1e3;const r=[];for(;;){const e=await Z.listLog(s),i=(null==(t=null==(a=e.data)?void 0:a.data)?void 0:t.items)||[],n=(null==(o=null==(l=e.data)?void 0:l.data)?void 0:o.total)||0;if(r.push(...i),r.length>=n||0===i.length)break;s.page_no+=1}return r}};return $(()=>{he()}),(w,j)=>{const P=a,$=e,R=l,G=t,X=k,Te=o,Le=A("ArrowUp"),Pe=A("ArrowDown"),ze=r,Se=s,$e=i,Ae=A("QuestionFilled"),Oe=p,Ee=d,Be=n,De=f,Fe=_,Ie=c,Je=m,Ne=x,He=u,Re=q,Ge=b,Me=g,Qe=v,Ke=h,We=O("hasPerm"),Xe=y;return V(),C("div",te,[E("div",le,[B($e,{ref_key:"queryFormRef",ref:U,model:L(ce),inline:!0,"label-suffix":":",onSubmit:H(we,["prevent"])},{default:D(()=>[B($,{prop:"request_path",label:"请求路径"},{default:D(()=>[B(P,{modelValue:L(ce).request_path,"onUpdate:modelValue":j[0]||(j[0]=e=>L(ce).request_path=e),placeholder:"请输入请求路径",clearable:""},null,8,["modelValue"])]),_:1}),B($,{prop:"type",label:"日志类型"},{default:D(()=>[B(G,{modelValue:L(ce).type,"onUpdate:modelValue":j[1]||(j[1]=e=>L(ce).type=e),placeholder:"请选择日志类型",style:{width:"167.5px"},clearable:""},{default:D(()=>[B(R,{label:"登录日志",value:"1"}),B(R,{label:"操作日志",value:"2"})]),_:1},8,["modelValue"])]),_:1}),L(Y)?(V(),T($,{key:0,prop:"created_id",label:"创建人"},{default:D(()=>[B(Q,{modelValue:L(ce).created_id,"onUpdate:modelValue":j[2]||(j[2]=e=>L(ce).created_id=e),onConfirmClick:qe,onClearClick:we},null,8,["modelValue"])]),_:1})):F("",!0),L(Y)?(V(),T($,{key:1,prop:"start_time",label:"创建时间"},{default:D(()=>[B(X,{modelValue:L(fe),"onUpdate:modelValue":[j[3]||(j[3]=e=>I(fe)?fe.value=e:null),ye]},null,8,["modelValue"])]),_:1})):F("",!0),B($,{class:"search-buttons"},{default:D(()=>[J((V(),T(Te,{type:"primary",icon:"search","native-type":"submit"},{default:D(()=>[...j[11]||(j[11]=[N(" 查询 ",-1)])]),_:1})),[[We,["module_system:log:query"]]]),J((V(),T(Te,{icon:"refresh",onClick:xe},{default:D(()=>[...j[12]||(j[12]=[N(" 重置 ",-1)])]),_:1})),[[We,["module_system:log:query"]]]),L(ee)?(V(),T(Se,{key:0,class:"ml-3",type:"primary",underline:"never",onClick:j[4]||(j[4]=e=>Y.value=!L(Y))},{default:D(()=>[N(z(L(Y)?"收起":"展开")+" ",1),B(ze,null,{default:D(()=>[L(Y)?(V(),T(Le,{key:0})):(V(),T(Pe,{key:1}))]),_:1})]),_:1})):F("",!0)]),_:1})]),_:1},8,["model"])]),B(Ge,{class:"data-table"},{header:D(()=>[E("div",oe,[E("span",null,[B(Oe,{content:"日志管理维护系统的日志。"},{default:D(()=>[B(Ae,{class:"w-4 h-4 mx-1"})]),_:1}),j[13]||(j[13]=N(" 日志列表 ",-1))])])]),footer:D(()=>[B(Re,{total:L(S),"onUpdate:total":j[6]||(j[6]=e=>I(S)?S.value=e:null),page:L(ce).page_no,"onUpdate:page":j[7]||(j[7]=e=>L(ce).page_no=e),limit:L(ce).page_size,"onUpdate:limit":j[8]||(j[8]=e=>L(ce).page_size=e),onPagination:he},null,8,["total","page","limit"])]),default:D(()=>[E("div",se,[E("div",re,[B(Be,{gutter:10},{default:D(()=>[B(Ee,{span:1.5},{default:D(()=>[J((V(),T(Te,{type:"danger",icon:"delete",disabled:0===L(M).length,onClick:j[5]||(j[5]=e=>Ve(L(M)))},{default:D(()=>[...j[14]||(j[14]=[N(" 批量删除 ",-1)])]),_:1},8,["disabled"])),[[We,["module_system:log:delete"]]])]),_:1})]),_:1})]),E("div",ie,[B(Be,{gutter:10},{default:D(()=>[B(Ee,{span:1.5},{default:D(()=>[B(Oe,{content:"导出"},{default:D(()=>[J(B(Te,{type:"warning",icon:"download",circle:"",onClick:Ce},null,512),[[We,["module_system:log:export"]]])]),_:1})]),_:1}),B(Ee,{span:1.5},{default:D(()=>[B(Oe,{content:"刷新"},{default:D(()=>[J(B(Te,{type:"default",icon:"refresh",circle:"",onClick:be},null,512),[[We,["module_system:log:query"]]])]),_:1})]),_:1})]),_:1})])]),J((V(),T(He,{ref:"dataTableRef",data:L(de),"highlight-current-row":"",class:"data-table__content",height:"500","max-height":"500",border:"",stripe:"",onSelectionChange:ke},{empty:D(()=>[B(De,{"image-size":80,description:"暂无数据"})]),default:D(()=>[B(Fe,{prop:"selection",type:"selection","min-width":"55",align:"center"}),B(Fe,{type:"index",fixed:"",label:"序号","min-width":"60"},{default:D(e=>[N(z((L(ce).page_no-1)*L(ce).page_size+e.$index+1),1)]),_:1}),B(Fe,{label:"日志类型",prop:"type","min-width":"100"},{default:D(e=>[B(Ie,{type:1===e.row.type?"success":"primary"},{default:D(()=>[N(z(1===e.row.type?"登录日志":"操作日志"),1)]),_:2},1032,["type"])]),_:1}),B(Fe,{label:"请求路径",prop:"request_path","min-width":"200","show-overflow-tooltip":""}),B(Fe,{label:"请求方法",prop:"request_method","min-width":"100"},{default:D(e=>[B(Ie,{type:ge(e.row.request_method)},{default:D(()=>[N(z(e.row.request_method),1)]),_:2},1032,["type"])]),_:1}),B(Fe,{label:"状态码",prop:"response_code","min-width":"100"},{default:D(e=>[B(Ie,{type:ve(e.row.response_code)},{default:D(()=>[N(z(e.row.response_code),1)]),_:2},1032,["type"])]),_:1}),B(Fe,{label:"请求IP",prop:"request_ip","min-width":"180","show-overflow-tooltip":""},{default:D(e=>[B(Je,null,{default:D(()=>[N(z(e.row.request_ip),1)]),_:2},1024),e.row.request_ip?(V(),T(Ne,{key:0,text:e.row.request_ip,style:{marginLeft:"2px"}},null,8,["text"])):F("",!0)]),_:1}),B(Fe,{label:"处理时间",prop:"process_time","min-width":"120"}),B(Fe,{label:"浏览器",prop:"request_browser","min-width":"220","show-overflow-tooltip":""}),B(Fe,{label:"系统",prop:"request_os","min-width":"100"}),B(Fe,{label:"描述",prop:"description","min-width":"120","show-overflow-tooltip":""}),B(Fe,{label:"创建时间",prop:"created_time","min-width":"200",sortable:""}),B(Fe,{label:"创建人",prop:"created_id","min-width":"120"},{default:D(e=>{var a;return[N(z(null==(a=e.row.created_by)?void 0:a.name),1)]}),_:1}),B(Fe,{label:"更新人",prop:"updated_id","min-width":"120"},{default:D(e=>{var a;return[N(z(null==(a=e.row.updated_by)?void 0:a.name),1)]}),_:1}),B(Fe,{label:"操作",fixed:"right",align:"center","min-width":"150"},{default:D(e=>[J((V(),T(Te,{type:"info",size:"small",link:"",icon:"document",onClick:a=>async function(e,a){if(me.type=e,a){const e=await Z.detailLog(a);me.title="日志详情",Object.assign(_e.value,e.data.data)}me.visible=!0}("detail",e.row.id)},{default:D(()=>[...j[15]||(j[15]=[N(" 详情 ",-1)])]),_:1},8,["onClick"])),[[We,["module_system:log:detail"]]]),J((V(),T(Te,{type:"danger",size:"small",link:"",icon:"delete",onClick:a=>Ve([e.row.id])},{default:D(()=>[...j[16]||(j[16]=[N(" 删除 ",-1)])]),_:1},8,["onClick"])),[[We,["module_system:log:delete"]]])]),_:1})]),_:1},8,["data"])),[[Xe,L(W)]])]),_:1}),B(Ke,{modelValue:L(me).visible,"onUpdate:modelValue":j[9]||(j[9]=e=>L(me).visible=e),title:L(me).title,onClose:je},{footer:D(()=>[E("div",ne,[B(Te,{onClick:je},{default:D(()=>[...j[17]||(j[17]=[N("取消",-1)])]),_:1}),J((V(),T(Te,{type:"primary",onClick:je},{default:D(()=>[...j[18]||(j[18]=[N(" 确定 ",-1)])]),_:1})),[[We,["module_system:log:detail"]]])])]),default:D(()=>["detail"===L(me).type?(V(),T(Qe,{key:0,column:8,border:"","label-width":"200px"},{default:D(()=>[B(Me,{label:"日志类型",span:2},{default:D(()=>[B(Ie,{type:1===L(_e).type?"success":"primary"},{default:D(()=>[N(z(1===L(_e).type?"登录日志":"操作日志"),1)]),_:1},8,["type"])]),_:1}),B(Me,{label:"请求路径",span:2},{default:D(()=>[N(z(L(_e).request_path),1)]),_:1}),B(Me,{label:"请求方法",span:2},{default:D(()=>[B(Ie,{type:ge(L(_e).request_method)},{default:D(()=>[N(z(L(_e).request_method),1)]),_:1},8,["type"])]),_:1}),B(Me,{label:"响应状态码",span:2},{default:D(()=>[B(Ie,{type:ve(L(_e).response_code)},{default:D(()=>[N(z(L(_e).response_code),1)]),_:1},8,["type"])]),_:1}),B(Me,{label:"请求IP",span:2},{default:D(()=>[N(z(L(_e).request_ip),1)]),_:1}),B(Me,{label:"处理时间",span:2},{default:D(()=>[N(z(L(_e).process_time),1)]),_:1}),B(Me,{label:"浏览器",span:2},{default:D(()=>[N(z(L(_e).request_browser),1)]),_:1}),B(Me,{label:"操作系统",span:2},{default:D(()=>[N(z(L(_e).request_os),1)]),_:1}),B(Me,{label:"请求参数",span:8},{default:D(()=>[B(ae,{value:L(_e).request_payload,height:"80px"},null,8,["value"])]),_:1}),B(Me,{label:"响应数据",span:8},{default:D(()=>[B(ae,{value:L(_e).response_json,height:"140px"},null,8,["value"])]),_:1}),B(Me,{label:"登录地点",span:4},{default:D(()=>[N(z(L(_e).login_location),1)]),_:1}),B(Me,{label:"描述",span:8},{default:D(()=>[N(z(L(_e).description),1)]),_:1}),B(Me,{label:"创建人",span:4},{default:D(()=>{var e;return[N(z(null==(e=L(_e).created_by)?void 0:e.name),1)]}),_:1}),B(Me,{label:"更新人",span:4},{default:D(()=>{var e;return[N(z(null==(e=L(_e).updated_by)?void 0:e.name),1)]}),_:1}),B(Me,{label:"创建时间",span:4},{default:D(()=>[N(z(L(_e).created_time),1)]),_:1}),B(Me,{label:"更新时间",span:4},{default:D(()=>[N(z(L(_e).updated_time),1)]),_:1})]),_:1})):F("",!0)]),_:1},8,["modelValue","title"]),B(K,{modelValue:L(pe),"onUpdate:modelValue":j[10]||(j[10]=e=>I(pe)?pe.value=e:null),"content-config":Ue,"query-params":L(ce),"page-data":L(de),"selection-data":L(ue)},null,8,["modelValue","query-params","page-data","selection-data"])])}}});export{de as default};