gaoluyang
3 天以前 92230c9a97dc9ce9df3313d11d26999c04bb6b26
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
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>