diff --git a/static/modules/finance.js b/static/modules/finance.js
index 0ac6907..d03cdc9 100644
--- a/static/modules/finance.js
+++ b/static/modules/finance.js
@@ -1027,8 +1027,8 @@ function renderFinanceOverview() {
for (var dmi = 0; dmi < 12; dmi++) { deptThead += '
' + mLbl[dmi] + ' | '; }
deptThead += '';
var deptRows = [
- { label: '毛利', vals: fm.map(function(x) { return x ? x.gross : 0; }), annual: grossAnnual },
- { label: '平台费用', vals: expMonthly, annual: expAnnual },
+ { label: '项目毛利', vals: fm.map(function(x) { return x ? x.gross : 0; }), annual: grossAnnual },
+ { label: '部门费用', vals: expMonthly, annual: expAnnual },
{ label: '利润', vals: fm.map(function(x, i) { return (x ? x.gross : 0) - expMonthly[i]; }), annual: grossAnnual - expAnnual }
];
var deptTbody = '';
@@ -1061,8 +1061,8 @@ function renderFinanceOverview() {
var blCfAnnual = cfAnnual - expPaidAnnual;
var cfRows = [
{ label: '项目现金流', vals: cfMonthly, annual: cfAnnual },
- { label: '平台费用(支出)', vals: expPaidMonthly, annual: expPaidAnnual },
- { label: '部门现金流', vals: blCfMonthly, annual: blCfAnnual }
+ { label: '部门现金流', vals: expPaidMonthly, annual: expPaidAnnual },
+ { label: '经营现金流', vals: blCfMonthly, annual: blCfAnnual }
];
var cfTbody = '';
for (var cfri = 0; cfri < 3; cfri++) {
@@ -1159,11 +1159,11 @@ function renderFinanceQuarterlyOverview() {
var grossQ = [qData[2][0], qData[2][1], qData[2][2], qData[2][3]];
var grossAnnual = m.gross_annual || 0;
var deptThead = '| 指标 | 年度累计 | ';
- for (var qi = 0; qi < 4; qi++) { deptThead += 'Q' + (qi+1) + ' | '; }
+ for (var qi = 0; qi < 4; qi++) { deptThead += 'Q' + (qi+1) + ' | '; if (qi > 0) deptThead += '环比 | '; }
deptThead += '
';
var deptRows = [
- { label: '毛利', vals: grossQ, annual: grossAnnual },
- { label: '平台费用', vals: expQ, annual: expAnnual },
+ { label: '项目毛利', vals: grossQ, annual: grossAnnual },
+ { label: '部门费用', vals: expQ, annual: expAnnual },
{ label: '利润', vals: grossQ.map(function(v, i) { return v - expQ[i]; }), annual: grossAnnual - expAnnual }
];
var deptTbody = '';
@@ -1176,6 +1176,7 @@ function renderFinanceQuarterlyOverview() {
for (var qi = 0; qi < 4; qi++) {
var cellCls = dri === 2 ? (dr.vals[qi] >= 0 ? 'text-green-600' : 'text-red-600') : 'text-slate-700';
rowHtml += '' + moneyIntL(dr.vals[qi]) + ' | ';
+ if (qi > 0) rowHtml += '' + qoq(dr.vals[qi], dr.vals[qi - 1]) + ' | ';
}
deptTbody += rowHtml + '';
}
@@ -1195,8 +1196,8 @@ function renderFinanceQuarterlyOverview() {
var blCfAnnual = cfAnnual - expPaidAnnual;
var cfRows = [
{ label: '项目现金流', vals: cfQ, annual: cfAnnual },
- { label: '平台费用(已付)', vals: expPaidQ, annual: expPaidAnnual },
- { label: '部门现金流', vals: blCfQ, annual: blCfAnnual }
+ { label: '部门现金流', vals: expPaidQ, annual: expPaidAnnual },
+ { label: '经营现金流', vals: blCfQ, annual: blCfAnnual }
];
var cfTbody = '';
for (var cfri = 0; cfri < 3; cfri++) {
@@ -1208,6 +1209,7 @@ function renderFinanceQuarterlyOverview() {
for (var qi = 0; qi < 4; qi++) {
var cellCls = cfri === 2 ? (blCfQ[qi] >= 0 ? 'text-green-600' : 'text-red-600') : 'text-slate-700';
rowHtml += '' + moneyIntL(cfdr.vals[qi]) + ' | ';
+ if (qi > 0) rowHtml += '' + qoq(cfdr.vals[qi], cfdr.vals[qi - 1]) + ' | ';
}
cfTbody += rowHtml + '';
}
diff --git a/static/modules/plan.js b/static/modules/plan.js
index 4ed286f..bb77336 100644
--- a/static/modules/plan.js
+++ b/static/modules/plan.js
@@ -1116,8 +1116,8 @@ function renderPlanOverview() {
for (var dmi = 0; dmi < 12; dmi++) { deptThead += '' + mLbl[dmi] + ' | '; }
deptThead += '';
var deptRows = [
- { label: '毛利', vals: fm.map(function(x) { return x ? x.gross : 0; }), annual: grossAnnual },
- { label: '平台费用', vals: expMonthly, annual: expAnnual },
+ { label: '项目毛利', vals: fm.map(function(x) { return x ? x.gross : 0; }), annual: grossAnnual },
+ { label: '部门费用', vals: expMonthly, annual: expAnnual },
{ label: '利润', vals: fm.map(function(x, i) { return (x ? x.gross : 0) - expMonthly[i]; }), annual: grossAnnual - expAnnual }
];
var deptTbody = '';
@@ -1151,8 +1151,8 @@ function renderPlanOverview() {
var blCfAnnual = cfAnnual - expPaidAnnual;
var cfRows = [
{ label: '项目现金流', vals: cfMonthly, annual: cfAnnual },
- { label: '平台费用(已付)', vals: expPaidMonthly, annual: expPaidAnnual },
- { label: '部门现金流', vals: blCfMonthly, annual: blCfAnnual }
+ { label: '部门现金流', vals: expPaidMonthly, annual: expPaidAnnual },
+ { label: '经营现金流', vals: blCfMonthly, annual: blCfAnnual }
];
var cfTbody = '';
for (var cfri = 0; cfri < 3; cfri++) {
@@ -1253,11 +1253,11 @@ function renderPlanQuarterlyOverview() {
var grossQ = [qData[2][0], qData[2][1], qData[2][2], qData[2][3]];
var grossAnnual = annualSums2.gross;
var deptThead = '| 指标 | 年度累计 | ';
- for (var qi = 0; qi < 4; qi++) { deptThead += 'Q' + (qi+1) + ' | '; }
+ for (var qi = 0; qi < 4; qi++) { deptThead += 'Q' + (qi+1) + ' | '; if (qi > 0) deptThead += '环比 | '; }
deptThead += '
';
var deptRows = [
- { label: '毛利', vals: grossQ, annual: grossAnnual },
- { label: '平台费用', vals: expQ, annual: expAnnual },
+ { label: '项目毛利', vals: grossQ, annual: grossAnnual },
+ { label: '部门费用', vals: expQ, annual: expAnnual },
{ label: '利润', vals: grossQ.map(function(v, i) { return v - expQ[i]; }), annual: grossAnnual - expAnnual }
];
var deptTbody = '';
@@ -1270,6 +1270,7 @@ function renderPlanQuarterlyOverview() {
for (var qi = 0; qi < 4; qi++) {
var cellCls = dri === 2 ? (dr.vals[qi] >= 0 ? 'text-green-600' : 'text-red-600') : 'text-slate-700';
rowHtml += '' + moneyIntL(dr.vals[qi]) + ' | ';
+ if (qi > 0) rowHtml += '' + qoq(dr.vals[qi], dr.vals[qi - 1]) + ' | ';
}
deptTbody += rowHtml + '';
}
@@ -1288,8 +1289,8 @@ function renderPlanQuarterlyOverview() {
var blCfAnnual = cfAnnual - expPaidAnnual;
var cfRows = [
{ label: '项目现金流', vals: cfQ, annual: cfAnnual },
- { label: '平台费用(已付)', vals: expPaidQ, annual: expPaidAnnual },
- { label: '部门现金流', vals: blCfQ, annual: blCfAnnual }
+ { label: '部门现金流', vals: expPaidQ, annual: expPaidAnnual },
+ { label: '经营现金流', vals: blCfQ, annual: blCfAnnual }
];
var cfTbody = '';
for (var cfri = 0; cfri < 3; cfri++) {
@@ -1301,6 +1302,7 @@ function renderPlanQuarterlyOverview() {
for (var qi = 0; qi < 4; qi++) {
var cellCls = cfri === 2 ? (blCfQ[qi] >= 0 ? 'text-green-600' : 'text-red-600') : 'text-slate-700';
rowHtml += '' + moneyIntL(cfdr.vals[qi]) + ' | ';
+ if (qi > 0) rowHtml += '' + qoq(cfdr.vals[qi], cfdr.vals[qi - 1]) + ' | ';
}
cfTbody += rowHtml + '';
}
diff --git a/templates/index.html b/templates/index.html
index adf544c..faee1b2 100644
--- a/templates/index.html
+++ b/templates/index.html
@@ -76,7 +76,7 @@
-
OPC Manager v1.2.0.21
+
OPC Manager v1.2.0.22