mirror of
				https://github.com/pure-admin/vue-pure-admin.git
				synced 2025-11-03 13:44:47 +08:00 
			
		
		
		
	fix: fix some bug
This commit is contained in:
		
							parent
							
								
									1d1663e4ba
								
							
						
					
					
						commit
						e027fec6dc
					
				
							
								
								
									
										10
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								README.md
									
									
									
									
									
								
							@ -16,11 +16,11 @@ vue-pure-admin is a free and open source middle and back-end template. Using the
 | 
				
			|||||||
Click to log in without password
 | 
					Click to log in without password
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<p align="center">
 | 
					<p align="center">
 | 
				
			||||||
    <img alt="VbenAdmin Logo" width="100%" src="https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/31d4e268a9554389abb2b691a165f983~tplv-k3u1fbpfcp-watermark.image">
 | 
					    <img alt="PureAdmin Logo" width="100%" src="https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/31d4e268a9554389abb2b691a165f983~tplv-k3u1fbpfcp-watermark.image">
 | 
				
			||||||
    <img alt="VbenAdmin Logo" width="100%" src="https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/9c81c5348fb2476097dd847e3b050168~tplv-k3u1fbpfcp-watermark.image">
 | 
					    <img alt="PureAdmin Logo" width="100%" src="https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/9c81c5348fb2476097dd847e3b050168~tplv-k3u1fbpfcp-watermark.image">
 | 
				
			||||||
    <img alt="VbenAdmin Logo" width="100%" src="https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/13749b799727449cbdcb2383f6ea1eb4~tplv-k3u1fbpfcp-watermark.image">
 | 
					    <img alt="PureAdmin Logo" width="100%" src="https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/13749b799727449cbdcb2383f6ea1eb4~tplv-k3u1fbpfcp-watermark.image">
 | 
				
			||||||
    <img alt="VbenAdmin Logo" width="100%" src="https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/6745a79321cc40aba4de02aaf11ba4f2~tplv-k3u1fbpfcp-watermark.image">
 | 
					    <img alt="PureAdmin Logo" width="100%" src="https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/6745a79321cc40aba4de02aaf11ba4f2~tplv-k3u1fbpfcp-watermark.image">
 | 
				
			||||||
    <img alt="VbenAdmin Logo" width="100%" src="https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/cab5f2aa2b58483f8a2cf40fb3aafdb7~tplv-k3u1fbpfcp-watermark.image">
 | 
					    <img alt="PureAdmin Logo" width="100%" src="https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/cab5f2aa2b58483f8a2cf40fb3aafdb7~tplv-k3u1fbpfcp-watermark.image">
 | 
				
			||||||
</p>
 | 
					</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Use Gitpod
 | 
					### Use Gitpod
 | 
				
			||||||
 | 
				
			|||||||
