) : null
}
filters={
}
/>
0
? {
page: page.page,
pageSize: page.data.pageSize || 50,
total,
onPageChange: page.setPage,
}
: undefined
}
rowKey={(item) => item.id}
/>
>
);
}
function PolicyIdentity({ item, policyType, regionLabels }) {
const labels = regionLabels || {};
return (
{item.name}
{policyTitle(policyType)} · {labels[item.regionId] || `区域 ${item.regionId}`}
);
}
function SettlementSummary({ item }) {
return (
{settlementTriggerLabel(item.settlementTriggerMode)}
完整自然月
次月 5 日可结算
);
}
function LevelSummary({ item, policyType }) {
const first = item.levels?.[0];
const last = item.levels?.[item.levels.length - 1];
return (
{item.levels?.length || 0} 个等级
{first && last ? `$${first.thresholdUsd} - $${last.thresholdUsd} ${thresholdUnit(policyType)}` : "-"}
{last ? `最高工资 $${last.salaryUsd}` : ""}
);
}
function EffectiveTime({ item }) {
return (
{item.effectiveFromMs ? formatMillis(item.effectiveFromMs) : "立即生效"}
{item.effectiveToMs ? formatMillis(item.effectiveToMs) : "长期有效"}
);
}
function PolicyStatusSwitch({ item, page }) {
const disabled = !page.abilities.canTeamUpdate || page.loadingAction === `team-policy-status-${item.id}`;
return (
page.togglePolicyStatus(item, event.target.checked)}
/>
);
}
function PolicyActions({ item, page }) {
return (
page.openEdit(item)}
>
page.removePolicy(item)}
>
);
}
function policyTitle(policyType) {
return policyType === "bd" ? "BD" : "Admin";
}
function thresholdUnit(policyType) {
return policyType === "bd" ? "主播工资" : "BD工资";
}
function settlementTriggerLabel(value) {
return settlementTriggerOptions.find(([mode]) => mode === value)?.[1] || value || "-";
}