mirror of
https://gitee.com/niucloud-team/niucloud-admin.git
synced 2025-12-30 10:10:16 +00:00
2 lines
7.0 KiB
JavaScript
2 lines
7.0 KiB
JavaScript
import{E as Y,a as ee}from"./index-c5914bde.js";import{r as E,l as te,W as z}from"./index-51138976.js";import{b as K,d as x}from"./index-cf9a2dd7.js";import{q as ae,c as b,d as L,b as W,e as p,f as g,F as B,z as F,B as _,u as t,H as J,g as T,n as w,h as O,_ as Q,R as se,r as ne,a_ as H,G as oe,y as N,x as $,A as I,D as q,a1 as A,C as R,v as re,l as le}from"./plugin-vue_export-helper-85a4d40b.js";import{d as P}from"./customParseFormat-40c50080.js";import{u as U}from"./index-1ad115d7.js";import{I as X,U as Z}from"./event-f85d77b0.js";import{u as ce}from"./index-de1d3b53.js";const de=(e,l)=>{const m=e.subtract(1,"month").endOf("month").date();return E(l).map((d,i)=>m-(l-i-1))},ie=e=>{const l=e.daysInMonth();return E(l).map((m,d)=>d+1)},ue=e=>E(e.length/7).map(l=>{const m=l*7;return e.slice(m,m+7)}),me=K({selectedDay:{type:x(Object)},range:{type:x(Array)},date:{type:x(Object),required:!0},hideHeader:{type:Boolean}}),ye={pick:e=>ae(e)},he=(e,l)=>{P.extend(te);const m=P.localeData().firstDayOfWeek(),{t:d,lang:i}=U(),D=P().locale(i.value),f=b(()=>!!e.range&&!!e.range.length),k=b(()=>{let s=[];if(f.value){const[a,n]=e.range,c=E(n.date()-a.date()+1).map(r=>({text:a.date()+r,type:"current"}));let u=c.length%7;u=u===0?0:7-u;const o=E(u).map((r,y)=>({text:y+1,type:"next"}));s=c.concat(o)}else{const a=e.date.startOf("month").day(),n=de(e.date,(a-m+7)%7).map(r=>({text:r,type:"prev"})),c=ie(e.date).map(r=>({text:r,type:"current"}));s=[...n,...c];const u=7-(s.length%7||7),o=E(u).map((r,y)=>({text:y+1,type:"next"}));s=s.concat(o)}return ue(s)}),M=b(()=>{const s=m;return s===0?z.map(a=>d(`el.datepicker.weeks.${a}`)):z.slice(s).concat(z.slice(0,s)).map(a=>d(`el.datepicker.weeks.${a}`))}),h=(s,a)=>{switch(a){case"prev":return e.date.startOf("month").subtract(1,"month").date(s);case"next":return e.date.startOf("month").add(1,"month").date(s);case"current":return e.date.date(s)}};return{now:D,isInRange:f,rows:k,weekDays:M,getFormattedDate:h,handlePickDay:({text:s,type:a})=>{const n=h(s,a);l("pick",n)},getSlotData:({text:s,type:a})=>{const n=h(s,a);return{isSelected:n.isSame(e.selectedDay),type:`${a}-month`,day:n.format("YYYY-MM-DD"),date:n.toDate()}}}},fe={key:0},pe=["onClick"],De=L({name:"DateTable"}),ke=L({...De,props:me,emits:ye,setup(e,{expose:l,emit:m}){const d=e,{isInRange:i,now:D,rows:f,weekDays:k,getFormattedDate:M,handlePickDay:h,getSlotData:S}=he(d,m),v=W("calendar-table"),s=W("calendar-day"),a=({text:n,type:c})=>{const u=[c];if(c==="current"){const o=M(n,c);o.isSame(d.selectedDay,"day")&&u.push(s.is("selected")),o.isSame(D,"day")&&u.push(s.is("today"))}return u};return l({getFormattedDate:M}),(n,c)=>(p(),g("table",{class:w([t(v).b(),t(v).is("range",t(i))]),cellspacing:"0",cellpadding:"0"},[n.hideHeader?J("v-if",!0):(p(),g("thead",fe,[(p(!0),g(B,null,F(t(k),u=>(p(),g("th",{key:u},_(u),1))),128))])),T("tbody",null,[(p(!0),g(B,null,F(t(f),(u,o)=>(p(),g("tr",{key:o,class:w({[t(v).e("row")]:!0,[t(v).em("row","hide-border")]:o===0&&n.hideHeader})},[(p(!0),g(B,null,F(u,(r,y)=>(p(),g("td",{key:y,class:w(a(r)),onClick:C=>t(h)(r)},[T("div",{class:w(t(s).b())},[O(n.$slots,"date-cell",{data:t(S)(r)},()=>[T("span",null,_(r.text),1)])],2)],10,pe))),128))],2))),128))])],2))}});var G=Q(ke,[["__file","/home/runner/work/element-plus/element-plus/packages/components/calendar/src/date-table.vue"]]);const ve=(e,l)=>{const m=e.endOf("month"),d=l.startOf("month"),D=m.isSame(d,"week")?d.add(1,"week"):d;return[[e,m],[D.startOf("week"),l]]},ge=(e,l)=>{const m=e.endOf("month"),d=e.add(1,"month").startOf("month"),i=m.isSame(d,"week")?d.add(1,"week"):d,D=i.endOf("month"),f=l.startOf("month"),k=D.isSame(f,"week")?f.add(1,"week"):f;return[[e,m],[i.startOf("week"),D],[k.startOf("week"),l]]},Me=(e,l,m)=>{const d=se(),{lang:i}=U(),D=ne(),f=P().locale(i.value),k=b({get(){return e.modelValue?h.value:D.value},set(o){if(!o)return;D.value=o;const r=o.toDate();l(X,r),l(Z,r)}}),M=b(()=>{if(!e.range)return[];const o=e.range.map(C=>P(C).locale(i.value)),[r,y]=o;return r.isAfter(y)?[]:r.isSame(y,"month")?n(r,y):r.add(1,"month").month()!==y.month()?[]:n(r,y)}),h=b(()=>e.modelValue?P(e.modelValue).locale(i.value):k.value||(M.value.length?M.value[0][0]:f)),S=b(()=>h.value.subtract(1,"month").date(1)),v=b(()=>h.value.add(1,"month").date(1)),s=b(()=>h.value.subtract(1,"year").date(1)),a=b(()=>h.value.add(1,"year").date(1)),n=(o,r)=>{const y=o.startOf("week"),C=r.endOf("week"),V=y.get("month"),j=C.get("month");return V===j?[[y,C]]:(V+1)%12===j?ve(y,C):V+2===j||(V+1)%11===j?ge(y,C):[]},c=o=>{k.value=o},u=o=>{const y={"prev-month":S.value,"next-month":v.value,"prev-year":s.value,"next-year":a.value,today:f}[o];y.isSame(h.value,"day")||c(y)};return ce({from:'"dateCell"',replacement:'"date-cell"',scope:"ElCalendar",version:"2.3.0",ref:"https://element-plus.org/en-US/component/calendar.html#slots",type:"Slot"},b(()=>!!d.dateCell)),{calculateValidatedDateRange:n,date:h,realSelectedDay:k,pickDay:c,selectDate:u,validatedRange:M}},be=e=>oe(e)&&e.length===2&&e.every(l=>H(l)),we=K({modelValue:{type:Date},range:{type:x(Array),validator:be}}),Se={[Z]:e=>H(e),[X]:e=>H(e)},Ce="ElCalendar",$e=L({name:Ce}),Oe=L({...$e,props:we,emits:Se,setup(e,{expose:l,emit:m}){const d=e,i=W("calendar"),{calculateValidatedDateRange:D,date:f,pickDay:k,realSelectedDay:M,selectDate:h,validatedRange:S}=Me(d,m),{t:v}=U(),s=b(()=>{const a=`el.datepicker.month${f.value.format("M")}`;return`${f.value.year()} ${v("el.datepicker.year")} ${v(a)}`});return l({selectedDay:M,pickDay:k,selectDate:h,calculateValidatedDateRange:D}),(a,n)=>(p(),g("div",{class:w(t(i).b())},[T("div",{class:w(t(i).e("header"))},[O(a.$slots,"header",{date:t(s)},()=>[T("div",{class:w(t(i).e("title"))},_(t(s)),3),t(S).length===0?(p(),g("div",{key:0,class:w(t(i).e("button-group"))},[N(t(ee),null,{default:$(()=>[N(t(Y),{size:"small",onClick:n[0]||(n[0]=c=>t(h)("prev-month"))},{default:$(()=>[I(_(t(v)("el.datepicker.prevMonth")),1)]),_:1}),N(t(Y),{size:"small",onClick:n[1]||(n[1]=c=>t(h)("today"))},{default:$(()=>[I(_(t(v)("el.datepicker.today")),1)]),_:1}),N(t(Y),{size:"small",onClick:n[2]||(n[2]=c=>t(h)("next-month"))},{default:$(()=>[I(_(t(v)("el.datepicker.nextMonth")),1)]),_:1})]),_:1})],2)):J("v-if",!0)])],2),t(S).length===0?(p(),g("div",{key:0,class:w(t(i).e("body"))},[N(G,{date:t(f),"selected-day":t(M),onPick:t(k)},q({_:2},[a.$slots["date-cell"]||a.$slots.dateCell?{name:"date-cell",fn:$(c=>[a.$slots["date-cell"]?O(a.$slots,"date-cell",A(R({key:0},c))):O(a.$slots,"dateCell",A(R({key:1},c)))])}:void 0]),1032,["date","selected-day","onPick"])],2)):(p(),g("div",{key:1,class:w(t(i).e("body"))},[(p(!0),g(B,null,F(t(S),(c,u)=>(p(),re(G,{key:u,date:c[0],"selected-day":t(M),range:c,"hide-header":u!==0,onPick:t(k)},q({_:2},[a.$slots["date-cell"]||a.$slots.dateCell?{name:"date-cell",fn:$(o=>[a.$slots["date-cell"]?O(a.$slots,"date-cell",A(R({key:0},o))):O(a.$slots,"dateCell",A(R({key:1},o)))])}:void 0]),1032,["date","selected-day","range","hide-header","onPick"]))),128))],2))],2))}});var _e=Q(Oe,[["__file","/home/runner/work/element-plus/element-plus/packages/components/calendar/src/calendar.vue"]]);const xe=le(_e);export{xe as E};
|