Files
mini-yu/unpackage/dist/build/web/assets/pages-booking-booking.DgeQEhcv.js
lingxiao865 c5af079d8c first commit
2026-02-10 08:05:03 +08:00

2 lines
30 KiB
JavaScript

import{d as e,o as t,c as a,w as s,l as o,n as l,b as n,a as i,i as r,I as c,r as u,e as d,t as p,u as h,m,F as v,p as f,z as y,f as g,g as _,E as b,h as C,j as x,k,A as $,G as T}from"./index-CJxdOECQ.js";import{u as P,p as B,d as S,t as V,e as z,_ as I,r as O,b as w,j as D,k as M,l as N,m as F}from"./button.BC3KjxGU.js";import{_ as A,a as j}from"./tag.BCmt9OVd.js";import{u as L}from"./using-custom-navbar.D_-3PoX-.js";import{a as E}from"./api.U2gW6MFc.js";const G={disableInput:Boolean,disabled:{type:Boolean,default:void 0},inputWidth:{type:Number},integer:{type:Boolean,default:!0},max:{type:Number,default:100},min:{type:Number,default:0},size:{type:String,default:"medium",validator:e=>!e||["small","medium","large"].includes(e)},step:{type:Number,default:1},theme:{type:String,default:"normal",validator:e=>!e||["normal","filled","outline"].includes(e)},value:{type:[String,Number],default:0},defaultValue:{type:[String,Number],default:0},onBlur:{type:Function,default:()=>({})},onChange:{type:Function,default:()=>({})},onFocus:{type:Function,default:()=>({})},onOverlimit:{type:Function,default:()=>({})}},W=`${B}-stepper`;const R=I(P({name:W,options:{styleIsolation:"shared"},controlledProps:[{key:"value",event:"change"}],externalClasses:[`${B}-class`,`${B}-class-input`,`${B}-class-minus`,`${B}-class-plus`],components:{TIcon:S},props:{...G},data:()=>({currentValue:0,classPrefix:W,prefix:B,tools:V,disablePlus:!1,disableMinus:!1}),watch:{value(e){this.preValue=Number(e),this.updateCurrentValue(this.format(this.preValue))}},mounted(){const{value:e,defaultValue:t,min:a}=this,s=z(e,t);this.updateCurrentValue(s?Number(s):a)},methods:{isDisabled(e){const{min:t,max:a,disabled:s}=this,{currentValue:o}=this;return!!s||("minus"===e&&o<=t||"plus"===e&&o>=a)},getLen(e){const t=e.toString();return-1===t.indexOf(".")?0:t.split(".")[1].length},add(e,t){const a=10**Math.max(this.getLen(e),this.getLen(t));return Math.round(e*a+t*a)/a},format(e){const{min:t,max:a,step:s}=this,o=Math.max(this.getLen(s),this.getLen(e));return Math.max(Math.min(a,e,Number.MAX_SAFE_INTEGER),t,Number.MIN_SAFE_INTEGER).toFixed(o)},setValue(e){const t=Number(this.format(e));this.updateCurrentValue(t),this.preValue!==t&&(this.preValue=t,this._trigger("change",{value:t}))},minusValue(){if(this.isDisabled("minus"))return this.$emit("overlimit",{type:"minus"}),!1;const{currentValue:e,step:t}=this;this.setValue(this.add(e,-t))},plusValue(){if(this.isDisabled("plus"))return this.$emit("overlimit",{type:"plus"}),!1;const{currentValue:e,step:t}=this;this.setValue(this.add(e,t))},filterIllegalChar(e){const t=String(e).replace(/[^0-9.]/g,""),a=t.indexOf(".");return this.integer&&-1!==a?t.split(".")[0]:this.integer||-1===a||a===t.lastIndexOf(".")?t:t.split(".",2).join(".")},updateCurrentValue(e){this.currentValue=e},handleFocus(e){const{value:t}=e.detail;this.$emit("focus",{value:t})},handleInput(e){const{value:t}=e.detail;if(""===t)return;const a=this.filterIllegalChar(t),s=this.format(a);this.updateCurrentValue(this.integer?s:a),(this.integer||/\.\d+/.test(a))&&this.setValue(a)},handleBlur(e){const{value:t}=e.detail,a=this.format(t);this.setValue(a),this.$emit("blur",{value:a})}}}),[["render",function(u,d,p,h,m,v){const f=O(e("t-icon"),S),y=r,g=c;return t(),a(y,{style:i(u.tools._style([u.customStyle])),class:l(u.classPrefix+" "+u.classPrefix+"--"+u.size+" "+u.tClass)},{default:s((()=>[o(y,{class:l(u.classPrefix+"__minus "+u.classPrefix+"__minus--"+u.theme+" "+u.classPrefix+"__icon--"+u.size+" "+(u.disabled||u.disableMinus||u.currentValue<=u.min?u.classPrefix+"--"+u.theme+"-disabled":"")+" "+u.tClassMinus),"aria-label":"减少"+u.step,"aria-role":"button","aria-disabled":u.disabled||u.disableMinus||u.currentValue<=u.min,onClick:n(u.minusValue,["stop","prevent"])},{default:s((()=>[o(f,{name:"remove"})])),_:1},8,["class","aria-label","aria-disabled","onClick"]),o(y,{class:l(u.classPrefix+"__input--"+u.theme+" "+(u.disabled||u.disableInput?u.classPrefix+"--"+u.theme+"-disabled":""))},{default:s((()=>[o(g,{style:i(u.inputWidth?"width:"+u.inputWidth+"px;":""),class:l(u.classPrefix+"__input "+u.classPrefix+"__input--"+u.size+" "+u.tClassInput),disabled:u.disabled||u.disableInput,type:u.integer?"number":"digit",value:u.currentValue,onInput:u.handleInput,onFocus:u.handleFocus,onBlur:u.handleBlur},null,8,["style","class","disabled","type","value","onInput","onFocus","onBlur"])])),_:1},8,["class"]),o(y,{class:l(u.classPrefix+"__plus "+u.classPrefix+"__plus--"+u.theme+" "+u.classPrefix+"__icon--"+u.size+" "+(u.disabled||u.disablePlus||u.currentValue>=u.max?u.classPrefix+"--"+u.theme+"-disabled":"")+" "+u.tClassPlus),"aria-label":"增加"+u.step,"aria-role":"button","aria-disabled":u.disabled||u.disablePlus||u.currentValue>=u.max,onClick:n(u.plusValue,["stop","prevent"])},{default:s((()=>[o(f,{name:"add"})])),_:1},8,["class","aria-label","aria-disabled","onClick"])])),_:1},8,["style","class"])}],["__scopeId","data-v-843d0139"]]),Y={backgroundColor:{type:String,default:""},duration:{type:Number,default:300},preventScrollThrough:{type:Boolean,default:!0},usingCustomNavbar:Boolean,visible:Boolean,zIndex:{type:Number,default:11e3},onClick:{type:Function,default:()=>({})}};function H(){return{data:()=>({transitionClass:"",transitionDurations:300,className:"",realVisible:!1}),props:{visible:{type:Boolean,default:null},appear:Boolean,name:{type:String,default:"fade"},durations:{type:Number,optionalTypes:[Array]}},watch:{visible:{handler(e,t){this.watchVisible(e,t)}}},created(){this.status="",this.transitionT=0},beforeMount(){this.dataDurations=this.getDurations(),this.visible&&this.enter(),this.inited=!0},destroyed(){clearTimeout(this.transitionT)},methods:{watchVisible(e,t){this.inited&&e!==t&&(e?this.enter():this.leave())},getDurations(){const{durations:e}=this;return Array.isArray(e)?e.map((e=>Number(e))):[Number(e),Number(e)]},enter(){const{name:e,transitionDurations:t}=this,[a]=this.dataDurations;this.status="entering",this.realVisible=!0,this.transitionClass=`${B}-${e}-enter ${B}-${e}-enter-active`,setTimeout((()=>{this.transitionClass=`${B}-${e}-enter-active ${B}-${e}-enter-to`}),30),this.transitionT="number"==typeof a&&a>0?setTimeout(this.entered.bind(this),a+30):setTimeout("leaving"===this.status?this.leaved.bind(this):()=>{},t+30)},entered(){this.customDuration=!1,clearTimeout(this.transitionT),this.status="entered",this.transitionClass=""},leave(){const{name:e,transitionDurations:t}=this,[,a]=this.dataDurations;this.status="leaving",this.transitionClass=`${B}-${e}-leave ${B}-${e}-leave-active`,clearTimeout(this.transitionT),setTimeout((()=>{this.transitionClass=`${B}-${e}-leave-active ${B}-${e}-leave-to`}),30),"number"==typeof a&&a>0?(this.customDuration=!0,this.transitionT=setTimeout(this.leaved.bind(this),a+30)):this.transitionT=setTimeout("leaving"===this.status?this.leaved.bind(this):()=>{},t+30)},leaved(){this.customDuration=!1,this.$emit("leaved"),clearTimeout(this.transitionT),this.status="leaved",this.transitionClass="",this.realVisible=!1},onTransitionEnd(){this.customDuration||(clearTimeout(this.transitionT),"entering"===this.status&&this.visible?this.entered():"leaving"!==this.status||this.visible||this.leaved())}}}}const U=H(),Z=`${B}-overlay`;const X=I(P({name:Z,options:{styleIsolation:"shared"},mixins:[H(),L],props:{...Y},emits:["click","leaved"],data:()=>({prefix:B,classPrefix:Z,computedStyle:"",_zIndex:11e3,tools:V}),watch:{backgroundColor:{handler(e){this.computedStyle=e?`background-color: ${e};`:""},immediate:!0},zIndex:{handler(e){0!==e&&(this._zIndex=e)},immediate:!0}},methods:{handleClick(){this.$emit("click",{visible:!this.visible})},noop(){}}}),[["render",function(e,o,c,p,h,m){const v=r;return t(),a(v,null,{default:s((()=>[e.realVisible&&e.preventScrollThrough?(t(),a(v,{key:0,class:l(e.prefix+"-overlay "+e.transitionClass),style:i(e.tools._style(["--td-overlay-transition-duration:"+e.duration+"ms","z-index:"+e._zIndex,"top:"+e.distanceTop+"px",e.computedStyle,e.customStyle])),"aria-role":e.ariaRole||"button","aria-label":e.ariaLabel||"关闭","disable-scroll":"",onClick:n(e.handleClick,["stop"]),onTouchmove:n(e.noop,["stop","prevent"]),onTransitionend:e.onTransitionEnd},{default:s((()=>[u(e.$slots,"default",{},void 0,!0)])),_:3},8,["class","style","aria-role","aria-label","onClick","onTouchmove","onTransitionend"])):e.realVisible?(t(),a(v,{key:1,class:l(e.prefix+"-overlay "+e.transitionClass),style:i(e.tools._style(["z-index:"+e._zIndex,"top:"+e.distanceTop+"px",e.computedStyle,e.customStyle])),"aria-role":e.ariaRole||"button","aria-label":e.ariaLabel||"关闭",onClick:n(e.handleClick,["stop"]),onTransitionend:e.onTransitionEnd},{default:s((()=>[u(e.$slots,"default",{},void 0,!0)])),_:3},8,["class","style","aria-role","aria-label","onClick","onTransitionend"])):d("",!0)])),_:3})}],["__scopeId","data-v-87948317"]]),q={closeBtn:{type:Boolean},closeOnOverlayClick:{type:Boolean,default:!0},content:{type:String},duration:{type:Number,default:240},overlayProps:{type:Object,default:()=>({})},placement:{type:String,default:"top",validator:e=>!e||["top","left","right","bottom","center"].includes(e)},preventScrollThrough:{type:Boolean,default:!0},showOverlay:{type:Boolean,default:!0},usingCustomNavbar:Boolean,visible:Boolean,defaultVisible:Boolean,zIndex:{type:Number,default:11500},onVisibleChange:{type:Function,default:()=>({})}};const J={getPopupStyles:function({zIndex:e,distanceTop:t,placement:a,duration:s}){let o=e?`z-index:${e};`:"";return"top"!==a&&"left"!==a&&"right"!==a||!t||(o=`${o}top:${t}px;--td-popup-distance-top:${t}px;`),s&&(o=`${o}--td-popup-transition:all ${s}ms ease;`),o}};delete q.visible;const K=`${B}-popup`;const Q=I(P({name:K,options:{styleIsolation:"shared"},externalClasses:[`${B}-class`,`${B}-class-content`],mixins:[U,L],components:{TOverlay:X,TIcon:S},props:{...q},emits:["visible-change","leaved","update:visible"],data:()=>({prefix:B,classPrefix:K,popup:J,tools:V}),computed:{innerPreventScrollThrough(){const{preventScrollThrough:e,overlayProps:t}=this;return e||!!t&&!!t.preventScrollThrough}},methods:{noop(){},handleOverlayClick(){const{closeOnOverlayClick:e}=this;e&&(this.$emit("visible-change",{visible:!1,trigger:"overlay"}),this.$emit("update:visible",!1))},handleClose(){this.$emit("visible-change",{visible:!1,trigger:"close-btn"}),this.$emit("update:visible",!1)}}}),[["render",function(c,p,h,m,v,f){const y=O(e("t-icon"),S),g=r,_=O(e("t-overlay"),X);return t(),a(g,null,{default:s((()=>[c.realVisible?(t(),a(g,{key:0,style:i(c.tools._style([c.popup.getPopupStyles({zIndex:c.zIndex,distanceTop:c.distanceTop,placement:c.placement,duration:c.duration}),c.customStyle])),class:l(c.tools.cls(c.classPrefix,[c.placement])+" "+c.transitionClass+" "+c.tClass),onTransitionend:c.onTransitionEnd},{default:s((()=>[c.innerPreventScrollThrough?(t(),a(g,{key:0,class:l(c.classPrefix+"__content "+c.tClassContent),onTouchmove:n(c.noop,["stop","prevent"])},{default:s((()=>[u(c.$slots,"content",{},void 0,!0),u(c.$slots,"default",{},void 0,!0),o(g,{class:l(c.classPrefix+"__close"),onClick:c.handleClose},{default:s((()=>[c.closeBtn?(t(),a(y,{key:0,name:"close",size:"64rpx"})):d("",!0),u(c.$slots,"close-btn",{class:l(c.classPrefix+"-slot")},void 0,!0)])),_:3},8,["class","onClick"])])),_:3},8,["class","onTouchmove"])):(t(),a(g,{key:1,class:l(c.classPrefix+"__content "+c.tClassContent)},{default:s((()=>[u(c.$slots,"content",{},void 0,!0),u(c.$slots,"default",{},void 0,!0),o(g,{class:l(c.classPrefix+"__close"),onClick:c.handleClose},{default:s((()=>[c.closeBtn?(t(),a(y,{key:0,name:"close",size:"64rpx"})):d("",!0),u(c.$slots,"close-btn",{class:l(c.classPrefix+"-slot")},void 0,!0)])),_:3},8,["class","onClick"])])),_:3},8,["class"]))])),_:3},8,["style","class","onTransitionend"])):d("",!0),c.showOverlay?(t(),a(_,{key:1,id:"popup-overlay",visible:c.visible,"using-custom-navbar":c.usingCustomNavbar,"custom-navbar-height":c.customNavbarHeight,"z-index":c.overlayProps&&c.overlayProps.zIndex||11e3,duration:c.overlayProps&&c.overlayProps.duration||300,"background-color":c.overlayProps&&c.overlayProps.backgroundColor||"","prevent-scroll-through":c.preventScrollThrough||!!c.overlayProps&&!!c.overlayProps.preventScrollThrough,"custom-style":c.overlayProps&&c.overlayProps.style||"",onClick:p[0]||(p[0]=e=>c.handleOverlayClick(e,{tagId:"popup-overlay"}))},null,8,["visible","using-custom-navbar","custom-navbar-height","z-index","duration","background-color","prevent-scroll-through","custom-style"])):d("",!0)])),_:3})}],["__scopeId","data-v-cc2f844d"]]),ee={actions:{type:Array},buttonLayout:{type:String,default:"horizontal",validator:e=>!e||["horizontal","vertical"].includes(e)},cancelBtn:{type:[String,Object]},closeBtn:{type:[Boolean,Object],default:!1},closeOnOverlayClick:Boolean,confirmBtn:{type:[String,Object]},content:{type:String},overlayProps:{type:Object,default:()=>({})},preventScrollThrough:{type:Boolean,default:!0},showOverlay:{type:Boolean,default:!0},title:{type:String},usingCustomNavbar:Boolean,visible:Boolean,zIndex:{type:Number,default:11500},onAction:{type:Function,default:()=>({})},onCancel:{type:Function,default:()=>({})},onClose:{type:Function,default:()=>({})},onConfirm:{type:Function,default:()=>({})},onOverlayClick:{type:Function,default:()=>({})}};function te(e){return e.replace(/^(\w)/,((e,t)=>`data${t.toUpperCase()}`))}function ae(e){Object.keys(e).forEach((t=>{this[te(t)]=e[t]}))}const se=`${B}-dialog`,oe=P({name:se,options:{styleIsolation:"shared"},externalClasses:[`${B}-class`,`${B}-class-content`,`${B}-class-confirm`,`${B}-class-cancel`,`${B}-class-action`],mixins:[(le=ee,{data(){return{...(e=this,t=le,Object.keys(t).reduce(((t,a)=>(t[te(a)]=e[a],t)),{}))};var e,t},watch:{...(ne=le,Object.keys(ne).reduce(((e,t)=>(e[t]={handler(e){this[te(t)]=e}},e)),{}))},methods:{setData(e){ae.call(this,e)}}}),L],components:{TPopup:Q,TIcon:S,TButton:w},props:{...ee},data:()=>({prefix:B,classPrefix:se,buttonVariant:"text",tools:V,_confirm:null,_cancel:null,useVirtualHost:D()}),watch:{dataConfirmBtn:{handler(){this.onWatchBtn(this.dataConfirmBtn,this.dataCancelBtn)},immediate:!0},dataCancelBtn:{handler(){this.onWatchBtn(this.dataConfirmBtn,this.dataCancelBtn)},immediate:!0}},methods:{coalesce:z,getActionClass:function(e,t,a,s){const o=[`${e}__button`,`${e}__button--action`];return t&&o.push(`${e}__button--${t}`),`${o.join(" ")} ${z(a.tClass,s)}`},onWatchBtn(e,t){const{prefix:a,classPrefix:s,dataButtonLayout:o}=this,l={buttonVariant:"text"},n=[e,t].some((e=>M(e)&&e.variant&&"text"!==e.variant)),i={confirm:e,cancel:t},r=[`${s}__button`],c=[];n?(l.buttonVariant="base",r.push(`${s}__button--${o}`)):(r.push(`${s}__button--text`),c.push(`${s}-button`));const u=D();Object.keys(i).forEach((e=>{const t=i[e],o=[...r,`${s}__button--${e}`],n=[...c,this[N(`${a}-class-${e}`)],...o].join(" "),d={block:!0,rootClass:o,tClass:u?n:"",class:u?"":n,variant:l.buttonVariant,openType:""};"cancel"===e&&"base"===l.buttonVariant&&(d.theme="light"),l[`_${e}`]="string"==typeof t?{...d,content:t}:t&&"object"==typeof t?{...d,...t}:null})),Object.keys(l).forEach((e=>{this[e]=l[e]}))},onTplButtonTap(e,{type:t,extra:a}){var s,o,l;const n=e.type,i=this[`_${t}`],r=`bind${n}`;if("action"===t)return void this.onActionTap(a);if("function"==typeof(null==i?void 0:i[r])){i[r](e)&&this.close()}if(!!!(null==i?void 0:i.openType)&&["confirm","cancel"].includes(t)&&(null==(s=this[N(`on-${t}`)])||s.call(this,t)),"click"!==n){const t=(null==(l=null==(o=e.detail)?void 0:o.errMsg)?void 0:l.indexOf("ok"))>-1;this.$emit(t?"open-type-event":"open-type-error-event",e.detail)}},onConfirm(e){this.$emit("confirm",{e:e}),this._onConfirm&&(this._onConfirm({trigger:"confirm"}),this.close())},onCancel(e){const t={trigger:"cancel"};this.$emit("cancel",{e:e}),this.$emit("close",t),this._onCancel&&(this._onCancel(t),this.close())},onClose(){var e;const t={trigger:"close-btn"};this.$emit("close",t),null==(e=this._onCancel)||e.call(this,t),this.close()},close(){this.dataVisible=!1},overlayClick(e){var t;if(this.$emit("overlay-click",{e:e}),this.dataCloseOnOverlayClick){const e={trigger:"overlay"};this.$emit("close",e),null==(t=this._onCancel)||t.call(this,e),this.close()}},onActionTap(e){this.$emit("action",{index:e}),this._onAction&&(this._onAction({index:e}),this.close())}}});var le,ne;const ie=I(oe,[["render",function(n,i,c,g,_,b){const C=O(e("t-icon"),S),x=r,k=y,$=O(e("t-button"),w),T=O(e("t-popup"),Q);return t(),a(T,{name:"dialog","custom-style":n.tools._style([n.customStyle]),"t-class":n.classPrefix+"__wrapper",visible:n.dataVisible,"show-overlay":n.dataShowOverlay,"close-on-overlay-click":n.dataCloseOnOverlayClick,"prevent-scroll-through":n.dataPreventScrollThrough,"overlay-props":n.dataOverlayProps,"z-index":n.dataZIndex,placement:"center","using-custom-navbar":n.dataUsingCustomNavbar,onVisibleChange:n.overlayClick},{content:s((()=>[o(x,{class:l(n.classPrefix+" "+n.tClass)},{default:s((()=>[u(n.$slots,"top",{},void 0,!0),n.dataCloseBtn?(t(),a(x,{key:0,class:l(n.classPrefix+"__close-btn"),onClick:n.onClose},{default:s((()=>[n.tools.isObject(n.dataCloseBtn)?(t(),a(C,{key:0,"custom-style":n.dataCloseBtn.style||"",prefix:n.dataCloseBtn.prefix,name:n.dataCloseBtn.name||"close",size:n.dataCloseBtn.size||22,color:n.dataCloseBtn.color,"aria-hidden":!0,"aria-label":n.dataCloseBtn.ariaLabel,"aria-role":n.dataCloseBtn.ariaRole},null,8,["custom-style","prefix","name","size","color","aria-label","aria-role"])):(t(),a(C,{key:1,name:"close",size:"44rpx"}))])),_:1},8,["class","onClick"])):d("",!0),o(x,{class:l(n.classPrefix+"__content "+n.tClassContent)},{default:s((()=>[n.dataTitle?(t(),a(x,{key:0,class:l(n.classPrefix+"__header")},{default:s((()=>[p(h(n.dataTitle),1)])),_:1},8,["class"])):d("",!0),u(n.$slots,"title",{},void 0,!0),n.dataContent?(t(),a(x,{key:1,class:l(n.classPrefix+"__body")},{default:s((()=>[o(k,{class:l(n.classPrefix+"__body-text")},{default:s((()=>[p(h(n.dataContent),1)])),_:1},8,["class"])])),_:1},8,["class"])):d("",!0),u(n.$slots,"content",{},void 0,!0)])),_:3},8,["class"]),u(n.$slots,"middle",{},void 0,!0),o(x,{class:l(n.tools.cls(n.classPrefix+"__footer",[["column","vertical"===n.dataButtonLayout],["full","text"==n.buttonVariant&&(!n.dataActions||0==n.dataActions.length)]]))},{default:s((()=>[n.dataActions?(t(!0),m(v,{key:0},f(n.dataActions,((e,o)=>(t(),a($,{key:o,"t-id":e.tId,"custom-style":e.style,block:n.coalesce(e.block,!0),"t-class":n.useVirtualHost?n.getActionClass(n.classPrefix,n.dataButtonLayout,e,n.tClassAction):"",class:l(n.useVirtualHost?"":n.getActionClass(n.classPrefix,n.dataButtonLayout,e,n.tClassAction)),disabled:e.disabled,"data-type":"action","data-extra":n.coalesce(e.index,o),"custom-dataset":e.customDataset,content:e.content,icon:e.icon,loading:e.loading,"loading-props":e.loadingProps,theme:e.theme,ghost:e.ghost,shape:e.shape,size:e.size,variant:e.variant,"open-type":e.openType,"hover-class":e.hoverClass,"hover-stop-propagation":e.hoverStopPropagation,"hover-start-time":e.hoverStartTime,"hover-stay-time":e.hoverStayTime,lang:e.lang,"session-from":e.sessionFrom,"send-message-title":e.sendMessageTitle,"send-message-path":e.sendMessagePath,"send-message-img":e.sendMessageImg,"app-parameter":e.appParameter,"show-message-card":e.showMessageCard,"aria-label":e.ariaLabel,onClick:e=>n.onTplButtonTap(e,{type:"action",extra:o}),onGetuserinfo:e=>n.onTplButtonTap(e,{type:"action",extra:o}),onContact:e=>n.onTplButtonTap(e,{type:"action",extra:o}),onGetphonenumber:e=>n.onTplButtonTap(e,{type:"action",extra:o}),onError:e=>n.onTplButtonTap(e,{type:"action",extra:o}),onOpensetting:e=>n.onTplButtonTap(e,{type:"action",extra:o}),onLaunchapp:e=>n.onTplButtonTap(e,{type:"action",extra:o}),onAgreeprivacyauthorization:e=>n.onTplButtonTap(e,{type:"action",extra:o})},{default:s((()=>[e.useDefaultSlot?u(n.$slots,"default",{key:0},void 0,!0):d("",!0)])),_:2},1032,["t-id","custom-style","block","t-class","class","disabled","data-extra","custom-dataset","content","icon","loading","loading-props","theme","ghost","shape","size","variant","open-type","hover-class","hover-stop-propagation","hover-start-time","hover-stay-time","lang","session-from","send-message-title","send-message-path","send-message-img","app-parameter","show-message-card","aria-label","onClick","onGetuserinfo","onContact","onGetphonenumber","onError","onOpensetting","onLaunchapp","onAgreeprivacyauthorization"])))),128)):d("",!0),u(n.$slots,"actions",{},void 0,!0),n._cancel?(t(),a($,{key:1,"t-id":n._cancel.tId,"custom-style":n._cancel.style,block:n._cancel.block,"t-class":n._cancel.tClass,class:l(n._cancel.class),disabled:n._cancel.disabled,"data-type":"cancel","data-extra":n._cancel.index,"custom-dataset":n._cancel.customDataset,content:n._cancel.content,icon:n._cancel.icon,loading:n._cancel.loading,"loading-props":n._cancel.loadingProps,theme:n._cancel.theme,ghost:n._cancel.ghost,shape:n._cancel.shape,size:n._cancel.size,variant:n._cancel.variant,"open-type":n._cancel.openType,"hover-class":n._cancel.hoverClass,"hover-stop-propagation":n._cancel.hoverStopPropagation,"hover-start-time":n._cancel.hoverStartTime,"hover-stay-time":n._cancel.hoverStayTime,lang:n._cancel.lang,"session-from":n._cancel.sessionFrom,"send-message-title":n._cancel.sendMessageTitle,"send-message-path":n._cancel.sendMessagePath,"send-message-img":n._cancel.sendMessageImg,"app-parameter":n._cancel.appParameter,"show-message-card":n._cancel.showMessageCard,"aria-label":n._cancel.ariaLabel,onClick:i[0]||(i[0]=e=>n.onCancel(e,{type:"action",extra:0})),onGetuserinfo:i[1]||(i[1]=e=>n.onCancel(e,{type:"action",extra:0})),onContact:i[2]||(i[2]=e=>n.onCancel(e,{type:"action",extra:0})),onGetphonenumber:i[3]||(i[3]=e=>n.onCancel(e,{type:"action",extra:0})),onError:i[4]||(i[4]=e=>n.onCancel(e,{type:"action",extra:0})),onOpensetting:i[5]||(i[5]=e=>n.onCancel(e,{type:"action",extra:0})),onLaunchapp:i[6]||(i[6]=e=>n.onCancel(e,{type:"action",extra:0})),onAgreeprivacyauthorization:i[7]||(i[7]=e=>n.onCancel(e,{type:"action",extra:0}))},{default:s((()=>[n._cancel.useDefaultSlot?u(n.$slots,"default",{key:0},void 0,!0):d("",!0)])),_:3},8,["t-id","custom-style","block","t-class","class","disabled","data-extra","custom-dataset","content","icon","loading","loading-props","theme","ghost","shape","size","variant","open-type","hover-class","hover-stop-propagation","hover-start-time","hover-stay-time","lang","session-from","send-message-title","send-message-path","send-message-img","app-parameter","show-message-card","aria-label"])):d("",!0),u(n.$slots,"cancel-btn",{},void 0,!0),n._confirm?(t(),a($,{key:2,"t-id":n._confirm.tId,"custom-style":n._confirm.style,block:n._confirm.block,"t-class":n._confirm.tClass,class:l(n._confirm.class),disabled:n._confirm.disabled,"data-type":"confirm","data-extra":n._confirm.index,"custom-dataset":n._confirm.customDataset,content:n._confirm.content,icon:n._confirm.icon,loading:n._confirm.loading,"loading-props":n._confirm.loadingProps,theme:n._confirm.theme||"primary",ghost:n._confirm.ghost,shape:n._confirm.shape,size:n._confirm.size,variant:n._confirm.variant,"open-type":n._confirm.openType,"hover-class":n._confirm.hoverClass,"hover-stop-propagation":n._confirm.hoverStopPropagation,"hover-start-time":n._confirm.hoverStartTime,"hover-stay-time":n._confirm.hoverStayTime,lang:n._confirm.lang,"session-from":n._confirm.sessionFrom,"send-message-title":n._confirm.sendMessageTitle,"send-message-path":n._confirm.sendMessagePath,"send-message-img":n._confirm.sendMessageImg,"app-parameter":n._confirm.appParameter,"show-message-card":n._confirm.showMessageCard,"aria-label":n._confirm.ariaLabel,onClick:i[8]||(i[8]=e=>n.onConfirm(e,{type:"action",extra:0})),onGetuserinfo:i[9]||(i[9]=e=>n.onConfirm(e,{type:"action",extra:0})),onContact:i[10]||(i[10]=e=>n.onConfirm(e,{type:"action",extra:0})),onGetphonenumber:i[11]||(i[11]=e=>n.onConfirm(e,{type:"action",extra:0})),onError:i[12]||(i[12]=e=>n.onTplButtonConfirmonTap(e,{type:"action",extra:0})),onOpensetting:i[13]||(i[13]=e=>n.onConfirm(e,{type:"action",extra:0})),onLaunchapp:i[14]||(i[14]=e=>n.onConfirm(e,{type:"action",extra:0})),onAgreeprivacyauthorization:i[15]||(i[15]=e=>n.onConfirm(e,{type:"action",extra:0}))},{default:s((()=>[n._confirm.useDefaultSlot?u(n.$slots,"default",{key:0},void 0,!0):d("",!0)])),_:3},8,["t-id","custom-style","block","t-class","class","disabled","data-extra","custom-dataset","content","icon","loading","loading-props","theme","ghost","shape","size","variant","open-type","hover-class","hover-stop-propagation","hover-start-time","hover-stay-time","lang","session-from","send-message-title","send-message-path","send-message-img","app-parameter","show-message-card","aria-label"])):d("",!0),u(n.$slots,"confirm-btn",{},void 0,!0)])),_:3},8,["class"])])),_:3},8,["class"])])),_:3},8,["custom-style","t-class","visible","show-overlay","close-on-overlay-click","prevent-scroll-through","overlay-props","z-index","using-custom-navbar","onVisibleChange"])}],["__scopeId","data-v-20ecca46"]]),re=I(g({__name:"booking",setup(i){const c=_((()=>{const e=new Date;return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`})()),u=_([]),g=_(!1),P=_(!1),B=_(null),S=_(1),V=_(""),z=_(!1),I=_(new Date),D=["日","一","二","三","四","五","六"],M=_({}),N=_({}),L=b((()=>`${I.value.getFullYear()}${I.value.getMonth()+1}`)),G=b((()=>u.value.reduce(((e,t)=>e+t.current_people),0))),W=b((()=>{const e=I.value.getFullYear(),t=I.value.getMonth(),a=new Date(e,t,1),s=new Date(e,t+1,0),o=new Date,l=[];for(let n=a.getDay()-1;n>=0;n--)l.push({day:"",dateStr:"",isPlaceholder:!0,isOtherMonth:!1,isToday:!1,bookingCount:0,hasBookings:!1});for(let n=1;n<=s.getDate();n++){const a=new Date(e,t,n),s=a.getFullYear(),i=a.getMonth()+1,r=a.getDate(),c=`${s}-${String(i).padStart(2,"0")}-${String(r).padStart(2,"0")}`,u=o.getFullYear(),d=o.getMonth(),p=o.getDate(),h=s===u&&i-1===d&&r===p;l.push({day:n,dateStr:c,isPlaceholder:!1,isOtherMonth:!1,isToday:h,bookingCount:M.value[c]||0,hasBookings:N.value[c]||!1})}return l}));C((()=>{x("token")?(H(),Y()):k({url:"/pages/login/login"})}));const Y=async()=>{try{const e=await E.timeslots.getList({is_active:!0}),t={},a={};e.forEach((e=>{const s=e.date.split("T")[0];t[s]=(t[s]||0)+e.current_people,a[s]=!0})),M.value=t,N.value=a}catch(e){console.error("加载日期预约统计失败",e)}},H=async()=>{g.value=!0;try{const e=await E.timeslots.getList({date:c.value,is_active:!0});u.value=e}catch(e){console.error("加载时间槽失败",e)}finally{g.value=!1}},U=e=>{const t=(e.split("T")[1]||e).split("+")[0].split("Z")[0],[a,s]=t.split(":");return`${a}:${s}`},Z=async()=>{if(B.value){z.value=!0;try{await E.appointments.create(B.value.id,S.value,V.value),$({title:"预约成功",icon:"success"}),P.value=!1,H(),Y()}catch(e){P.value=!1}finally{z.value=!1}}};return(i,_)=>{const b=y,C=r,x=O(e("t-loading"),F),k=O(e("t-empty"),A),I=O(e("t-tag"),j),M=O(e("t-button"),w),N=T,E=O(e("t-stepper"),R),Y=O(e("t-dialog"),ie);return t(),a(C,{class:"container"},{default:s((()=>[o(C,{class:"date-selector"},{default:s((()=>[o(C,{class:"calendar-header"},{default:s((()=>[o(b,{class:"month-title"},{default:s((()=>[p(h(L.value),1)])),_:1})])),_:1}),o(C,{class:"calendar-weekdays"},{default:s((()=>[(t(),m(v,null,f(D,(e=>o(b,{key:e,class:"weekday"},{default:s((()=>[p(h(e),1)])),_:2},1024))),64))])),_:1}),o(C,{class:"calendar-days"},{default:s((()=>[(t(!0),m(v,null,f(W.value,((e,o)=>(t(),a(C,{key:e.dateStr||`placeholder-${o}`,class:l(["calendar-day",{placeholder:e.isPlaceholder,selected:e.dateStr===c.value,today:e.isToday,disabled:!e.hasBookings&&!e.isPlaceholder,"has-bookings":e.hasBookings}]),onClick:t=>!e.isPlaceholder&&(e=>{c.value=e.dateStr,H()})(e)},{default:s((()=>[e.isPlaceholder?d("",!0):(t(),a(b,{key:0,class:"day-number"},{default:s((()=>[p(h(e.day),1)])),_:2},1024)),!e.isPlaceholder&&e.bookingCount>0?(t(),a(b,{key:1,class:"booking-count"},{default:s((()=>[p(h(e.bookingCount)+"人 ",1)])),_:2},1024)):d("",!0)])),_:2},1032,["class","onClick"])))),128))])),_:1})])),_:1}),o(N,{class:"timeslots-scroll","scroll-y":"true"},{default:s((()=>[o(C,{class:"timeslots-section"},{default:s((()=>[o(C,{class:"section-title"},{default:s((()=>[p(h(c.value)+" 可选时间段 ",1),G.value>0?(t(),a(b,{key:0,class:"total-booking"},{default:s((()=>[p(" (总预约: "+h(G.value)+"人) ",1)])),_:1})):d("",!0)])),_:1}),g.value?(t(),a(x,{key:0,loading:""})):0===u.value.length?(t(),a(C,{key:1,class:"empty-state"},{default:s((()=>[o(k,{description:"暂无可预约时间段"})])),_:1})):(t(),a(C,{key:2,class:"timeslots-list"},{default:s((()=>[(t(!0),m(v,null,f(u.value,(e=>(t(),a(C,{key:e.id,class:l(["timeslot-card",{disabled:!e.is_active||e.current_people>=e.max_people}])},{default:s((()=>[o(C,{class:"timeslot-info"},{default:s((()=>[o(C,{class:"time-range"},{default:s((()=>[p(h(U(e.start_time))+" - "+h(U(e.end_time)),1)])),_:2},1024),o(C,{class:"slot-status"},{default:s((()=>[o(I,{theme:e.current_people>=e.max_people?"danger":"success",size:"small"},{default:s((()=>[p(h(e.current_people)+"/"+h(e.max_people),1)])),_:2},1032,["theme"])])),_:2},1024)])),_:2},1024),o(M,{"t-class":"btn-primary",size:"small",theme:"primary",disabled:!e.is_active||e.current_people>=e.max_people,onClick:n((t=>(e=>{if(z.value)$({title:"正在处理,请稍候",icon:"none"});else{if(!e.is_active||e.current_people>=e.max_people)return console.log("时间槽不可用",e),void $({title:"该时间段已不可用",icon:"none"});B.value=e,S.value=1,V.value="",P.value=!0,console.log("打开弹窗",P.value)}})(e)),["stop"])},{default:s((()=>[p(h(e.current_people>=e.max_people?"已满":"预约"),1)])),_:2},1032,["disabled","onClick"])])),_:2},1032,["class"])))),128))])),_:1}))])),_:1})])),_:1}),o(Y,{visible:P.value,"onUpdate:visible":_[1]||(_[1]=e=>P.value=e),title:"预约确认",cancelBtn:"取消",confirmBtn:"确认预约","t-class-confirm":"btn-primary",onConfirm:Z,onCancel:_[2]||(_[2]=e=>P.value=!1)},{content:s((()=>[o(N,{type:"list","scroll-y":"",class:"long-content"},{default:s((()=>[o(C,{class:"booking-dialog"},{default:s((()=>[o(C,{class:"dialog-item"},{default:s((()=>[o(b,{class:"dialog-label"},{default:s((()=>[p("日期:")])),_:1}),o(b,{class:"dialog-value"},{default:s((()=>[p(h(c.value),1)])),_:1})])),_:1}),o(C,{class:"dialog-item"},{default:s((()=>[o(b,{class:"dialog-label"},{default:s((()=>[p("时间段:")])),_:1}),o(b,{class:"dialog-value"},{default:s((()=>{var e,t;return[p(h((null==(e=B.value)?void 0:e.start_time)?U(B.value.start_time):"")+" - "+h((null==(t=B.value)?void 0:t.end_time)?U(B.value.end_time):""),1)]})),_:1})])),_:1}),o(C,{class:"dialog-item"},{default:s((()=>{var e,t;return[o(b,{class:"dialog-label"},{default:s((()=>[p("人数:")])),_:1}),o(E,{modelValue:S.value,"onUpdate:modelValue":_[0]||(_[0]=e=>S.value=e),min:1,max:(null==(e=B.value)?void 0:e.max_people)-(null==(t=B.value)?void 0:t.current_people)||1,disabled:!0,size:"small"},null,8,["modelValue","max"])]})),_:1})])),_:1})])),_:1})])),_:1},8,["visible"])])),_:1})}}}),[["__scopeId","data-v-b1d536f0"]]);export{re as default};