"use client"; import { useState } from "react"; import { useScopeEffect } from "@/lib/company-scope"; import { CompanyNameTag } from "@/components/shared/CompanyNameTag"; import { listTalents } from "@/lib/api-v2"; import { PageContainer, Badge } from "@/components/shared/PageContainer"; import { LoadingSpinner } from "@/components/shared/LoadingSpinner"; import { EmptyState } from "@/components/shared/EmptyState"; /** 人才项。 */ interface Talent { company_id?: string; name: string; current_role: string; performance_rating?: string; potential_rating?: string; nine_box?: string; status: string; } export default function TalentsPage() { const [items, setItems] = useState([]); const [isLoading, setIsLoading] = useState(true); useScopeEffect(() => { listTalents() .then((resp) => setItems((resp.data as Talent[]) ?? [])) .catch(() => setItems([])) .finally(() => setIsLoading(false)); }); return ( {isLoading ? ( ) : items.length === 0 ? ( ) : (
{items.map((item, i) => ( ))}
企业 姓名 当前职位 绩效 潜力 9-Box 状态
{item.name} {item.current_role} {item.performance_rating ?? "-"} {item.potential_rating ?? "-"} {item.nine_box ?? "-"} {item.status}
)}
); }