UNPKG

vxe-pc-ui

Version:
1 lines • 26.2 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeDatePanel",props:{modelValue:[String,Number,Date],type:{type:String,default:"date"},className:String,size:{type:String,default:()=>(0,_ui.getConfig)().datePanel.size||(0,_ui.getConfig)().size},multiple:Boolean,limitCount:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePanel.limitCount},startDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePanel.startDate},endDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePanel.endDate},defaultDate:[String,Number,Date],defaultTime:[String,Number,Date],minDate:[String,Number,Date],maxDate:[String,Number,Date],startDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePanel.startDay},labelFormat:String,valueFormat:String,timeFormat:String,festivalMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePanel.festivalMethod},disabledMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePanel.disabledMethod},timeConfig:Object,selectDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePanel.selectDay}},emits:["update:modelValue","change","click","clear","date-prev","date-today","date-next","confirm"],setup(O,e){const l=e["emit"];var P=_xeUtils.default.uniqueId();const M=(0,_ui.useSize)(O)["computeSize"],A=(0,_vue.reactive)({visiblePanel:!1,isAniVisible:!1,isActivated:!1,inputValue:"",inputLabel:"",datetimePanelValue:null,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}),p={yearSize:12,monthSize:20,quarterSize:8,hpTimeout:void 0};var t=(0,_vue.ref)();const a=(0,_vue.ref)(),k=(0,_vue.ref)(),V={refElem:t},n={xID:P,props:O,context:e,reactData:A,internalData:p,getRefMaps:()=>V},o=(0,_vue.computed)(()=>{var e=O["type"];return"time"===e||"datetime"===e}),r=(0,_vue.computed)(()=>{return o.value||-1<["date","week","month","quarter","year"].indexOf(O.type)}),T=(0,_vue.computed)(()=>O.startDate?_xeUtils.default.toStringDate(O.startDate):null),N=(0,_vue.computed)(()=>O.endDate?_xeUtils.default.toStringDate(O.endDate):null),B=(0,_vue.computed)(()=>{var{modelValue:e,multiple:t}=O,a=r.value;const l=m.value;return t&&e&&a?_xeUtils.default.toValueString(e).split(",").map(e=>{e=f(e,l);return _xeUtils.default.isValidDate(e),e}):[]}),c=(0,_vue.computed)(()=>{var e=B.value;const t=m.value;return e.map(e=>_xeUtils.default.toDateString(e,t))}),d=(0,_vue.computed)(()=>{var e=B.value;const t=v.value;return e.map(e=>_xeUtils.default.toDateString(e,t)).join(", ")}),C=(0,_vue.computed)(()=>O.multiple?_xeUtils.default.toNumber(O.limitCount):0),$=(0,_vue.computed)(()=>{var e=O["multiple"],t=C.value,a=c.value;return!(!e||!t)&&a.length>=t}),i=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePanel.timeConfig,O.timeConfig)),m=(0,_vue.computed)(()=>{var{type:e,valueFormat:t}=O;return(0,_util.handleValueFormat)(e,t)}),Q=(0,_vue.computed)(()=>{var e=O["modelValue"],t=r.value,a=m.value;let l=null;return l=e&&t&&(t=f(e,a),_xeUtils.default.isValidDate(t))?t:l}),W=(0,_vue.computed)(()=>{var e=T.value,t=A["selectMonth"];return!(!t||!e)&&t<=e}),q=(0,_vue.computed)(()=>{var e=N.value,t=A["selectMonth"];return!(!t||!e)&&_xeUtils.default.getWhatMonth(t,0,"last")>=e}),F=(0,_vue.computed)(()=>{var e=A["datetimePanelValue"],t=de.value,a=ne.value;return e?_xeUtils.default.toDateString(e,a&&t?"HH:mm:ss":a?"HH:mm":"HH"):""}),Y=(0,_vue.computed)(()=>{var e=Q.value,t=o.value;return e&&t?1e3*(3600*e.getHours()+60*e.getMinutes()+e.getSeconds()):0}),v=(0,_vue.computed)(()=>{var e=O["labelFormat"];return r.value?e||(0,_ui.getI18n)("vxe.input.date.labelFormat."+O.type):""}),_=(0,_vue.computed)(()=>{var t=p["yearSize"],{selectMonth:e,currentDate:a}=A,l=[];if(e&&a){var i=a.getFullYear(),a=e.getFullYear(),u=new Date(a-a%t,0,1);for(let e=-4;e<t+4;e++){var s=_xeUtils.default.getWhatYear(u,e,"first"),r=s.getFullYear();l.push({date:s,isCurrent:!0,isPrev:e<0,isNow:i===r,isNext:e>=t,year:r})}}return l}),H=(0,_vue.computed)(()=>{let a="",l="";if(r.value){var{datePanelType:i,selectMonth:u}=A,s=_.value;let e="",t;u&&(e=u.getFullYear(),t=u.getMonth()+1),"quarter"===i||"month"===i?a=(0,_ui.getI18n)("vxe.datePicker.yearTitle",[e]):"year"===i?a=s.length?s[0].year+" - "+s[s.length-1].year:"":(a=(0,_ui.getI18n)("vxe.datePicker.yearTitle",[e]),l=t?(0,_ui.getI18n)("vxe.input.date.m"+t):"-")}return{y:a,m:l}}),h=(0,_vue.computed)(()=>{var e=O["startDay"];return _xeUtils.default.toNumber(e)}),E=(0,_vue.computed)(()=>{var a=[];if(r.value){let t=h.value;a.push(t);for(let e=0;e<6;e++)6<=t?t=0:t++,a.push(t)}return a}),ee=(0,_vue.computed)(()=>{return r.value?E.value.map(e=>({value:e,label:(0,_ui.getI18n)("vxe.input.date.weeks.w"+e)})):[]}),te=(0,_vue.computed)(()=>{var e;return r.value?(e=ee.value,[{label:(0,_ui.getI18n)("vxe.input.date.weeks.w")}].concat(e)):[]}),ae=(0,_vue.computed)(()=>{var e=_.value;return _xeUtils.default.chunk(e,4)}),L=(0,_vue.computed)(()=>{var t=p["quarterSize"],{selectMonth:e,currentDate:a}=A,l=[];if(e&&a){var i=a.getFullYear(),u=(0,_util.getDateQuarter)(a),s=_xeUtils.default.getWhatYear(e,0,"first"),r=s.getFullYear();for(let e=-2;e<t-2;e++){var n=_xeUtils.default.getWhatQuarter(s,e),d=n.getFullYear(),v=(0,_util.getDateQuarter)(n),o=d<r;l.push({date:n,isPrev:o,isCurrent:d===r,isNow:d===i&&v===u,isNext:!o&&r<d,quarter:v})}}return l}),le=(0,_vue.computed)(()=>{var e=L.value;return _xeUtils.default.chunk(e,2)}),z=(0,_vue.computed)(()=>{var t=p["monthSize"],{selectMonth:a,currentDate:e}=A,l=[];if(a&&e){var i=e.getFullYear(),u=e.getMonth(),s=_xeUtils.default.getWhatYear(a,0,"first").getFullYear();for(let e=-4;e<t-4;e++){var r=_xeUtils.default.getWhatYear(a,0,e),n=r.getFullYear(),d=r.getMonth(),v=n<s;l.push({date:r,isPrev:v,isCurrent:n===s,isNow:n===i&&d===u,isNext:!v&&s<n,month:d})}}return l}),ie=(0,_vue.computed)(()=>{var e=z.value;return _xeUtils.default.chunk(e,4)}),j=(0,_vue.computed)(()=>{var{selectMonth:t,currentDate:e}=A,a=[];if(t&&e){var l=Y.value,i=E.value,u=e.getFullYear(),s=e.getMonth(),r=e.getDate(),n=t.getFullYear(),d=t.getMonth(),e=t.getDay(),i=-i.indexOf(e),v=new Date(_xeUtils.default.getWhatDay(t,i).getTime()+l);for(let e=0;e<42;e++){var o=_xeUtils.default.getWhatDay(v,e),p=o.getFullYear(),c=o.getMonth(),m=o.getDate(),_=o<t;a.push({date:o,isPrev:_,isCurrent:p===n&&c===d,isNow:p===u&&c===s&&m===r,isNext:!_&&d!==c,label:m})}}return a}),ue=(0,_vue.computed)(()=>{var e=j.value;return _xeUtils.default.chunk(e,7)}),se=(0,_vue.computed)(()=>{var e=ue.value;const a=h.value;return e.map(e=>{var t=e[0];return[{date:t.date,isWeekNumber:!0,isPrev:!1,isCurrent:!1,isNow:!1,isNext:!1,label:_xeUtils.default.getYearWeek(t.date,a)}].concat(e)})}),I=(0,_vue.computed)(()=>{const{hours:e,hourDisabledMethod:a}=i.value,l=[];if(o.value)if(e&&e.length)e.forEach(e=>{var t;_xeUtils.default.isNumber(e)||_xeUtils.default.isString(e)?(t=_xeUtils.default.toNumber(e),l.push({value:t,label:(""+t).padStart(2,"0"),disabled:!(!a||!a({hour:t}))})):e&&(t=_xeUtils.default.toNumber(e.value),l.push({value:t,label:(""+(e.label||t)).padStart(2,"0"),disabled:_xeUtils.default.isBoolean(e.disabled)?e.disabled:!(!a||!a({hour:t}))}))});else for(let e=0;e<24;e++){var t=e;l.push({value:t,label:(""+t).padStart(2,"0"),disabled:!(!a||!a({hour:t}))})}return l}),re=(0,_vue.computed)(()=>{const{minutes:e,minuteDisabledMethod:a}=i.value,l=[];if(o.value)if(e&&e.length)e.forEach(e=>{var t;_xeUtils.default.isNumber(e)||_xeUtils.default.isString(e)?(t=_xeUtils.default.toNumber(e),l.push({value:t,label:(""+t).padStart(2,"0"),disabled:!(!a||!a({minute:t}))})):e&&(t=_xeUtils.default.toNumber(e.value),l.push({value:t,label:(""+(e.label||t)).padStart(2,"0"),disabled:_xeUtils.default.isBoolean(e.disabled)?e.disabled:!(!a||!a({minute:t}))}))});else for(let e=0;e<60;e++){var t=e;l.push({value:t,label:(""+t).padStart(2,"0"),disabled:!(!a||!a({minute:t}))})}return l}),ne=(0,_vue.computed)(()=>{var e=O["timeFormat"],t=m.value;return!/HH/.test(e||t)||/mm/.test(e||t)}),de=(0,_vue.computed)(()=>{var e=O["timeFormat"],t=m.value;return!/HH/.test(e||t)||/ss/.test(e||t)}),ve=(0,_vue.computed)(()=>{const{seconds:e,secondDisabledMethod:a}=i.value,l=[];if(o.value)if(e&&e.length)e.forEach(e=>{var t;_xeUtils.default.isNumber(e)||_xeUtils.default.isString(e)?(t=_xeUtils.default.toNumber(e),l.push({value:t,label:(""+t).padStart(2,"0"),disabled:!(!a||!a({second:t}))})):e&&(t=_xeUtils.default.toNumber(e.value),l.push({value:t,label:(""+(e.label||t)).padStart(2,"0"),disabled:_xeUtils.default.isBoolean(e.disabled)?e.disabled:!(!a||!a({second:t}))}))});else for(let e=0;e<60;e++){var t=e;l.push({value:t,label:(""+t).padStart(2,"0"),disabled:!(!a||!a({second:t}))})}return l}),oe=e=>{var t=O["type"],a=m.value,e=(0,_util.parseDateValue)(e,t,{valueFormat:a});A.inputValue=e,A.inputLabel=e,De()},f=(e,t)=>{var{type:a,multiple:l}=O;return"time"===a?(0,_util.toStringTimeDate)(e):_xeUtils.default.isArray(e)?_xeUtils.default.toStringDate(e[0],t):_xeUtils.default.isString(e)?_xeUtils.default.toStringDate(l?_xeUtils.default.last(e.split(",")):e,t):_xeUtils.default.toStringDate(e,t)},pe=a=>{var l=O["type"],{inputLabel:i,datetimePanelValue:u}=A,s=v.value;if(a){let t=f(a,s);if(_xeUtils.default.isValidDate(t))if("time"===l)i!==(t=_xeUtils.default.toDateString(t,s))&&y(t,{type:"check"}),A.inputLabel=t;else{let e=!1;i=h.value;"datetime"===l?(l=Q.value,a===_xeUtils.default.toDateString(l,s)&&a===_xeUtils.default.toDateString(t,s)||(e=!0,u&&(u.setHours(t.getHours()),u.setMinutes(t.getMinutes()),u.setSeconds(t.getSeconds())))):e=!0,A.inputLabel=_xeUtils.default.toDateString(t,s,{firstDay:i}),e&&D(t)}else A.inputLabel=O.multiple?d.value:A.datePanelLabel}else y("",{type:"check"})},x=e=>{A.inputValue=e,l("update:modelValue",e)},y=(e,t)=>{var a,{type:l,modelValue:i,valueFormat:u}=O,s=m.value;A.inputLabel=e,(0,_util.hasTimestampValueType)(u)?(a=(a=(0,_util.parseDateValue)(e,l,{valueFormat:s}))?a.getTime():null,x(a),i!==a&&S("change",{value:a},t)):(0,_util.hasDateValueType)(u)?(a=(0,_util.parseDateValue)(e,l,{valueFormat:s}),x(a),(i&&a?_xeUtils.default.toStringDate(i).getTime()!==a.getTime():i!==a)&&S("change",{value:a},t)):(x(e),_xeUtils.default.toValueString(i)!==e&&S("change",{value:e},t))},g=()=>new Promise(e=>{A.visiblePanel=!1,p.hpTimeout=setTimeout(()=>{A.isAniVisible=!1,e()},350)}),s=e=>{var t=O["type"],a=v.value,l=m.value,i=h.value,e=(0,_util.parseDateObj)(e,t,{valueFormat:l,labelFormat:a,firstDay:i});A.datePanelValue=e.value,A.datePanelLabel=e.label},ce=()=>{var e=r.value,t=A["inputLabel"];e&&(s(t),A.inputLabel=O.multiple?d.value:A.datePanelLabel)},me=()=>{var e=O["modelValue"],t=r.value;oe(e),t&&ce()},b=e=>{var t=h.value,a=_xeUtils.default.getYearWeek(e,t),t=_xeUtils.default.getWhatWeek(e,0,t,t),a=_xeUtils.default.getWhatMonth(1===a?_xeUtils.default.getWhatDay(t,6):e,0,"first");_xeUtils.default.isEqual(a,A.selectMonth)||(A.selectMonth=a)},D=(t,e)=>{var{modelValue:a,multiple:l}=O;const i=A["datetimePanelValue"];var u=o.value;const s=m.value;var r=h.value;"week"===O.type?(d=_xeUtils.default.toNumber(O.selectDay),t=_xeUtils.default.getWhatWeek(t,0,d,r)):u&&i&&(t.setHours(i.getHours()),t.setMinutes(i.getMinutes()),t.setSeconds(i.getSeconds()));const n=_xeUtils.default.toDateString(t,s,{firstDay:r});if(b(t),l){var d=$.value;if(u){r=e?[]:[...B.value];const v=[];l=_xeUtils.default.findIndexOf(r,e=>_xeUtils.default.isDateSame(t,e,"yyyyMMdd"));if(-1===l){if(d)return;r.push(t)}else r.splice(l,1);r.forEach(e=>{e&&(i&&(e.setHours(i.getHours()),e.setMinutes(i.getMinutes()),e.setSeconds(i.getSeconds())),v.push(e))}),y(v.map(e=>_xeUtils.default.toDateString(e,s)).join(","),{type:"update"})}else{u=e?[]:c.value;u.some(e=>_xeUtils.default.isEqual(e,n))?y(u.filter(e=>!_xeUtils.default.isEqual(e,n)).join(","),{type:"update"}):d||y(u.concat([n]).join(","),{type:"update"})}}else _xeUtils.default.isEqual(a,n)||y(n,{type:"update"})},u=(e,t)=>{var a=h.value,l=_xeUtils.default.getYearWeek(e,a),a=_xeUtils.default.getWhatWeek(e,0,a,a),l=_xeUtils.default.getWhatMonth(1===l?_xeUtils.default.getWhatDay(a,6):e,t,"first");A.selectMonth=l},_e=()=>{var e=O["type"],t=h.value;let a=new Date;switch(e){case"week":a=_xeUtils.default.getWhatWeek(a,0,t);break;case"datetime":a=new Date,A.datetimePanelValue=new Date;break;default:a=_xeUtils.default.getWhatDay(Date.now(),0,"first")}A.currentDate=a,u(a,0)},he=()=>{A.datePanelType="year"},fe=()=>{let e=A["datePanelType"];e="month"===e||"quarter"===e?"year":"month",A.datePanelType=e},xe=t=>{var a=O["type"],{datePanelType:l,selectMonth:i,inputLabel:u}=A,s=p["yearSize"];if(!W.value){let e;e="year"===a?_xeUtils.default.getWhatYear(i,-s,"first"):"month"===a||"quarter"===a?"year"===l?_xeUtils.default.getWhatYear(i,-s,"first"):_xeUtils.default.getWhatYear(i,-1,"first"):"year"===l?_xeUtils.default.getWhatYear(i,-s,"first"):"month"===l?_xeUtils.default.getWhatYear(i,-1,"first"):_xeUtils.default.getWhatMonth(i,-1,"first"),A.selectMonth=e,S("date-prev",{viewType:l,viewDate:e,value:u,type:a},t)}},ye=e=>{_e(),D(A.currentDate,!0),O.multiple||g(),S("date-today",{type:O.type},e)},ge=t=>{var a=O["type"],{datePanelType:l,selectMonth:i,inputLabel:u}=A,s=p["yearSize"];if(!q.value){let e;e="year"===a?_xeUtils.default.getWhatYear(i,s,"first"):"month"===a||"quarter"===a?"year"===l?_xeUtils.default.getWhatYear(i,s,"first"):_xeUtils.default.getWhatYear(i,1,"first"):"year"===l?_xeUtils.default.getWhatYear(i,s,"first"):"month"===l?_xeUtils.default.getWhatYear(i,1,"first"):_xeUtils.default.getWhatMonth(i,1,"first"),A.selectMonth=e,S("date-next",{viewType:l,value:u,type:a},t)}},R=e=>{var t=T.value,a=N.value,e=e["date"];return!!(t&&t.getTime()>e.getTime())||!!(a&&a.getTime()<e.getTime())},G=e=>{var t=O["disabledMethod"],a=A["datePanelType"],e=e["date"];return!!t&&t({type:a,viewType:a,date:e,$datePanel:n})},U=e=>R(e)||G(e),J=e=>{var t,a,l;U(e)||(e=e.date,{type:t,multiple:a}=O,l=A.datePanelType,"month"===t?"year"===l?(A.datePanelType="month",b(e)):(D(e),a||g()):"year"===t?(D(e),a||g()):"quarter"===t?"year"===l?(A.datePanelType="quarter",b(e)):(D(e),a||g()):"month"===l?(A.datePanelType="week"===t?t:"day",b(e)):"year"===l?(A.datePanelType="month",b(e)):(D(e),"datetime"===t||a||g()))},K=e=>{var t,a,l,i,u;U(e)||(t=A["datePanelType"],"month"===t?(u=e.date,U({date:u})||(z.value.some(e=>_xeUtils.default.isDateSame(e.date,u,"yyyyMM"))||b(u),s(u))):"quarter"===t?(i=e.date,U({date:i})||(L.value.some(e=>_xeUtils.default.isDateSame(e.date,i,"yyyyq"))||b(i),s(i))):"year"===t?(l=e.date,U({date:l})||(_.value.some(e=>_xeUtils.default.isDateSame(e.date,l,"yyyy"))||b(l),s(l))):(a=e.date,U({date:a})||(j.value.some(e=>_xeUtils.default.isDateSame(e.date,a,"yyyyMMdd"))||b(a),s(a))))},X=()=>{A.datePanelValue=null},be=e=>{var t;e&&(t=e.offsetHeight,e.parentNode.scrollTop=e.offsetTop-4*t)},w=e=>{var t=A["datetimePanelValue"];A.datetimePanelValue=t?new Date(t.getTime()):new Date,be(e.currentTarget)},De=()=>{var{type:e,defaultDate:t,defaultTime:a}=O,l=o.value,i=Q.value;if(-1<["year","quarter","month","week"].indexOf(e)?A.datePanelType=e:A.datePanelType="day",A.currentDate=_xeUtils.default.getWhatDay(Date.now(),0,"first"),i?(u(i,0),s(i)):t&&(e=f(t,"yyyy-MM-dd"),_xeUtils.default.isValidDate(e))?u(e,0):_e(),l){let e=A.datePanelValue;e||(e=_xeUtils.default.getWhatDay(Date.now(),0,"first"),a&&(i=(0,_util.toStringTimeDate)(a),_xeUtils.default.isValidDate(i))&&(e.setHours(i.getHours()),e.setMinutes(i.getMinutes()),e.setSeconds(i.getSeconds()))),A.datetimePanelValue=e,(0,_vue.nextTick)(()=>{var e=k.value;_xeUtils.default.arrayEach(e.querySelectorAll("li.is--selected"),e=>{be(e)})})}},S=(e,t,a)=>{l(e,(0,_ui.createEvent)(a,{$datePanel:n},t))};t={dispatchEvent:S,getModelValue(){return A.inputValue},setPanelDate(e){e&&b(e)},getPanelDate(){return A.selectMonth},checkValue(e){pe(e)},confirmByEvent(e){{var t=O["multiple"];const i=A["datetimePanelValue"];var a=Q.value,l=o.value;if(l){const u=m.value;if(t){t=c.value;if(l){l=[...B.value];const s=[];l.forEach(e=>{e&&(i&&(e.setHours(i.getHours()),e.setMinutes(i.getMinutes()),e.setSeconds(i.getSeconds())),s.push(e))}),y(s.map(e=>_xeUtils.default.toDateString(e,u)).join(","),{type:"update"})}else y(t.join(","),{type:"update"})}else D(a||A.currentDate)}g(),S("confirm",{},e)}}};Object.assign(n,t);const Z=(e,t)=>{var a,l=O["festivalMethod"],i=[];return l&&(a=A["datePanelType"],e=(a=(l=l({type:a,viewType:a,date:e.date,$datePanel:n}))?_xeUtils.default.isString(l)?{label:l}:l:{}).extra?_xeUtils.default.isString(a.extra)?{label:a.extra}:a.extra:null,i.push((0,_vue.h)("div",{class:["vxe-date-panel--label",{"is-notice":a.notice}]},e&&e.label?[(0,_vue.h)("div",{class:"vxe-date-panel--label--number"},""+t),(0,_vue.h)("div",{class:["vxe-date-panel--label--extra",e.important?"is-important":"",e.className],style:e.style},_xeUtils.default.toValueString(e.label))]:""+t)),l=a.label)&&(e=_xeUtils.default.toValueString(l).split(","),i.push((0,_vue.h)("div",{class:["vxe-date-panel--festival",a.important?"is-important":"",a.className],style:a.style},[1<e.length?(0,_vue.h)("div",{class:["vxe-date-panel--festival--overlap","overlap--"+e.length]},e.map(e=>(0,_vue.h)("div",e.substring(0,3)))):(0,_vue.h)("div",{class:"vxe-date-panel--festival--label"},e[0].substring(0,3))]))),i},Ue=()=>{var Y=A["datePanelType"];switch(Y){case"week":{const t=O["multiple"],{datePanelType:e,datePanelValue:u}=A,s=Q.value;var H=te.value;const r=se.value,n=B.value,d=$.value,v="yyyyMMdd";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+e]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-header"},[(0,_vue.h)("div",{class:"vxe-date-panel--view-row"},H.map((e,t)=>(0,_vue.h)("div",{class:"vxe-date-panel--view-item",style:{width:`${t?13:9}%`}},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-label"},e.label)])])))]),(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},r.map(e=>{const a=t?e.some(t=>n.some(e=>_xeUtils.default.isDateSame(e,t.date,v))):e.some(e=>_xeUtils.default.isDateSame(s,e.date,v)),l=e.some(e=>_xeUtils.default.isDateSame(u,e.date,v)),i=e.some(e=>e.isNow);return(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/r.length+"%"}},e.map((e,t)=>(0,_vue.h)("div",{class:["vxe-date-panel--view-item",{"is--prev":e.isPrev,"is--current":e.isCurrent,"is--now":t?e.isNow:i,"is--next":e.isNext,"is--range-disabled":R(e),"is--disabled":G(e),"is--selected":a,"is--over":d&&!a,"is--hover":!d&&l}],style:{width:`${t?13:9}%`},onClick:()=>J(e),onMouseenter:()=>K(e),onMouseleave:X},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},Z(e,e.label))])))}))])];return}case"month":{const l=O["multiple"],{datePanelType:a,datePanelValue:i}=A,o=Q.value,p=ie.value,c=B.value,m=$.value,_="yyyyMM";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+a]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},p.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/p.length+"%"}},a.map(t=>{var e=l?c.some(e=>_xeUtils.default.isDateSame(e,t.date,_)):_xeUtils.default.isDateSame(o,t.date,_);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--range-disabled":R(t),"is--disabled":G(t),"is--selected":e,"is--over":m&&!e,"is--hover":!m&&_xeUtils.default.isDateSame(i,t.date,_)}],style:{width:100/a.length+"%"},onClick:()=>J(t),onMouseenter:()=>K(t),onMouseleave:X},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},Z(t,(0,_ui.getI18n)("vxe.input.date.months.m"+t.month)))])}))))])];return}case"quarter":{const h=O["multiple"],{datePanelType:f,datePanelValue:x}=A,y=Q.value,g=le.value,b=B.value,D=$.value,U="yyyyq";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+f]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},g.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/g.length+"%"}},a.map(t=>{var e=h?b.some(e=>_xeUtils.default.isDateSame(e,t.date,U)):_xeUtils.default.isDateSame(y,t.date,U);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--range-disabled":R(t),"is--disabled":G(t),"is--selected":e,"is--over":D&&!e,"is--hover":!D&&_xeUtils.default.isDateSame(x,t.date,U)}],style:{width:100/a.length+"%"},onClick:()=>J(t),onMouseenter:()=>K(t),onMouseleave:X},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},Z(t,(0,_ui.getI18n)("vxe.input.date.quarters.q"+t.quarter)))])}))))])];return}case"year":{const w=O["multiple"],{datePanelType:S,datePanelValue:P}=A,M=Q.value,k=ae.value,V=B.value,T=$.value,N="yyyy";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+S]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},k.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/k.length+"%"}},a.map(t=>{var e=w?V.some(e=>_xeUtils.default.isDateSame(e,t.date,N)):_xeUtils.default.isDateSame(M,t.date,N);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--range-disabled":R(t),"is--disabled":G(t),"is--selected":e,"is--over":T&&!e,"is--hover":!T&&_xeUtils.default.isDateSame(P,t.date,N)}],style:{width:100/a.length+"%"},onClick:()=>J(t),onMouseenter:()=>K(t),onMouseleave:X},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},Z(t,t.year))])}))))])];return}}{const E=O["multiple"],{datePanelType:L,datePanelValue:z}=A,j=Q.value,C=ee.value,W=ue.value,I=B.value,q=$.value,F="yyyyMMdd";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+L]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-header"},[(0,_vue.h)("div",{class:"vxe-date-panel--view-row"},C.map(e=>(0,_vue.h)("div",{class:"vxe-date-panel--view-item",style:{width:100/C.length+"%"}},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-label"},e.label)])])))]),(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},W.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/W.length+"%"}},a.map(t=>{var e=E?I.some(e=>_xeUtils.default.isDateSame(e,t.date,F)):_xeUtils.default.isDateSame(j,t.date,F);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--range-disabled":R(t),"is--disabled":G(t),"is--selected":e,"is--over":q&&!e,"is--hover":!q&&_xeUtils.default.isDateSame(z,t.date,F)}],style:{width:100/a.length+"%"},onClick:()=>J(t),onMouseenter:()=>K(t),onMouseleave:X},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},Z(t,t.label))])}))))])]}},we=()=>{var e=A["datePanelType"],t=W.value,a=q.value,l=H.value;return[(0,_vue.h)("div",{class:"vxe-date-panel--picker-header"},[(0,_vue.h)("div",{class:"vxe-date-panel--picker-type-wrapper"},["year"===e?(0,_vue.h)("span",{class:"vxe-date-panel--picker-label"},l.y):(0,_vue.h)("span",{class:"vxe-date-panel--picker-btns"},[(0,_vue.h)("span",{class:"vxe-date-panel--picker-btn",onClick:he},l.y),l.m?(0,_vue.h)("span",{class:"vxe-date-panel--picker-btn",onClick:fe},l.m):(0,_ui.renderEmptyElement)(n)])]),(0,_vue.h)("div",{class:"vxe-date-panel--picker-btn-wrapper"},[(0,_vue.h)("span",{class:["vxe-date-panel--picker-btn vxe-date-panel--picker-prev-btn",{"is--disabled":t}],onClick:xe},[(0,_vue.h)("i",{class:"vxe-icon-caret-left"})]),(0,_vue.h)("span",{class:"vxe-date-panel--picker-btn vxe-date-panel--picker-current-btn",onClick:ye},[(0,_vue.h)("i",{class:"vxe-icon-dot"})]),(0,_vue.h)("span",{class:["vxe-date-panel--picker-btn vxe-date-panel--picker-next-btn",{"is--disabled":a}],onClick:ge},[(0,_vue.h)("i",{class:"vxe-icon-caret-right"})])])]),(0,_vue.h)("div",{class:"vxe-date-panel--picker-body"},Ue())]},Se=()=>{var e=O["type"];const t=A["datetimePanelValue"];var a=F.value,l=I.value,i=ne.value,u=re.value,s=de.value,r=ve.value;return["time"===e?(0,_ui.renderEmptyElement)(n):(0,_vue.h)("div",{class:"vxe-date-panel--time-header"},[(0,_vue.h)("div",{class:"vxe-date-panel--time-title"},a)]),(0,_vue.h)("div",{ref:k,class:"vxe-date-panel--time-body"},[(0,_vue.h)("ul",{class:"vxe-date-panel--time-hour-list"},l.map((l,e)=>(0,_vue.h)("li",{key:e,class:{"is--disabled":l.disabled,"is--selected":t&&t.getHours()===l.value},onClick:e=>{var t,a;e=e,t=l,a=A.datetimePanelValue,t.disabled||(a&&a.setHours(t.value),w(e))}},l.label))),i?(0,_vue.h)("ul",{class:"vxe-date-panel--time-minute-list"},u.map((l,e)=>(0,_vue.h)("li",{key:e,class:{"is--disabled":l.disabled,"is--selected":t&&t.getMinutes()===l.value},onClick:e=>{var t,a;e=e,t=l,a=A.datetimePanelValue,t.disabled||(a&&a.setMinutes(t.value),w(e))}},l.label))):(0,_ui.renderEmptyElement)(n),i&&s?(0,_vue.h)("ul",{class:"vxe-date-panel--time-second-list"},r.map((l,e)=>(0,_vue.h)("li",{key:e,class:{"is--disabled":l.disabled,"is--selected":t&&t.getSeconds()===l.value},onClick:e=>{var t,a;e=e,t=l,a=A.datetimePanelValue,t.disabled||(a&&a.setSeconds(t.value),w(e))}},l.label))):(0,_ui.renderEmptyElement)(n)])]};return(0,_vue.watch)(()=>O.modelValue,e=>{oe(e),ce()}),(0,_vue.watch)(()=>O.type,()=>{Object.assign(A,{inputLabel:"",datetimePanelValue:null,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}),me()}),(0,_vue.watch)(v,()=>{r.value&&(s(A.datePanelValue),A.inputLabel=O.multiple?d.value:A.datePanelLabel)}),me(),De(),n.renderVN=()=>{var e=O["type"],t=M.value;return(0,_vue.h)("div",{class:["vxe-date-panel","type--"+e,{["size--"+t]:t}]},["datetime"===(e=O.type)?(0,_vue.h)("div",{key:e,ref:a,class:"vxe-date-panel--time-layout-wrapper"},[(0,_vue.h)("div",{class:"vxe-date-panel--time-left-wrapper"},we()),(0,_vue.h)("div",{class:"vxe-date-panel--time-right-wrapper"},Se())]):"time"===e?(0,_vue.h)("div",{key:e,ref:a,class:"vxe-date-panel--wrapper"},Se()):(0,_vue.h)("div",{key:e||"default",ref:a,class:"vxe-date-panel--wrapper"},we())])},n},render(){return this.renderVN()}});