cione-comp-lib
Version:
`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`
2 lines (1 loc) • 3.7 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var e=require("vue");require("./index.vue_vue_type_style_index_0_scoped_true_lang.js");var l=require("../../_virtual/plugin-vue_export-helper.js");const t=e.defineComponent({name:"CoLabelDealer",props:{starValue:{type:String,default:"00000"},endValue:{type:Number},time:{type:Number,String:String,default:()=>{}},fontSize:{type:[Number,String],default:16},fontWeight:{type:String,default:"normal"},fontFamily:{type:String,default:"微软雅黑"},letterSpacing:{type:Number,defalt:2},lineHeight:{type:Number,default:0},textAlign:{type:String,default:"center"},color:{type:String,default:"rgba(255,255,255,1)"},backgroundColor:{type:String,default:""},interval:{type:Boolean,default:!1},intervalTime:{type:Number,default:1},src:{type:String},refreshTime:{type:Number,default:.3},timeInterval:{type:Number,default:1e3}},setup(l){const t=e.ref([]),a=e.ref([]),r=e.ref([]),n=e.ref(l.starValue),u=e.ref(),i=e.ref(),v=e.ref();e.ref(),e.ref(!0);const o=e.ref(1e3*l.intervalTime),c=e.ref(),f=e.ref(l.timeInterval/100);e.ref(1e3*l.timeInterval);const d=e.ref(l.src);e.ref();const s=e.ref([]),m=()=>{r.value=[],a.value=[],"00000"!=String(l.endValue)&&(n.value=String(l.endValue));for(let e=0;e<n.value.length;e++)u.value=n.value.split(""),r.value.push(Number(u.value[e]));a.value=r.value,e.nextTick((()=>{t.value=i.value,y()}))},p=()=>{v.value=setInterval((()=>{s.value.forEach((e=>{clearInterval(Number(e))})),y()}),o.value)},g=e.computed((()=>({fontSize:l.fontSize+"px",fontWeight:l.fontWeight,fontFamily:l.fontFamily,letterSpacing:l.letterSpacing+"px",textAlign:l.textAlign,color:l.color,backgroundColor:l.backgroundColor,backgroundImage:`url(${l.src})`,lineHeight:l.lineHeight+"px"}))),b=e=>{s.value=[],a.value.forEach(((l,t)=>{const a=l/(10*l);let r=0,n=0,u=setInterval((()=>{n+=a,n>l&&(clearInterval(Number(u)),n=l,u=null),r!==n&&(r=n,e[t].innerHTML=r.toFixed(0).toString().replace(/(\d)(?=(?:\d{3}[+]?)+$)/g,"$1,"))}),f.value);s.value.push(u)}))},y=()=>{c.value&&clearInterval(c.value),b(t.value)};e.onMounted((()=>{n.value=l.endValue,m(),l.interval&&p()})),e.onUnmounted((()=>{clearInterval(v.value),s.value.forEach((e=>{clearInterval(Number(e))}))}));return e.watch((()=>l.endValue),(()=>{n.value=l.endValue,a.value=[],s.value.forEach((e=>{clearInterval(Number(e))})),m()})),e.watch((()=>l.interval),(()=>{v.value&&clearInterval(v.value),c.value&&clearInterval(c.value),l.interval&&(m(),p())})),e.watch((()=>l.intervalTime),(()=>{v.value&&clearInterval(v.value),c.value&&clearInterval(c.value),0!=l.intervalTime&&l.interval&&(o.value=1e3*l.intervalTime,p())})),e.watch((()=>l.timeInterval),(()=>{v.value&&clearInterval(v.value),c.value&&clearInterval(c.value),0!=l.intervalTime&&0!=l.timeInterval&&l.interval&&(f.value=l.timeInterval/100,p())})),e.watch((()=>l.src),(()=>{d.value=l.src})),{list:a,attrs:g,listValue:n,listContent:u,numberGrowRef:i,imgSrc:d,numberScrolling:m,numberInterval:p,numberGrow:b,updataSrc:e=>{d.value=e},refresh:y,...e.toRefs(l)}}}),a={class:"co-label-dealer",ref:"dealerRef"},r={class:"label-dealer__box"},n={class:"label-dealer__box__content",key:"index"};var u=l.default(t,[["render",function(l,t,u,i,v,o){return e.openBlock(),e.createElementBlock("div",a,[e.createElementVNode("div",r,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.list,(t=>(e.openBlock(),e.createElementBlock("div",n,[e.createElementVNode("div",{class:"label-dealer__box__data",ref_for:!0,ref:"numberGrowRef",style:e.normalizeStyle(l.attrs)},[e.createElementVNode("span",null,e.toDisplayString(t),1)],4)])))),128))])],512)}],["__scopeId","data-v-91ff614e"]]);exports.default=u;