mirror of
https://gitee.com/wot-design-uni/wot-design-uni.git
synced 2025-12-06 17:18:40 +08:00
2 lines
11 KiB
JavaScript
2 lines
11 KiB
JavaScript
var e=Object.defineProperty,a=Object.defineProperties,t=Object.getOwnPropertyDescriptors,l=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable,n=(a,t,l)=>t in a?e(a,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):a[t]=l,o=(e,a)=>{for(var t in a||(a={}))r.call(a,t)&&n(e,t,a[t]);if(l)for(var t of l(a))s.call(a,t)&&n(e,t,a[t]);return e},i=(e,l)=>a(e,t(l));import{d as u,r as d,c,at as m,M as f,C as p,e as g,f as v,b as h,g as w,w as y,m as _,z as k,h as b,F as D,l as Y,aQ as C,i as F,K as x,D as S,j as M,t as V,n as T,q as $,a_ as O,N as j,au as P}from"./index-ChV97F5w.js";import{_ as z,a as I}from"./wd-tabs.BeePpGhR.js";import{_ as W}from"./wd-tag.CeqTtYz-.js";import{b as q,c as A,a as H,f as R,m as B,e as L,w as N,_ as U}from"./base64.D3gEw_Hf.js";import{i as E,w as G,g as K}from"./wd-calendar-view.3HeIajjc.js";import{_ as Q}from"./wd-action-sheet.CcBvf2uy.js";import{_ as J}from"./wd-button.DXEkLyH0.js";import{_ as X,n as Z}from"./page-wraper.D9WpzC1k.js";import{u as ee}from"./useTranslate.BPiTMMfr.js";const ae=new Date,te=new Date(ae.getFullYear(),ae.getMonth()-6,ae.getDate()).getTime(),le=new Date(ae.getFullYear(),ae.getMonth()+6,ae.getDate(),23,59,59).getTime(),re=i(o({},q),{modelValue:L([Number,Array,null]),type:H("date"),minDate:B(te),maxDate:B(le),firstDayOfWeek:B(0),formatter:Function,maxRange:Number,rangePrompt:String,allowSameDay:A(!1),defaultTime:{type:[String,Array]},timeFilter:Function,hideSecond:A(!1),label:String,labelWidth:H("33%"),disabled:A(!1),readonly:A(!1),placeholder:String,title:String,alignRight:A(!1),error:A(!1),required:A(!1),size:String,center:A(!1),closeOnClickModal:A(!0),zIndex:B(15),showConfirm:A(!0),confirmText:String,displayFormat:Function,innerDisplayFormat:Function,ellipsis:A(!1),showTypeSwitch:A(!1),shortcuts:R(),onShortcutsClick:Function,safeAreaInsetBottom:A(!0),beforeConfirm:Function,prop:String,rules:R(),customViewClass:H(""),customLabelClass:H(""),customValueClass:H(""),immediateChange:A(!1),withCell:A(!0),rootPortal:A(!1),markerSide:H("before"),clearable:A(!1)}),se=U(u(i(o({},{name:"wd-calendar",options:{addGlobalClass:!0,virtualHost:!0,styleIsolation:"shared"}}),{props:re,emits:["cancel","change","update:modelValue","confirm","open","clear"],setup(e,{expose:a,emit:t}){const{translate:l}=ee("calendar"),r=(e,a)=>{switch(a){case"date":return Z(e).format("YYYY-MM-DD");case"dates":return e.map((e=>Z(e).format("YYYY-MM-DD"))).join(", ");case"daterange":return`${e[0]?Z(e[0]).format("YYYY-MM-DD"):l("startTime")} ${l("to")} ${e[1]?Z(e[1]).format("YYYY-MM-DD"):l("endTime")}`;case"datetime":return Z(e).format("YYYY-MM-DD HH:mm:ss");case"datetimerange":return`${e[0]?Z(e[0]).format(l("timeFormat")):l("startTime")} ${l("to")}\n${e[1]?Z(e[1]).format(l("timeFormat")):l("endTime")}`;case"week":{const a=new Date(e),t=a.getFullYear(),r=K(e);new Date(a).setDate(a.getDate()-a.getDay()+1);const s=new Date(a);s.setDate(a.getDate()+(7-a.getDay()));const n=s.getFullYear()>t?s.getFullYear():t;return l("weekFormat",n,O(r))}case"weekrange":{const a=new Date(e[0]),t=new Date(e[1]),r=a.getFullYear(),s=t.getFullYear(),n=K(e[0]),o=K(e[1]);new Date(a).setDate(a.getDate()-a.getDay()+1);const i=new Date(a);i.setDate(a.getDate()+(7-a.getDay()));new Date(t).setDate(t.getDate()-t.getDay()+1);const u=new Date(t);u.setDate(t.getDate()+(7-t.getDay()));const d=i.getFullYear()>r?i.getFullYear():r,c=u.getFullYear()>s?u.getFullYear():s;return`${e[0]?l("weekFormat",d,O(n)):l("startWeek")} - ${e[1]?l("weekFormat",c,O(o)):l("endWeek")}`}case"month":return Z(e).format("YYYY / MM");case"monthrange":return`${e[0]?Z(e[0]).format("YYYY / MM"):l("startMonth")} ${l("to")} ${e[1]?Z(e[1]).format("YYYY / MM"):l("endMonth")}`}},s=(e,a,t)=>{switch(t){case"daterange":return e?Z(e).format(l("dateFormat")):l("end"===a?"endTime":"startTime");case"datetimerange":return e?Z(e).format(l("timeFormat")):l("end"===a?"endTime":"startTime");case"weekrange":{if(!e)return l("end"===a?"endWeek":"startWeek");const t=new Date(e).getFullYear(),r=K(e);return l("weekFormat",t,O(r))}case"monthrange":return e?Z(e).format(l("monthFormat")):l("end"===a?"endMonth":"startMonth")}},n=e,o=t,i=d(!1),u=d(null),q=d(null),A=d(338),H=d(!0),R=d(0),B=d(0),L=d("date"),U=d(),ae=d(!1),te=d(),le=d(),re=c((()=>{const[e,a]=m(f(u.value)?u.value:[]);return[e,a].map(((e,a)=>(n.innerDisplayFormat||s)(e,0===a?"start":"end",L.value)))})),se=c((()=>!f(n.modelValue)&&n.modelValue||f(n.modelValue)&&n.modelValue.length?(n.displayFormat||r)(n.modelValue,U.value||L.value):"")),ne=c((()=>{const e=["wd-calendar__cell"];return n.disabled&&e.push("is-disabled"),n.readonly&&e.push("is-readonly"),n.error&&e.push("is-error"),se.value||e.push("wd-calendar__cell--placeholder"),e.join(" ")}));p((()=>n.modelValue),((e,a)=>{P(e,a)||(u.value=m(e),H.value=pe(e))}),{immediate:!0}),p((()=>n.type),((e,a)=>{if(n.showTypeSwitch){const a=["date","week","month"],t=["daterange","weekrange","monthrange"],l=e.indexOf("range")>-1?t.indexOf(e)||0:a.indexOf(e);R.value=l}A.value=n.showConfirm?338:400,L.value=m(e)}),{deep:!0,immediate:!0}),p((()=>n.showConfirm),(e=>{A.value=e?338:400}),{deep:!0,immediate:!0});const oe=c((()=>e=>E(e))),ie=c((()=>n.clearable&&!n.disabled&&!n.readonly&&se.value.length>0)),ue=c((()=>!n.disabled&&!n.readonly&&!ie.value));function de(){o("clear"),o("update:modelValue",null)}function ce(){return e=this,a=null,t=function*(){const{disabled:e,readonly:a}=n;e||a||(ae.value=!0,i.value=!0,q.value=m(u.value),B.value=R.value,U.value=L.value,yield j(),te.value&&te.value&&te.value.$.exposed.scrollIntoView(),setTimeout((()=>{n.showTypeSwitch&&(le.value.scrollIntoView(),le.value.updateLineStyle(!1))}),250),o("open"))},new Promise(((l,r)=>{var s=e=>{try{o(t.next(e))}catch(a){r(a)}},n=e=>{try{o(t.throw(e))}catch(a){r(a)}},o=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,n);o((t=t.apply(e,a)).next())}));var e,a,t}function me(){i.value=!1,setTimeout((()=>{u.value=m(q.value),R.value=B.value,L.value=U.value||"date",H.value=pe(q.value)}),250),o("cancel")}function fe({index:e}){const a=n.type.indexOf("range")>-1?["daterange","weekrange","monthrange"][e]:["date","week","month"][e];R.value=e,L.value=a}function pe(e){let a=!1;return(!(n.type.indexOf("range")>-1)||f(e)&&e[0]&&e[1]&&e)&&("dates"!==n.type||f(e)&&0!==e.length&&e)&&e||(a=!0),a}function ge({value:e}){u.value=m(e),H.value=pe(e),o("change",{value:e}),n.showConfirm||H.value||ve()}function ve(){n.beforeConfirm?n.beforeConfirm({value:u.value,resolve:e=>{e&&he()}}):he()}function he(){i.value=!1,U.value=L.value,o("update:modelValue",u.value),o("confirm",{value:u.value,type:L.value})}return a({close:me,open:ce}),(e,a)=>{const t=F,r=g(v("wd-tab"),z),s=g(v("wd-tabs"),I),o=g(v("wd-tag"),W);return w(),h(t,{class:$(`wd-calendar ${e.customClass}`)},{default:y((()=>[e.withCell?(w(),_(D,{key:0},[e.$slots.default?(w(),h(t,{key:1,onClick:ce},{default:y((()=>[S(e.$slots,"default",{},void 0,!0)])),_:3})):(w(),h(X,{key:0,title:e.label,value:se.value||e.placeholder||Y(l)("placeholder"),required:e.required,size:e.size,"title-width":e.labelWidth,prop:e.prop,rules:e.rules,clickable:!e.disabled&&!e.readonly,"value-align":e.alignRight?"right":"left",center:e.center,"custom-class":ne.value,"custom-style":e.customStyle,"custom-title-class":e.customLabelClass,"custom-value-class":e.customValueClass,ellipsis:e.ellipsis,"use-title-slot":!!e.$slots.label,"marker-side":e.markerSide,onClick:ce},C({"right-icon":y((()=>[ue.value?(w(),h(N,{key:0,"custom-class":"wd-calendar__arrow",name:"arrow-right"})):ie.value?(w(),h(t,{key:1,onClick:x(de,["stop"])},{default:y((()=>[b(N,{"custom-class":"wd-calendar__clear",name:"error-fill"})])),_:1})):k("",!0)])),_:2},[e.$slots.label?{name:"title",fn:y((()=>[S(e.$slots,"label",{},void 0,!0)])),key:"0"}:void 0]),1032,["title","value","required","size","title-width","prop","rules","clickable","value-align","center","custom-class","custom-style","custom-title-class","custom-value-class","ellipsis","use-title-slot","marker-side"]))],64)):k("",!0),b(Q,{modelValue:i.value,"onUpdate:modelValue":a[2]||(a[2]=e=>i.value=e),duration:250,"close-on-click-modal":e.closeOnClickModal,"safe-area-inset-bottom":e.safeAreaInsetBottom,"z-index":e.zIndex,"root-portal":e.rootPortal,onClose:me},{default:y((()=>[b(t,{class:"wd-calendar__header"},{default:y((()=>[e.showTypeSwitch||0!==e.shortcuts.length?k("",!0):(w(),h(t,{key:0,class:"wd-calendar__title"},{default:y((()=>[M(V(e.title||Y(l)("title")),1)])),_:1})),e.showTypeSwitch?(w(),h(t,{key:1,class:"wd-calendar__tabs"},{default:y((()=>[b(s,{ref_key:"calendarTabs",ref:le,modelValue:R.value,"onUpdate:modelValue":a[0]||(a[0]=e=>R.value=e),onChange:fe},{default:y((()=>[b(r,{title:Y(l)("day"),name:Y(l)("day")},null,8,["title","name"]),b(r,{title:Y(l)("week"),name:Y(l)("week")},null,8,["title","name"]),b(r,{title:Y(l)("month"),name:Y(l)("month")},null,8,["title","name"])])),_:1},8,["modelValue"])])),_:1})):k("",!0),e.shortcuts.length>0?(w(),h(t,{key:2,class:"wd-calendar__shortcuts"},{default:y((()=>[(w(!0),_(D,null,T(e.shortcuts,((e,a)=>(w(),h(o,{key:a,"custom-class":"wd-calendar__tag",type:"primary",plain:"",round:"",onClick:e=>function(e){n.onShortcutsClick&&"function"==typeof n.onShortcutsClick&&(u.value=m(n.onShortcutsClick({item:n.shortcuts[e],index:e})),H.value=pe(u.value)),n.showConfirm||ve()}(a)},{default:y((()=>[M(V(e.text),1)])),_:2},1032,["onClick"])))),128))])),_:1})):k("",!0),b(N,{"custom-class":"wd-calendar__close",name:"add",onClick:me})])),_:1}),ae.value?(w(),h(t,{key:0,class:$(`wd-calendar__view ${L.value.indexOf("range")>-1?"is-range":""} ${e.showConfirm?"is-show-confirm":""}`)},{default:y((()=>[oe.value(e.type)?(w(),h(t,{key:0,class:$("wd-calendar__range-label "+("monthrange"===e.type?"is-monthrange":""))},{default:y((()=>[b(t,{class:$("wd-calendar__range-label-item "+(u.value&&Y(f)(u.value)&&u.value[0]?"":"is-placeholder")),style:{"text-align":"right"}},{default:y((()=>[M(V(re.value[0]),1)])),_:1},8,["class"]),b(t,{class:"wd-calendar__range-sperator"},{default:y((()=>[M("/")])),_:1}),b(t,{class:$("wd-calendar__range-label-item "+(u.value&&Y(f)(u.value)&&u.value[1]?"":"is-placeholder"))},{default:y((()=>[M(V(re.value[1]),1)])),_:1},8,["class"])])),_:1},8,["class"])):k("",!0),b(G,{ref_key:"calendarView",ref:te,modelValue:u.value,"onUpdate:modelValue":a[1]||(a[1]=e=>u.value=e),type:L.value,"min-date":e.minDate,"max-date":e.maxDate,"first-day-of-week":e.firstDayOfWeek,formatter:e.formatter,"panel-height":A.value,"max-range":e.maxRange,"range-prompt":e.rangePrompt,"allow-same-day":e.allowSameDay,"default-time":e.defaultTime,"time-filter":e.timeFilter,"hide-second":e.hideSecond,"show-panel-title":!oe.value(e.type),"immediate-change":e.immediateChange,onChange:ge},null,8,["modelValue","type","min-date","max-date","first-day-of-week","formatter","panel-height","max-range","range-prompt","allow-same-day","default-time","time-filter","hide-second","show-panel-title","immediate-change"])])),_:1},8,["class"])):k("",!0),e.showConfirm?(w(),h(t,{key:1,class:"wd-calendar__confirm"},{default:y((()=>[b(J,{block:"",disabled:H.value,onClick:ve},{default:y((()=>[M(V(e.confirmText||Y(l)("confirm")),1)])),_:1},8,["disabled"])])),_:1})):k("",!0)])),_:1},8,["modelValue","close-on-click-modal","safe-area-inset-bottom","z-index","root-portal"])])),_:3},8,["class"])}}})),[["__scopeId","data-v-1e7b690d"]]);export{se as _};
|