From dcc59a9bc600addc4c5b192c4eb51cdf0d13cac5 Mon Sep 17 00:00:00 2001 From: mac Date: Fri, 10 Jul 2026 20:14:53 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=BE=85=E5=9B=9E=E6=AC=BE=E5=8D=A1?= =?UTF-8?q?=E7=89=87=E8=B4=9F=E6=95=B0=E6=98=BE=E7=A4=BA=E8=B6=85=E9=A2=9D?= =?UTF-8?q?=E5=9B=9E=E6=AC=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 待回款<0时显示'超额回款 xx万' - 版本号 v1.2.0.14 --- static/modules/finance.js | 2 +- static/modules/plan.js | 2 +- templates/index.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/static/modules/finance.js b/static/modules/finance.js index 0310269..b80aafd 100644 --- a/static/modules/finance.js +++ b/static/modules/finance.js @@ -256,7 +256,7 @@ function renderFinance() { const METRIC_CARDS = [ { label: '签约金额', value: ctx => moneyWan(ctx.signTotal), color: 'text-slate-700' }, { label: '已确收', hideUnsigned: true, value: ctx => moneyWan(ctx.sumRev), color: 'text-blue-700' }, - { label: '待回款', hideUnsigned: true, value: ctx => { const v = ctx.sumRev - ctx.sumPay; return { val: moneyWan(v), cls: v > 0 ? 'text-red-600' : v < 0 ? 'text-green-600' : 'text-slate-400' }; }, color: null }, + { label: '待回款', hideUnsigned: true, value: ctx => { const v = ctx.sumRev - ctx.sumPay; return { val: v < 0 ? '超额回款 ' + moneyWan(Math.abs(v)) : moneyWan(v), cls: v > 0 ? 'text-red-600' : v < 0 ? 'text-green-600' : 'text-slate-400' }; }, color: null }, { label: '毛利', value: ctx => moneyWan(ctx.sumGross), color: 'text-green-700' }, { label: '成本(不含平台费用)', value: ctx => moneyWan(ctx.sumCost), color: 'text-rose-700' }, { label: '回款', hideUnsigned: true, value: ctx => moneyWan(ctx.sumPay), color: 'text-amber-700' }, diff --git a/static/modules/plan.js b/static/modules/plan.js index ea2650e..30bc774 100644 --- a/static/modules/plan.js +++ b/static/modules/plan.js @@ -254,7 +254,7 @@ function renderPlan() { const METRIC_CARDS = [ { label: '签约金额', value: ctx => moneyWan(ctx.signTotal), color: 'text-slate-700' }, { label: '已确收', hideUnsigned: true, value: ctx => moneyWan(ctx.sumRev), color: 'text-blue-700' }, - { label: '待回款', hideUnsigned: true, value: ctx => { const v = ctx.sumRev - ctx.sumPay; return { val: moneyWan(v), cls: v > 0 ? 'text-red-600' : v < 0 ? 'text-green-600' : 'text-slate-400' }; }, color: null }, + { label: '待回款', hideUnsigned: true, value: ctx => { const v = ctx.sumRev - ctx.sumPay; return { val: v < 0 ? '超额回款 ' + moneyWan(Math.abs(v)) : moneyWan(v), cls: v > 0 ? 'text-red-600' : v < 0 ? 'text-green-600' : 'text-slate-400' }; }, color: null }, { label: '毛利', value: ctx => moneyWan(ctx.sumGross), color: 'text-green-700' }, { label: '成本(不含平台费用)', value: ctx => moneyWan(ctx.sumCost), color: 'text-rose-700' }, { label: '回款', hideUnsigned: true, value: ctx => moneyWan(ctx.sumPay), color: 'text-amber-700' }, diff --git a/templates/index.html b/templates/index.html index 5bc1110..dfe9fa0 100644 --- a/templates/index.html +++ b/templates/index.html @@ -76,7 +76,7 @@
-

OPC Manager v1.2.0.13

+

OPC Manager v1.2.0.14

科普 OPC 工作台