1import{A as q}from"./AdminLayout-CKFEpq6x.js";import{g as F}from"./AdminHeader-CxaYCU54.js";import{a as I}from"./client-CRttDGue.js";import{g as H}from"./leave-B-v6fAsE.js";import{g as K}from"./compensatoryLeave-vI58aRv1.js";import{g as Q}from"./schedules-j0TdpzPQ.js";import{g as U}from"./annualLeaveSchedule-CgKI2saE.js";import{d as Z,r as b,c as $,o as ee,W as te,n as i,w as t,s,g as l,j as g,i as f,az as h,A as p,t as u,f as c,e as ae}from"./index-C6DB0I7I.js";import{_ as ne}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./index-D5lHaTRS.js";import"./authApi-gU8Bzwv7.js";import"./employeeClient-DfmVny7z.js";const le=async(N,T=10,P)=>(await I.get("/tenant-admin/dashboard/recent-applications",{params:{tenantId:N,limit:T,status:P}})).data.data,oe=async(N,T=20)=>(await I.get("/tenant-admin/dashboard/missing-punch",{params:{tenantId:N,limit:T}})).data.data,re={class:"card-header"},se={class:"card-header"},ie={key:0,style:{"margin-left":"4px","font-size":"12px",color:"#909399"}},pe={class:"card-header"},de={class:"card-header"},ue={style:{"font-size":"11px",color:"#909399"}},ye={class:"card-header"},ce={class:"card-header"},me=Z({__name:"Dashboard",setup(N){const T=new Set(["overtime","missed-punch","punch-correction","punch-deletion","break-correction","business-trip"]),P=new Set(["transportation-daily","transportation-pass","transportation-business","misc-expense"]),w=b(""),L=b([]),S=$(()=>L.value.filter(n=>T.has(n.applicationType))),z=$(()=>L.value.filter(n=>P.has(n.applicationType))),A=b([]),D=b([]),E=b([]),C=b([]),G=$(()=>{const n=[],e=new Map;for(const r of z.value)if(r.applicationType==="transportation-daily"){const o=e.get(r.employee.id);o?(o.count++,r.createdAt>o.latest&&(o.latest=r.createdAt)):e.set(r.employee.id,{count:1,latest:r.createdAt,first:r})}else n.push({...r});return[...Array.from(e.values()).map(r=>({id:r.first.id,applicationType:"transportation-daily",createdAt:r.latest,employee:r.first.employee,groupCount:r.count})),...n].sort((r,o)=>o.createdAt.localeCompare(r.createdAt))}),v=$(()=>{const e=[...[{key:"attendance",count:S.value.length},{key:"expense",count:z.value.length},{key:"missingPunch",count:A.value.length},{key:"expiry",count:D.value.length},{key:"schedules",count:E.value.length},{key:"annualLeave",count:C.value.length}]].sort((r,o)=>o.count-r.count),m={};return e.forEach((r,o)=>{m[r.key]=o}),m}),V=async()=>{var n;try{const e=await F();w.value=((n=e.tenant)==null?void 0:n.id)||e.tenantId||""}catch{}},j=async()=>{try{if(!w.value)return;L.value=await le(w.value,50,"pending")}catch{}},O=async()=>{try{if(!w.value)return;A.value=await oe(w.value,20)}catch{}},Y=async()=>{try{const n=new Date,[e,m]=await Promise.all([H(30),K(30)]),r=e.map(d=>{var y;return{id:d.id,employeeName:((y=d.employee)==null?void 0:y.fullName)??"",type:"paid",daysRemaining:d.daysRemaining,expiryDate:d.expiryDate,daysToExpiry:Math.ceil((new Date(d.expiryDate).getTime()-n.getTime())/864e5)}}),o=m.map(d=>{var y;return{id:d.id,employeeName:((y=d.employee)==null?void 0:y.fullName)??"",type:"compensatory",daysRemaining:1,expiryDate:d.expiryDate,daysToExpiry:Math.ceil((new Date(d.expiryDate).getTime()-n.getTime())/864e5)}});D.value=[...r,...o].sort((d,y)=>d.daysToExpiry-y.daysToExpiry)}catch{}},J=async()=>{try{const{data:n}=await Q({status:"pending",pageSize:10});E.value=n}catch{}},W=async()=>{try{const n=await U();C.value=n.slice(0,10)}catch{}},R=n=>({leave:"æçµ¦ä¼æ",overtime:"æ®æ¥","missed-punch":"æå»æ¼ã","punch-correction":"æå»ä¿®æ£","punch-deletion":"æå»åé¤","break-correction":"伿©ä¿®æ£","business-trip":"åºå¼µ","special-leave":"ç¹å¥ä¼æ","substitute-work":"æ¯æ¿åºå¤","transportation-daily":"æ¯æ¥éå¤è²»","transportation-pass":"宿å¸","transportation-business":"åºå¼µæ
è²»","misc-expense":"éè²»","compensatory-leave":"代ä¼"})[n]||n,B=n=>({leave:"success",overtime:"info","missed-punch":"warning","punch-correction":"warning","punch-deletion":"danger","break-correction":"warning","business-trip":"primary","special-leave":"success","substitute-work":"info","transportation-daily":"","transportation-pass":"success","transportation-business":"warning","misc-expense":"info"})[n]||"",_=n=>new Date(n).toLocaleDateString("ja-JP",{month:"2-digit",day:"2-digit"});return ee(async()=>{const n=localStorage.getItem("route_error");n&&(te.error(n),localStorage.removeItem("route_error")),await V(),await Promise.all([j(),O(),Y(),J(),W()])}),(n,e)=>{const m=f("el-button"),r=f("el-empty"),o=f("el-table-column"),d=f("el-tag"),y=f("el-table"),k=f("el-card"),x=f("el-col"),X=f("el-row");return s(),i(q,{title:"ãã¼ã "},{default:t(()=>[l(X,{gutter:20,style:{"flex-wrap":"wrap"}},{default:t(()=>[S.value.length>0?(s(),i(x,{key:0,xs:24,lg:8,style:h({order:v.value.attendance,marginBottom:"20px"})},{default:t(()=>[l(k,null,{header:t(()=>
1[c("div",re,[e[7]||(e[7]=c("span",null,"夿 æªæ¿èª",-1)),l(m,{type:"primary",link:"",onClick:e[0]||(e[0]=a=>n.$router.push("/admin/applications/attendance?status=pending"))},{default:t(()=>[...e[6]||(e[6]=[p(" ãã¹ã¦è¦ã ",-1)])]),_:1})])]),default:t(()=>[S.value.length===0?(s(),i(r,{key:0,description:"æªæ¿èªã®å¤æ ç³è«ã¯ããã¾ãã"})):(s(),i(y,{key:1,data:S.value,stripe:"",style:{width:"100%"},"max-height":"300"},{default:t(()=>[l(o,{prop:"employee.fullName",label:"社å¡å",width:"100"}),l(o,{prop:"applicationType",label:"種å¥","min-width":"100"},{default:t(a=>[l(d,{type:B(a.row.applicationType),size:"small"},{default:t(()=>[p(u(R(a.row.applicationType)),1)]),_:2},1032,["type"])]),_:1}),l(o,{prop:"createdAt",label:"ç³è«æ¥",width:"80"},{default:t(a=>[p(u(_(a.row.createdAt)),1)]),_:1})]),_:1},8,["data"]))]),_:1})]),_:1},8,["style"])):g("",!0),z.value.length>0?(s(),i(x,{key:1,xs:24,lg:8,style:h({order:v.value.expense,marginBottom:"20px"})},{default:t(()=>[l(k,null,{header:t(()=>[c("div",se,[e[9]||(e[9]=c("span",null,"çµè²»æªæ¿èª",-1)),l(m,{type:"primary",link:"",onClick:e[1]||(e[1]=a=>n.$router.push("/admin/applications/expense?status=pending"))},{default:t(()=>[...e[8]||(e[8]=[p(" ãã¹ã¦è¦ã ",-1)])]),_:1})])]),default:t(()=>[z.value.length===0?(s(),i(r,{key:0,description:"æªæ¿èªã®çµè²»ç³è«ã¯ããã¾ãã"})):(s(),i(y,{key:1,data:G.value,stripe:"",style:{width:"100%"},"max-height":"300"},{default:t(()=>[l(o,{prop:"employee.fullName",label:"社å¡å",width:"100"}),l(o,{prop:"applicationType",label:"種å¥","min-width":"100"},{default:t(a=>[l(d,{type:B(a.row.applicationType),size:"small"},{default:t(()=>[p(u(R(a.row.applicationType)),1)]),_:2},1032,["type"]),a.row.groupCount>1?(s(),ae("span",ie," Ã"+u(a.row.groupCount)+"ä»¶ ",1)):g("",!0)]),_:1}),l(o,{prop:"createdAt",label:"ç³è«æ¥",width:"80"},{default:t(a=>[p(u(_(a.row.createdAt)),1)]),_:1})]),_:1},8,["data"]))]),_:1})]),_:1},8,["style"])):g("",!0),A.value.length>0?(s(),i(x,{key:2,xs:24,lg:8,style:h({order:v.value.missingPunch,marginBottom:"20px"})},{default:t(()=>[l(k,null,{header:t(()=>[c("div",pe,[e[11]||(e[11]=c("span",null,"æªæå»ä¸è¦§",-1)),l(m,{type:"primary",link:"",onClick:e[2]||(e[2]=a=>n.$router.push("/admin/timecards?viewMode=monthly&punchStatus=missing"))},{default:t(()=>[...e[10]||(e[10]=[p(" ãã¹ã¦è¦ã ",-1)])]),_:1})])]),default:t(()=>[A.value.length===0?(s(),i(r,{key:0,description:"æªæå»ã®ã¬ã³ã¼ãã¯ããã¾ãã"})):(s(),i(y,{key:1,data:A.value,stripe:"",style:{width:"100%"},"max-height":"300"},{default:t(()=>[l(o,{prop:"employee.fullName",label:"社å¡å",width:"120"}),l(o,{prop:"workDate",label:"æ¥ä»",width:"100"},{default:t(a=>[p(u(_(a.row.workDate)),1)]),_:1}),l(o,{label:"ä¸è¶³","min-width":"100"},{default:t(a=>[a.row.clockIn?a.row.clockOut?g("",!0):(s(),i(d,{key:1,type:"warning",size:"small"},{default:t(()=>[...e[13]||(e[13]=[p("éå¤",-1)])]),_:1})):(s(),i(d,{key:0,type:"danger",size:"small"},{default:t(()=>[...e[12]||(e[12]=[p("åºå¤",-1)])]),_:1}))]),_:1})]),_:1},8,["data"]))]),_:1})]),_:1},8,["style"])):g("",!0),D.value.length>0?(s(),i(x,{key:3,xs:24,lg:8,style:h({order:v.value.expiry,marginBottom:"20px"})},{default:t(()=>[l(k,null,{header:t(()=>[c("div",de,[e[15]||(e[15]=c("span",null,"æå¹æéã¢ã©ã¼ãï¼30æ¥ä»¥å
ï¼",-1)),l(m,{type:"primary",link:"",onClick:e[3]||(e[3]=a=>n.$router.push("/admin/leave-expiry"))},{default:t(()=>[...e[14]||(e[14]=[p(" ãã¹ã¦è¦ã ",-1)])]),_:1})])]),default:t(()=>[D.value.length===0?(s(),i(r,{key:0,description:"æéãè¿ã伿ã¯ããã¾ãã"})):(s(),i(y,{key:1,data:D.value,stripe:"",style:{width:"100%"},"max-height":"300"},{default:t(()=>[l(o,{prop:"employeeName",label:"社å¡å",width:"120"}),l(o,{prop:"type",label:"種å¥",width:"90"},{default:t(a=>[l(d,{type:a.row.type==="paid"?"success":"warning",size:"small"},{default:t(()=>[p(u(a.row.type==="paid"?"æçµ¦":"æ¯æ¿ä¼æ¥"),1)]),_:2},1032,["type"])]),_:1}),l(o,{prop:"daysRemaining",label:"æ®æ¥æ°",width:"80",align:"right"},{default:t(a=>[p(u(a.row.daysRemaining)+"æ¥ ",1)]),_:1}),l(o,{prop:"expiryDate",label:"æé","min-width":"100"},{default:t(a=>[c("span",{style:h(a.row.daysToExpiry<=7?"color: #f56c6c; font-weight: bold":"")},[p(u(_(a.row.expiryDate))+" ",1),c("span",ue,"ï¼æ®"+u(a.row.daysToExpiry)+"æ¥ï¼",1)],4)]),_:1})]),_:1},8,["data"]))]),_:1})]),_:1},8,["style"])):g("",!0),E.value.length>0?(s(),i(x,{key:4,xs:24,lg:8,style:h({order:v.value.schedules,marginBottom:"20px"})},{default:t(()=>[l(k,null,{header:t(()=>
1[c("div",ye,[e[17]||(e[17]=c("span",null,"ã¹ã±ã¸ã¥ã¼ã«æ¿èªå¾
ã¡",-1)),l(m,{type:"primary",link:"",onClick:e[4]||(e[4]=a=>n.$router.push("/admin/schedules"))},{default:t(()=>[...e[16]||(e[16]=[p(" ãã¹ã¦è¦ã ",-1)])]),_:1})])]),default:t(()=>[E.value.length===0?(s(),i(r,{key:0,description:"æ¿èªå¾
ã¡ã®ã¹ã±ã¸ã¥ã¼ã«ã¯ããã¾ãã"})):(s(),i(y,{key:1,data:E.value,stripe:"",style:{width:"100%"},"max-height":"300"},{default:t(()=>[l(o,{label:"社å¡å",width:"120"},{default:t(a=>{var M;return[p(u(a.row.employeeName||((M=a.row.employee)==null?void 0:M.fullName)||"-"),1)]}),_:1}),l(o,{prop:"scheduleType",label:"種å¥",width:"100"},{default:t(a=>[a.row.sourceType==="application"?(s(),i(d,{key:0,type:"warning",size:"small"},{default:t(()=>[p(u(a.row.scheduleApplicationTypeLabel||"-"),1)]),_:2},1024)):(s(),i(d,{key:1,type:a.row.scheduleType==="single"?"success":"primary",size:"small"},{default:t(()=>[p(u(a.row.scheduleType==="single"?"忥":"æé"),1)]),_:2},1032,["type"]))]),_:1}),l(o,{prop:"startDate",label:"éå§æ¥","min-width":"100"},{default:t(a=>[p(u(_(a.row.startDate)),1)]),_:1})]),_:1},8,["data"]))]),_:1})]),_:1},8,["style"])):g("",!0),C.value.length>0?(s(),i(x,{key:5,xs:24,lg:8,style:h({order:v.value.annualLeave,marginBottom:"20px"})},{default:t(()=>[l(k,null,{header:t(()=>[c("div",ce,[e[19]||(e[19]=c("span",null,"年次æçµ¦ä»ä¸ ä»ä¸å¾
ã¡",-1)),l(m,{type:"primary",link:"",onClick:e[5]||(e[5]=a=>n.$router.push("/admin/annual-leave"))},{default:t(()=>[...e[18]||(e[18]=[p(" ãã¹ã¦è¦ã ",-1)])]),_:1})])]),default:t(()=>[C.value.length===0?(s(),i(r,{key:0,description:"ä»ä¸å¾
ã¡ã®å¹´æ¬¡æçµ¦ã¯ããã¾ãã"})):(s(),i(y,{key:1,data:C.value,stripe:"",style:{width:"100%"},"max-height":"300"},{default:t(()=>[l(o,{prop:"fullName",label:"社å¡å",width:"100"}),l(o,{prop:"scheduledGrantDate",label:"ä»ä¸äºå®æ¥","min-width":"90"},{default:t(a=>[p(u(_(a.row.scheduledGrantDate)),1)]),_:1}),l(o,{prop:"daysToGrant",label:"æ¥æ°",width:"60",align:"right"},{default:t(a=>[p(u(a.row.daysToGrant)+"æ¥",1)]),_:1})]),_:1},8,["data"]))]),_:1})]),_:1},8,["style"])):g("",!0)]),_:1})]),_:1})}}}),Ee=ne(me,[["__scopeId","data-v-82142028"]]);export{Ee as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.