From 6622ece423b2cfcab10f174ff6650fae98e98a24 Mon Sep 17 00:00:00 2001 From: canwdev Date: Fri, 13 Dec 2024 10:21:27 +0800 Subject: [PATCH] update: fix --- src/App.vue | 6 +- src/components/AppUtils/FireCalc/index.vue | 76 ++++++++++++---------- 2 files changed, 44 insertions(+), 38 deletions(-) diff --git a/src/App.vue b/src/App.vue index 3e6432a..e2fab81 100644 --- a/src/App.vue +++ b/src/App.vue @@ -57,11 +57,7 @@ export default defineComponent({ diff --git a/src/components/AppUtils/FireCalc/index.vue b/src/components/AppUtils/FireCalc/index.vue index 8f63f1a..af7b330 100644 --- a/src/components/AppUtils/FireCalc/index.vue +++ b/src/components/AppUtils/FireCalc/index.vue @@ -63,7 +63,7 @@ interface IStepData { const stepData = ref([]) const resultValue = computed(() => { - let result = formData.value.currentValue + let result = formData.value.currentValue || 0 let age = formData.value.age stepData.value = [] stepData.value.push({ @@ -131,37 +131,42 @@ const getPassiveIncome = (value) => { } const resultItems = computed(() => { - const result = resultValue.value - const resultMonths = stepData.value.length - 1 - const increasedValue = result - formData.value.currentValue - const increasedPercent = ((increasedValue / result) * 100).toFixed(2) + '%' - const resultAge = stepData.value[stepData.value.length - 1]?.age + try { + const result = resultValue.value || 0 + const resultMonths = stepData.value.length - 1 + const increasedValue = result - formData.value.currentValue + const increasedPercent = ((increasedValue / result) * 100).toFixed(2) + '%' + const resultAge = stepData.value[stepData.value.length - 1]?.age - const {piYearly, piMonthly, piDaily} = getPassiveIncome(result) + const {piYearly, piMonthly, piDaily} = getPassiveIncome(result) - return [ - { - label: '结果资产', - key: 'resultValue', - value: `${numberWithCommas(result?.toFixed(2))} | ${numberToChineseMoney(result)}`, - type: 'text', - }, - { - label: '结果时间', - key: 'resultTimes', - value: `${resultMonths}个月 = ${convertMonthsToYearsAndMonths(resultMonths)} | ${stepData.value[stepData.value.length - 1]?.label}`, - type: 'text', - }, - { - label: '被动收入', - key: 'yearPassiveIncome', - value: `年收 ${piYearly.toFixed(2)} | 月收 ${piMonthly.toFixed(2)} | 日收 ${piDaily.toFixed(2)}`, - type: 'text', - }, - {label: '增长值', key: 'increasedValue', value: increasedValue.toFixed(2), type: 'number'}, - {label: '增长百分比', key: 'increasedPercent', value: increasedPercent, type: 'text'}, - {label: '年龄', key: 'resultAge', value: resultAge, type: 'text'}, - ].filter(Boolean) + return [ + { + label: '结果资产', + key: 'resultValue', + value: `${numberWithCommas(result.toFixed(2))} | ${numberToChineseMoney(result)}`, + type: 'text', + }, + { + label: '结果时间', + key: 'resultTimes', + value: `${resultMonths}个月 = ${convertMonthsToYearsAndMonths(resultMonths)} | ${stepData.value[stepData.value.length - 1]?.label}`, + type: 'text', + }, + { + label: '被动收入', + key: 'yearPassiveIncome', + value: `年收 ${piYearly.toFixed(2)} | 月收 ${piMonthly.toFixed(2)} | 日收 ${piDaily.toFixed(2)}`, + type: 'text', + }, + {label: '增长值', key: 'increasedValue', value: increasedValue.toFixed(2), type: 'number'}, + {label: '增长百分比', key: 'increasedPercent', value: increasedPercent, type: 'text'}, + {label: '年龄', key: 'resultAge', value: resultAge, type: 'text'}, + ].filter(Boolean) + } catch (e) { + console.error(e) + return [] + } }) function handleResize() { @@ -199,13 +204,15 @@ const initCharts = () => { const [p1] = params const d1 = p1 && stepData.value[p1.dataIndex] - const {piYearly, piMonthly, piDaily} = getPassiveIncome(d1.value) + const value = Number(d1.value) + + const {piYearly, piMonthly, piDaily} = getPassiveIncome(value) return `
${p1.marker}
日期:${d1.label} (${convertMonthsToYearsAndMonths(d1.monthCount)}) | ${d1.monthCount || 0}个月
-
资产:${numberWithCommas(d1.value.toFixed(2))}
-
资产:${numberToChineseMoney(d1.value)}
+
资产:${numberWithCommas(value.toFixed(2))}
+
资产:${numberToChineseMoney(value)}
被动收入:年收 ${piYearly.toFixed(2)} | 月收 ${piMonthly.toFixed(2)} | 日收 ${piDaily.toFixed(2)}
年龄:${d1.age}
` @@ -281,6 +288,9 @@ ${p1.marker} } const updateChart = () => { + if (!stepData.value.length) { + return + } // 刷新 Echarts 数据 const list = stepData.value || [] echartsInstance.value.setOption({