修改文案

This commit is contained in:
zhx 2026-07-04 00:09:12 +08:00
parent 68ef0dfee3
commit fb168822cc
4 changed files with 13 additions and 13 deletions

View File

@ -325,7 +325,7 @@ test("routes databi social page to Social BI and loads real overview rows", asyn
// v2 Shell + tab
expect(screen.getByLabelText("Social BI 数据中心")).toBeTruthy();
const viewTabs = screen.getByRole("tablist", { name: "数据视图" });
["经营概览", "地区洞察", "人员绩效", "留存质量", "数据明细"].forEach((name) => {
["经营概览", "地区洞察", "运营中心", "留存质量", "数据明细"].forEach((name) => {
expect(within(viewTabs).getByRole("tab", { name })).toBeTruthy();
});
expect(within(viewTabs).getByRole("tab", { name: "经营概览" })).toHaveAttribute("aria-selected", "true");
@ -352,11 +352,11 @@ test("routes databi social page to Social BI and loads real overview rows", asyn
expect(screen.getAllByText("中东大区").length).toBeGreaterThan(0);
expect(screen.getAllByText("$50").length).toBeGreaterThan(0);
// Omar 90.0%kpi_manage
// Omar 90.0%kpi_manage
await act(async () => {
within(viewTabs).getByRole("tab", { name: "人员绩效" }).click();
within(viewTabs).getByRole("tab", { name: "运营中心" }).click();
});
expect(within(viewTabs).getByRole("tab", { name: "人员绩效" })).toHaveAttribute("aria-selected", "true");
expect(within(viewTabs).getByRole("tab", { name: "运营中心" })).toHaveAttribute("aria-selected", "true");
expect(screen.getAllByText("Omar").length).toBeGreaterThan(0);
expect(screen.getAllByText("90.0%").length).toBeGreaterThan(0);
expect(screen.getByRole("button", { name: "配置目标" })).toBeTruthy();

View File

@ -30,7 +30,7 @@ import "../styles/social-v2.css";
const VIEWS = [
{ component: OverviewView, icon: InsightsOutlined, key: "overview", label: "经营概览" },
{ component: RegionsView, icon: PublicOutlined, key: "regions", label: "地区洞察" },
{ component: TeamKpiView, icon: GroupsOutlined, key: "team", label: "人员绩效" },
{ component: TeamKpiView, icon: GroupsOutlined, key: "team", label: "运营中心" },
{ component: RetentionView, icon: RepeatOutlined, key: "retention", label: "留存质量" },
{ component: DataTableView, icon: TableChartOutlined, key: "table", label: "数据明细" }
];

View File

@ -90,7 +90,7 @@ export function useSocialBiData(filters) {
});
} else {
setKpi(null);
nextErrors.push(`KPI 数据加载失败: ${kpiResult.reason?.message || "未知错误"}`);
nextErrors.push(`充值目标数据加载失败: ${kpiResult.reason?.message || "未知错误"}`);
}
setErrors(nextErrors);
setIsLoading(false);

View File

@ -1,4 +1,4 @@
// TeamKpiViewkpi_view_all " KPI"
// TeamKpiViewkpi_view_all ""
// SocialBiApp.jsx useSocialBi() USD 0-1 null "--"
import { useMemo, useState } from "react";
@ -161,7 +161,7 @@ export function TeamKpiView() {
return isLoading ? <KpiSkeleton /> : (
<section className="sbi-card">
<div className="sbi-empty">
<strong>暂无 KPI 数据</strong>
<strong>暂无充值数据</strong>
<span>先在用户管理为运营人员分配 App/区域数据范围</span>
</div>
</section>
@ -186,7 +186,7 @@ export function TeamKpiView() {
<section className="sbi-kpi-hero">
<article className="sbi-card sbi-kpi-hero-main">
<div className="sbi-card-header">
<strong>{canViewAll ? "团队 KPI" : "我的 KPI"}</strong>
<strong>{canViewAll ? "团队充值" : "我的充值"}</strong>
<small>本月充值目标进度 · {kpi.period_month}</small>
{!canViewAll ? <span className="sbi-badge">仅展示我负责的范围</span> : null}
</div>
@ -239,7 +239,7 @@ export function TeamKpiView() {
<section className="sbi-card sbi-kpi-board">
<div className="sbi-card-header">
<strong>绩效排行</strong>
<strong>充值排行</strong>
<small>
{kpi.period_month} · {formatCount(summary.operator_count)} 名运营
</small>
@ -486,7 +486,7 @@ function PersonTable({ appCodes, remainingDays, rows }) {
<span className="sbi-metric-hint" title="本自然月至今负责范围的充值合计USD">当月充值</span>
</th>
<th>
<span className="sbi-metric-hint" title="本月充值目标USD KPI 管理员配置">月目标</span>
<span className="sbi-metric-hint" title="本月充值目标USD管理员配置">月目标</span>
</th>
<th>
<span className="sbi-metric-hint" title="当月充值 / 月目标">达成率</span>
@ -695,10 +695,10 @@ function KpiTargetDrawer({ appCodes, kpi, onClose, onSaved }) {
return (
<div className="sbi-kpi-drawer-mask" onClick={onClose} role="presentation">
<aside aria-label="配置 KPI 目标" className="sbi-kpi-drawer" onClick={(event) => event.stopPropagation()} role="dialog">
<aside aria-label="配置充值目标" className="sbi-kpi-drawer" onClick={(event) => event.stopPropagation()} role="dialog">
<header className="sbi-kpi-drawer-header">
<div className="sbi-kpi-drawer-title">
<strong>配置充值 KPI 目标</strong>
<strong>配置充值目标</strong>
<small>{kpi.period_month} · App 总目标 / 运营×App / 运营×App×区域 三级 · /日目标填 0 表示清除</small>
</div>
<button aria-label="关闭" className="sbi-kpi-drawer-close" onClick={onClose} type="button">