From 92230c9a97dc9ce9df3313d11d26999c04bb6b26 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 15 七月 2025 13:12:48 +0800
Subject: [PATCH] 项目初始化

---
 src/components/geek-xd/components/geek-statistic/geek-statistic.vue |   84 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 84 insertions(+), 0 deletions(-)

diff --git a/src/components/geek-xd/components/geek-statistic/geek-statistic.vue b/src/components/geek-xd/components/geek-statistic/geek-statistic.vue
new file mode 100644
index 0000000..dc8ac3f
--- /dev/null
+++ b/src/components/geek-xd/components/geek-statistic/geek-statistic.vue
@@ -0,0 +1,84 @@
+<template>
+    <view :style="labelStyle" class="title">{{ label }}</view>
+    <view :style="numberStyle" class="number">{{ formatNumber(number,props.place) }}</view>
+</template>
+  
+<script setup>
+import { computed } from 'vue';
+
+const props = defineProps({
+    label: {
+        type: String,
+        default: "璁㈠崟鏁伴噺"
+    },
+    width: {
+        type: Number,
+        default: 300
+    },
+    labelColor: {
+        type: String,
+        default: '#white'
+    },
+    labelSize: {
+        type: Number,
+        default: 16
+    },
+    number: {
+        type: Number,
+        default: 80
+    },
+    numberColor: {
+        type: String,
+        default: 'red'
+    },
+    numberSize: {
+        type: Number,
+        default: 20
+    },
+    place: {
+        type: Number,
+        default: 2
+    }
+})
+const labelStyle = computed(() => {
+    return {
+        width: `${props.width}rpx`,
+        color: props.labelColor,
+        fontSize: `${props.labelSize}px`
+    }
+})
+
+const numberStyle = computed(() => {
+    return {
+        width: `${props.width}rpx`,
+        color: props.numberColor,
+        fontSize: `${props.numberSize}px`
+    }
+})
+
+function formatNumber(num,place) {
+    
+    let fixedNum = Number(num).toFixed(place); // 灏嗘暟瀛椾繚鐣欎袱浣嶅皬鏁�
+    let parts = fixedNum.split('.'); // 鎷嗗垎鏁存暟閮ㄥ垎鍜屽皬鏁伴儴鍒�
+    let integerPart = parts[0]; // 鏁存暟閮ㄥ垎
+    let decimalPart = parts[1]; // 灏忔暟閮ㄥ垎
+
+    // 浣跨敤padStart鏂规硶琛�0鍒板皬鏁伴儴鍒�
+    decimalPart = decimalPart.padStart(place, '0');
+
+    return integerPart + '.' + decimalPart;
+}
+
+
+</script>
+  
+<style lang="scss" scoped>
+.title {
+    text-align: center;
+}
+
+.number {
+    text-align: center;
+}
+</style>
+  
\ No newline at end of file

--
Gitblit v1.9.3