employees table
This commit is contained in:
@ -17,6 +17,7 @@ import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadc
|
||||
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
|
||||
|
||||
import rightArrow from "assets/icons/arrows/arrowRight.svg";
|
||||
import report from "assets/icons/report.svg";
|
||||
|
||||
// import PartnerPersonCard from "@components/PartnerPersonCard/PartnerPersonCard";
|
||||
// import { useDispatch } from "react-redux";
|
||||
@ -33,6 +34,7 @@ import rightArrow from "assets/icons/arrows/arrowRight.svg";
|
||||
// import TestImg from "assets/images/partnerProfile/PersonalTesters.svg";
|
||||
// import BackEndImg from "assets/images/partnerProfile/personalBackEnd.svg";
|
||||
import "./partnerСategories.scss";
|
||||
import { LEVELS, SKILLS } from "@utils/constants";
|
||||
export const PartnerCategories = () => {
|
||||
// const dispatch = useDispatch();
|
||||
if (localStorage.getItem("role_status") !== "18") {
|
||||
@ -46,6 +48,17 @@ export const PartnerCategories = () => {
|
||||
|
||||
const [search, setSearch] = useState("");
|
||||
|
||||
const tabs = [
|
||||
{
|
||||
name: 'Фронтенд',
|
||||
value: 2
|
||||
},
|
||||
{
|
||||
name: 'Бэкенд',
|
||||
value: 1
|
||||
}
|
||||
]
|
||||
|
||||
const COLUMNS = [
|
||||
{
|
||||
label: "",
|
||||
@ -59,18 +72,15 @@ export const PartnerCategories = () => {
|
||||
},
|
||||
{
|
||||
label: "Данные",
|
||||
renderCell: (item) => <p>{item?.employee.fio}</p>,
|
||||
renderCell: (item) => <div className="table__info"><p>{item?.employee.fio}</p><span>{LEVELS[item?.resume.userCard.level]} / {SKILLS[item?.resume.userCard.position_id]}</span></div>,
|
||||
// sort: { sortKey: "NAME" }
|
||||
},
|
||||
{
|
||||
label: "Резюме",
|
||||
label: "Участвует в проекте",
|
||||
renderCell: (item) => (
|
||||
<Link className="table__link" to={`/candidate/${item.user_id}`}>
|
||||
Резюме
|
||||
<div className="img__wrapper">
|
||||
<img src={rightArrow} alt="arrow" />
|
||||
</div>
|
||||
</Link>
|
||||
<div className="table__project">
|
||||
{item.resume.userCard.at_project ? <div>item.resume.userCard.at_project</div> : <span>Нет проектов</span>}
|
||||
</div>
|
||||
)
|
||||
},
|
||||
{
|
||||
@ -80,6 +90,7 @@ export const PartnerCategories = () => {
|
||||
className="table__link"
|
||||
to={`/profile/employees/report/${item.user_id}`}
|
||||
>
|
||||
<img src={report} alt="report" />
|
||||
Подробный отчет
|
||||
<div className="img__wrapper">
|
||||
<img src={rightArrow} alt="arrow" />
|
||||
@ -88,14 +99,12 @@ export const PartnerCategories = () => {
|
||||
)
|
||||
},
|
||||
{
|
||||
label: "Действие",
|
||||
renderCell: (item) => (
|
||||
<Link
|
||||
className="table__link"
|
||||
to={`/profile/employees/report/${item.user_id}`}
|
||||
label: <span className="table__action">Действие</span>,
|
||||
renderCell: () => (
|
||||
<div
|
||||
className="table__more"
|
||||
>
|
||||
123
|
||||
</Link>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
];
|
||||
@ -125,9 +134,23 @@ export const PartnerCategories = () => {
|
||||
useEffect(() => {
|
||||
setLoader(true);
|
||||
apiRequest("/project/my-employee").then((el) => {
|
||||
setLoader(false);
|
||||
setNodes(el?.managerEmployees);
|
||||
setInitialNodes(el.managerEmployees);
|
||||
const fetchResumes = async () => {
|
||||
const promises = el.managerEmployees.map(async (manager) => {
|
||||
const resume = await apiRequest(`/resume?userId=${manager.user_id}`);
|
||||
return { ...manager, resume }; // Возвращаем объект с добавленным ключом resume
|
||||
});
|
||||
|
||||
try {
|
||||
const updatedManagers = await Promise.all(promises);
|
||||
setInitialNodes(updatedManagers);
|
||||
setNodes(updatedManagers);
|
||||
setLoader(false);
|
||||
} catch (error) {
|
||||
console.error("Ошибка при получении резюме:", error);
|
||||
}
|
||||
};
|
||||
|
||||
fetchResumes();
|
||||
});
|
||||
}, []);
|
||||
|
||||
@ -276,6 +299,12 @@ export const PartnerCategories = () => {
|
||||
onChange={handleSearch}
|
||||
/>
|
||||
</label>
|
||||
<div className="table__tabs">
|
||||
<div className="table__tab">Все</div>
|
||||
{tabs.map((tab) => {
|
||||
return <div className="table__tab" key={tab.value}>{tab.name}</div>
|
||||
})}
|
||||
</div>
|
||||
<CompactTable
|
||||
columns={COLUMNS}
|
||||
data={data}
|
||||
|
Reference in New Issue
Block a user