From c0dd91e8d24b75c4610e454ba17f58f78d9745a7 Mon Sep 17 00:00:00 2001 From: claude_dev Date: Wed, 26 Aug 2026 23:06:30 +0800 Subject: [PATCH] =?UTF-8?q?fix(web):=20=E7=9B=91=E6=8E=A7=E9=A1=B5?= =?UTF-8?q?=E8=A1=A8=E6=A0=BC=E4=BA=94=E4=BF=AE(=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E9=AA=8C=E6=94=B608-26=E6=99=9A)=E2=80=94=E2=80=94=E2=91=A0?= =?UTF-8?q?=E6=95=B4=E8=A1=A8=E6=8C=A4=E5=B7=A6=E6=A0=B9=E6=B2=BB:?= =?UTF-8?q?=E4=BA=94=E5=BC=A0=E8=A1=A8=E5=85=A8=E9=83=A8=E5=9B=BA=E5=AE=9A?= =?UTF-8?q?width=E2=86=92min-width(08-20=E5=9B=9B=E4=BF=AE=E6=B2=BB?= =?UTF-8?q?=E6=8A=98=E8=A1=8C=E6=97=B6=E5=85=A8=E5=88=97=E5=AE=9A=E5=AE=BD?= =?UTF-8?q?,=E5=90=88=E8=AE=A1~600px<=E5=8D=A1=E7=89=87=E5=AE=BD,Element?= =?UTF-8?q?=E5=9B=BA=E5=AE=9A=E5=88=97=E4=B8=8D=E6=8B=89=E4=BC=B8=E2=86=92?= =?UTF-8?q?=E5=8F=B3=E4=BE=A7=E5=A4=A7=E7=89=87=E7=A9=BA=E7=99=BD;min-widt?= =?UTF-8?q?h=E4=BF=9D=E4=B8=8B=E9=99=90=E4=B8=8D=E6=8A=98=E8=A1=8C+?= =?UTF-8?q?=E5=89=A9=E4=BD=99=E5=AE=BD=E5=BA=A6=E6=8C=89=E6=AF=94=E4=BE=8B?= =?UTF-8?q?=E5=88=86=E9=85=8D=E9=93=BA=E6=BB=A1=E6=95=B4=E5=8D=A1)?= =?UTF-8?q?=E2=91=A1=E5=B0=8F=E6=95=B0=E4=BD=8D=E7=BB=9F=E4=B8=80(?= =?UTF-8?q?=E9=9D=9E=E8=AE=BE=E8=AE=A1=E5=88=9D=E8=A1=B7,=E5=8E=9F?= =?UTF-8?q?=E5=A7=8B=E6=B5=AE=E7=82=B9=E9=80=8F=E5=87=BA14.6/23.577/200.0?= =?UTF-8?q?=E6=B7=B7=E6=9D=82):=E5=9D=87=E4=BB=B7/=E4=BB=B7=E6=A0=BC/?= =?UTF-8?q?=E6=88=90=E6=9C=AC=E7=BB=9F=E4=B8=80fmtPrice=E4=B8=A4=E4=BD=8D?= =?UTF-8?q?=E5=B0=8F=E6=95=B0,=E6=95=B0=E9=87=8F/=E6=8C=81=E4=BB=93/?= =?UTF-8?q?=E5=86=BB=E7=BB=93/=E5=8F=AF=E5=8D=96num()=E5=8F=96=E6=95=B4?= =?UTF-8?q?=E5=8D=83=E5=88=86=E4=BD=8D,=E6=97=B6=E9=97=B4=E5=88=97fmtTrade?= =?UTF-8?q?Time=E5=85=BC=E5=AE=B9=E7=A9=BA=E6=A0=BC=E5=BC=8F=E4=B8=8EISO'T?= =?UTF-8?q?'=E4=B8=A4=E7=A7=8D=E8=90=BD=E5=BA=93=E8=B7=AF=E5=BE=84;npm=20r?= =?UTF-8?q?un=20build=E7=BB=BF=20[vps]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/live/Monitor.vue | 102 +++++++++++++++++++--------- 1 file changed, 69 insertions(+), 33 deletions(-) diff --git a/frontend/src/views/live/Monitor.vue b/frontend/src/views/live/Monitor.vue index 3f61b6e..9cb2cf5 100644 --- a/frontend/src/views/live/Monitor.vue +++ b/frontend/src/views/live/Monitor.vue @@ -81,6 +81,18 @@ function pct(v: number | null): string { return (v * 100).toFixed(2) + '%' } +/** 价格/成本统一 2 位小数(原始浮点透出会 14.6 / 23.577 混杂) */ +function fmtPrice(v: number | null | undefined): string { + if (v == null || !Number.isFinite(v)) return '—' + return v.toFixed(2) +} + +/** 成交时间:兼容 'YYYY-MM-DD HH:MM:SS'(组合实盘) 与 ISO 'T'(supervisor) 两种落库格式 */ +function fmtTradeTime(v: string | null | undefined): string { + if (!v) return '—' + return String(v).replace('T', ' ').slice(0, 19) +} + async function load(): Promise { try { const [acc, st, bal, pos, tr] = await Promise.all([ @@ -240,14 +252,20 @@ async function onStop(): Promise { - - - - - + + + - - + + + + + + + + + + @@ -257,19 +275,25 @@ async function onStop(): Promise { - - - - + + + + + + - - - + + + + + + + @@ -277,19 +301,25 @@ async function onStop(): Promise { - - - - + + + + + + - - - + + + + + + + @@ -331,34 +361,40 @@ async function onStop(): Promise {
实例分解
- - - + + + - + - + - + - +
账户持仓(QMT 全账户)
- - - - - + + + + + + + + + + +