debag-conflict
This commit is contained in:
2024-02-09 18:27:43 +03:00
34 changed files with 371 additions and 287 deletions

View File

@@ -39,7 +39,7 @@ export const PartnerCategories = () => {
setLoader(true);
apiRequest("/project/my-employee").then((el) => {
setLoader(false);
setStaff(el.managerEmployees);
setStaff(el?.managerEmployees);
});
}, []);
@@ -161,16 +161,22 @@ export const PartnerCategories = () => {
<Loader style={"green"} height={80} width={80} />
) : (
<div className="partner-categories__items">
{staff.map((card) => {
return (
<PartnerPersonCard
key={card.id}
name={card.employee.fio}
img={card.employee.avatar}
userId={card.user_id}
/>
);
})}
{Boolean(staff) ? (
staff.map((card) => {
return (
<PartnerPersonCard
key={card.id}
name={card.employee.fio}
img={card.employee.avatar}
userId={card.user_id}
/>
);
})
) : (
<span className="partnerCategories__empty">
У вас нет нанятого персонала
</span>
)}
{/*{personalInfoItems.map((item, index) => {*/}
{/* return (*/}
{/* <Link*/}

View File

@@ -20,6 +20,11 @@
//row-gap: 24px;
//column-gap: 21px;
}
&__empty {
font-size: 18px;
font-weight: 500;
margin-top: 20px;
}
.item {
display: flex;

View File

@@ -70,7 +70,7 @@ export const ProfileCandidate = () => {
<div className="profile-candidate__instructions instructions-candidate">
<div className="instructions-candidate__container">
<div className="instructions-candidate___row">
<div className="instructions-candidate__title">Интсрукция:</div>
<div className="instructions-candidate__title">Инструкция:</div>
<div className="instructions-candidate__note">
<img
className="instructions-candidate__icon"
@@ -93,7 +93,7 @@ export const ProfileCandidate = () => {
alt=""
/>
<div className="instructions-candidate__text">
Тесты itguild предназначены для того, чтобы подтверждать
Тесты ITguild предназначены для того, чтобы подтверждать
навыки, которые вы указали у себя.
</div>
</div>

View File

@@ -43,6 +43,7 @@ import TrackerSelectColumn from "@components/TrackerSelectColumn/TrackerSelectCo
import arrow from "assets/icons/arrows/arrowCalendar.png";
import arrowDown from "assets/icons/arrows/selectArrow.png";
import calendarIcon from "assets/icons/calendar.svg";
import close from "assets/icons/close.png";
import commentsBoard from "assets/icons/commentsBoard.svg";
import del from "assets/icons/delete.svg";
@@ -528,7 +529,9 @@ export const ProjectTracker = () => {
</div>
)}
{projectBoard.projectUsers?.length > 3 && (
<span className="count-persons">+1</span>
<span className="count-persons">
+{projectBoard.projectUsers?.length - 3}
</span>
)}
<span
className="add-person"
@@ -897,21 +900,18 @@ export const ProjectTracker = () => {
className="tasks__board__item__description"
></p>
<div className="tasks__board__item__executor">
<img
src={
task.executor?.avatar
? urlForLocal(task.executor?.avatar)
: avatarMok
}
alt="avatar"
/>
<span>
{task.executor?.fio
? task.executor?.fio
: "Исполнитель не назначен"}
{task.executor?.fio ||
"Исполнитель не назначен"}
</span>
{task.executor?.avatar && (
<img
src={
task.executor?.avatar
? urlForLocal(task.executor?.avatar)
: avatarMok
}
alt="avatar"
/>
)}
</div>
{Boolean(task.mark.length) && (
<div className="tasks__board__item__tags">
@@ -943,7 +943,7 @@ export const ProjectTracker = () => {
)}
{task.dead_line && (
<div className="tasks__board__item__dead-line">
<p>Срок исполнения:</p>
<img src={calendarIcon} alt="calendar" />
<span>
{getCorrectDate(task.dead_line)}
</span>
@@ -1001,7 +1001,9 @@ export const ProjectTracker = () => {
</div>
{acceptModalOpen && (
<AcceptModal
title={"В колонке ещё есть задачи, Вы точно хотите удалить её ?"}
title={
"В колонке ещё есть задачи, Вы действительно хотите удалить её ?"
}
closeModal={closeAcceptModal}
agreeHandler={() => deleteColumn(currentColumnDelete)}
/>

View File

@@ -10,7 +10,6 @@ import { Footer } from "@components/Common/Footer/Footer";
import { Navigation } from "@components/Navigation/Navigation";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
// import { HeadBottom } from "@components/features/Candidate-lk/HeadBottom";
import { BlockCompletedTest } from "@components/features/quiz/BlockCompletedTest";
import { CardIntroduction } from "@components/features/quiz/Card-introduction";
import { QuizPassingInformation } from "@components/features/quiz/Quiz-passing-information";
@@ -43,12 +42,12 @@ export const PassingTests = () => {
{
title: "Зачем?",
description:
"Тесты itguild предназначены для того, чтобы подтверждать навыки, которые вы указали у себя."
"Тесты ITguild предназначены для того, чтобы подтверждать навыки, которые вы указали у себя."
},
{
title: "Почему именно тестирование?",
description:
"Тесты itguild заменяют первое техническое собеседование по любой вакансии."
"Тесты ITguild заменяют первое техническое собеседование по любой вакансии."
},
{
title: "Какие тесты нужно проходить?",
@@ -138,11 +137,6 @@ export const PassingTests = () => {
)}
</div>
<Footer />
{/*<Prompt*/}
{/* when={showPrompt}*/}
{/* message="Unsaved changes detected, continue?"*/}
{/* beforeUnload={true}*/}
{/*/>*/}
</div>
);
};

View File

@@ -20,12 +20,12 @@
&__block {
background: #e1fccf;
border-radius: 12px 12px 0px 0px;
border-radius: 12px;
font-weight: 400;
font-size: 18px;
font-size: 23px;
line-height: 178%;
color: #000000;
padding: 20px 51px;
padding: 20px;
margin: 0 0 16px 0;
}

View File

@@ -191,7 +191,7 @@ const Statistics = () => {
</div>
<div className="add-person">
<span className="add-person__button">+</span>
<p>Добавить участников</p>
<p>Добавить участника</p>
</div>
</div>
</div>

View File

@@ -33,7 +33,7 @@ import project from "assets/icons/trackerProject.svg";
import tasks from "assets/icons/trackerTasks.svg";
import archive from "assets/images/archiveIcon.png";
import mockAvatar from "assets/images/avatarMok.png";
import downloadExel from "assets/images/downloadExel.svg";
import downloadExcel from "assets/images/downloadExcel.svg";
import noProjects from "assets/images/noProjects.png";
import statusTimeTask from "assets/images/statusTimeTask.svg";
@@ -305,8 +305,8 @@ export const Tracker = () => {
<p>Сверка пройдена</p>
</div>
<div>
<img src={downloadExel} alt="#" />
<p>Скачать Exel отчет</p>
<img src={downloadExcel} alt="#" />
<p>Скачать Excel-отчет</p>
</div>
</div>
</div>

View File

@@ -43,7 +43,7 @@
max-width: 1160px;
width: 100%;
background: #e1fccf;
border-radius: 12px;
border-radius: 12px 12px 0 0;
margin: 0 auto;
position: relative;
height: 60px;
@@ -124,8 +124,7 @@
&__content {
width: 100%;
background: #ffffff;
padding: 30px 0;
margin-bottom: 10px;
padding: 20px 0;
&__wrapper {
max-width: 1160px;
@@ -354,7 +353,7 @@
border: 1px solid #e3e2e2;
padding: 2px 6px;
position: relative;
max-width: 220px;
max-width: 190px;
width: 100%;
@media (max-width: 915px) {
@@ -830,9 +829,7 @@
max-height: 100px;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
span {
@@ -868,6 +865,7 @@
column-gap: 10px;
align-items: center;
pointer-events: none;
margin-top: 5px;
&__more {
cursor: pointer;
@@ -898,7 +896,7 @@
display: flex;
align-items: center;
column-gap: 5px;
margin-bottom: 8px;
margin-top: 3px;
p {
font-weight: 500;
@@ -927,7 +925,6 @@
display: flex;
align-items: center;
column-gap: 5px;
margin-bottom: 8px;
p {
font-weight: 500;
@@ -939,12 +936,16 @@
font-weight: 500;
font-size: 14px;
}
img {
margin-top: -2px;
width: 18px;
}
}
&__executor {
display: flex;
align-items: center;
margin-top: 2px;
font-size: 14px;
font-weight: 500;
column-gap: 5px;
@@ -967,7 +968,7 @@
flex-wrap: wrap;
column-gap: 6px;
row-gap: 3px;
margin: 5px 0 8px;
margin: 3px 0;
.tag-item {
padding: 3px 10px;

View File

@@ -1,6 +1,9 @@
import React, { useEffect, useState } from "react";
import { useDispatch } from "react-redux";
import { Link, useParams } from "react-router-dom";
import { setEditReport } from "@redux/reportSlice";
import { apiRequest } from "@api/request";
import {
@@ -20,6 +23,7 @@ import arrow from "assets/icons/arrows/left-arrow.png";
import "./viewReport.scss";
export const ViewReport = () => {
const dispatch = useDispatch();
const params = useParams();
const [previousReportDay] = useState(new Date(params.date));
const [nextReportDay] = useState(new Date(params.date));
@@ -32,6 +36,7 @@ export const ViewReport = () => {
const [currentDay] = useState(new Date());
const [loader, setLoader] = useState(false);
const [deleteLoader, setDeleteLoader] = useState(false);
const [reportInfo, setReportInfo] = useState({});
function getReportFromDate(day) {
setLoader(true);
@@ -41,6 +46,7 @@ export const ViewReport = () => {
apiRequest(`reports/find-by-date?user_id=${params.id}&date=${day}`).then(
(res) => {
let spendTime = 0;
setReportInfo(res[0]);
setTaskId(res[0]?.id);
for (const item of res) {
if (item.difficulties) {
@@ -127,7 +133,17 @@ export const ViewReport = () => {
</Link>
{localStorage.getItem("role_status") !== "18" && (
<div className="view-report__bar">
<button className="view-report__bar__edit">Редактировать</button>
<Link
to="/profile/calendar/report"
onClick={() => dispatch(setEditReport(reportInfo))}
className={
taskText.length
? "view-report__bar__edit"
: "view-report__bar__edit disable"
}
>
Редактировать
</Link>
{deleteLoader ? (
<Loader style={"green"} />
) : (

View File

@@ -73,9 +73,18 @@
}
&__edit {
color: #000000;
font-size: 15px;
font-weight: 500;
line-height: 32px;
padding: 8px 24px;
background: #e1fccf;
border-radius: 44px;
border: none;
&:hover {
color: #000000;
}
}
&__delete {