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

科普 OPC 工作台