From e0b5b0c3dc42e1fb14fb6200dd477f35d4e1aa4d Mon Sep 17 00:00:00 2001 From: dmy Date: Wed, 7 Jan 2026 11:27:29 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=9C=A8=E6=96=B9=E6=A1=88=E5=AF=B9?= =?UTF-8?q?=E6=AF=94=E8=A1=A8=E6=A0=BC=E4=B8=AD=E5=A2=9E=E5=8A=A0=E6=8D=9F?= =?UTF-8?q?=E8=80=97=E8=B4=B9=E7=94=A8=E5=87=80=E7=8E=B0=E5=80=BC=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增'损耗费用净现值 (万元)'列,显示生命周期内损耗费用的净现值 - 使用npv_loss字段替代annual_loss_cost,考虑折现率对全生命周期成本的影响 - 支持按损耗费用净现值排序,便于方案经济性对比 --- gui.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gui.py b/gui.py index 1ff03ef..cbbae5c 100644 --- a/gui.py +++ b/gui.py @@ -815,6 +815,7 @@ def index(): "cost_wan": f"{res['cost'] / 10000:.2f}", "loss_kw": f"{res['loss']:.2f}", "total_length": f"{total_length_km:.2f}", + "npv_loss_wan": f"{res.get('npv_loss', 0) / 10000:.2f}", "total_cost_npv_wan": f"{res.get('total_cost_npv', res['cost']) / 10000:.2f}", "note": note, "original_name": res["name"], @@ -984,6 +985,12 @@ def index(): "field": "total_length", "sortable": True, }, + { + "name": "npv_loss_wan", + "label": "损耗费用净现值 (万元)", + "field": "npv_loss_wan", + "sortable": True, + }, { "name": "total_cost_npv_wan", "label": "总费用 (万元)",