diff --git a/frontend/src/App.vue b/frontend/src/App.vue index e982368..b602c5e 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -149,6 +149,17 @@ function formatNumber(value, digits = 2) { return Number(value ?? 0).toFixed(digits) } +// map the backend's dividend_method to an honest Thai label/flag +function dividendMethodLabel(method) { + if (method === 'dated_ledger') return 'ปันผล (ตามวันจริง)' + if (method === 'dps_annual_proxy') return 'ประมาณการปันผล/หุ้น (DPS)' + return 'ประมาณการปันผล (Proxy)' // final_holdings_yield_proxy or unknown +} +function dividendIsEstimate(method) { + // only dated_ledger rows are real dated cash flows; everything else is an estimate/proxy + return method !== 'dated_ledger' +} + function formatDate(value) { if (!value) return '—' return new Date(value).toLocaleString('en-GB', { @@ -695,12 +706,12 @@ onMounted(async () => { await loadDashboard(); await loadBacktestRuns() })
| # | ช่วง | ทุน | กำไรราคา | ประมาณการปันผล (Proxy) | ผลตอบแทน | รันเมื่อ | |
|---|---|---|---|---|---|---|---|
| # | ช่วง | ทุน | กำไรราคา | ปันผล | ผลตอบแทน | รันเมื่อ | |
| {{ r.id }} | {{ r.start }} → {{ r.end }} descriptive non-PIT | {{ formatNumber(r.capital) }} | {{ formatNumber(r.price_pnl) }} | -{{ formatNumber(r.dividend_income) }} | +{{ formatNumber(r.dividend_income) }}Proxy | {{ (r.net_return * 100).toFixed(2) }}% | {{ r.ran_at ? formatDate(r.ran_at) : '—' }} |