import{bn as e,bd as t,p as a,f as i,g as s,bc as n,o as l,h as d,w as r,i as h,X as o,A as p,j as c,t as u,a7 as m,N as g,ba as f,bb as T,W as D,z as R,bl as y,y as k}from"./index-B3cqKsI_.js";import{_ as b}from"./uni-icons.EqO7jntL.js";import{C as S,T as V,g as _,a as x,i as C,f as $,c as w,b as P,d as M,e as v}from"./uni-datetime-picker.vue_vue_type_style_index_0_scoped_6f474695_lang.AgOLQYUm.js";import{_ as E}from"./_plugin-vue_export-helper.BCo6x5W8.js";const A=E({name:"UniDatetimePicker",options:{virtualHost:!0},components:{Calendar:S,TimePicker:V},data:()=>({isRange:!1,hasTime:!1,displayValue:"",inputDate:"",calendarDate:"",pickerTime:"",calendarRange:{startDate:"",startTime:"",endDate:"",endTime:""},displayRangeValue:{startDate:"",endDate:""},tempRange:{startDate:"",startTime:"",endDate:"",endTime:""},startMultipleStatus:{before:"",after:"",data:[],fulldate:""},endMultipleStatus:{before:"",after:"",data:[],fulldate:""},pickerVisible:!1,pickerPositionStyle:null,isEmitValue:!1,isPhone:!1,isFirstShow:!0,i18nT:()=>{}}),props:{type:{type:String,default:"datetime"},value:{type:[String,Number,Array,Date],default:""},modelValue:{type:[String,Number,Array,Date],default:""},start:{type:[Number,String],default:""},end:{type:[Number,String],default:""},returnType:{type:String,default:"string"},placeholder:{type:String,default:""},startPlaceholder:{type:String,default:""},endPlaceholder:{type:String,default:""},rangeSeparator:{type:String,default:"-"},border:{type:[Boolean],default:!0},disabled:{type:[Boolean],default:!1},clearIcon:{type:[Boolean],default:!0},hideSecond:{type:[Boolean],default:!1},defaultValue:{type:[String,Object,Array],default:""}},watch:{type:{immediate:!0,handler(e){this.hasTime=-1!==e.indexOf("time"),this.isRange=-1!==e.indexOf("range")}},modelValue:{immediate:!0,handler(e){this.isEmitValue?this.isEmitValue=!1:this.initPicker(e)}},start:{immediate:!0,handler(e){e&&(this.calendarRange.startDate=_(e),this.hasTime&&(this.calendarRange.startTime=x(e)))}},end:{immediate:!0,handler(e){e&&(this.calendarRange.endDate=_(e),this.hasTime&&(this.calendarRange.endTime=x(e,this.hideSecond)))}}},computed:{timepickerStartTime(){return(this.isRange?this.tempRange.startDate:this.inputDate)===this.calendarRange.startDate?this.calendarRange.startTime:""},timepickerEndTime(){return(this.isRange?this.tempRange.endDate:this.inputDate)===this.calendarRange.endDate?this.calendarRange.endTime:""},mobileCalendarTime(){const e={start:this.tempRange.startTime,end:this.tempRange.endTime};return this.isRange?e:this.pickerTime},mobSelectableTime(){return{start:this.calendarRange.startTime,end:this.calendarRange.endTime}},datePopupWidth(){return this.isRange?653:301},singlePlaceholderText(){return this.placeholder||("date"===this.type?this.selectDateText:this.selectDateTimeText)},startPlaceholderText(){return this.startPlaceholder||this.startDateText},endPlaceholderText(){return this.endPlaceholder||this.endDateText},selectDateText(){return this.i18nT("uni-datetime-picker.selectDate")},selectDateTimeText(){return this.i18nT("uni-datetime-picker.selectDateTime")},selectTimeText(){return this.i18nT("uni-datetime-picker.selectTime")},startDateText(){return this.startPlaceholder||this.i18nT("uni-datetime-picker.startDate")},startTimeText(){return this.i18nT("uni-datetime-picker.startTime")},endDateText(){return this.endPlaceholder||this.i18nT("uni-datetime-picker.endDate")},endTimeText(){return this.i18nT("uni-datetime-picker.endTime")},okText(){return this.i18nT("uni-datetime-picker.ok")},clearText(){return this.i18nT("uni-datetime-picker.clear")},showClearIcon(){return this.clearIcon&&!this.disabled&&(this.displayValue||this.displayRangeValue.startDate&&this.displayRangeValue.endDate)}},created(){this.initI18nT(),this.platform()},methods:{initI18nT(){const t=e(C);this.i18nT=t.t},initPicker(e){if(!e&&!this.defaultValue||Array.isArray(e)&&!e.length)this.$nextTick((()=>{this.clear(!1)}));else if(Array.isArray(e)||this.isRange){const[t,a]=e;if(!t&&!a)return;const i=_(t),s=x(t,this.hideSecond),n=_(a),l=x(a,this.hideSecond),d=i,r=n;this.displayRangeValue.startDate=this.tempRange.startDate=d,this.displayRangeValue.endDate=this.tempRange.endDate=r,this.hasTime&&(this.displayRangeValue.startDate=`${i} ${s}`,this.displayRangeValue.endDate=`${n} ${l}`,this.tempRange.startTime=s,this.tempRange.endTime=l);const h={before:i,after:n};this.startMultipleStatus=Object.assign({},this.startMultipleStatus,h,{which:"right"}),this.endMultipleStatus=Object.assign({},this.endMultipleStatus,h,{which:"left"})}else e?(this.displayValue=this.inputDate=this.calendarDate=_(e),this.hasTime&&(this.pickerTime=x(e,this.hideSecond),this.displayValue=`${this.displayValue} ${this.pickerTime}`)):this.defaultValue&&(this.inputDate=this.calendarDate=_(this.defaultValue),this.hasTime&&(this.pickerTime=x(this.defaultValue,this.hideSecond)))},updateLeftCale(e){const t=this.$refs.left;t.cale.setHoverMultiple(e.after),t.setDate(this.$refs.left.nowDate.fullDate)},updateRightCale(e){const t=this.$refs.right;t.cale.setHoverMultiple(e.after),t.setDate(this.$refs.right.nowDate.fullDate)},platform(){if("undefined"!=typeof navigator)return void(this.isPhone=-1!==navigator.userAgent.toLowerCase().indexOf("mobile"));const{windowWidth:e}=t();this.isPhone=e<=500,this.windowWidth=e},show(){if(this.$emit("show"),this.disabled)return;if(this.platform(),this.isPhone)return void setTimeout((()=>{this.$refs.mobile.open()}),0);this.pickerPositionStyle={top:"10px"};a().in(this).select(".uni-date-editor").boundingClientRect((e=>{this.windowWidth-e.left{if(this.pickerVisible=!this.pickerVisible,!this.isPhone&&this.isRange&&this.isFirstShow){this.isFirstShow=!1;const{startDate:e,endDate:t}=this.calendarRange;e&&t?this.diffDate(e,t)<30&&this.$refs.right.changeMonth("pre"):this.isPhone&&(this.$refs.right.cale.lastHover=!1)}}),50)},close(){setTimeout((()=>{this.pickerVisible=!1,this.$emit("maskClick",this.value),this.$refs.mobile&&this.$refs.mobile.close()}),20)},setEmit(e){"timestamp"!==this.returnType&&"date"!==this.returnType||(Array.isArray(e)?(this.hasTime||(e[0]=e[0]+" 00:00:00",e[1]=e[1]+" 00:00:00"),e[0]=this.createTimestamp(e[0]),e[1]=this.createTimestamp(e[1]),"date"===this.returnType&&(e[0]=new Date(e[0]),e[1]=new Date(e[1]))):(this.hasTime||(e+=" 00:00:00"),e=this.createTimestamp(e),"date"===this.returnType&&(e=new Date(e)))),this.$emit("update:modelValue",e),this.$emit("input",e),this.$emit("change",e),this.isEmitValue=!0},createTimestamp:e=>(e=$(e),Date.parse(new Date(e))),singleChange(e){this.calendarDate=this.inputDate=e.fulldate,this.hasTime||this.confirmSingleChange()},confirmSingleChange(){if(!w(this.inputDate)){const e=new Date;this.calendarDate=this.inputDate=_(e),this.pickerTime=x(e,this.hideSecond)}let e,t,a=!1;if(this.start){let i=this.start;"number"==typeof this.start&&(i=P(this.start,this.hideSecond)),[e,t]=i.split(" "),this.start&&!M(e,this.inputDate)&&(a=!0,this.inputDate=e)}let i,s,n=!1;if(this.end){let e=this.end;"number"==typeof this.end&&(e=P(this.end,this.hideSecond)),[i,s]=e.split(" "),this.end&&!M(this.inputDate,i)&&(n=!0,this.inputDate=i)}this.hasTime?(a&&(this.pickerTime=t||v(this.hideSecond)),n&&(this.pickerTime=s||v(this.hideSecond)),this.pickerTime||(this.pickerTime=x(Date.now(),this.hideSecond)),this.displayValue=`${this.inputDate} ${this.pickerTime}`):this.displayValue=this.inputDate,this.setEmit(this.displayValue),this.pickerVisible=!1},leftChange(e){const{before:t,after:a}=e.range;this.rangeChange(t,a);const i={before:e.range.before,after:e.range.after,data:e.range.data,fulldate:e.fulldate};this.startMultipleStatus=Object.assign({},this.startMultipleStatus,i),this.$emit("calendarClick",e)},rightChange(e){const{before:t,after:a}=e.range;this.rangeChange(t,a);const i={before:e.range.before,after:e.range.after,data:e.range.data,fulldate:e.fulldate};this.endMultipleStatus=Object.assign({},this.endMultipleStatus,i),this.$emit("calendarClick",e)},mobileChange(e){if(this.isRange){const{before:t,after:a}=e.range;if(!t)return;if(this.handleStartAndEnd(t,a,!0),this.hasTime){const{startTime:t,endTime:a}=e.timeRange;this.tempRange.startTime=t,this.tempRange.endTime=a}this.confirmRangeChange()}else this.hasTime?this.displayValue=e.fulldate+" "+e.time:this.displayValue=e.fulldate,this.setEmit(this.displayValue);this.$refs.mobile.close()},rangeChange(e,t){e&&t&&(this.handleStartAndEnd(e,t,!0),this.hasTime||this.confirmRangeChange())},confirmRangeChange(){if(!this.tempRange.startDate||!this.tempRange.endDate)return void(this.pickerVisible=!1);let e,t;w(this.tempRange.startDate)||(this.tempRange.startDate=_(Date.now())),w(this.tempRange.endDate)||(this.tempRange.endDate=_(Date.now()));let a,i,s=!1,n=!1;if(this.start){let e=this.start;"number"==typeof this.start&&(e=P(this.start,this.hideSecond)),[a,i]=e.split(" "),this.start&&!M(this.start,this.tempRange.startDate)&&(s=!0,this.tempRange.startDate=a),this.start&&!M(this.start,this.tempRange.endDate)&&(n=!0,this.tempRange.endDate=a)}let l,d,r=!1,h=!1;if(this.end){let e=this.end;"number"==typeof this.end&&(e=P(this.end,this.hideSecond)),[l,d]=e.split(" "),this.end&&!M(this.tempRange.startDate,this.end)&&(r=!0,this.tempRange.startDate=l),this.end&&!M(this.tempRange.endDate,this.end)&&(h=!0,this.tempRange.endDate=l)}this.hasTime?(s?this.tempRange.startTime=i||v(this.hideSecond):r&&(this.tempRange.startTime=d||v(this.hideSecond)),this.tempRange.startTime||(this.tempRange.startTime=x(Date.now(),this.hideSecond)),n?this.tempRange.endTime=i||v(this.hideSecond):h&&(this.tempRange.endTime=d||v(this.hideSecond)),this.tempRange.endTime||(this.tempRange.endTime=x(Date.now(),this.hideSecond)),e=this.displayRangeValue.startDate=`${this.tempRange.startDate} ${this.tempRange.startTime}`,t=this.displayRangeValue.endDate=`${this.tempRange.endDate} ${this.tempRange.endTime}`):(e=this.displayRangeValue.startDate=this.tempRange.startDate,t=this.displayRangeValue.endDate=this.tempRange.endDate),M(e,t)||([e,t]=[t,e]),this.displayRangeValue.startDate=e,this.displayRangeValue.endDate=t;const o=[e,t];this.setEmit(o),this.pickerVisible=!1},handleStartAndEnd(e,t,a=!1){if(!e)return;t||(t=e);const i=a?"tempRange":"range",s=M(e,t);this[i].startDate=s?e:t,this[i].endDate=s?t:e},dateCompare:(e,t)=>(e=new Date(e.replace("-","/").replace("-","/")))<=(t=new Date(t.replace("-","/").replace("-","/"))),diffDate(e,t){e=new Date(e.replace("-","/").replace("-","/"));const a=((t=new Date(t.replace("-","/").replace("-","/")))-e)/864e5;return Math.abs(a)},clear(e=!0){this.isRange?(this.displayRangeValue.startDate="",this.displayRangeValue.endDate="",this.tempRange.startDate="",this.tempRange.startTime="",this.tempRange.endDate="",this.tempRange.endTime="",this.isPhone?this.$refs.mobile&&this.$refs.mobile.clearCalender():(this.$refs.left&&this.$refs.left.clearCalender(),this.$refs.right&&this.$refs.right.clearCalender(),this.$refs.right&&this.$refs.right.changeMonth("next")),e&&(this.$emit("change",[]),this.$emit("input",[]),this.$emit("update:modelValue",[]))):(this.displayValue="",this.inputDate="",this.pickerTime="",this.isPhone?this.$refs.mobile&&this.$refs.mobile.clearCalender():this.$refs.pcSingle&&this.$refs.pcSingle.clearCalender(),e&&(this.$emit("change",""),this.$emit("input",""),this.$emit("update:modelValue","")))},calendarClick(e){this.$emit("calendarClick",e)}}},[["render",function(e,t,a,S,V,_){const x=i(s("uni-icons"),b),C=R,$=y,w=n("time-picker"),P=n("Calendar"),M=k;return l(),d(C,{class:"uni-date"},{default:r((()=>[h(C,{class:"uni-date-editor",onClick:_.show},{default:r((()=>[o(e.$slots,"default",{},(()=>[h(C,{class:p(["uni-date-editor--x",{"uni-date-editor--x__disabled":a.disabled,"uni-date-x--border":a.border}])},{default:r((()=>[V.isRange?(l(),d(C,{key:1,class:"uni-date-x uni-date-range"},{default:r((()=>[h(x,{class:"icon-calendar",type:"calendar",color:"#c0c4cc",size:"22"}),h(C,{class:"uni-date__x-input text-center"},{default:r((()=>[c(u(V.displayRangeValue.startDate||_.startPlaceholderText),1)])),_:1}),h(C,{class:"range-separator"},{default:r((()=>[c(u(a.rangeSeparator),1)])),_:1}),h(C,{class:"uni-date__x-input text-center"},{default:r((()=>[c(u(V.displayRangeValue.endDate||_.endPlaceholderText),1)])),_:1})])),_:1})):(l(),d(C,{key:0,class:"uni-date-x uni-date-single"},{default:r((()=>[h(x,{class:"icon-calendar",type:"calendar",color:"#c0c4cc",size:"22"}),h(C,{class:"uni-date__x-input"},{default:r((()=>[c(u(V.displayValue||_.singlePlaceholderText),1)])),_:1})])),_:1})),_.showClearIcon?(l(),d(C,{key:2,class:"uni-date__icon-clear",onClick:m(_.clear,["stop"])},{default:r((()=>[h(x,{type:"clear",color:"#c0c4cc",size:"22"})])),_:1},8,["onClick"])):g("",!0)])),_:1},8,["class"])]),!0)])),_:3},8,["onClick"]),f(h(C,{class:"uni-date-mask--pc",onClick:_.close},null,8,["onClick"]),[[T,V.pickerVisible]]),V.isPhone?g("",!0):f((l(),d(C,{key:0,ref:"datePicker",class:"uni-date-picker__container"},{default:r((()=>[V.isRange?(l(),d(C,{key:1,class:"uni-date-range--x",style:D(V.pickerPositionStyle)},{default:r((()=>[h(C,{class:"uni-popper__arrow"}),V.hasTime?(l(),d(C,{key:0,class:"popup-x-header uni-date-changed"},{default:r((()=>[h(C,{class:"popup-x-header--datetime"},{default:r((()=>[h($,{class:"uni-date__input uni-date-range__input",type:"text",modelValue:V.tempRange.startDate,"onUpdate:modelValue":t[3]||(t[3]=e=>V.tempRange.startDate=e),placeholder:_.startDateText},null,8,["modelValue","placeholder"]),h(w,{type:"time",modelValue:V.tempRange.startTime,"onUpdate:modelValue":t[5]||(t[5]=e=>V.tempRange.startTime=e),start:_.timepickerStartTime,border:!1,disabled:!V.tempRange.startDate,hideSecond:a.hideSecond},{default:r((()=>[h($,{class:"uni-date__input uni-date-range__input",type:"text",modelValue:V.tempRange.startTime,"onUpdate:modelValue":t[4]||(t[4]=e=>V.tempRange.startTime=e),placeholder:_.startTimeText,disabled:!V.tempRange.startDate},null,8,["modelValue","placeholder","disabled"])])),_:1},8,["modelValue","start","disabled","hideSecond"])])),_:1}),h(x,{type:"arrowthinright",color:"#999",style:{"line-height":"40px"}}),h(C,{class:"popup-x-header--datetime"},{default:r((()=>[h($,{class:"uni-date__input uni-date-range__input",type:"text",modelValue:V.tempRange.endDate,"onUpdate:modelValue":t[6]||(t[6]=e=>V.tempRange.endDate=e),placeholder:_.endDateText},null,8,["modelValue","placeholder"]),h(w,{type:"time",modelValue:V.tempRange.endTime,"onUpdate:modelValue":t[8]||(t[8]=e=>V.tempRange.endTime=e),end:_.timepickerEndTime,border:!1,disabled:!V.tempRange.endDate,hideSecond:a.hideSecond},{default:r((()=>[h($,{class:"uni-date__input uni-date-range__input",type:"text",modelValue:V.tempRange.endTime,"onUpdate:modelValue":t[7]||(t[7]=e=>V.tempRange.endTime=e),placeholder:_.endTimeText,disabled:!V.tempRange.endDate},null,8,["modelValue","placeholder","disabled"])])),_:1},8,["modelValue","end","disabled","hideSecond"])])),_:1})])),_:1})):g("",!0),h(C,{class:"popup-x-body"},{default:r((()=>[h(P,{ref:"left",showMonth:!1,"start-date":V.calendarRange.startDate,"end-date":V.calendarRange.endDate,range:!0,pleStatus:V.endMultipleStatus,onChange:_.leftChange,onFirstEnterCale:_.updateRightCale,style:{padding:"0 8px"}},null,8,["start-date","end-date","pleStatus","onChange","onFirstEnterCale"]),h(P,{ref:"right",showMonth:!1,"start-date":V.calendarRange.startDate,"end-date":V.calendarRange.endDate,range:!0,onChange:_.rightChange,pleStatus:V.startMultipleStatus,onFirstEnterCale:_.updateLeftCale,style:{padding:"0 8px","border-left":"1px solid #F1F1F1"}},null,8,["start-date","end-date","onChange","pleStatus","onFirstEnterCale"])])),_:1}),V.hasTime?(l(),d(C,{key:1,class:"popup-x-footer"},{default:r((()=>[h(M,{onClick:_.clear},{default:r((()=>[c(u(_.clearText),1)])),_:1},8,["onClick"]),h(M,{class:"confirm-text",onClick:_.confirmRangeChange},{default:r((()=>[c(u(_.okText),1)])),_:1},8,["onClick"])])),_:1})):g("",!0)])),_:1},8,["style"])):(l(),d(C,{key:0,class:"uni-date-single--x",style:D(V.pickerPositionStyle)},{default:r((()=>[h(C,{class:"uni-popper__arrow"}),V.hasTime?(l(),d(C,{key:0,class:"uni-date-changed popup-x-header"},{default:r((()=>[h($,{class:"uni-date__input text-center",type:"text",modelValue:V.inputDate,"onUpdate:modelValue":t[0]||(t[0]=e=>V.inputDate=e),placeholder:_.selectDateText},null,8,["modelValue","placeholder"]),h(w,{type:"time",modelValue:V.pickerTime,"onUpdate:modelValue":t[2]||(t[2]=e=>V.pickerTime=e),border:!1,disabled:!V.inputDate,start:_.timepickerStartTime,end:_.timepickerEndTime,hideSecond:a.hideSecond,style:{width:"100%"}},{default:r((()=>[h($,{class:"uni-date__input text-center",type:"text",modelValue:V.pickerTime,"onUpdate:modelValue":t[1]||(t[1]=e=>V.pickerTime=e),placeholder:_.selectTimeText,disabled:!V.inputDate},null,8,["modelValue","placeholder","disabled"])])),_:1},8,["modelValue","disabled","start","end","hideSecond"])])),_:1})):g("",!0),h(P,{ref:"pcSingle",showMonth:!1,"start-date":V.calendarRange.startDate,"end-date":V.calendarRange.endDate,date:V.calendarDate,onChange:_.singleChange,"default-value":a.defaultValue,style:{padding:"0 8px"}},null,8,["start-date","end-date","date","onChange","default-value"]),V.hasTime?(l(),d(C,{key:1,class:"popup-x-footer"},{default:r((()=>[h(M,{class:"confirm-text",onClick:_.confirmSingleChange},{default:r((()=>[c(u(_.okText),1)])),_:1},8,["onClick"])])),_:1})):g("",!0)])),_:1},8,["style"]))])),_:1},512)),[[T,V.pickerVisible]]),V.isPhone?(l(),d(P,{key:1,ref:"mobile",clearDate:!1,date:V.calendarDate,defTime:_.mobileCalendarTime,"start-date":V.calendarRange.startDate,"end-date":V.calendarRange.endDate,selectableTimes:_.mobSelectableTime,startPlaceholder:a.startPlaceholder,endPlaceholder:a.endPlaceholder,"default-value":a.defaultValue,pleStatus:V.endMultipleStatus,showMonth:!1,range:V.isRange,hasTime:V.hasTime,insert:!1,hideSecond:a.hideSecond,onConfirm:_.mobileChange,onMaskClose:_.close,onChange:_.calendarClick},null,8,["date","defTime","start-date","end-date","selectableTimes","startPlaceholder","endPlaceholder","default-value","pleStatus","range","hasTime","hideSecond","onConfirm","onMaskClose","onChange"])):g("",!0)])),_:3})}],["__scopeId","data-v-6f474695"]]);export{A as _};