Files
zyt/server/public/admin/assets/dept-tongji-D6Zj3uqO.js
T
2026-07-03 12:07:34 +08:00

2 lines
4.5 KiB
JavaScript

import{o as S,ap as Y,q as r,r as y,v as t,D as a,b9 as j,b6 as P,bm as U,F as q,G,O as k,bn as I,bc as O,bb as K,L as n,bp as W,P as A,K as H,s as p,bg as J,ac as Q,bi as X,bj as Z,bk as $,br as ee,T as m,bB as te,M as g,ba as ae,E as le}from"./.pnpm-BGZW0UGg.js";import{d as se,e as oe}from"./doctor-CF92xvl4.js";import{_ as ne}from"./index-CeIwrh_6.js";const de={class:"dept-statistics-page"},ie={key:0},re={class:"status-overview"},ce={class:"status-tags"},_e={key:1,class:"empty-data"},pe=S({__name:"dept-tongji",setup(me){const u=g(!1),V=g([]),b=g([]),i=g([]),o=ae({dept_id:"",time_type:"today",start_date:"",end_date:""}),D=async()=>{try{const s=await se(),e=h=>{let c=[];return h.forEach(d=>{c.push({id:d.id,name:d.name}),d.children&&d.children.length>0&&(c=c.concat(e(d.children)))}),c};V.value=e(s)||[]}catch(s){console.error("获取部门列表失败:",s)}},v=async()=>{u.value=!0;try{const s={time_type:o.time_type};o.dept_id&&(s.dept_id=o.dept_id),o.time_type==="custom"&&i.value&&i.value.length===2&&(s.start_date=i.value[0],s.end_date=i.value[1]);const e=await oe(s);b.value=e.lists||[]}catch(s){console.error("获取统计数据错误:",s),le.error(s.msg||"获取统计数据失败")}finally{u.value=!1}},T=()=>{o.time_type!=="custom"&&(i.value=[])},x=()=>{o.dept_id="",o.time_type="today",i.value=[],v()},B=s=>s>=80?"success":s>=60?"primary":"warning";return Y(()=>{D(),v()}),(s,e)=>{const h=I,c=U,d=P,f=K,L=O,z=W,w=H,M=j,C=J,E=$,_=ee,R=Z,F=te,N=X;return r(),y("div",de,[t(C,{class:"mb-4",shadow:"hover"},{header:a(()=>[...e[3]||(e[3]=[p("div",{class:"card-header"},[p("span",{class:"card-title"},"筛选条件")],-1)])]),default:a(()=>[t(M,{inline:!0,model:o,class:"filter-form"},{default:a(()=>[t(d,{label:"部门"},{default:a(()=>[t(c,{modelValue:o.dept_id,"onUpdate:modelValue":e[0]||(e[0]=l=>o.dept_id=l),placeholder:"全部部门",clearable:"",filterable:"",style:{width:"200px"}},{default:a(()=>[(r(!0),y(q,null,G(V.value,l=>(r(),k(h,{key:l.id,label:l.name,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(d,{label:"时间范围"},{default:a(()=>[t(L,{modelValue:o.time_type,"onUpdate:modelValue":e[1]||(e[1]=l=>o.time_type=l),onChange:T},{default:a(()=>[t(f,{label:"today"},{default:a(()=>[...e[4]||(e[4]=[n("今天",-1)])]),_:1}),t(f,{label:"week"},{default:a(()=>[...e[5]||(e[5]=[n("最近7天",-1)])]),_:1}),t(f,{label:"month"},{default:a(()=>[...e[6]||(e[6]=[n("最近30天",-1)])]),_:1}),t(f,{label:"custom"},{default:a(()=>[...e[7]||(e[7]=[n("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o.time_type==="custom"?(r(),k(d,{key:0},{default:a(()=>[t(z,{modelValue:i.value,"onUpdate:modelValue":e[2]||(e[2]=l=>i.value=l),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",style:{width:"260px"}},null,8,["modelValue"])]),_:1})):A("",!0),t(d,null,{default:a(()=>[t(w,{type:"primary",onClick:v,loading:u.value},{default:a(()=>[...e[8]||(e[8]=[n("查询",-1)])]),_:1},8,["loading"]),t(w,{onClick:x},{default:a(()=>[...e[9]||(e[9]=[n("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),Q((r(),k(C,{class:"mb-4",shadow:"hover"},{header:a(()=>[...e[10]||(e[10]=[p("div",{class:"card-header"},[p("span",{class:"card-title"},"部门统计数据")],-1)])]),default:a(()=>[b.value.length>0?(r(),y("div",ie,[t(R,{data:b.value,style:{width:"100%"},"header-cell-style":{background:"#f5f7fa",color:"#606266",fontWeight:"600"}},{default:a(()=>[t(E,{prop:"dept_name",label:"部门名称",width:"120"}),t(E,{label:"状态明细","min-width":"700"},{default:a(({row:l})=>[p("div",re,[p("div",ce,[t(_,{type:"info",size:"small",class:"compact-tag"},{default:a(()=>[n(" 已挂号: "+m(l.registered_count),1)]),_:2},1024),t(_,{type:"success",size:"small",class:"compact-tag"},{default:a(()=>[n(" 已完成: "+m(l.completed_count),1)]),_:2},1024),t(_,{type:"danger",size:"small",class:"compact-tag"},{default:a(()=>[n(" 已取消: "+m(l.canceled_count),1)]),_:2},1024),t(_,{type:"warning",size:"small",class:"compact-tag"},{default:a(()=>[n(" 已过号: "+m(l.expired_count),1)]),_:2},1024),t(_,{type:"primary",size:"small",class:"compact-tag"},{default:a(()=>[n(" 总数量: "+m(l.total_count),1)]),_:2},1024),t(_,{type:B(l.completion_rate),size:"small",class:"compact-tag"},{default:a(()=>[n(" 完成率: "+m(l.completion_rate)+"% ",1)]),_:2},1032,["type"])])])]),_:1}),t(E,{prop:"time_range",label:"统计时间","min-width":"200"})]),_:1},8,["data"])])):(r(),y("div",_e,[t(F,{description:"暂无统计数据"})]))]),_:1})),[[N,u.value]])])}}}),ge=ne(pe,[["__scopeId","data-v-0b7e0115"]]);export{ge as default};