sf_web_dist/js/el-time-select.17600892809545z1-VCfn.js
2025-10-10 17:42:44 +08:00

2 lines
3.4 KiB
JavaScript

import{b as e,a2 as l,da as a,h as t,db as n,a4 as u,_ as s,d as r,C as o,U as i,dc as c,dd as d,bY as m,a as f,r as p,ac as v,u as b,F as h,m as g,e as y,w as S,c as x,a7 as $,a8 as C,g as I,al as T,E as B,n as H,q as _,v as E}from"./index.1760089280954mLahKml6.js";const V=e({format:{type:String,default:"HH:mm"},modelValue:String,disabled:Boolean,editable:{type:Boolean,default:!0},effect:{type:t(String),default:"light"},clearable:{type:Boolean,default:!0},size:u,placeholder:String,start:{type:String,default:"09:00"},end:{type:String,default:"18:00"},step:{type:String,default:"00:30"},minTime:String,maxTime:String,includeEndTime:Boolean,name:String,prefixIcon:{type:t([String,Object]),default:()=>n},clearIcon:{type:t([String,Object]),default:()=>a},...l}),z=e=>{const l=(e||"").split(":");if(l.length>=2){let a=Number.parseInt(l[0],10);const t=Number.parseInt(l[1],10),n=e.toUpperCase();return n.includes("AM")&&12===a?a=0:n.includes("PM")&&12!==a&&(a+=12),{hours:a,minutes:t}}return null},O=(e,l)=>{const a=z(e);if(!a)return-1;const t=z(l);if(!t)return-1;const n=a.minutes+60*a.hours,u=t.minutes+60*t.hours;return n===u?0:n>u?1:-1},U=e=>`${e}`.padStart(2,"0"),j=e=>`${U(e.hours)}:${U(e.minutes)}`,k=(e,l)=>{const a=z(e);if(!a)return"";const t=z(l);if(!t)return"";const n={hours:a.hours,minutes:a.minutes};return n.minutes+=t.minutes,n.hours+=t.hours,n.hours+=Math.floor(n.minutes/60),n.minutes=n.minutes%60,j(n)},F=r({name:"ElTimeSelect"});const M=E(s(r({...F,props:V,emits:[o,"blur","focus","clear",i],setup(e,{expose:l}){const a=e;c.extend(d);const{Option:t}=m,n=f("input"),u=p(),s=v(),{lang:r}=b(),E=h(()=>a.modelValue),V=h(()=>{const e=z(a.start);return e?j(e):null}),U=h(()=>{const e=z(a.end);return e?j(e):null}),F=h(()=>{const e=z(a.step);return e?j(e):null}),M=h(()=>{const e=z(a.minTime||"");return e?j(e):null}),N=h(()=>{const e=z(a.maxTime||"");return e?j(e):null}),q=h(()=>{var e;const l=[],t=(e,a)=>{l.push({value:e,disabled:O(a,M.value||"-1:-1")<=0||O(a,N.value||"100:100")>=0})};if(a.start&&a.end&&a.step){let n,u=V.value;for(;u&&U.value&&O(u,U.value)<=0;)n=c(u,"HH:mm").locale(r.value).format(a.format),t(n,u),u=k(u,F.value);if(a.includeEndTime&&U.value&&(null==(e=l[l.length-1])?void 0:e.value)!==U.value){t(c(U.value,"HH:mm").locale(r.value).format(a.format),U.value)}}return l});return l({blur:()=>{var e,l;null==(l=null==(e=u.value)?void 0:e.blur)||l.call(e)},focus:()=>{var e,l;null==(l=null==(e=u.value)?void 0:e.focus)||l.call(e)}}),(e,l)=>(y(),g(I(m),{ref_key:"select",ref:u,"model-value":I(E),disabled:I(s),clearable:e.clearable,"clear-icon":e.clearIcon,size:e.size,effect:e.effect,placeholder:e.placeholder,"default-first-option":"",filterable:e.editable,"empty-values":e.emptyValues,"value-on-clear":e.valueOnClear,"onUpdate:modelValue":l=>e.$emit(I(i),l),onChange:l=>e.$emit(I(o),l),onBlur:l=>e.$emit("blur",l),onFocus:l=>e.$emit("focus",l),onClear:()=>e.$emit("clear")},{prefix:S(()=>[e.prefixIcon?(y(),g(I(B),{key:0,class:H(I(n).e("prefix-icon"))},{default:S(()=>[(y(),g(_(e.prefixIcon)))]),_:1},8,["class"])):T("v-if",!0)]),default:S(()=>[(y(!0),x($,null,C(I(q),e=>(y(),g(I(t),{key:e.value,label:e.value,value:e.value,disabled:e.disabled},null,8,["label","value","disabled"]))),128))]),_:1},8,["model-value","disabled","clearable","clear-icon","size","effect","placeholder","filterable","empty-values","value-on-clear","onUpdate:modelValue","onChange","onBlur","onFocus","onClear"]))}}),[["__file","time-select.vue"]]));export{M as E};