@ -16,11 +16,11 @@ vue-pure-admin 是一个免费开源的中后台模版。使用了最新的`vue3
 | 
				
			|||||||
点击免密登录
 | 
					点击免密登录
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<p align="center">
 | 
					<p align="center">
 | 
				
			||||||
    <img alt="VbenAdmin Logo" width="100%" src="https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/31d4e268a9554389abb2b691a165f983~tplv-k3u1fbpfcp-watermark.image">
 | 
					    <img alt="PureAdmin Logo" width="100%" src="https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/31d4e268a9554389abb2b691a165f983~tplv-k3u1fbpfcp-watermark.image">
 | 
				
			||||||
    <img alt="VbenAdmin Logo" width="100%" src="https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/9c81c5348fb2476097dd847e3b050168~tplv-k3u1fbpfcp-watermark.image">
 | 
					    <img alt="PureAdmin Logo" width="100%" src="https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/9c81c5348fb2476097dd847e3b050168~tplv-k3u1fbpfcp-watermark.image">
 | 
				
			||||||
    <img alt="VbenAdmin Logo" width="100%" src="https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/13749b799727449cbdcb2383f6ea1eb4~tplv-k3u1fbpfcp-watermark.image">
 | 
					    <img alt="PureAdmin Logo" width="100%" src="https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/13749b799727449cbdcb2383f6ea1eb4~tplv-k3u1fbpfcp-watermark.image">
 | 
				
			||||||
    <img alt="VbenAdmin Logo" width="100%" src="https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/6745a79321cc40aba4de02aaf11ba4f2~tplv-k3u1fbpfcp-watermark.image">
 | 
					    <img alt="PureAdmin Logo" width="100%" src="https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/6745a79321cc40aba4de02aaf11ba4f2~tplv-k3u1fbpfcp-watermark.image">
 | 
				
			||||||
    <img alt="VbenAdmin Logo" width="100%" src="https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/cab5f2aa2b58483f8a2cf40fb3aafdb7~tplv-k3u1fbpfcp-watermark.image">
 | 
					    <img alt="PureAdmin Logo" width="100%" src="https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/cab5f2aa2b58483f8a2cf40fb3aafdb7~tplv-k3u1fbpfcp-watermark.image">
 | 
				
			||||||
</p>
 | 
					</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 使用 Gitpod
 | 
					### 使用 Gitpod
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										10
									
								
								src/components/countTo/index.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								src/components/countTo/index.ts
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					import { App } from "vue"
 | 
				
			||||||
 | 
					import countTo from "./src/countTo"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export const CountTo = Object.assign(countTo, {
 | 
				
			||||||
 | 
					  install(app: App) {
 | 
				
			||||||
 | 
					    app.component(countTo.name, countTo)
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export default CountTo
 | 
				
			||||||
							
								
								
									
										173
									
								
								src/components/countTo/src/countTo.tsx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										173
									
								
								src/components/countTo/src/countTo.tsx
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,173 @@
 | 
				
			|||||||
 | 
					import {
 | 
				
			||||||
 | 
					  defineComponent,
 | 
				
			||||||
 | 
					  reactive,
 | 
				
			||||||
 | 
					  computed,
 | 
				
			||||||
 | 
					  watch,
 | 
				
			||||||
 | 
					  onMounted,
 | 
				
			||||||
 | 
					  unref,
 | 
				
			||||||
 | 
					  toRef
 | 
				
			||||||
 | 
					} from "vue"
 | 
				
			||||||
 | 
					import { countToProps } from "./props"
 | 
				
			||||||
 | 
					import { isNumber } from "/@/utils/is"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export default defineComponent({
 | 
				
			||||||
 | 
					  name: "CountTo",
 | 
				
			||||||
 | 
					  props: countToProps,
 | 
				
			||||||
 | 
					  emits: ["mounted", "callback"],
 | 
				
			||||||
 | 
					  setup(props, { emit }) {
 | 
				
			||||||
 | 
					    const state = reactive<{
 | 
				
			||||||
 | 
					      localStartVal: number
 | 
				
			||||||
 | 
					      printVal: number | null
 | 
				
			||||||
 | 
					      displayValue: string
 | 
				
			||||||
 | 
					      paused: boolean
 | 
				
			||||||
 | 
					      localDuration: number | null
 | 
				
			||||||
 | 
					      startTime: number | null
 | 
				
			||||||
 | 
					      timestamp: number | null
 | 
				
			||||||
 | 
					      rAF: any
 | 
				
			||||||
 | 
					      remaining: number | null
 | 
				
			||||||
 | 
					      color: any
 | 
				
			||||||
 | 
					      fontSize: string
 | 
				
			||||||
 | 
					    }>({
 | 
				
			||||||
 | 
					      localStartVal: props.startVal,
 | 
				
			||||||
 | 
					      displayValue: formatNumber(props.startVal),
 | 
				
			||||||
 | 
					      printVal: null,
 | 
				
			||||||
 | 
					      paused: false,
 | 
				
			||||||
 | 
					      localDuration: props.duration,
 | 
				
			||||||
 | 
					      startTime: null,
 | 
				
			||||||
 | 
					      timestamp: null,
 | 
				
			||||||
 | 
					      remaining: null,
 | 
				
			||||||
 | 
					      rAF: null,
 | 
				
			||||||
 | 
					      color: null,
 | 
				
			||||||
 | 
					      fontSize: "16px"
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    const getCountDown = computed(() => {
 | 
				
			||||||
 | 
					      return props.startVal > props.endVal
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    watch([() => props.startVal, () => props.endVal], () => {
 | 
				
			||||||
 | 
					      if (props.autoplay) {
 | 
				
			||||||
 | 
					        start()
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    function start() {
 | 
				
			||||||
 | 
					      const { startVal, duration, color, fontSize } = props
 | 
				
			||||||
 | 
					      state.localStartVal = startVal
 | 
				
			||||||
 | 
					      state.startTime = null
 | 
				
			||||||
 | 
					      state.localDuration = duration
 | 
				
			||||||
 | 
					      state.paused = false
 | 
				
			||||||
 | 
					      state.color = color
 | 
				
			||||||
 | 
					      state.fontSize = fontSize
 | 
				
			||||||
 | 
					      state.rAF = requestAnimationFrame(count)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    function pauseResume() {
 | 
				
			||||||
 | 
					      if (state.paused) {
 | 
				
			||||||
 | 
					        resume()
 | 
				
			||||||
 | 
					        state.paused = false
 | 
				
			||||||
 | 
					      } else {
 | 
				
			||||||
 | 
					        pause()
 | 
				
			||||||
 | 
					        state.paused = true
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    function pause() {
 | 
				
			||||||
 | 
					      cancelAnimationFrame(state.rAF)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    function resume() {
 | 
				
			||||||
 | 
					      state.startTime = null
 | 
				
			||||||
 | 
					      state.localDuration = +(state.remaining as number)
 | 
				
			||||||
 | 
					      state.localStartVal = +(state.printVal as number)
 | 
				
			||||||
 | 
					      requestAnimationFrame(count)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    function reset() {
 | 
				
			||||||
 | 
					      state.startTime = null
 | 
				
			||||||
 | 
					      cancelAnimationFrame(state.rAF)
 | 
				
			||||||
 | 
					      state.displayValue = formatNumber(props.startVal)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    function count(timestamp: number) {
 | 
				
			||||||
 | 
					      const { useEasing, easingFn, endVal } = props
 | 
				
			||||||
 | 
					      if (!state.startTime) state.startTime = timestamp
 | 
				
			||||||
 | 
					      state.timestamp = timestamp
 | 
				
			||||||
 | 
					      const progress = timestamp - state.startTime
 | 
				
			||||||
 | 
					      state.remaining = (state.localDuration as number) - progress
 | 
				
			||||||
 | 
					      if (useEasing) {
 | 
				
			||||||
 | 
					        if (unref(getCountDown)) {
 | 
				
			||||||
 | 
					          state.printVal =
 | 
				
			||||||
 | 
					            state.localStartVal -
 | 
				
			||||||
 | 
					            easingFn(
 | 
				
			||||||
 | 
					              progress,
 | 
				
			||||||
 | 
					              0,
 | 
				
			||||||
 | 
					              state.localStartVal - endVal,
 | 
				
			||||||
 | 
					              state.localDuration as number
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					          state.printVal = easingFn(
 | 
				
			||||||
 | 
					            progress,
 | 
				
			||||||
 | 
					            state.localStartVal,
 | 
				
			||||||
 | 
					            endVal - state.localStartVal,
 | 
				
			||||||
 | 
					            state.localDuration as number
 | 
				
			||||||
 | 
					          )
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      } else {
 | 
				
			||||||
 | 
					        if (unref(getCountDown)) {
 | 
				
			||||||
 | 
					          state.printVal =
 | 
				
			||||||
 | 
					            state.localStartVal -
 | 
				
			||||||
 | 
					            (state.localStartVal - endVal) *
 | 
				
			||||||
 | 
					            (progress / (state.localDuration as number))
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					          state.printVal =
 | 
				
			||||||
 | 
					            state.localStartVal +
 | 
				
			||||||
 | 
					            (endVal - state.localStartVal) *
 | 
				
			||||||
 | 
					            (progress / (state.localDuration as number))
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      if (unref(getCountDown)) {
 | 
				
			||||||
 | 
					        state.printVal = state.printVal < endVal ? endVal : state.printVal
 | 
				
			||||||
 | 
					      } else {
 | 
				
			||||||
 | 
					        state.printVal = state.printVal > endVal ? endVal : state.printVal
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      state.displayValue = formatNumber(state.printVal)
 | 
				
			||||||
 | 
					      if (progress < (state.localDuration as number)) {
 | 
				
			||||||
 | 
					        state.rAF = requestAnimationFrame(count)
 | 
				
			||||||
 | 
					      } else {
 | 
				
			||||||
 | 
					        emit("callback")
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    function formatNumber(num: number | string) {
 | 
				
			||||||
 | 
					      const { decimals, decimal, separator, suffix, prefix } = props
 | 
				
			||||||
 | 
					      num = Number(num).toFixed(decimals)
 | 
				
			||||||
 | 
					      num += ""
 | 
				
			||||||
 | 
					      const x = num.split(".")
 | 
				
			||||||
 | 
					      let x1 = x[0]
 | 
				
			||||||
 | 
					      const x2 = x.length > 1 ? decimal + x[1] : ""
 | 
				
			||||||
 | 
					      const rgx = /(\d+)(\d{3})/
 | 
				
			||||||
 | 
					      if (separator && !isNumber(separator)) {
 | 
				
			||||||
 | 
					        while (rgx.test(x1)) {
 | 
				
			||||||
 | 
					          x1 = x1.replace(rgx, "$1" + separator + "$2")
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      return prefix + x1 + x2 + suffix
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    onMounted(() => {
 | 
				
			||||||
 | 
					      if (props.autoplay) {
 | 
				
			||||||
 | 
					        start()
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      emit("mounted")
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return () => (
 | 
				
			||||||
 | 
					      <>
 | 
				
			||||||
 | 
					        <span style={{
 | 
				
			||||||
 | 
					          color: props.color, fontSize: props.fontSize
 | 
				
			||||||
 | 
					        }}>{state.displayValue}</span>
 | 
				
			||||||
 | 
					      </>
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
@ -1,5 +1,6 @@
 | 
				
			|||||||
 | 
					/**
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <span :style="{color: color}">{{ displayValue }}</span>
 | 
					  <span :style="{color: color,fontSize: fontSize}">{{ displayValue }}</span>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
<script lang="ts">
 | 
					<script lang="ts">
 | 
				
			||||||
import {
 | 
					import {
 | 
				
			||||||
@ -29,6 +30,7 @@ export default defineComponent({
 | 
				
			|||||||
      rAF: any;
 | 
					      rAF: any;
 | 
				
			||||||
      remaining: number | null;
 | 
					      remaining: number | null;
 | 
				
			||||||
      color: any;
 | 
					      color: any;
 | 
				
			||||||
 | 
					      fontSize: string;
 | 
				
			||||||
    }>({
 | 
					    }>({
 | 
				
			||||||
      localStartVal: props.startVal,
 | 
					      localStartVal: props.startVal,
 | 
				
			||||||
      displayValue: formatNumber(props.startVal),
 | 
					      displayValue: formatNumber(props.startVal),
 | 
				
			||||||
@ -39,7 +41,8 @@ export default defineComponent({
 | 
				
			|||||||
      timestamp: null,
 | 
					      timestamp: null,
 | 
				
			||||||
      remaining: null,
 | 
					      remaining: null,
 | 
				
			||||||
      rAF: null,
 | 
					      rAF: null,
 | 
				
			||||||
      color: null
 | 
					      color: null,
 | 
				
			||||||
 | 
					      fontSize: "16px"
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    onMounted(() => {
 | 
					    onMounted(() => {
 | 
				
			||||||
@ -60,12 +63,13 @@ export default defineComponent({
 | 
				
			|||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    function start() {
 | 
					    function start() {
 | 
				
			||||||
      const { startVal, duration, color } = props;
 | 
					      const { startVal, duration, color, fontSize } = props;
 | 
				
			||||||
      state.localStartVal = startVal;
 | 
					      state.localStartVal = startVal;
 | 
				
			||||||
      state.startTime = null;
 | 
					      state.startTime = null;
 | 
				
			||||||
      state.localDuration = duration;
 | 
					      state.localDuration = duration;
 | 
				
			||||||
      state.paused = false;
 | 
					      state.paused = false;
 | 
				
			||||||
      state.color = color;
 | 
					      state.color = color;
 | 
				
			||||||
 | 
					      state.fontSize = fontSize;
 | 
				
			||||||
      state.rAF = requestAnimationFrame(count);
 | 
					      state.rAF = requestAnimationFrame(count);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -173,3 +177,4 @@ export default defineComponent({
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
@ -1,4 +1,3 @@
 | 
				
			|||||||
import { strict } from 'assert'
 | 
					 | 
				
			||||||
import { PropType } from 'vue'
 | 
					import { PropType } from 'vue'
 | 
				
			||||||
import { propTypes } from '/@/utils/propTypes'
 | 
					import { propTypes } from '/@/utils/propTypes'
 | 
				
			||||||
export const countToProps = {
 | 
					export const countToProps = {
 | 
				
			||||||
@ -18,6 +17,10 @@ export const countToProps = {
 | 
				
			|||||||
    type: String as PropType<string>,
 | 
					    type: String as PropType<string>,
 | 
				
			||||||
    require: false
 | 
					    require: false
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					  fontSize: {
 | 
				
			||||||
 | 
					    type: String as PropType<string>,
 | 
				
			||||||
 | 
					    require: false
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
  decimal: propTypes.string.def('.'),
 | 
					  decimal: propTypes.string.def('.'),
 | 
				
			||||||
  separator: propTypes.string.def(','),
 | 
					  separator: propTypes.string.def(','),
 | 
				
			||||||
  prefix: propTypes.string.def(''),
 | 
					  prefix: propTypes.string.def(''),
 | 
				
			||||||
 | 
				
			|||||||
@ -282,22 +282,22 @@ export default defineComponent({
 | 
				
			|||||||
            <tr>
 | 
					            <tr>
 | 
				
			||||||
              {
 | 
					              {
 | 
				
			||||||
                props.max.map((item, key) => {
 | 
					                props.max.map((item, key) => {
 | 
				
			||||||
                return <td
 | 
					                  return <td
 | 
				
			||||||
                  data-index={props.HsKey}
 | 
					                    data-index={props.HsKey}
 | 
				
			||||||
                  ref={`hstd${props.HsKey}${key}`}
 | 
					                    ref={`hstd${props.HsKey}${key}`}
 | 
				
			||||||
                  class={`hs-select__item${key}`}
 | 
					                    class={`hs-select__item${key}`}
 | 
				
			||||||
                  onMousemove={() => setCurrentValue(key)}
 | 
					                    onMousemove={() => setCurrentValue(key)}
 | 
				
			||||||
                  onMouseleave={() => resetCurrentValue(key)}
 | 
					                    onMouseleave={() => resetCurrentValue(key)}
 | 
				
			||||||
                  onClick={() => selectValue(key, item)}
 | 
					                    onClick={() => selectValue(key, item)}
 | 
				
			||||||
                  style={{
 | 
					                    style={{
 | 
				
			||||||
                    cursor: unref(rateDisabled) ? 'auto' : 'pointer', textAlign: 'center'
 | 
					                      cursor: unref(rateDisabled) ? 'auto' : 'pointer', textAlign: 'center'
 | 
				
			||||||
                  }}
 | 
					                    }}
 | 
				
			||||||
                  key={key}
 | 
					                    key={key}
 | 
				
			||||||
                >
 | 
					                  >
 | 
				
			||||||
                  <div ref={`hsdiv${props.HsKey}${key}`} class={`hs-item ${[unref(classes)[key] + key]}`}>
 | 
					                    <div ref={`hsdiv${props.HsKey}${key}`} class={`hs-item ${[unref(classes)[key] + key]}`}>
 | 
				
			||||||
                    <span>{item}</span>
 | 
					                      <span>{item}</span>
 | 
				
			||||||
                  </div>
 | 
					                    </div>
 | 
				
			||||||
                </td>
 | 
					                  </td>
 | 
				
			||||||
                })
 | 
					                })
 | 
				
			||||||
              }
 | 
					              }
 | 
				
			||||||
            </tr>
 | 
					            </tr>
 | 
				
			||||||
@ -305,5 +305,5 @@ export default defineComponent({
 | 
				
			|||||||
        </table>
 | 
					        </table>
 | 
				
			||||||
      </>
 | 
					      </>
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
  },
 | 
					  }
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
@ -3,12 +3,26 @@
 | 
				
			|||||||
    <el-row :gutter="10">
 | 
					    <el-row :gutter="10">
 | 
				
			||||||
      <el-col :span="10">
 | 
					      <el-col :span="10">
 | 
				
			||||||
        <el-card shadow="always">
 | 
					        <el-card shadow="always">
 | 
				
			||||||
          <CountTo prefix="$" :color="'#409EFF'" :startVal="1" :endVal="1000" />
 | 
					          <CountTo
 | 
				
			||||||
 | 
					            prefix="$"
 | 
				
			||||||
 | 
					            :duration="1000"
 | 
				
			||||||
 | 
					            :color="'#409EFF'"
 | 
				
			||||||
 | 
					            :fontSize="'60px'"
 | 
				
			||||||
 | 
					            :startVal="1"
 | 
				
			||||||
 | 
					            :endVal="1000"
 | 
				
			||||||
 | 
					          />
 | 
				
			||||||
        </el-card>
 | 
					        </el-card>
 | 
				
			||||||
      </el-col>
 | 
					      </el-col>
 | 
				
			||||||
      <el-col :span="10">
 | 
					      <el-col :span="10">
 | 
				
			||||||
        <el-card shadow="always">
 | 
					        <el-card shadow="always">
 | 
				
			||||||
          <CountTo prefix="$" :color="'green'" :startVal="1" :endVal="1500" />
 | 
					          <CountTo
 | 
				
			||||||
 | 
					            prefix="$"
 | 
				
			||||||
 | 
					            :duration="2000"
 | 
				
			||||||
 | 
					            :color="'green'"
 | 
				
			||||||
 | 
					            :fontSize="'60px'"
 | 
				
			||||||
 | 
					            :startVal="1"
 | 
				
			||||||
 | 
					            :endVal="2000"
 | 
				
			||||||
 | 
					          />
 | 
				
			||||||
        </el-card>
 | 
					        </el-card>
 | 
				
			||||||
      </el-col>
 | 
					      </el-col>
 | 
				
			||||||
    </el-row>
 | 
					    </el-row>
 | 
				
			||||||
@ -16,7 +30,7 @@
 | 
				
			|||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script lang='ts'>
 | 
					<script lang='ts'>
 | 
				
			||||||
import CountTo from "../../../components/countTo/src/index.vue";
 | 
					import CountTo from "/@/components/countTo";
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  components: {
 | 
					  components: {
 | 
				
			||||||
    CountTo
 | 
					    CountTo
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user