partner employees
This commit is contained in:
1 parent
ab93a26abf
commit
850b0d1bb6
20 files changed
+322
-26
No files matched your search
+4
-2
@@ -25,8 +25,9 @@ import { PartnerSettings } from "./pages/PartnerSettings/PartnerSettings"
|
|||||||
import {PartnerRequests} from './pages/PartnerRequests/PartnerRequests'
|
import {PartnerRequests} from './pages/PartnerRequests/PartnerRequests'
|
||||||
import {PartnerAddRequest} from './pages/PartnerAddRequest/PartnerAddRequest'
|
import {PartnerAddRequest} from './pages/PartnerAddRequest/PartnerAddRequest'
|
||||||
import {PartnerBid} from './pages/PartnerBid/PartnerBid'
|
import {PartnerBid} from './pages/PartnerBid/PartnerBid'
|
||||||
import {PartnerPersonalInfo} from "./pages/PartnerPersonalInfo/PartnerPersonalInfo";
|
import {PartnerCategories} from "./pages/PartnerСategories/PartnerСategories";
|
||||||
import {PartnerTreaties} from "./pages/PartnerTreaties/PartnerTreaties";
|
import {PartnerTreaties} from "./pages/PartnerTreaties/PartnerTreaties";
|
||||||
|
import {PartnerEmployees} from "./pages/PartnerEmployees/PartnerEmployees";
|
||||||
|
|
||||||
import './fonts/stylesheet.css'
|
import './fonts/stylesheet.css'
|
||||||
import 'bootstrap/dist/css/bootstrap.min.css'
|
import 'bootstrap/dist/css/bootstrap.min.css'
|
||||||
@@ -71,8 +72,9 @@ const App = () => {
|
|||||||
<Route exact path='requests' element={<PartnerRequests/>}/>
|
<Route exact path='requests' element={<PartnerRequests/>}/>
|
||||||
<Route exact path='add-request' element={<PartnerAddRequest/>}/>
|
<Route exact path='add-request' element={<PartnerAddRequest/>}/>
|
||||||
<Route exact path='bid' element={<PartnerBid/>}/>
|
<Route exact path='bid' element={<PartnerBid/>}/>
|
||||||
<Route exact path='employees' element={<PartnerPersonalInfo/>}/>
|
<Route exact path='categories' element={<PartnerCategories/>}/>
|
||||||
<Route exact path='treaties' element={<PartnerTreaties/>}/>
|
<Route exact path='treaties' element={<PartnerTreaties/>}/>
|
||||||
|
<Route exact path='categories/employees' element={<PartnerEmployees/>}/>
|
||||||
</Route>
|
</Route>
|
||||||
|
|
||||||
<Route path="*" element={<Navigate to="/profile" replace/>}/>
|
<Route path="*" element={<Navigate to="/profile" replace/>}/>
|
||||||
|
|||||||
@@ -46,12 +46,16 @@ export const ProfileHeader = () => {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
partner: [
|
partner: [
|
||||||
|
{
|
||||||
|
path: '/',
|
||||||
|
name: 'Каталог'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: '/requests',
|
path: '/requests',
|
||||||
name: 'Запросы'
|
name: 'Запросы'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/employees',
|
path: '/categories',
|
||||||
name: 'Персонал'
|
name: 'Персонал'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -0,0 +1,75 @@
|
|||||||
|
import React from 'react';
|
||||||
|
import {Link, Navigate} from "react-router-dom";
|
||||||
|
import {useSelector} from "react-redux";
|
||||||
|
import {getPartnerEmployees} from "../../redux/outstaffingSlice";
|
||||||
|
|
||||||
|
import {ProfileHeader} from "../../components/ProfileHeader/ProfileHeader";
|
||||||
|
import {ProfileBreadcrumbs} from "../../components/ProfileBreadcrumbs/ProfileBreadcrumbs"
|
||||||
|
import {Footer} from "../../components/Footer/Footer";
|
||||||
|
|
||||||
|
import imgInfo from "./emplInfo.png"
|
||||||
|
import rightArrow from "../../images/arrowRight.png"
|
||||||
|
|
||||||
|
import "./partnerEmployees.scss"
|
||||||
|
|
||||||
|
export const PartnerEmployees = () => {
|
||||||
|
const partnerEmployees = useSelector(getPartnerEmployees);
|
||||||
|
if(localStorage.getItem('role_status') !== '18' || !partnerEmployees.length) {
|
||||||
|
console.log(partnerEmployees.length)
|
||||||
|
return <Navigate to="/profile/categories" replace/>
|
||||||
|
}
|
||||||
|
return(
|
||||||
|
<div className="partnerEmployees">
|
||||||
|
<ProfileHeader />
|
||||||
|
<div className="container">
|
||||||
|
<ProfileBreadcrumbs links={[
|
||||||
|
{name: 'Главная', link: '/profile'},
|
||||||
|
{name: 'Данные моего персонала', link: '/profile/categories'},
|
||||||
|
{name: 'Backend разработчики', link: '/profile/categories/employees'},
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
<h2 className="partnerEmployees__title">Backend разработчики</h2>
|
||||||
|
<div className="partnerEmployees__items">
|
||||||
|
{partnerEmployees.map((person) => {
|
||||||
|
return <div className="partnerEmployees__item" key={person.id}>
|
||||||
|
<div className="partnerEmployees__item__name">
|
||||||
|
<img src={person.personAvatar} alt="avatar" />
|
||||||
|
<h4>{person.name}</h4>
|
||||||
|
</div>
|
||||||
|
<div className="partnerEmployees__item__info">
|
||||||
|
<div className="partnerEmployees__item__info__qualification">
|
||||||
|
<h5>{person.qualification}</h5>
|
||||||
|
<span>{person.level}</span>
|
||||||
|
<div className="info_summary">
|
||||||
|
<img src={imgInfo} alt="img" />
|
||||||
|
<p>Данные и резюме</p>
|
||||||
|
<div className="arrow">
|
||||||
|
<img src={rightArrow} alt="arrow" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="partnerEmployees__item__info__project">
|
||||||
|
<span className="name">Проект:</span>
|
||||||
|
<h5>{person.project}</h5>
|
||||||
|
<div className="partnerEmployees__item__info__project__details">
|
||||||
|
<div className="details__item">
|
||||||
|
<p>Открытые задачи</p>
|
||||||
|
<span className="count">{person.tasks_in_progress}</span>
|
||||||
|
</div>
|
||||||
|
<div className="details__item">
|
||||||
|
<p>Отработанных часов в <span>марте</span></p>
|
||||||
|
<span className="count">{person.month_hours}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<Footer/>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 3.3 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 596 B |
@@ -0,0 +1,170 @@
|
|||||||
|
.partnerEmployees {
|
||||||
|
background: #F1F1F1;
|
||||||
|
height: 100%;
|
||||||
|
min-height: 100vh;
|
||||||
|
font-family: 'LabGrotesque', sans-serif;
|
||||||
|
|
||||||
|
&__title {
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 18px;
|
||||||
|
line-height: 22px;
|
||||||
|
color: #000000;
|
||||||
|
margin-bottom: 22px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__items {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
row-gap: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__item {
|
||||||
|
background: #E1FCCF;
|
||||||
|
border-radius: 12px;
|
||||||
|
display: flex;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
&__name {
|
||||||
|
background: #FFFFFF;
|
||||||
|
border-radius: 12px;
|
||||||
|
padding: 25px 22px 25px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
max-width: 274px;
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
img {
|
||||||
|
width: 77px;
|
||||||
|
height: 77px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h4 {
|
||||||
|
margin-left: 13px;
|
||||||
|
margin-bottom: 0;
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 16px;
|
||||||
|
line-height: 26px;
|
||||||
|
max-width: 96px;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&__info {
|
||||||
|
display: flex;
|
||||||
|
padding: 15px 50px 14px 16px;
|
||||||
|
width: 100%;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
&__qualification {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
h5 {
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 18px;
|
||||||
|
color: #000000;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
span {
|
||||||
|
color: #6F6F6F;
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info_summary {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
p {
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 22px;
|
||||||
|
color: #000000;
|
||||||
|
margin: 0 18px 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.arrow {
|
||||||
|
cursor: pointer;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
background: #FFFFFF;
|
||||||
|
border-radius: 50px;
|
||||||
|
width: 41px;
|
||||||
|
height: 41px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&__project {
|
||||||
|
.name {
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 18px;
|
||||||
|
color: #111112;
|
||||||
|
}
|
||||||
|
|
||||||
|
h5 {
|
||||||
|
margin-bottom: 0;
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 18px;
|
||||||
|
color: #111112;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__details {
|
||||||
|
display: flex;
|
||||||
|
margin-top: 24px;
|
||||||
|
column-gap: 25px;
|
||||||
|
|
||||||
|
.details__item {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin-bottom: 0;
|
||||||
|
color: #6F6F6F;
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 13px;
|
||||||
|
line-height: 24px;
|
||||||
|
|
||||||
|
span {
|
||||||
|
color: #406128;
|
||||||
|
font-weight: 700;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.count {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
margin-left: 8px;
|
||||||
|
padding: 0 6px;
|
||||||
|
background: #DDDDDD;
|
||||||
|
border-radius: 4px;
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 24px;
|
||||||
|
color: #6F6F6F;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.container {
|
||||||
|
max-width: 1160px;
|
||||||
|
margin-top: 23px;
|
||||||
|
|
||||||
|
@media (max-width: 570px) {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
margin-top: 70px;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -16,7 +16,7 @@ export const PartnerSettings = () => {
|
|||||||
<ProfileBreadcrumbs
|
<ProfileBreadcrumbs
|
||||||
links={[
|
links={[
|
||||||
{ name: "Главная", link: "/profile" },
|
{ name: "Главная", link: "/profile" },
|
||||||
{ name: "Данные моего персонала", link: "/profile/employees" },
|
{ name: "Данные моего персонала", link: "/profile/settings" },
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
<div className="partner-settings">
|
<div className="partner-settings">
|
||||||
|
|||||||
+58
-18
@@ -1,10 +1,14 @@
|
|||||||
import React, {useState} from 'react';
|
import React, {useState} from 'react';
|
||||||
import {Link} from "react-router-dom";
|
import {Link} from "react-router-dom";
|
||||||
|
import {Navigate} from "react-router-dom";
|
||||||
|
import {useDispatch} from "react-redux";
|
||||||
|
|
||||||
import {ProfileHeader} from "../../components/ProfileHeader/ProfileHeader";
|
import {ProfileHeader} from "../../components/ProfileHeader/ProfileHeader";
|
||||||
import {ProfileBreadcrumbs} from "../../components/ProfileBreadcrumbs/ProfileBreadcrumbs"
|
import {ProfileBreadcrumbs} from "../../components/ProfileBreadcrumbs/ProfileBreadcrumbs"
|
||||||
import {Footer} from "../../components/Footer/Footer";
|
import {Footer} from "../../components/Footer/Footer";
|
||||||
|
|
||||||
|
import {setPartnerEmployees} from "../../redux/outstaffingSlice";
|
||||||
|
|
||||||
import BackEndImg from "./images/personalBackEnd.png"
|
import BackEndImg from "./images/personalBackEnd.png"
|
||||||
import FrontendImg from "./images/PersonalFrontend.png"
|
import FrontendImg from "./images/PersonalFrontend.png"
|
||||||
import ArchitectureImg from "./images/PersonalArchitecture.png"
|
import ArchitectureImg from "./images/PersonalArchitecture.png"
|
||||||
@@ -15,12 +19,12 @@ import ManageImg from "./images/PersonalMng.png"
|
|||||||
import CopyImg from "./images/PersonalCopy.png"
|
import CopyImg from "./images/PersonalCopy.png"
|
||||||
import SmmImg from "./images/PersonalSMM.png"
|
import SmmImg from "./images/PersonalSMM.png"
|
||||||
import rightArrow from "../../images/arrowRight.png"
|
import rightArrow from "../../images/arrowRight.png"
|
||||||
|
import avatarImg from "../PartnerEmployees/avatarMok.png";
|
||||||
|
|
||||||
import {Navigate} from "react-router-dom";
|
import "./partnerСategories.scss"
|
||||||
|
|
||||||
import "./parthnerPersonalInfo.scss"
|
export const PartnerCategories = () => {
|
||||||
|
const dispatch = useDispatch();
|
||||||
export const PartnerPersonalInfo = () => {
|
|
||||||
if(localStorage.getItem('role_status') !== '18') {
|
if(localStorage.getItem('role_status') !== '18') {
|
||||||
return <Navigate to="/profile" replace/>
|
return <Navigate to="/profile" replace/>
|
||||||
}
|
}
|
||||||
@@ -28,81 +32,117 @@ export const PartnerPersonalInfo = () => {
|
|||||||
const [personalInfoItems] = useState([
|
const [personalInfoItems] = useState([
|
||||||
{
|
{
|
||||||
title: 'Backend разработчики',
|
title: 'Backend разработчики',
|
||||||
link: '/profile',
|
link: '/profile/categories/employees',
|
||||||
description: 'Java PHP Python C# React Vue.js NodeJs Golang Ruby JavaScript',
|
description: 'Java PHP Python C# React Vue.js NodeJs Golang Ruby JavaScript',
|
||||||
available: true,
|
available: true,
|
||||||
img: BackEndImg
|
img: BackEndImg
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Frontend разработчики',
|
title: 'Frontend разработчики',
|
||||||
link: '/profile',
|
link: '/profile/categories/employees',
|
||||||
description: 'Java PHP Python C# React Vue.js NodeJs Golang Ruby JavaScript',
|
description: 'Java PHP Python C# React Vue.js NodeJs Golang Ruby JavaScript',
|
||||||
available: true,
|
available: true,
|
||||||
img: FrontendImg
|
img: FrontendImg
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Архитектура проектов',
|
title: 'Архитектура проектов',
|
||||||
link: '/profile',
|
link: '/profile/categories/employees',
|
||||||
description: 'Потоки данных ER ERP CRM CQRS UML BPMN',
|
description: 'Потоки данных ER ERP CRM CQRS UML BPMN',
|
||||||
available: true,
|
available: true,
|
||||||
img: ArchitectureImg
|
img: ArchitectureImg
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Дизайн проектов',
|
title: 'Дизайн проектов',
|
||||||
link: '/profile',
|
link: '/profile/categories/employees',
|
||||||
description: 'Java PHP Python C# React Vue.js NodeJs Golang Ruby JavaScript',
|
description: 'Java PHP Python C# React Vue.js NodeJs Golang Ruby JavaScript',
|
||||||
available: true,
|
available: true,
|
||||||
img: DesignImg
|
img: DesignImg
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Тестирование проектов',
|
title: 'Тестирование проектов',
|
||||||
link: '/profile',
|
link: '/profile/add-request',
|
||||||
description: 'SQL Postman TestRail Kibana Ручное тестирование',
|
description: 'SQL Postman TestRail Kibana Ручное тестирование',
|
||||||
available: false,
|
available: false,
|
||||||
img: TestImg
|
img: TestImg
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Администрирование проектов',
|
title: 'Администрирование проектов',
|
||||||
link: '/profile',
|
link: '/profile/add-request',
|
||||||
description: 'DevOps ELK Kubernetes Docker Bash Apache Oracle Git',
|
description: 'DevOps ELK Kubernetes Docker Bash Apache Oracle Git',
|
||||||
available: false,
|
available: false,
|
||||||
img: AdminImg
|
img: AdminImg
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Управление проектом',
|
title: 'Управление проектом',
|
||||||
link: '/profile',
|
link: '/profile/add-request',
|
||||||
description: 'Scrum Kanban Agile Miro CustDev',
|
description: 'Scrum Kanban Agile Miro CustDev',
|
||||||
available: false,
|
available: false,
|
||||||
img: ManageImg
|
img: ManageImg
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Копирайтинг проектов',
|
title: 'Копирайтинг проектов',
|
||||||
link: '/profile',
|
link: '/profile/add-request',
|
||||||
description: 'Теги Заголовок H1 Дескриптор Абзац Сценарий',
|
description: 'Теги Заголовок H1 Дескриптор Абзац Сценарий',
|
||||||
available: false,
|
available: false,
|
||||||
img: CopyImg
|
img: CopyImg
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Реклама и SMM',
|
title: 'Реклама и SMM',
|
||||||
link: '/profile',
|
link: '/profile/add-request',
|
||||||
description: 'Java PHP Python C# React Vue.js NodeJs Golang Ruby JavaScript',
|
description: 'Java PHP Python C# React Vue.js NodeJs Golang Ruby JavaScript',
|
||||||
available: false,
|
available: false,
|
||||||
img: SmmImg
|
img: SmmImg
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
|
|
||||||
|
const [mokPersons] = useState([
|
||||||
|
{
|
||||||
|
personAvatar: avatarImg,
|
||||||
|
name: "Макаренко Дмитрий",
|
||||||
|
qualification: "PHP Backend - разработчик",
|
||||||
|
level: "Middle",
|
||||||
|
project: "Админка НВД Консалтинг",
|
||||||
|
tasks_in_progress: 5,
|
||||||
|
month_hours: 140,
|
||||||
|
id: 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
personAvatar: avatarImg,
|
||||||
|
name: "Макаренко Дмитрий",
|
||||||
|
qualification: "PHP Backend - разработчик",
|
||||||
|
level: "Middle",
|
||||||
|
project: "Админка НВД Консалтинг",
|
||||||
|
tasks_in_progress: 5,
|
||||||
|
month_hours: 140,
|
||||||
|
id: 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
personAvatar: avatarImg,
|
||||||
|
name: "Макаренко Дмитрий",
|
||||||
|
qualification: "PHP Backend - разработчик",
|
||||||
|
level: "Middle",
|
||||||
|
project: "Админка НВД Консалтинг",
|
||||||
|
tasks_in_progress: 5,
|
||||||
|
month_hours: 140,
|
||||||
|
id: 3
|
||||||
|
},
|
||||||
|
])
|
||||||
return (
|
return (
|
||||||
<div className="personalInfo">
|
<div className="partnerCategories">
|
||||||
<ProfileHeader />
|
<ProfileHeader />
|
||||||
<div className="container">
|
<div className="container">
|
||||||
<ProfileBreadcrumbs links={[
|
<ProfileBreadcrumbs links={[
|
||||||
{name: 'Главная', link: '/profile'},
|
{name: 'Главная', link: '/profile'},
|
||||||
{name: 'Данные моего персонала', link: '/profile/employees'},
|
{name: 'Данные моего персонала', link: '/profile/categories'},
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
<h2 className="personalInfo__title">Данные персонала</h2>
|
<h2 className="partnerCategories__title">Данные персонала</h2>
|
||||||
<div className="personalInfo__items">
|
<div className="partnerCategories__items">
|
||||||
{personalInfoItems.map((item, index) => {
|
{personalInfoItems.map((item, index) => {
|
||||||
return <Link to={item.link} key={index} className={item.available ? "personalInfo__item item" : "personalInfo__item item item__disable"}>
|
return <Link to={item.link} key={index} className={item.available ? "partnerCategories__item item" : "partnerCategories__item item item__disable"}
|
||||||
|
onClick={() => {
|
||||||
|
dispatch(setPartnerEmployees(mokPersons))
|
||||||
|
}}>
|
||||||
<div className="item__title">
|
<div className="item__title">
|
||||||
<img src={item.img} alt={item.title} />
|
<img src={item.img} alt={item.title} />
|
||||||
<h4>{item.title}</h4>
|
<h4>{item.title}</h4>
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
.personalInfo {
|
.partnerCategories {
|
||||||
background: #F1F1F1;
|
background: #F1F1F1;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
@@ -65,7 +65,7 @@ export const Profile = () => {
|
|||||||
description: '<span>У вас 2 вакансии<br/></span>открытые от лица компании'
|
description: '<span>У вас 2 вакансии<br/></span>открытые от лица компании'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/employees',
|
path: '/categories',
|
||||||
img: summaryIcon,
|
img: summaryIcon,
|
||||||
title: 'Данные персонала',
|
title: 'Данные персонала',
|
||||||
description: 'Наши специалисты <br/><span>уже работающие у вас</span>'
|
description: 'Наши специалисты <br/><span>уже работающие у вас</span>'
|
||||||
|
|||||||
@@ -9,7 +9,8 @@ const initialState = {
|
|||||||
auth: false,
|
auth: false,
|
||||||
positionId: null,
|
positionId: null,
|
||||||
profileInfo: {},
|
profileInfo: {},
|
||||||
reportsDates: ''
|
reportsDates: '',
|
||||||
|
partnerEmployees: []
|
||||||
};
|
};
|
||||||
|
|
||||||
export const outstaffingSlice = createSlice({
|
export const outstaffingSlice = createSlice({
|
||||||
@@ -46,10 +47,13 @@ export const outstaffingSlice = createSlice({
|
|||||||
setReportsDates: (state, action) => {
|
setReportsDates: (state, action) => {
|
||||||
state.reportsDates = action.payload;
|
state.reportsDates = action.payload;
|
||||||
},
|
},
|
||||||
|
setPartnerEmployees: (state, action) => {
|
||||||
|
state.partnerEmployees = action.payload
|
||||||
|
}
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
export const { tags, profiles, selectedItems, auth, currentCandidate, filteredCandidates, setPositionId, setUserInfo, setProfileInfo, setReportsDates } = outstaffingSlice.actions;
|
export const { tags, profiles, selectedItems, auth, currentCandidate, filteredCandidates, setPositionId, setUserInfo, setProfileInfo, setReportsDates, setPartnerEmployees } = outstaffingSlice.actions;
|
||||||
|
|
||||||
export const selectProfiles = (state) => state.outstaffing.profiles;
|
export const selectProfiles = (state) => state.outstaffing.profiles;
|
||||||
export const selectTags = (state) => state.outstaffing.tags;
|
export const selectTags = (state) => state.outstaffing.tags;
|
||||||
@@ -61,5 +65,6 @@ export const getPositionId = (state) => state.outstaffing.positionId;
|
|||||||
export const getProfileInfo = (state) => state.outstaffing.profileInfo;
|
export const getProfileInfo = (state) => state.outstaffing.profileInfo;
|
||||||
export const selectUserInfo = (state) => state.outstaffing.userInfo;
|
export const selectUserInfo = (state) => state.outstaffing.userInfo;
|
||||||
export const getReportsDates = (state) => state.outstaffing.reportsDates;
|
export const getReportsDates = (state) => state.outstaffing.reportsDates;
|
||||||
|
export const getPartnerEmployees = (state) => state.outstaffing.partnerEmployees;
|
||||||
|
|
||||||
export default outstaffingSlice.reducer;
|
export default outstaffingSlice.reducer;
|
||||||
Reference in new issue
Block a user