From 8030783b7ede58971e493779fbf87a859ce48a6f Mon Sep 17 00:00:00 2001 From: OathK1per Date: Wed, 12 Jan 2022 10:45:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BB=93=E7=AE=97=E5=88=A9?= =?UTF-8?q?=E6=B6=A6=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../static/assets/js/project_common.js | 24 +++++++++++++++++++ .../static/assets/js/project_settle.js | 6 ++--- .../templates/admin/project_settle_edit.ftl | 4 ++-- 3 files changed, 29 insertions(+), 5 deletions(-) diff --git a/src/main/resources/static/assets/js/project_common.js b/src/main/resources/static/assets/js/project_common.js index ac9a87a..7779882 100644 --- a/src/main/resources/static/assets/js/project_common.js +++ b/src/main/resources/static/assets/js/project_common.js @@ -78,6 +78,30 @@ function digitalSelf(name, action) { $action.val(f2Fixed(f2(self))); } +/** + * parse float保留两位小数,四舍五入 + * 空格或者非数字认为是0 + * @param x + * @returns {*} + */ +function f2min(x) { + if(!x){ + return 1; + } + if(typeof x === 'string'){ + //这一步因为数字格式化为了包含分隔符,获取的时候就去掉这个分隔符 + x = x.replaceAll(",",""); + } + var f = parseFloat(x); + if (isNaN(f)) { + return 1; + } + if (f < 0.01 && f > -0.01) { + return 1; + } + return Math.round(f*100)/100; +} + /** * 计算利润率 * @param r1 diff --git a/src/main/resources/static/assets/js/project_settle.js b/src/main/resources/static/assets/js/project_settle.js index e568638..d73e7a4 100644 --- a/src/main/resources/static/assets/js/project_settle.js +++ b/src/main/resources/static/assets/js/project_settle.js @@ -579,7 +579,7 @@ function calGrossProfitProfitMargin() { var grossProfitProfitMargin = $("input[name='grossProfitProfitMargin']"); if(grossProfitSettleTotal && incomeSettleTotal){ - grossProfitProfitMargin.val(f2Fixed(100*(f2(grossProfitSettleTotal)/f2(incomeSettleTotal)))); + grossProfitProfitMargin.val(f2Fixed(100*(f2(grossProfitSettleTotal)/f2min(incomeSettleTotal)))); }else { grossProfitProfitMargin.val(""); } @@ -627,7 +627,7 @@ function calContributionProfitProfitMargin() { var contributionProfitProfitMargin = $("input[name='contributionProfitProfitMargin']"); if(contributionProfitSettleTotal && incomeSettleTotal){ - contributionProfitProfitMargin.val(f2Fixed(100*(f2(contributionProfitSettleTotal)/f2(incomeSettleTotal)))); + contributionProfitProfitMargin.val(f2Fixed(100*(f2(contributionProfitSettleTotal)/f2min(incomeSettleTotal)))); }else { contributionProfitProfitMargin.val(""); } @@ -675,7 +675,7 @@ function calNetProfitProfitMargin() { var netProfitProfitMargin = $("input[name='netProfitProfitMargin']"); if(netProfitSettleTotal && incomeSettleTotal){ - netProfitProfitMargin.val(f2Fixed(100*(f2(netProfitSettleTotal)/f2(incomeSettleTotal)))); + netProfitProfitMargin.val(f2Fixed(100*(f2(netProfitSettleTotal)/f2min(incomeSettleTotal)))); }else { netProfitProfitMargin.val(""); } diff --git a/src/main/resources/templates/admin/project_settle_edit.ftl b/src/main/resources/templates/admin/project_settle_edit.ftl index 3e89520..7062922 100644 --- a/src/main/resources/templates/admin/project_settle_edit.ftl +++ b/src/main/resources/templates/admin/project_settle_edit.ftl @@ -260,7 +260,7 @@ - value="${Utils.format(100 * currentBean.grossProfit,'0')}"<#else>value="${Utils.format(100 * currentBean.grossProfit / currentBean.getIncomeTotalTaxExclude(),'0')}" readonly title="项目贡献利润利润率"> + value="${Utils.format(100 * currentBean.contributionProfit,'0')}"<#else>value="${Utils.format(100 * currentBean.contributionProfit / currentBean.getIncomeTotalTaxExclude(),'0')}" readonly title="项目贡献利润利润率"> 项目净利润 @@ -269,7 +269,7 @@ - value="${Utils.format(100 * currentBean.grossProfit,'0')}"<#else>value="${Utils.format(100 * currentBean.grossProfit / currentBean.getIncomeTotalTaxExclude(),'0')}" readonly title="项目净利润利润率"> + value="${Utils.format(100 * currentBean.netProfit,'0')}"<#else>value="${Utils.format(100 * currentBean.netProfit / currentBean.getIncomeTotalTaxExclude(),'0')}" readonly title="项目净利润利润率">