Files
yshop-pro-uniapp/unpackage/dist/build/h5/assets/uv-datetime-picker.f58892e0.js
2024-02-22 18:37:23 +08:00

2 lines
13 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var t,e;import{U as n}from"./uv-picker.134e68a5.js";import{Y as i,Z as r,o as s,j as a,G as o,H as u}from"./index-d4baa715.js";import{_ as h}from"./_plugin-vue_export-helper.1b428a4d.js";const l={props:{value:{type:[String,Number],default:""},modelValue:{type:[String,Number],default:""},show:{type:Boolean,default:!1},showToolbar:{type:Boolean,default:!0},title:{type:String,default:""},mode:{type:String,default:"datetime"},maxDate:{type:Number,default:new Date((new Date).getFullYear()+10,0,1).getTime()},minDate:{type:Number,default:new Date((new Date).getFullYear()-10,0,1).getTime()},minHour:{type:Number,default:0},maxHour:{type:Number,default:23},minMinute:{type:Number,default:0},maxMinute:{type:Number,default:59},filter:{type:[Function,null],default:null},formatter:{type:[Function,null],default:null},loading:{type:Boolean,default:!1},itemHeight:{type:[String,Number],default:44},cancelText:{type:String,default:"取消"},confirmText:{type:String,default:"确认"},cancelColor:{type:String,default:"#909193"},confirmColor:{type:String,default:"#3c9cff"},visibleItemCount:{type:[String,Number],default:5},closeOnClickOverlay:{type:Boolean,default:!0},closeOnClickConfirm:{type:Boolean,default:!0},...null==(e=null==(t=uni.$uv)?void 0:t.props)?void 0:e.datetimePicker}};var c,m,d=Object.getOwnPropertyNames;const f=(c={"C:/Users/LP/Downloads/uvui-plus_3.1.27_example/node_modules/dayjs/dayjs.min.js"(t,e){var n,i;n=t,i=function(){var t=6e4,e=36e5,n="millisecond",i="second",r="minute",s="hour",a="day",o="week",u="month",h="quarter",l="year",c="date",m="Invalid Date",d=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,f=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,p={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return"["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},$=function(t,e,n){var i=String(t);return!i||i.length>=e?t:""+Array(e+1-i.length).join(n)+t},y={s:$,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),i=Math.floor(n/60),r=n%60;return(e<=0?"+":"-")+$(i,2,"0")+":"+$(r,2,"0")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var i=12*(n.year()-e.year())+(n.month()-e.month()),r=e.clone().add(i,u),s=n-r<0,a=e.clone().add(i+(s?-1:1),u);return+(-(i+(n-r)/(s?r-a:a-r))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:u,y:l,w:o,d:a,D:c,h:s,m:r,s:i,ms:n,Q:h}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},g="en",v={};v[g]=p;var M=function(t){return t instanceof S},D=function t(e,n,i){var r;if(!e)return g;if("string"==typeof e){var s=e.toLowerCase();v[s]&&(r=s),n&&(v[s]=n,r=s);var a=e.split("-");if(!r&&a.length>1)return t(a[0])}else{var o=e.name;v[o]=e,r=o}return!i&&r&&(g=r),r||!i&&g},x=function(t,e){if(M(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new S(n)},C=y;C.l=D,C.i=M,C.w=function(t,e){return x(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var S=function(){function p(t){this.$L=D(t.locale,null,!0),this.parse(t)}var $=p.prototype;return $.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(C.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var i=e.match(d);if(i){var r=i[2]-1||0,s=(i[7]||"0").substring(0,3);return n?new Date(Date.UTC(i[1],r,i[3]||1,i[4]||0,i[5]||0,i[6]||0,s)):new Date(i[1],r,i[3]||1,i[4]||0,i[5]||0,i[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init()},$.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},$.$utils=function(){return C},$.isValid=function(){return!(this.$d.toString()===m)},$.isSame=function(t,e){var n=x(t);return this.startOf(e)<=n&&n<=this.endOf(e)},$.isAfter=function(t,e){return x(t)<this.startOf(e)},$.isBefore=function(t,e){return this.endOf(e)<x(t)},$.$g=function(t,e,n){return C.u(t)?this[e]:this.set(n,t)},$.unix=function(){return Math.floor(this.valueOf()/1e3)},$.valueOf=function(){return this.$d.getTime()},$.startOf=function(t,e){var n=this,h=!!C.u(e)||e,m=C.p(t),d=function(t,e){var i=C.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return h?i:i.endOf(a)},f=function(t,e){return C.w(n.toDate()[t].apply(n.toDate("s"),(h?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},p=this.$W,$=this.$M,y=this.$D,g="set"+(this.$u?"UTC":"");switch(m){case l:return h?d(1,0):d(31,11);case u:return h?d(1,$):d(0,$+1);case o:var v=this.$locale().weekStart||0,M=(p<v?p+7:p)-v;return d(h?y-M:y+(6-M),$);case a:case c:return f(g+"Hours",0);case s:return f(g+"Minutes",1);case r:return f(g+"Seconds",2);case i:return f(g+"Milliseconds",3);default:return this.clone()}},$.endOf=function(t){return this.startOf(t,!1)},$.$set=function(t,e){var o,h=C.p(t),m="set"+(this.$u?"UTC":""),d=(o={},o[a]=m+"Date",o[c]=m+"Date",o[u]=m+"Month",o[l]=m+"FullYear",o[s]=m+"Hours",o[r]=m+"Minutes",o[i]=m+"Seconds",o[n]=m+"Milliseconds",o)[h],f=h===a?this.$D+(e-this.$W):e;if(h===u||h===l){var p=this.clone().set(c,1);p.$d[d](f),p.init(),this.$d=p.set(c,Math.min(this.$D,p.daysInMonth())).$d}else d&&this.$d[d](f);return this.init(),this},$.set=function(t,e){return this.clone().$set(t,e)},$.get=function(t){return this[C.p(t)]()},$.add=function(n,h){var c,m=this;n=Number(n);var d=C.p(h),f=function(t){var e=x(m);return C.w(e.date(e.date()+Math.round(t*n)),m)};if(d===u)return this.set(u,this.$M+n);if(d===l)return this.set(l,this.$y+n);if(d===a)return f(1);if(d===o)return f(7);var p=(c={},c[r]=t,c[s]=e,c[i]=1e3,c)[d]||1,$=this.$d.getTime()+n*p;return C.w($,this)},$.subtract=function(t,e){return this.add(-1*t,e)},$.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||m;var i=t||"YYYY-MM-DDTHH:mm:ssZ",r=C.z(this),s=this.$H,a=this.$m,o=this.$M,u=n.weekdays,h=n.months,l=function(t,n,r,s){return t&&(t[n]||t(e,i))||r[n].slice(0,s)},c=function(t){return C.s(s%12||12,t,"0")},d=n.meridiem||function(t,e,n){var i=t<12?"AM":"PM";return n?i.toLowerCase():i},p={YY:String(this.$y).slice(-2),YYYY:this.$y,M:o+1,MM:C.s(o+1,2,"0"),MMM:l(n.monthsShort,o,h,3),MMMM:l(h,o),D:this.$D,DD:C.s(this.$D,2,"0"),d:String(this.$W),dd:l(n.weekdaysMin,this.$W,u,2),ddd:l(n.weekdaysShort,this.$W,u,3),dddd:u[this.$W],H:String(s),HH:C.s(s,2,"0"),h:c(1),hh:c(2),a:d(s,a,!0),A:d(s,a,!1),m:String(a),mm:C.s(a,2,"0"),s:String(this.$s),ss:C.s(this.$s,2,"0"),SSS:C.s(this.$ms,3,"0"),Z:r};return i.replace(f,(function(t,e){return e||p[t]||r.replace(":","")}))},$.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},$.diff=function(n,c,m){var d,f=C.p(c),p=x(n),$=(p.utcOffset()-this.utcOffset())*t,y=this-p,g=C.m(this,p);return g=(d={},d[l]=g/12,d[u]=g,d[h]=g/3,d[o]=(y-$)/6048e5,d[a]=(y-$)/864e5,d[s]=y/e,d[r]=y/t,d[i]=y/1e3,d)[f]||y,m?g:C.a(g)},$.daysInMonth=function(){return this.endOf(u).$D},$.$locale=function(){return v[this.$L]},$.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),i=D(t,e,!0);return i&&(n.$L=i),n},$.clone=function(){return C.w(this.$d,this)},$.toDate=function(){return new Date(this.valueOf())},$.toJSON=function(){return this.isValid()?this.toISOString():null},$.toISOString=function(){return this.$d.toISOString()},$.toString=function(){return this.$d.toUTCString()},p}(),w=S.prototype;return x.prototype=w,[["$ms",n],["$s",i],["$m",r],["$H",s],["$W",a],["$M",u],["$y",l],["$D",c]].forEach((function(t){w[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),x.extend=function(t,e){return t.$i||(t(e,S,x),t.$i=!0),x},x.locale=D,x.isDayjs=M,x.unix=function(t){return x(1e3*t)},x.en=v[g],x.Ls=v,x.p={},x},"object"==typeof t&&void 0!==e?e.exports=i():"function"==typeof define&&define.amd?define(i):(n="undefined"!=typeof globalThis?globalThis:n||self).dayjs=i()}},function(){return m||(0,c[d(c)[0]])((m={exports:{}}).exports,m),m.exports})();const p=h({name:"uv-datetime-picker",emits:["close","cancel","confirm","input","change","update:modelValue"],mixins:[i,r,l],data:()=>({columns:[],innerDefaultIndex:[],innerFormatter:(t,e)=>e}),watch:{propsChange(){this.init()}},computed:{propsChange(){const t=this.value||this.modelValue;return[this.mode,this.maxDate,this.minDate,this.minHour,this.maxHour,this.minMinute,this.maxMinute,this.filter,t]}},mounted(){this.init()},methods:{init(){this.getValue(),this.updateColumnValue(this.innerValue)},getValue(){const t=this.value||this.modelValue;this.innerValue=this.correctValue(t)},setFormatter(t){this.innerFormatter=t},open(){this.$refs.picker.open(),this.getValue(),this.updateColumnValue(this.innerValue)},close(){this.$emit("close")},cancel(){this.$emit("cancel")},confirm(){this.$emit("confirm",{value:this.innerValue,mode:this.mode}),this.$emit("input",this.innerValue),this.$emit("update:modelValue",this.innerValue)},intercept(t,e){let n=t.match(/\d+/g);return n.length>1?(this.$uv.error("请勿在过滤或格式化函数时添加数字"),0):e&&4==n[0].length?n[0]:n[0].length>2?(this.$uv.error("请勿在过滤或格式化函数时添加数字"),0):n[0]},change(t){const{indexs:e,values:n}=t;let i="";if("time"===this.mode)i=`${this.intercept(n[0][e[0]])}:${this.intercept(n[1][e[1]])}`;else{const t=parseInt(this.intercept(n[0][e[0]],"year")),r=parseInt(this.intercept(n[1][e[1]]));let s=parseInt(n[2]?this.intercept(n[2][e[2]]):1),a=0,o=0;const u=f(`${t}-${r}`).daysInMonth();"year-month"===this.mode&&(s=1),s=Math.min(u,s),"datetime"===this.mode&&(a=parseInt(this.intercept(n[3][e[3]])),o=parseInt(this.intercept(n[4][e[4]]))),i=Number(new Date(t,r-1,s,a,o))}i=this.correctValue(i),this.innerValue=i,this.updateColumnValue(i),this.$emit("change",{value:i,mode:this.mode})},updateColumnValue(t){this.innerValue=t,this.updateColumns(),this.updateIndexs(t)},updateIndexs(t){let e=[];const n=this.formatter||this.innerFormatter;if("time"===this.mode){const i=t.split(":");e=[n("hour",i[0]),n("minute",i[1])]}else e=[n("year",`${f(t).year()}`),n("month",this.$uv.padZero(f(t).month()+1))],"date"===this.mode&&e.push(n("day",this.$uv.padZero(f(t).date()))),"datetime"===this.mode&&e.push(n("day",this.$uv.padZero(f(t).date())),n("hour",this.$uv.padZero(f(t).hour())),n("minute",this.$uv.padZero(f(t).minute())));const i=this.columns.map(((t,n)=>Math.max(0,t.findIndex((t=>t===e[n])))));this.innerDefaultIndex=i},updateColumns(){const t=this.formatter||this.innerFormatter,e=this.getOriginColumns().map((e=>e.values.map((n=>t(e.type,n)))));this.columns=e},getOriginColumns(){return this.getRanges().map((({type:t,range:e})=>{let n=function(t,e){let n=-1;const i=Array(t<0?0:t);for(;++n<t;)i[n]=e(n);return i}(e[1]-e[0]+1,(n=>{let i=e[0]+n;return i="year"===t?`${i}`:this.$uv.padZero(i),i}));return this.filter&&(n=this.filter(t,n)),{type:t,values:n}}))},generateArray:(t,e)=>Array.from(new Array(e+1).keys()).slice(t),correctValue(t){const e="time"!==this.mode;if(e&&!this.$uv.test.date(t)?t=this.minDate:e||t||(t=`${this.$uv.padZero(this.minHour)}:${this.$uv.padZero(this.minMinute)}`),e)return t=f(t).isBefore(f(this.minDate))?this.minDate:t,t=f(t).isAfter(f(this.maxDate))?this.maxDate:t;{if(-1===String(t).indexOf(":"))return this.$uv.error("时间错误请传递如12:24的格式");let[e,n]=t.split(":");return e=this.$uv.padZero(this.$uv.range(this.minHour,this.maxHour,Number(e))),n=this.$uv.padZero(this.$uv.range(this.minMinute,this.maxMinute,Number(n))),`${e}:${n}`}},getRanges(){if("time"===this.mode)return[{type:"hour",range:[this.minHour,this.maxHour]},{type:"minute",range:[this.minMinute,this.maxMinute]}];const{maxYear:t,maxDate:e,maxMonth:n,maxHour:i,maxMinute:r}=this.getBoundary("max",this.innerValue),{minYear:s,minDate:a,minMonth:o,minHour:u,minMinute:h}=this.getBoundary("min",this.innerValue),l=[{type:"year",range:[s,t]},{type:"month",range:[o,n]},{type:"day",range:[a,e]},{type:"hour",range:[u,i]},{type:"minute",range:[h,r]}];return"date"===this.mode&&l.splice(3,2),"year-month"===this.mode&&l.splice(2,3),l},getBoundary(t,e){const n=new Date(e),i=new Date(this[`${t}Date`]),r=f(i).year();let s=1,a=1,o=0,u=0;return"max"===t&&(s=12,a=f(n).daysInMonth(),o=23,u=59),f(n).year()===r&&(s=f(i).month()+1,f(n).month()+1===s&&(a=f(i).date(),f(n).date()===a&&(o=f(i).hour(),f(n).hour()===o&&(u=f(i).minute())))),{[`${t}Year`]:r,[`${t}Month`]:s,[`${t}Date`]:a,[`${t}Hour`]:o,[`${t}Minute`]:u}}}},[["render",function(t,e,i,r,h,l){const c=o(u("uv-picker"),n);return s(),a(c,{ref:"picker",closeOnClickOverlay:t.closeOnClickOverlay,closeOnClickConfirm:t.closeOnClickConfirm,columns:h.columns,title:t.title,itemHeight:t.itemHeight,showToolbar:t.showToolbar,visibleItemCount:t.visibleItemCount,defaultIndex:h.innerDefaultIndex,cancelText:t.cancelText,confirmText:t.confirmText,cancelColor:t.cancelColor,confirmColor:t.confirmColor,onClose:l.close,onCancel:l.cancel,onConfirm:l.confirm,onChange:l.change},null,8,["closeOnClickOverlay","closeOnClickConfirm","columns","title","itemHeight","showToolbar","visibleItemCount","defaultIndex","cancelText","confirmText","cancelColor","confirmColor","onClose","onCancel","onConfirm","onChange"])}]]);export{p as U};