Publish King campaign report (manual update)

This commit is contained in:
SHAREit
2026-08-27 15:51:22 +08:00
parent 51603ba251
commit 89ca7531f0
3 changed files with 14 additions and 6 deletions
+3 -3
View File
@@ -1,6 +1,6 @@
{
"title": "King · 当月 Campaign 表现",
"generated_at": "2026-08-27T15:26:33+08:00",
"generated_at": "2026-08-27T15:50:27+08:00",
"timezone": "Asia/Shanghai",
"period": {
"start": "2026-08-01",
@@ -29,7 +29,7 @@
"completion": {
"revenue": 27.47,
"gp": 19.52,
"gp_rate": 71.05
"gp_rate": null
},
"time_progress_percent": 83.87,
"month_days": 31,
@@ -1196,6 +1196,6 @@
"performance_cost": "Cost 取 Sands Report 2.0 的 Cost 合计,需本地抓取",
"performance_gp": "GP = Revenue − Cost;GP rate = GP ÷ Revenue × 100",
"performance_target": "Target 来自 Oversea FY2627 Monthly FFR 表 King 行",
"performance_completion": "完成率 = 实际 ÷ Target × 100;Target 为整月目标"
"performance_completion": "完成率 = 实际 ÷ Target × 100,仅用于 Revenue 与 GP;GP rate 为比率,只看与目标的百分点差距"
}
}
+8 -1
View File
@@ -232,10 +232,17 @@ function renderPerformance(){
const color=diff>=0?'#23a673':'#e4568b';
return `<span style="color:${color}">${diff>=0?'+':''}${num(diff,2)} pt</span>`;
};
/* 比率不做完成率,只看与目标的百分点差距 */
const ratePoints=(actualRate,targetRate)=>{
if(!ok(actualRate)||!ok(targetRate))return '—';
const diff=Number(actualRate)-Number(targetRate);
const color=diff>=0?'#23a673':'#e4568b';
return `<span style="color:${color}" title="实际 GP rate 与目标的差距">${diff>=0?'+':''}${num(diff,2)} pt</span>`;
};
const rows=[
['Revenue',usd(target.revenue),usd(actual.revenue),pct(done.revenue),gap(done.revenue)],
['GP',usd(target.gp),usd(actual.gp),pct(done.gp),gap(done.gp)],
['GP rate',pct(target.gp_rate),pct(actual.gp_rate),pct(done.gp_rate),'—']
['GP rate',pct(target.gp_rate),pct(actual.gp_rate),'—',ratePoints(actual.gp_rate,target.gp_rate)]
];
$('perfRows').innerHTML=rows.map(row=>`<tr><td>${row[0]}</td><td>${row[1]}</td><td>${row[2]}</td><td>${row[3]}</td><td>${row[4]}</td></tr>`).join('')
+`<tr class="total-row"><td>Cost(Sands)</td><td>—</td><td>${usd(actual.cost)}</td><td>—</td><td>—</td></tr>`;
+3 -2
View File
@@ -425,7 +425,8 @@ def build_performance(revenue, sands, targets, period_days, month_days):
"completion": {
"revenue": ratio(revenue, targets.get("revenue") if targets else None),
"gp": ratio(gp, targets.get("gp") if targets else None),
"gp_rate": ratio(gp_rate, target_gp_rate),
# GP rate 是比率,不计算完成率;页面显示与目标的百分点差距
"gp_rate": None,
},
"time_progress_percent": round(period_days / month_days * 100, 2) if month_days else None,
"month_days": month_days,
@@ -558,7 +559,7 @@ def build_payload(now):
"performance_cost": "Cost 取 Sands Report 2.0 的 Cost 合计,需本地抓取",
"performance_gp": "GP = Revenue − Cost;GP rate = GP ÷ Revenue × 100",
"performance_target": "Target 来自 Oversea FY2627 Monthly FFR 表 King 行",
"performance_completion": "完成率 = 实际 ÷ Target × 100;Target 为整月目标",
"performance_completion": "完成率 = 实际 ÷ Target × 100,仅用于 Revenue 与 GP;GP rate 为比率,只看与目标的百分点差距",
},
}