diff --git a/src/pages/PartnerAddRequest/PartnerAddRequest.jsx b/src/pages/PartnerAddRequest/PartnerAddRequest.jsx
index dbc2bdae..14199b95 100644
--- a/src/pages/PartnerAddRequest/PartnerAddRequest.jsx
+++ b/src/pages/PartnerAddRequest/PartnerAddRequest.jsx
@@ -34,17 +34,20 @@ export const PartnerAddRequest = () => {
const [specializationList, setSpecializationList] = useState([]);
const [levelList, setLevelList] = useState([]);
const [countList] = useState([1, 2, 3, 4, 5]);
+ const [locationList] = useState(['РФ', 'Беларусь']);
const [openSkillsSelect, setOpenSkillsSelect] = useState(false);
const [openSpecializationList, setOpenSpecializationListOpen] =
useState(false);
const [openLevelList, setOpenLevelList] = useState(false);
const [openCountList, setOpenCountList] = useState(false);
+ const [openLocationList, setOpenLocationList] = useState(false);
const [editRequest, setEditRequest] = useState(false);
const [selectedSkills, setSelectedSkills] = useState([]);
const [selectedSpecialization, setSelectedSpecialization] = useState(
"Выберите специализацию"
);
const [selectedLevel, setSelectedLevel] = useState("Выберите уровень");
+ const [selectedLocation, setSelectedLocation] = useState("Выберите локацию");
const [selectedCount, setSelectedCount] = useState(
"Выберите кол-во сотрудников"
);
@@ -177,6 +180,7 @@ export const PartnerAddRequest = () => {
setOpenSpecializationListOpen(false);
setOpenLevelList(false);
setOpenCountList(false);
+ setOpenLocationList(false);
}
};
@@ -202,280 +206,328 @@ export const PartnerAddRequest = () => {
? "Страница редактирования заявки"
: "Страница добавления заявки"}
-
-
-
-
Данные открытой позиции
-
-
Название вакансии
-
-
- setInputs((prevValue) => ({
- ...prevValue,
- title: e.target.value
- }))
- }
- type="text"
- placeholder="Вакансия"
- />
-
-
-
-
Выберите специализацию
-
{
- setOpenSpecializationListOpen(!openSpecializationList);
- }}
- >
-
-
- {typeof selectedSpecialization === "string"
- ? selectedSpecialization
- : selectedSpecialization.name}
-
-
+
+
+
+
Данные открытой позиции
+
+
Название вакансии
+
+
+ setInputs((prevValue) => ({
+ ...prevValue,
+ title: e.target.value
+ }))
+ }
+ type="text"
+ placeholder="Вакансия"
/>
- {openSpecializationList &&
- Boolean(specializationList.length) && (
-
- {specializationList.map((specialization) => {
+
+
Выберите специализацию
+
{
+ setOpenSpecializationListOpen(!openSpecializationList);
+ }}
+ >
+
+
+ {typeof selectedSpecialization === "string"
+ ? selectedSpecialization
+ : selectedSpecialization.name}
+
+
+
+
+ {openSpecializationList &&
+ Boolean(specializationList.length) && (
+
+ {specializationList.map((specialization) => {
+ return (
+
{
+ setOpenSpecializationListOpen(false);
+ setSelectedSpecialization(specialization);
+ }}
+ >
+ {specialization.name}
+
+ );
+ })}
+
+ )}
+
+
+
Навыки
+
{
+ setOpenSkillsSelect(true);
+ }}
+ >
+ {Boolean(selectedSkills.length) &&
+ selectedSkills.map((skill, index) => {
return (
-
+ {skill.name}
+ {
+ setSkills((prevArray) => [...prevArray, skill]);
+ setFilteredSkills((prevArray) => [
+ ...prevArray,
+ skill
+ ]);
+ setSelectedSkills(
+ selectedSkills.filter((skill, indexSkill) => {
+ return indexSkill !== index;
+ })
+ );
+ }}
+ />
+
+ );
+ })}
+
{
+ setFilteredSkills(
+ skills.filter((skill) => {
+ return skill.name
+ .toLowerCase()
+ .includes(e.target.value.toLowerCase());
+ })
+ );
+ }}
+ />
+
+ {openSkillsSelect && Boolean(filteredSkills.length) && (
+
+ {filteredSkills.map((skill, index) => {
+ return (
+ {
- setOpenSpecializationListOpen(false);
- setSelectedSpecialization(specialization);
+ setSelectedSkills((prevArray) => [
+ ...prevArray,
+ skill
+ ]);
+ setFilteredSkills(
+ filteredSkills.filter((skill, skillIndex) => {
+ return skillIndex !== index;
+ })
+ );
+ setSkills(
+ skills.filter((initSkill) => {
+ return initSkill.id !== skill.id;
+ })
+ );
+ setOpenSkillsSelect(false);
}}
>
- {specialization.name}
+ {skill.name}
+
+ );
+ })}
+
+ )}
+
+
+
+
Квалификация
+
+
Выберите уровень знаний
+
setOpenLevelList(!openLevelList)}
+ >
+
+ {typeof selectedLevel === "string"
+ ? selectedLevel
+ : selectedLevel.name}
+
+
+
+ {openLevelList && Boolean(Object.values(levelList).length) && (
+
+ {Object.values(levelList).map((level, index) => {
+ return (
+
{
+ setOpenLevelList(false);
+ setSelectedLevel({ name: level, id: index + 1 });
+ }}
+ >
+ {level}
);
})}
)}
-
-
-
Навыки
-
{
- setOpenSkillsSelect(true);
- }}
- >
- {Boolean(selectedSkills.length) &&
- selectedSkills.map((skill, index) => {
- return (
-
-
{skill.name}
-
{
- setSkills((prevArray) => [...prevArray, skill]);
- setFilteredSkills((prevArray) => [
- ...prevArray,
- skill
- ]);
- setSelectedSkills(
- selectedSkills.filter((skill, indexSkill) => {
- return indexSkill !== index;
- })
- );
- }}
- />
-
- );
- })}
-
{
- setFilteredSkills(
- skills.filter((skill) => {
- return skill.name
- .toLowerCase()
- .includes(e.target.value.toLowerCase());
- })
- );
- }}
+
+
+
Введите необходимое описание
+
- {openSkillsSelect && Boolean(filteredSkills.length) && (
-
- {filteredSkills.map((skill, index) => {
- return (
-
{
- setSelectedSkills((prevArray) => [
- ...prevArray,
- skill
- ]);
- setFilteredSkills(
- filteredSkills.filter((skill, skillIndex) => {
- return skillIndex !== index;
- })
- );
- setSkills(
- skills.filter((initSkill) => {
- return initSkill.id !== skill.id;
- })
- );
- setOpenSkillsSelect(false);
- }}
- >
- {skill.name}
-
- );
- })}
+
+
Необходимое количество человек на позицию
+
setOpenCountList(true)}
+ >
+
{selectedCount}
+
- )}
+ {openCountList && (
+
+ {countList.map((count) => {
+ return (
+
{
+ setOpenCountList(false);
+ setSelectedCount(count);
+ }}
+ >
+ {count}
+
+ );
+ })}
+
+ )}
+
-
-
Квалификация
-
-
Выберите уровень знаний
-
setOpenLevelList(!openLevelList)}
- >
-
- {typeof selectedLevel === "string"
- ? selectedLevel
- : selectedLevel.name}
-
-
+
+
+
+
+
Процесс:
- {openLevelList && Boolean(Object.values(levelList).length) && (
-
- {Object.values(levelList).map((level, index) => {
- return (
-
{
- setOpenLevelList(false);
- setSelectedLevel({ name: level, id: index + 1 });
- }}
- >
- {level}
-
- );
- })}
-
- )}
+
+ При аутстаффе мы предоставляем вам IT-специалистов при этом они
+ находятся в нашем штате.
+
+
+ Вы сможете прособеседовать наших специалистов, посмотреть
+ проекты и Git.
+
-
-
Введите необходимое описание
-
-
-
Необходимое количество человек на позицию
-
setOpenCountList(true)}
- >
-
{selectedCount}
-
+
+
+
+
Отчетность:
- {openCountList && (
-
- {countList.map((count) => {
- return (
-
{
- setOpenCountList(false);
- setSelectedCount(count);
- }}
- >
- {count}
-
- );
- })}
-
- )}
+
+ Вы можете обратиться к специалисту напрямую.
+
+
+ Каждый день специалисты описывают выполненные работы и
+ затраченные на это часы.
+
+
+ Можем выделить руководителя проекта и тестировщиков.
+
-
-
- Отмена
-
-
handler()}
- className={
- disableBtn()
- ? "form__block__save"
- : "form__block__save disable"
- }
- >
- Сохранить
-
+
+
+
+
+ Обмен
+ документами:
+
+
+
+ В Личном кабинете платформы получайте отчеты выполненных работ и
+ счеты на согласование и оплату
+
-
-
-
-
-
Процесс:
+
+
Основные требования по вакансии
+
+
Локация
+
setOpenLocationList(true)}
+ >
+
{selectedLocation}
+
-
- При аутстаффе мы предоставляем вам IT-специалистов при этом они
- находятся в нашем штате.
-
-
- Вы сможете прособеседовать наших специалистов, посмотреть
- проекты и Git.
-
+ {openLocationList && (
+
+ {locationList.map((location, index) => {
+ return (
+
{
+ setOpenLocationList(false);
+ setSelectedLocation(location);
+ }}
+ >
+ {location}
+
+ );
+ })}
+
+ )}
-
-
-
-
Отчетность:
+
+
Ставка
+
+
-
- Вы можете обратиться к специалисту напрямую.
-
-
- Каждый день специалисты описывают выполненные работы и
- затраченные на это часы.
-
-
- Можем выделить руководителя проекта и тестировщиков.
-
-
-
-
-
- Обмен
- документами:
-
-
+
+
+ Отмена
+
+
handler()}
+ className={
+ disableBtn()
+ ? "form__block__save"
+ : "form__block__save disable"
+ }
+ >
+ Сохранить
+
- В Личном кабинете платформы получайте отчеты выполненных работ и
- счеты на согласование и оплату
+ Нажимая "Сохранить", вы соглашаетесь с Правилами обработки и
+ использования персональных данных
diff --git a/src/pages/PartnerAddRequest/partnerAddRequest.scss b/src/pages/PartnerAddRequest/partnerAddRequest.scss
index e1d7f398..4a56c633 100644
--- a/src/pages/PartnerAddRequest/partnerAddRequest.scss
+++ b/src/pages/PartnerAddRequest/partnerAddRequest.scss
@@ -23,6 +23,31 @@
line-height: 32px;
}
+ &__main {
+ display: flex;
+ flex-direction: column;
+ row-gap: 30px;
+ }
+
+ &__special {
+ background: rgba(255, 255, 255, 1);
+ border-radius: 12px;
+ padding: 41px 45px 35px 55px;
+ display: flex;
+ flex-direction: column;
+
+ h4 {
+ font-weight: 700;
+ color: rgba(91, 104, 113, 1);
+ font-size: 20px;
+ line-height: 24px;
+ }
+
+ .special__select {
+ max-width: 450px;
+ }
+ }
+
&__section {
margin-top: 25px;
display: flex;
@@ -99,6 +124,7 @@
font-size: 15px;
line-height: 18px;
outline: none;
+ width: 100%;
}
}
@@ -164,13 +190,23 @@
&__buttons {
display: flex;
- margin-top: 50px;
button {
max-width: 150px;
width: 100%;
height: 40px;
}
+
+ p {
+ font-weight: 300;
+ font-size: 12px;
+ line-height: 18px;
+ color: rgba(0, 0, 0, 1);
+ margin-left: 50px;
+ max-width: 360px;
+ display: flex;
+ align-items: center;
+ }
}
&__cancel {
@@ -321,7 +357,7 @@
background: #ffffff;
border-radius: 12px;
width: 100%;
- padding: 74px 48px 136px 62px;
+ padding: 74px 48px 67px 62px;
display: flex;
flex-direction: column;
row-gap: 61px;