1import{d as me,r as _,c as ye,q as _e,a as te,o as be,b as fe,e as c,g as l,f as t,j as m,t as i,w as n,i as u,u as q,aK as ge,aL as he,F as De,k as we,W as x,v as ke,s as d,n as le,A as p,C as Te,a9 as xe}from"./index-C6DB0I7I.js";import{E as Ae}from"./EmployeeSideMenu-CPND92bi.js";import{e as U}from"./employeeClient-DfmVny7z.js";import{g as Ce,b as Se}from"./applications-CyNQl7Ot.js";import{_ as Ve}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./authApi-gU8Bzwv7.js";import"./client-CRttDGue.js";import"./index-D5lHaTRS.js";import"./auth-jgLYqy-7.js";const Le=async(h,D)=>{const{data:R}=await U.get(`/employees/leave/balance?tenantId=${h}&employeeId=${D}`);return R.data},Me=async h=>{const{data:D}=await U.post("/employees/leave/apply",h);return D},Ye=async h=>(await U.get("/employees/compensatory-leaves/summary",{headers:{"X-Tenant-ID":h}})).data.data,$e={class:"leave-application-container"},je={class:"content-wrapper"},Ie={class:"balance-summary-card"},Re={key:0,class:"balance-section"},Be={class:"balance-grid"},ze={class:"balance-box"},Ee={class:"box-value"},Ne={class:"balance-box"},qe={class:"box-value"},Ue={class:"balance-box highlight"},Fe={class:"box-value"},He={key:1,class:"balance-section"},We={class:"balance-grid"},Je={class:"balance-box highlight"},Oe={class:"box-value"},Pe={class:"form-card"},Ke={class:"history-card"},Xe={class:"history-header"},Ge={class:"month-nav"},Qe={class:"month-nav-label"},Ze={key:0,class:"history-table-wrapper"},ea={class:"expand-detail"},aa={class:"detail-row"},ta={class:"detail-text"},la={key:0,class:"detail-row"},sa={key:1,class:"detail-row detail-row--danger"},oa={class:"detail-text"},na={key:2,class:"detail-row"},ia={class:"detail-label"},ra={key:1,class:"text-muted"},da={key:1,class:"mobile-history-cards"},ca={key:0,class:"empty-state"},ua={class:"mobile-header"},pa={class:"mobile-type"},va={class:"mobile-body"},ma={class:"mobile-row"},ya={class:"mobile-value"},_a={class:"mobile-row"},ba={class:"mobile-value"},fa={key:0,class:"mobile-row"},ga={class:"mobile-value"},ha={class:"mobile-row"},Da={class:"mobile-value reason"},wa={key:1,class:"mobile-row mobile-row--danger"},ka={class:"mobile-value reason"},Ta={key:2,class:"mobile-row"},xa={class:"mobile-label"},Aa={class:"mobile-value"},Ca={key:0,class:"mobile-footer"},Sa=me({__name:"LeaveApplication",setup(h){const D=_e(),R=ke(),V=_(),B=_(!1),L=_(null),A=_(null),M=_([]),F=new Date,Y=_(F.getFullYear()),b=_(F.getMonth()+1),se=()=>{b.value===1?(Y.value-=1,b.value=12):b.value-=1,C()},oe=()=>{b.value===12?(Y.value+=1,b.value=1):b.value+=1,C()},H=_(window.innerWidth<=768),$=_(null),w=ye(()=>D.query.tenant||localStorage.getItem("pwa_tenant_id")||""),j=te({id:"",employeeCode:"",fullName:"",tenantId:""}),o=te({leaveType:"paid-leave",halfDayType:null,startDate:"",endDate:"",reason:""}),ne={leaveType:[{required:!0,message:"ä¼æç¨®é¡ã鏿ãã¦ãã ãã",trigger:"change"}],startDate:[{required:!0,message:"éå§æ¥ã鏿ãã¦ãã ãã",trigger:"change"}],reason:[{required:!0,message:"çç±ãå
¥åãã¦ãã ãã",trigger:"blur"},{min:1,max:500,message:"1ã500æåã§å
¥åãã¦ãã ãã",trigger:"blur"}]},ie=()=>{const s=localStorage.getItem(`punch_session_${w.value}`);if(s)try{const e=JSON.parse(s);Object.assign(j,e)}catch{x.error("ã»ãã·ã§ã³æ
å ±ã®åå¾ã«å¤±æãã¾ãã"),O()}else x.error("ãã°ã¤ã³ãã¦ãã ãã"),O()},z=async()=>{try{const s=await Le(w.value,j.id);A.value=s}catch{}},W=async()=>{try{const s=await Ye(w.value);$.value=s}catch{}},C=async()=>{try{const s=Y.value,e=b.value,r=`${s}-${String(e).padStart(2,"0")}-01`,v=new Date(s,e,0).getDate(),f=`${s}-${String(e).padStart(2,"0")}-${String(v).padStart(2,"0")}`,S=await Ce(w.value,{applicationType:"leave",startDate:r,endDate:f});M.value=S.data.sort((N,I)=>new Date(I.createdAt).getTime()-new Date(N.createdAt).getTime())}catch{}},re=async()=>{V.value&&await V.value.validate(async s=>{if(s){B.value=!0;try{await Me({tenantId:w.value,employeeId:j.id,leaveType:o.leaveType,startDate:o.startDate,endDate:o.halfDayType||o.leaveType==="substitute-leave"?o.startDate:o.endDate,halfDayType:o.halfDayType,reason:o.reason}),x.success("伿ç³è«ãæåºãã¾ãã"),J(),await z(),await C()}catch(e){x.error(e.message||"伿ç³è«ã®æåºã«å¤±æãã¾ãã")}finally{B.value=!1}}})},J=()=>{var s;(s=V.value)==null||s.resetFields(),o.leaveType="paid-leave",o.halfDayType=null,o.startDate="",o.endDate="",o.reason=""},O=()=>{R.push({name:"EmployeePunch",query:{tenant:w.value}})},k=s=>new Date(s).toLocaleDateString("ja-JP",{year:"numeric",month:"2-digit",day:"2-digit"}),E=()=>{H.value=window.innerWidth<=768},P=(s,e,r)=>{const v=k(s);return r?`${v} (${r==="am"?"åå":"åå¾"})`:s===e?v:`${v} ã ${k(e)}`},de=s=>({"paid-leave":"æçµ¦ä¼æ","substitute-leave":"æ¯æ¿ä¼æ¥","special-leave":"ç¹å¥ä¼æ","childcare-leave":"è²å
伿¥","maternity-leave":"ç£åç£å¾ä¼æ¥","family-care-leave":"ä»è·ä¼æ¥","child-nursing-leave":"åã®çè·ä¼æ","workers-comp-leave":"å´ç½ä¼æ¥","nursing-leave":"ä»è·ä¼æ",absence
1:"æ¬ å¤"})[s]||s,K=s=>{var e;return de((e=s.applicationData)==null?void 0:e.leaveType)},X=s=>({pending:"æ¿èªå¾ ã¡",approved:"æ¿èªæ¸ã¿",rejected:"å´ä¸",cancelled:"ãã£ã³ã»ã«"})[s]||s,G=s=>({pending:"warning",approved:"success",rejected:"danger",cancelled:"info"})[s]||"info",Q=s=>{if(s.status==="cancelled")return!1;const e=new Date(s.startDate);e.setHours(0,0,0,0);const r=new Date;return r.setHours(0,0,0,0),e>r},Z=async s=>{var e,r;try{await xe.confirm(`ãã®ç³è«ãåãæ¶ãã¾ããï¼ 2æçµ¦ä¼æã®å ´åãæ®æ¥æ°ã復å ããã¾ãã`,"ç³è«åãæ¶ã確èª",{confirmButtonText:"åãæ¶ã",cancelButtonText:"ãã£ã³ã»ã«",type:"warning"}),L.value=s.id,await Se(s.id),x.success("ç³è«ãåãæ¶ãã¾ãã"),await C(),await z(),await W()}catch(v){v!=="cancel"&&x.error(((r=(e=v.response)==null?void 0:e.data)==null?void 0:r.message)||"ç³è«ã®åãæ¶ãã«å¤±æãã¾ãã")}finally{L.value=null}};return be(()=>{ie(),z(),C(),W(),window.addEventListener("resize",E),E()}),fe(()=>{window.removeEventListener("resize",E)}),(s,e)=>{const r=u("el-option"),v=u("el-select"),f=u("el-form-item"),S=u("el-radio"),N=u("el-radio-group"),I=u("el-date-picker"),ce=u("el-input"),T=u("el-button"),ue=u("el-form"),g=u("el-table-column"),ee=u("el-tag"),pe=u("el-tooltip"),ve=u("el-table");return d(),c("div",$e,[l(Ae,{title:"伿ç³è«",subtitle:j.fullName},null,8,["subtitle"]),t("div",je,[t("div",Ie,[A.value?(d(),c("div",Re,[e[8]||(e[8]=t("div",{class:"balance-title"},"æçµ¦ä¼æ",-1)),t("div",Be,[t("div",ze,[e[5]||(e[5]=t("div",{class:"box-label"},"ä»ä¸",-1)),t("div",Ee,i(A.value.grantedDays),1)]),t("div",Ne,[e[6]||(e[6]=t("div",{class:"box-label"},"æ¿èª",-1)),t("div",qe,i(A.value.usedDays),1)]),t("div",Ue,[e[7]||(e[7]=t("div",{class:"box-label"},"æ®",-1)),t("div",Fe,i(A.value.remainingDays),1)])])])):m("",!0),e[11]||(e[11]=t("div",{class:"balance-divider"},null,-1)),$.value?(d(),c("div",He,[e[10]||(e[10]=t("div",{class:"balance-title"},"æ¯æ¿ä¼æ¥",-1)),t("div",We,[t("div",Je,[e[9]||(e[9]=t("div",{class:"box-label"},"æ®",-1)),t("div",Oe,i($.value.substituteLeaveCount),1)])])])):m("",!0)]),t("div",Pe,[e[17]||(e[17]=t("h3",{class:"card-title"},"伿ç³è«ãã©ã¼ã ",-1)),l(ue,{ref_key:"formRef",ref:V,model:o,rules:ne,"label-width":"120px","label-position":"left"},{default:n(()=>[l(f,{label:"ä¼æç¨®é¡",prop:"leaveType"},{default:n(()=>[l(v,{modelValue:o.leaveType,"onUpdate:modelValue":e[0]||(e[0]=a=>o.leaveType=a),placeholder:"鏿ãã¦ãã ãã"},{default:n(()=>{var a;return[l(r,{label:"æçµ¦ä¼æ",value:"paid-leave"}),l(r,{label:"æ¯æ¿ä¼æ¥",value:"substitute-leave",disabled:!((a=$.value)!=null&&a.substituteLeaveCount)},null,8,["disabled"]),l(r,{label:"ç¹å¥ä¼æ",value:"special-leave"}),l(r,{label:"è²å 伿¥",value:"childcare-leave"}),l(r,{label:"ç£åç£å¾ä¼æ¥",value:"maternity-leave"}),l(r,{label:"ä»è·ä¼æ¥",value:"family-care-leave"}),l(r,{label:"åã®çè·ä¼æ",value:"child-nursing-leave"}),l(r,{label:"å´ç½ä¼æ¥",value:"workers-comp-leave"}),l(r,{label:"ä»è·ä¼æ",value:"nursing-leave"}),l(r,{label:"æ¬ å¤",value:"absence"})]}),_:1},8,["modelValue"])]),_:1}),l(f,{label:"忥伿",prop:"halfDayType"},{default:n(()=>[l(N,{modelValue:o.halfDayType,"onUpdate:modelValue":e[1]||(e[1]=a=>o.halfDayType=a)},{default:n(()=>[l(S,{value:null},{default:n(()=>[...e[12]||(e[12]=[p("çµæ¥",-1)])]),_:1}),l(S,{value:"am"},{default:n(()=>[...e[13]||(e[13]=[p("åååä¼",-1)])]),_:1}),l(S,{value:"pm"},{default:n(()=>[...e[14]||(e[14]=[p("åå¾åä¼",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(f,{label:"éå§æ¥",prop:"startDate"},{default:n(()=>[l(I,{modelValue:o.startDate,"onUpdate:modelValue":e[2]||(e[2]=a=>o.startDate=a),type:"date",placeholder:"éå§æ¥ã鏿",format:"YYYY/MM/DD","value-format":"YYYY-MM-DD"},null,8,["modelValue"])]),_:1}),!o.halfDayType&&o.leaveType!=="substitute-leave"?(d(),le(f,{key:0,label:"çµäºæ¥",prop:"endDate"},{default:n(()=>[l(I,{modelValue:o.endDate,"onUpdate:modelValue":e[3]||(e[3]=a=>o.endDate=a),type:"date",placeholder:"çµäºæ¥ã鏿",format:"YYYY/MM/DD","value-format":"YYYY-MM-DD"},null,8,["modelValue"])]),_:1})):m("",!0),l(f,{label:"çç±",prop:"reason"},{default:n(()=>[l(ce,{modelValue:o.reason,"onUpdate:modelValue":e[4]||(e[4]=a=>
2o.reason=a),type:"textarea",rows:4,placeholder:"伿çç±ãå
¥åãã¦ãã ãã",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1}),l(f,null,{default:n(()=>[l(T,{type:"primary",onClick:re,loading:B.value},{default:n(()=>[...e[15]||(e[15]=[p(" ç³è«ãã ",-1)])]),_:1},8,["loading"]),l(T,{onClick:J},{default:n(()=>[...e[16]||(e[16]=[p("ãªã»ãã",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),t("div",Ke,[t("div",Xe,[e[18]||(e[18]=t("h3",{class:"card-title"},"ç³è«å±¥æ´",-1)),t("div",Ge,[l(T,{icon:q(ge),circle:"",size:"small",onClick:se},null,8,["icon"]),t("span",Qe,i(Y.value)+"å¹´"+i(b.value)+"æ",1),l(T,{icon:q(he),circle:"",size:"small",onClick:oe},null,8,["icon"])])]),H.value?(d(),c("div",da,[M.value.length===0?(d(),c("div",ca," ç³è«å±¥æ´ãããã¾ãã ")):(d(!0),c(De,{key:1},we(M.value,a=>{var y,ae;return d(),c("div",{key:a.id,class:"mobile-history-item"},[t("div",ua,[t("div",pa,i(K(a)),1),l(ee,{type:G(a.status),size:"small"},{default:n(()=>[p(i(X(a.status)),1)]),_:2},1032,["type"])]),t("div",va,[t("div",ma,[e[22]||(e[22]=t("span",{class:"mobile-label"},"ç³è«æ¥:",-1)),t("span",ya,i(k(a.createdAt)),1)]),t("div",_a,[e[23]||(e[23]=t("span",{class:"mobile-label"},"æé:",-1)),t("span",ba,i(P(a.startDate,a.endDate,(y=a.applicationData)==null?void 0:y.halfDayType)),1)]),(ae=a.applicationData)!=null&&ae.halfDayType?(d(),c("div",fa,[e[24]||(e[24]=t("span",{class:"mobile-label"},"忥åºå:",-1)),t("span",ga,i(a.applicationData.halfDayType==="am"?"åååä¼":"åå¾åä¼"),1)])):m("",!0),t("div",ha,[e[25]||(e[25]=t("span",{class:"mobile-label"},"çç±:",-1)),t("span",Da,i(a.reason||"-"),1)]),a.rejectionReason?(d(),c("div",wa,[e[26]||(e[26]=t("span",{class:"mobile-label"},"å´ä¸çç±:",-1)),t("span",ka,i(a.rejectionReason),1)])):m("",!0),a.approvedAt?(d(),c("div",Ta,[t("span",xa,i(a.status==="rejected"?"å´ä¸æ¥æ:":"æ¿èªæ¥æ:"),1),t("span",Aa,i(k(a.approvedAt)),1)])):m("",!0)]),Q(a)?(d(),c("div",Ca,[l(T,{type:"danger",size:"small",onClick:Va=>Z(a),loading:L.value===a.id},{default:n(()=>[...e[27]||(e[27]=[p(" åãæ¶ã ",-1)])]),_:1},8,["onClick","loading"])])):m("",!0)])}),128))])):(d(),c("div",Ze,[l(ve,{data:M.value,border:"","header-cell-style":{background:"var(--jp-ai)",color:"#ffffff"}},{default:n(()=>[l(g,{type:"expand"},{default:n(({row:a})=>{var y;return[t("div",ea,[t("div",aa,[e[19]||(e[19]=t("span",{class:"detail-label"},"çç±:",-1)),t("span",ta,i(a.reason||"-"),1)]),(y=a.applicationData)!=null&&y.halfDayType?(d(),c("div",la,[e[20]||(e[20]=t("span",{class:"detail-label"},"忥åºå:",-1)),t("span",null,i(a.applicationData.halfDayType==="am"?"åååä¼":"åå¾åä¼"),1)])):m("",!0),a.rejectionReason?(d(),c("div",sa,[e[21]||(e[21]=t("span",{class:"detail-label"},"å´ä¸çç±:",-1)),t("span",oa,i(a.rejectionReason),1)])):m("",!0),a.approvedAt?(d(),c("div",na,[t("span",ia,i(a.status==="rejected"?"å´ä¸æ¥æ:":"æ¿èªæ¥æ:"),1),t("span",null,i(k(a.approvedAt)),1)])):m("",!0)])]}),_:1}),l(g,{prop:"createdAt",label:"ç³è«æ¥",width:"110"},{default:n(({row:a})=>[p(i(k(a.createdAt)),1)]),_:1}),l(g,{prop:"applicationType",label:"種é¡",width:"130"},{default:n(({row:a})=>[p(i(K(a)),1)]),_:1}),l(g,{prop:"startDate",label:"æé","min-width":"180"},{default:n(({row:a})=>{var y;return[p(i(P(a.startDate,a.endDate,(y=a.applicationData)==null?void 0:y.halfDayType)),1)]}),_:1}),l(g,{prop:"reason",label:"çç±","min-width":"120","show-overflow-tooltip":""}),l(g,{prop:"status",label:"ç¶æ
",width:"100"},{default:n(({row:a})=>[l(ee,{type:G(a.status),size:"small"},{default:n(()=>[p(i(X(a.status)),1)]),_:2},1032,["type"])]),_:1}),l(g,{label:"æä½",width:"60",align:"center"},{default:n(({row:a})=>[Q(a)?(d(),le(pe,{key:0,content:"åãæ¶ã",placement:"top"},{default:n(()=>[l(T,{size:"small",circle:"",type:"danger",icon:q(Te),loading:L.value===a.id,onClick:y=>Z(a)},null,8,["icon","loading","onClick"])]),_:2},1024)):(d(),c("span",ra,"-"))]),_:1})]),_:1},8,["data"])]))])])])}}}),Ea=Ve(Sa,[["__scopeId","data-v-2a0bdc7c"]]);export{Ea 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.