UNPKG

@wetspace/pro-components

Version:
2 lines (1 loc) 1.97 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),c=require("element-plus"),S=require("./types.js"),b={key:0},B={key:0},T=e.defineComponent({name:"WetCountDownButton",__name:"index",props:S.wetCountDownButtonProps,emits:["click"],setup(f,{emit:p}){const v=p,n=f,w=e.useSlots(),s=e.shallowRef(!1),r=e.shallowRef(n.initCount),i=e.getCurrentInstance(),l=e.computed(()=>n.uid||(i==null?void 0:i.uid)||new Date().getTime()),g=e.computed(()=>n.disabled||s.value);let u;const d=(o=!0)=>{o&&v("click"),s.value=!0;const t=sessionStorage.getItem(`wet-deadlinetime-${l.value}`);let a=t?Number(t):0;const m=Math.floor(new Date().getTime()/1e3);a||(a=m+n.initCount,sessionStorage.setItem(`wet-deadlinetime-${l.value}`,`${a}`)),r.value=Number(a)-m,u=setInterval(()=>{const k=Math.floor(new Date().getTime()/1e3);r.value=Number(a)-Number(k),r.value<=0&&(clearInterval(u),s.value=!1,sessionStorage.setItem(`wet-deadlinetime-${l.value}`,""))},1e3)};return e.onMounted(()=>{const o=sessionStorage.getItem(`wet-deadlinetime-${l.value}`),t=Math.floor(new Date().getTime()/1e3);Number(o)-t>0?d(!1):(s.value=!1,sessionStorage.setItem(`wet-deadlinetime-${l.value}`,""))}),(o,t)=>(e.openBlock(),e.createBlock(e.unref(c.ElButton),e.mergeProps(n,{disabled:g.value,onClick:t[0]||(t[0]=()=>d())}),{default:e.withCtx(()=>[s.value?(e.openBlock(),e.createBlock(e.unref(c.ElSpace),{key:1},{default:e.withCtx(()=>[e.unref(w).prefix?(e.openBlock(),e.createElementBlock("span",B,[e.renderSlot(o.$slots,"prefix")])):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(r.value)+"s",1),e.createElementVNode("span",null,[e.renderSlot(o.$slots,"suffix",{},()=>[t[2]||(t[2]=e.createTextVNode("后获取"))])])]),_:3})):(e.openBlock(),e.createElementBlock("span",b,[e.renderSlot(o.$slots,"default",{},()=>[t[1]||(t[1]=e.createTextVNode("验证码"))])]))]),_:3},16,["disabled"]))}});exports.default=T;