import{$ as e,H as t,L as n,P as r,V as i,Vt as a,Wt as o,_ as s,d as c,et as l,f as u,i as d,lt as f,p,st as m,u as h,v as g,z as ee}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as _,t as v}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{logApi as y}from"./system-DEm1DLCy.js";var b={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},C={class:`px-2`},w={class:`px-5 py-3 border-t border-gray-50`},T={class:`json-block`},E={class:`json-block`},D={class:`json-block error-block`},O=v({__name:`index`,setup(v){let O=f([]),k=f(0),A=f(!1),j=f(!1),M=f(null),N=m({keyword:``,module:``,date_range:[],status:``}),P=m({page:1,page_size:20}),F=[`认证`,`用户管理`,`角色管理`,`菜单管理`,`权限管理`,`门店管理`,`部门管理`,`客户管理`,`房务管理`,`护理管理`,`月子餐`,`财务管理`,`人事管理`,`系统设置`];async function I(){A.value=!0;try{let[e,t]=N.date_range||[],n=await y.getList({keyword:N.keyword,module:N.module,status:N.status,start_date:e||``,end_date:t||``,page:P.page,page_size:P.page_size});O.value=n.data?.list||[],k.value=n.data?.total||0}catch{}finally{A.value=!1}}function L(){P.page=1,I()}function R(){Object.assign(N,{keyword:``,module:``,date_range:[],status:``}),L()}function z(e){M.value=e,j.value=!0}function B(e){P.page=e,I()}function V(e){P.page_size=e,P.page=1,I()}function H(e){return{success:`success`,fail:`danger`,error:`danger`}[e]||`info`}function U(e){return{success:`成功`,fail:`失败`,error:`异常`}[e]||e||`-`}function W(e){return{GET:`info`,POST:`success`,PUT:`warning`,PATCH:`warning`,DELETE:`danger`}[e]||``}function G(e){if(!e)return`-`;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}return r(I),(r,f)=>{let m=i(`Search`),v=i(`el-icon`),y=i(`el-input`),I=i(`el-option`),K=i(`el-select`),q=i(`el-date-picker`),J=i(`el-button`),Y=i(`el-table-column`),X=i(`el-tag`),Z=i(`el-table`),Q=i(`el-pagination`),$=i(`el-descriptions-item`),te=i(`el-descriptions`),ne=i(`el-dialog`),re=t(`loading`);return n(),p(`div`,b,[h(`div`,x,[g(y,{modelValue:N.keyword,"onUpdate:modelValue":f[0]||=e=>N.keyword=e,placeholder:`搜索操作人/IP/描述`,style:{width:`220px`},clearable:``,onKeydown:_(L,[`enter`])},{prefix:e(()=>[g(v,null,{default:e(()=>[g(m)]),_:1})]),_:1},8,[`modelValue`]),g(K,{modelValue:N.module,"onUpdate:modelValue":f[1]||=e=>N.module=e,placeholder:`操作模块`,clearable:``,style:{width:`150px`}},{default:e(()=>[(n(),p(d,null,ee(F,e=>g(I,{key:e,label:e,value:e},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),g(K,{modelValue:N.status,"onUpdate:modelValue":f[2]||=e=>N.status=e,placeholder:`操作状态`,clearable:``,style:{width:`130px`}},{default:e(()=>[g(I,{label:`成功`,value:`success`}),g(I,{label:`失败`,value:`fail`}),g(I,{label:`异常`,value:`error`})]),_:1},8,[`modelValue`]),g(q,{modelValue:N.date_range,"onUpdate:modelValue":f[3]||=e=>N.date_range=e,type:`daterange`,"range-separator":`至`,"start-placeholder":`开始日期`,"end-placeholder":`结束日期`,"value-format":`YYYY-MM-DD`,style:{width:`260px`}},null,8,[`modelValue`]),g(J,{type:`primary`,icon:`Search`,onClick:L},{default:e(()=>[...f[8]||=[s(`查询`,-1)]]),_:1}),g(J,{icon:`Refresh`,onClick:R},{default:e(()=>[...f[9]||=[s(`重置`,-1)]]),_:1})]),h(`div`,S,[f[11]||=h(`div`,{class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},[h(`div`,{class:`flex items-center gap-3`})],-1),h(`div`,C,[l((n(),c(Z,{data:O.value,style:{width:`100%`}},{default:e(()=>[g(Y,{prop:`operator_name`,label:`操作人`,width:`100`}),g(Y,{prop:`module`,label:`模块`,width:`120`}),g(Y,{prop:`action`,label:`操作描述`,"min-width":`200`,"show-overflow-tooltip":``}),g(Y,{label:`请求方法`,width:`90`,align:`center`},{default:e(({row:t})=>[g(X,{type:W(t.method),size:`small`},{default:e(()=>[s(o(t.method),1)]),_:2},1032,[`type`])]),_:1}),g(Y,{prop:`request_url`,label:`请求路径`,"min-width":`200`,"show-overflow-tooltip":``}),g(Y,{prop:`ip`,label:`IP地址`,width:`140`}),g(Y,{prop:`cost_ms`,label:`耗时(ms)`,width:`90`,align:`right`},{default:e(({row:e})=>[h(`span`,{class:a(e.cost_ms>1e3?`text-danger`:``)},o(e.cost_ms??`-`),3)]),_:1}),g(Y,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[g(X,{type:H(t.status),size:`small`},{default:e(()=>[s(o(U(t.status)),1)]),_:2},1032,[`type`])]),_:1}),g(Y,{prop:`created_at`,label:`操作时间`,"min-width":`160`}),g(Y,{label:`操作`,width:`80`,fixed:`right`,align:`center`},{default:e(({row:t})=>[g(J,{size:`small`,type:`primary`,text:``,onClick:e=>z(t)},{default:e(()=>[...f[10]||=[s(`详情`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[re,A.value]])]),h(`div`,w,[g(Q,{"current-page":P.page,"onUpdate:currentPage":f[4]||=e=>P.page=e,"page-size":P.page_size,"onUpdate:pageSize":f[5]||=e=>P.page_size=e,total:k.value,"page-sizes":[20,50,100],layout:`total, sizes, prev, pager, next, jumper`,background:``,onCurrentChange:B,onSizeChange:V},null,8,[`current-page`,`page-size`,`total`])])]),g(ne,{modelValue:j.value,"onUpdate:modelValue":f[7]||=e=>j.value=e,title:`日志详情`,width:`700px`,"destroy-on-close":``},{footer:e(()=>[g(J,{onClick:f[6]||=e=>j.value=!1},{default:e(()=>[...f[15]||=[s(`关闭`,-1)]]),_:1})]),default:e(()=>[M.value?(n(),p(d,{key:0},[g(te,{column:2,border:``},{default:e(()=>[g($,{label:`操作人`},{default:e(()=>[s(o(M.value.operator_name),1)]),_:1}),g($,{label:`操作模块`},{default:e(()=>[s(o(M.value.module),1)]),_:1}),g($,{label:`操作描述`,span:2},{default:e(()=>[s(o(M.value.action),1)]),_:1}),g($,{label:`请求方法`},{default:e(()=>[g(X,{type:W(M.value.method),size:`small`},{default:e(()=>[s(o(M.value.method),1)]),_:1},8,[`type`])]),_:1}),g($,{label:`请求状态`},{default:e(()=>[g(X,{type:H(M.value.status),size:`small`},{default:e(()=>[s(o(U(M.value.status)),1)]),_:1},8,[`type`])]),_:1}),g($,{label:`请求路径`,span:2},{default:e(()=>[s(o(M.value.request_url),1)]),_:1}),g($,{label:`客户端IP`},{default:e(()=>[s(o(M.value.ip),1)]),_:1}),g($,{label:`耗时`},{default:e(()=>[s(o(M.value.cost_ms??`-`)+` ms`,1)]),_:1}),g($,{label:`浏览器`,span:2},{default:e(()=>[s(o(M.value.user_agent||`-`),1)]),_:1}),g($,{label:`操作时间`,span:2},{default:e(()=>[s(o(M.value.created_at),1)]),_:1})]),_:1}),M.value.request_params?(n(),p(d,{key:0},[f[12]||=h(`div`,{class:`detail-section`},`请求参数`,-1),h(`pre`,T,o(G(M.value.request_params)),1)],64)):u(``,!0),M.value.response_data?(n(),p(d,{key:1},[f[13]||=h(`div`,{class:`detail-section`},`响应内容`,-1),h(`pre`,E,o(G(M.value.response_data)),1)],64)):u(``,!0),M.value.error_message?(n(),p(d,{key:2},[f[14]||=h(`div`,{class:`detail-section text-danger`},`错误信息`,-1),h(`pre`,D,o(M.value.error_message),1)],64)):u(``,!0)],64)):u(``,!0)]),_:1},8,[`modelValue`])])}}},[[`__scopeId`,`data-v-648c01e9`]]);export{O as default};