|
|
-import{c as O,aj as E,bm as f,d as T,r as g,e as b,w as y,bJ as m,a as I,h as N,al as S,k as j}from"./index-4af1bd1c.js";import{s as A,f as B,a as u,g as J,p as K}from"./utils-6cdfc8c1.js";import{P as R}from"./index-f1b12a2e.js";const x=new Date().getFullYear(),[U]=O("date-picker"),_=E({},A,{columnsType:{type:Array,default:()=>["year","month","day"]},minDate:{type:Date,default:()=>new Date(x-10,0,1),validator:f},maxDate:{type:Date,default:()=>new Date(x+10,11,31),validator:f}});var $=T({name:U,props:_,emits:["confirm","cancel","change","update:modelValue"],setup(a,{emit:r,slots:v}){const n=g(a.modelValue),l=g(!1),M=()=>{const e=a.minDate.getFullYear(),t=a.maxDate.getFullYear();return u(e,t,"year",a.formatter,a.filter)},i=e=>e===a.minDate.getFullYear(),d=e=>e===a.maxDate.getFullYear(),Y=e=>e===a.minDate.getMonth()+1,V=e=>e===a.maxDate.getMonth()+1,s=e=>{const{minDate:t,columnsType:o}=a,c=o.indexOf(e),D=l.value?a.modelValue[c]:n.value[c];if(D)return+D;switch(e){case"year":return t.getFullYear();case"month":return t.getMonth()+1;case"day":return t.getDate()}},k=()=>{const e=s("year"),t=i(e)?a.minDate.getMonth()+1:1,o=d(e)?a.maxDate.getMonth()+1:12;return u(t,o,"month",a.formatter,a.filter)},P=()=>{const e=s("year"),t=s("month"),o=i(e)&&Y(t)?a.minDate.getDate():1,c=d(e)&&V(t)?a.maxDate.getDate():J(e,t);return u(o,c,"day",a.formatter,a.filter)},h=b(()=>a.columnsType.map(e=>{switch(e){case"year":return M();case"month":return k();case"day":return P();default:throw new Error(`[Vant] DatePicker: unsupported columns type: ${e}`)}}));y(n,e=>{m(e,a.modelValue)||r("update:modelValue",e)}),y(()=>a.modelValue,(e,t)=>{l.value=m(t,n.value),e=B(e,h.value),m(e,n.value)||(n.value=e),l.value=!1},{immediate:!0});const C=(...e)=>r("change",...e),w=(...e)=>r("cancel",...e),F=(...e)=>r("confirm",...e);return()=>I(R,N({modelValue:n.value,"onUpdate:modelValue":e=>n.value=e,columns:h.value,onChange:C,onCancel:w,onConfirm:F},S(a,K)),v)}});const H=j($);export{H as D};
|
|
|
+import{c as O,aj as E,bm as f,d as T,r as g,e as b,w as y,bJ as m,a as I,h as N,al as S,k as j}from"./index-2fb20f9e.js";import{s as A,f as B,a as u,g as J,p as K}from"./utils-9dbca776.js";import{P as R}from"./index-0ab89bab.js";const x=new Date().getFullYear(),[U]=O("date-picker"),_=E({},A,{columnsType:{type:Array,default:()=>["year","month","day"]},minDate:{type:Date,default:()=>new Date(x-10,0,1),validator:f},maxDate:{type:Date,default:()=>new Date(x+10,11,31),validator:f}});var $=T({name:U,props:_,emits:["confirm","cancel","change","update:modelValue"],setup(a,{emit:r,slots:v}){const n=g(a.modelValue),l=g(!1),M=()=>{const e=a.minDate.getFullYear(),t=a.maxDate.getFullYear();return u(e,t,"year",a.formatter,a.filter)},i=e=>e===a.minDate.getFullYear(),d=e=>e===a.maxDate.getFullYear(),Y=e=>e===a.minDate.getMonth()+1,V=e=>e===a.maxDate.getMonth()+1,s=e=>{const{minDate:t,columnsType:o}=a,c=o.indexOf(e),D=l.value?a.modelValue[c]:n.value[c];if(D)return+D;switch(e){case"year":return t.getFullYear();case"month":return t.getMonth()+1;case"day":return t.getDate()}},k=()=>{const e=s("year"),t=i(e)?a.minDate.getMonth()+1:1,o=d(e)?a.maxDate.getMonth()+1:12;return u(t,o,"month",a.formatter,a.filter)},P=()=>{const e=s("year"),t=s("month"),o=i(e)&&Y(t)?a.minDate.getDate():1,c=d(e)&&V(t)?a.maxDate.getDate():J(e,t);return u(o,c,"day",a.formatter,a.filter)},h=b(()=>a.columnsType.map(e=>{switch(e){case"year":return M();case"month":return k();case"day":return P();default:throw new Error(`[Vant] DatePicker: unsupported columns type: ${e}`)}}));y(n,e=>{m(e,a.modelValue)||r("update:modelValue",e)}),y(()=>a.modelValue,(e,t)=>{l.value=m(t,n.value),e=B(e,h.value),m(e,n.value)||(n.value=e),l.value=!1},{immediate:!0});const C=(...e)=>r("change",...e),w=(...e)=>r("cancel",...e),F=(...e)=>r("confirm",...e);return()=>I(R,N({modelValue:n.value,"onUpdate:modelValue":e=>n.value=e,columns:h.value,onChange:C,onCancel:w,onConfirm:F},S(a,K)),v)}});const H=j($);export{H as D};
|