| 1 |
- import{k as e,m as t,g as l,a7 as o,a,x as s,O as r,_ as i,U as p,V as n}from"./element-plus.B27SxRGv.js";import{_ as d,f as u}from"./role.D5azErti.js";import{y as m,a1 as c}from"./index.DYWCVKSk.js";import _ from"./UserTableSelect.DBCUa568.js";import{E as f,_ as b}from"./sql.Cgn48OB5.js";import{_ as h,a as v,P as y}from"./PageContent.2D3OI2WE.js";import{P as w}from"./wechat.DxkWAiK2.js";import{J as g}from"./index.XraOV2TB.js";import{M as j,aS as k,ao as q,a_ as x,aL as C,u as P,I as L,bk as z,bJ as S,v as V,bL as D,s as R,t as T,H as I,bb as E,as as A,aU as N,q as U}from"./@vue.DbmRtknU.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"./vue-i18n.DXLOBfKS.js";import"./@intlify.DPMNdUn_.js";import"./time.bF_pEo2S.js";import"./vue-router.yxIMtaxH.js";import"./pinia.BlfmsheH.js";import"./@vueuse.Dnsd2JKX.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"./pinia-plugin-persistedstate.COWkwNh5.js";import"./index.gRlf2XCu.js";import"./exceljs.DLSZe_6I.js";import"./vue-json-pretty.DEqWvEy3.js";const H={class:"app-container"},Q={class:"data-table__toolbar--right"},M={class:"data-table__content"},Y={class:"dialog-footer"},F=j({name:"Log",inheritAttrs:!1,__name:"index",setup(j){const{searchRef:F,contentRef:J,handleQueryClick:O,handleResetClick:G,refreshList:$}=m();function B(){A(()=>$())}const K=k({permPrefix:"module_system:log",colon:!0,isExpandable:!0,showNumber:2,form:{labelWidth:"auto"},formItems:[{prop:"request_path",label:"请求路径",type:"input",attrs:{placeholder:"请输入请求路径",clearable:!0}},{prop:"type",label:"日志类型",type:"select",options:[{label:"登录日志",value:1},{label:"操作日志",value:2}],attrs:{placeholder:"请选择日志类型",clearable:!0,style:{width:"167.5px"}}},{prop:"created_id",label:"创建人",type:"user-table-select",initialValue:null,events:{"confirm-click":B,"clear-click":B}},{prop:"created_time",label:"创建时间",type:"date-picker",initialValue:[],attrs:{type:"datetimerange",valueFormat:"YYYY-MM-DD HH:mm:ss",rangeSeparator:"至",startPlaceholder:"开始日期",endPlaceholder:"结束日期",style:{width:"340px"}}}],customComponents:{"user-table-select":q(_)}}),W=k([{prop:"selection",label:"选择框",show:!0},{prop:"index",label:"序号",show:!0},{prop:"type",label:"日志类型",show:!0},{prop:"request_path",label:"请求路径",show:!0},{prop:"request_method",label:"请求方法",show:!0},{prop:"response_code",label:"状态码",show:!0},{prop:"request_ip",label:"请求IP",show:!0},{prop:"process_time",label:"处理时间",show:!0},{prop:"request_browser",label:"浏览器",show:!0},{prop:"request_os",label:"系统",show:!0},{prop:"description",label:"描述",show:!0},{prop:"created_time",label:"创建时间",show:!0},{prop:"created_id",label:"创建人",show:!0},{prop:"updated_id",label:"更新人",show:!0},{prop:"operation",label:"操作",show:!0}]),X=k({permPrefix:"module_system:log",pk:"id",cols:W,hideColumnFilter:!1,toolbar:[],defaultToolbar:["refresh","filter"],pagination:{pageSize:10,pageSizes:[10,20,30,50]},request:{page_no:"page_no",page_size:"page_size"},indexAction:async e=>{const t=await c.listLog(e);return{total:t.data.data.total,list:t.data.data.items}},deleteAction:async e=>{await c.deleteLog(e.split(",").map(e=>Number(e.trim())).filter(e=>!Number.isNaN(e)))},deleteConfirm:{title:"警告",message:"确认删除该项数据?",type:"warning"}}),Z=N({}),ee=k({title:"",visible:!1,type:"create"}),te=e=>void 0===e?"info":e>=200&&e<300?"success":e>=300&&e<400?"warning":"danger",le=e=>void 0===e||"GET"===e?"info":"POST"===e?"success":"PUT"===e||"PATCH"===e?"warning":"DELETE"===e?"danger":"info";async function oe(){ee.visible=!1,await async function(){Z.value.id=void 0}()}const ae=N(!1),se=U(()=>{var e;return(null==(e=F.value)?void 0:e.getQueryParams())??{}}),re=U(()=>{var e;const t=null==(e=J.value)?void 0:e.pageData;return z(t)??[]}),ie=U(()=>{var e;return(null==(e=J.value)?void 0:e.getSelectionData())??[]}),pe={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=>{const t={...e};return u({initialQuery:t,fetchPage:async e=>{var t,l,o,a;const s=await c.listLog(e);return{total:(null==(l=null==(t=s.data)?void 0:t.data)?void 0:l.total)??0,list:(null==(a=null==(o=s.data)?void 0:o.data)?void 0:a.items)??[]}}})}};function ne(){ae.value=!0}return(u,m)=>{const _=a,j=i,k=s,q=t,A=l,N=o,U=d,$=e,B=n,de=p,ue=x("hasPerm"),me=r;return C(),P("div",H,[L(w,{ref_key:"searchRef",ref:F,"search-config":K,onQueryClick:z(O),onResetClick:z(G)},null,8,["search-config","onQueryClick","onResetClick"]),L(y,{ref_key:"contentRef",ref:J,"content-config":X},{toolbar:S(({toolbarRight:e,onToolbar:t,removeIds:l,cols:o})=>[L(h,{"remove-ids":l,"perm-delete":["module_system:log:delete"],onDelete:e=>t("delete")},null,8,["remove-ids","onDelete"]),V("div",Q,[L(v,{buttons:e,cols:o,"on-toolbar":t},{prepend:S(()=>[L(j,{content:"导出"},{default:S(()=>[D(L(_,{type:"warning",icon:"download",circle:"",onClick:ne},null,512),[[ue,["module_system:log:export"]]])]),_:1})]),_:1},8,["buttons","cols","on-toolbar"])])]),table:S(({data:e,loading:t,tableRef:l,onSelectionChange:o,pagination:a})=>[V("div",M,[D((C(),R($,{ref:l,"row-key":"id",data:e,height:"100%",border:"",stripe:"",onSelectionChange:o},{empty:S(()=>[L(k,{"image-size":80,description:"暂无数据"})]),default:S(()=>{var e,t,l,o,s,r,i,p,n,d,u,f,b,h,v;return[(null==(e=W.find(e=>"selection"===e.prop))?void 0:e.show)?(C(),R(q,{key:0,type:"selection","min-width":"55",align:"center"})):T("",!0),(null==(t=W.find(e=>"index"===e.prop))?void 0:t.show)?(C(),R(q,{key:1,fixed:"",label:"序号","min-width":"60"},{default:S(e=>[I(E((a.currentPage-1)*a.pageSize+e.$index+1),1)]),_:2},1024)):T("",!0),(null==(l=W.find(e=>"type"===e.prop))?void 0:l.show)?(C(),R(q,{key:2,label:"日志类型",prop:"type","min-width":"100"},{default:S(e=>[L(A,{type:1===e.row.type?"success":"primary"},{default:S(()=>[I(E(1===e.row.type?"登录日志":"操作日志"),1)]),_:2},1032,["type"])]),_:1})):T("",!0),(null==(o=W.find(e=>"request_path"===e.prop))?void 0:o.show)?(C(),R(q,{key:3,label:"请求路径",prop:"request_path","min-width":"200","show-overflow-tooltip":""})):T("",!0),(null==(s=W.find(e=>"request_method"===e.prop))?void 0:s.show)?(C(),R(q,{key:4,label:"请求方法",prop:"request_method","min-width":"100"},{default:S(e=>[L(A,{type:le(e.row.request_method)},{default:S(()=>[I(E(e.row.request_method),1)]),_:2},1032,["type"])]),_:1})):T("",!0),(null==(r=W.find(e=>"response_code"===e.prop))?void 0:r.show)?(C(),R(q,{key:5,label:"状态码",prop:"response_code","min-width":"100"},{default:S(e=>[L(A,{type:te(e.row.response_code)},{default:S(()=>[I(E(e.row.response_code),1)]),_:2},1032,["type"])]),_:1})):T("",!0),(null==(i=W.find(e=>"request_ip"===e.prop))?void 0:i.show)?(C(),R(q,{key:6,label:"请求IP",prop:"request_ip","min-width":"180","show-overflow-tooltip":""},{default:S(e=>[L(N,null,{default:S(()=>[I(E(e.row.request_ip),1)]),_:2},1024),e.row.request_ip?(C(),R(U,{key:0,text:e.row.request_ip,style:{marginLeft:"2px"}},null,8,["text"])):T("",!0)]),_:1})):T("",!0),(null==(p=W.find(e=>"process_time"===e.prop))?void 0:p.show)?(C(),R(q,{key:7,label:"处理时间",prop:"process_time","min-width":"120"})):T("",!0),(null==(n=W.find(e=>"request_browser"===e.prop))?void 0:n.show)?(C(),R(q,{key:8,label:"浏览器",prop:"request_browser","min-width":"220","show-overflow-tooltip":""})):T("",!0),(null==(d=W.find(e=>"request_os"===e.prop))?void 0:d.show)?(C(),R(q,{key:9,label:"系统",prop:"request_os","min-width":"100"})):T("",!0),(null==(u=W.find(e=>"description"===e.prop))?void 0:u.show)?(C(),R(q,{key:10,label:"描述",prop:"description","min-width":"120","show-overflow-tooltip":""})):T("",!0),(null==(f=W.find(e=>"created_time"===e.prop))?void 0:f.show)?(C(),R(q,{key:11,label:"创建时间",prop:"created_time","min-width":"200",sortable:"","show-overflow-tooltip":""})):T("",!0),(null==(b=W.find(e=>"created_id"===e.prop))?void 0:b.show)?(C(),R(q,{key:12,label:"创建人",prop:"created_id","min-width":"120"},{default:S(e=>{var t;return[I(E(null==(t=e.row.created_by)?void 0:t.name),1)]}),_:1})):T("",!0),(null==(h=W.find(e=>"updated_id"===e.prop))?void 0:h.show)?(C(),R(q,{key:13,label:"更新人",prop:"updated_id","min-width":"120"},{default:S(e=>{var t;return[I(E(null==(t=e.row.updated_by)?void 0:t.name),1)]}),_:1})):T("",!0),(null==(v=W.find(e=>"operation"===e.prop))?void 0:v.show)?(C(),R(q,{key:14,fixed:"right",label:"操作",align:"center","min-width":"150"},{default:S(e=>[D((C(),R(_,{type:"info",size:"small",link:"",icon:"View",onClick:t=>async function(e,t){if(ee.type=e,t){const e=await c.detailLog(t);ee.title="日志详情",Object.assign(Z.value,e.data.data)}ee.visible=!0}("detail",e.row.id)},{default:S(()=>[...m[2]||(m[2]=[I(" 详情 ",-1)])]),_:1},8,["onClick"])),[[ue,["module_system:log:detail"]]]),D((C(),R(_,{type:"danger",size:"small",link:"",icon:"delete",onClick:t=>function(e){var t;null==(t=J.value)||t.handleDelete(e)}(e.row.id)},{default:S(()=>[...m[3]||(m[3]=[I(" 删除 ",-1)])]),_:1},8,["onClick"])),[[ue,["module_system:log:delete"]]])]),_:1})):T("",!0)]}),_:2},1032,["data","onSelectionChange"])),[[me,t]])])]),_:1},8,["content-config"]),L(f,{modelValue:ee.visible,"onUpdate:modelValue":m[0]||(m[0]=e=>ee.visible=e),title:ee.title,onClose:oe},{footer:S(()=>[V("div",Y,[L(_,{onClick:oe},{default:S(()=>[...m[4]||(m[4]=[I("取消",-1)])]),_:1}),D((C(),R(_,{type:"primary",onClick:oe},{default:S(()=>[...m[5]||(m[5]=[I(" 确定 ",-1)])]),_:1})),[[ue,["module_system:log:detail"]]])])]),default:S(()=>["detail"===ee.type?(C(),R(de,{key:0,column:8,border:"","label-width":"200px"},{default:S(()=>[L(B,{label:"日志类型",span:2},{default:S(()=>[L(A,{type:1===Z.value.type?"success":"primary"},{default:S(()=>[I(E(1===Z.value.type?"登录日志":"操作日志"),1)]),_:1},8,["type"])]),_:1}),L(B,{label:"请求路径",span:2},{default:S(()=>[I(E(Z.value.request_path),1)]),_:1}),L(B,{label:"请求方法",span:2},{default:S(()=>[L(A,{type:le(Z.value.request_method)},{default:S(()=>[I(E(Z.value.request_method),1)]),_:1},8,["type"])]),_:1}),L(B,{label:"响应状态码",span:2},{default:S(()=>[L(A,{type:te(Z.value.response_code)},{default:S(()=>[I(E(Z.value.response_code),1)]),_:1},8,["type"])]),_:1}),L(B,{label:"请求IP",span:2},{default:S(()=>[I(E(Z.value.request_ip),1)]),_:1}),L(B,{label:"处理时间",span:2},{default:S(()=>[I(E(Z.value.process_time),1)]),_:1}),L(B,{label:"浏览器",span:2},{default:S(()=>[I(E(Z.value.request_browser),1)]),_:1}),L(B,{label:"操作系统",span:2},{default:S(()=>[I(E(Z.value.request_os),1)]),_:1}),L(B,{label:"请求参数",span:8},{default:S(()=>[L(g,{value:Z.value.request_payload,height:"80px"},null,8,["value"])]),_:1}),L(B,{label:"响应数据",span:8},{default:S(()=>[L(g,{value:Z.value.response_json,height:"140px"},null,8,["value"])]),_:1}),L(B,{label:"登录地点",span:4},{default:S(()=>[I(E(Z.value.login_location),1)]),_:1}),L(B,{label:"描述",span:8},{default:S(()=>[I(E(Z.value.description),1)]),_:1}),L(B,{label:"创建人",span:4},{default:S(()=>{var e;return[I(E(null==(e=Z.value.created_by)?void 0:e.name),1)]}),_:1}),L(B,{label:"更新人",span:4},{default:S(()=>{var e;return[I(E(null==(e=Z.value.updated_by)?void 0:e.name),1)]}),_:1}),L(B,{label:"创建时间",span:4},{default:S(()=>[I(E(Z.value.created_time),1)]),_:1}),L(B,{label:"更新时间",span:4},{default:S(()=>[I(E(Z.value.updated_time),1)]),_:1})]),_:1})):T("",!0)]),_:1},8,["modelValue","title"]),L(b,{modelValue:ae.value,"onUpdate:modelValue":m[1]||(m[1]=e=>ae.value=e),"content-config":pe,"query-params":se.value,"page-data":re.value,"selection-data":ie.value},null,8,["modelValue","query-params","page-data","selection-data"])])}}});export{F as default};
|