fix: переименования полей в заявках на подбор и прием,
Tests / frontend-test (push) Successful in 1m18s
Tests / frontend-test (push) Successful in 1m18s
This commit is contained in:
@@ -18,7 +18,7 @@ function parseJsonArray<T>(raw: unknown): T[] {
|
||||
const SCALAR_FIELDS: (keyof IFormData)[] = [
|
||||
'Phone', 'HireType', 'HireReplacedEmployee', 'Project', 'ProjectId', 'ProjectCode',
|
||||
'HireCandidateName', 'HireHireDate', 'Position', 'WorkKind',
|
||||
'Department', 'DepartmentId', 'SiteLocation', 'PpeHeight', 'PpeClothingSize', 'PpeShoeSize', 'ProbationPeriod',
|
||||
'Department', 'SiteLocation', 'PpeHeight', 'PpeClothingSize', 'PpeShoeSize', 'ProbationPeriod',
|
||||
'SalaryProbation', 'SalaryAfterProbation', 'WorkSchedule', 'WorkScheduleOther',
|
||||
'AgencyName', 'AgencyTerms',
|
||||
'SelectionRequestId', 'SelectionRequestListId', 'SelectionRequestCode'
|
||||
|
||||
@@ -43,16 +43,8 @@ export interface IFormData {
|
||||
HireHireDate: string;
|
||||
Position: string;
|
||||
WorkKind: string;
|
||||
/**
|
||||
* Подразделение по справочнику (Dictionary/Departments, см.
|
||||
* shared/dictionary/DepartmentPicker) — как в WorkplaceSetup/RecruitingSelection:
|
||||
* ручной выбор, чисто информационное, на маршрут согласования НЕ влияет.
|
||||
* Заменило прежнее свободнотекстовое поле «Отдел / участок» (колонка SiteName
|
||||
* в SP осталась в схеме нетронутой — просто больше не используется формой).
|
||||
*/
|
||||
/** Отдел/Участок — свободный текст, чисто информационное, на маршрут согласования не влияет. */
|
||||
Department: string;
|
||||
/** Id отдела из справочника; '' — если введён вручную без выбора из списка. */
|
||||
DepartmentId: string;
|
||||
SiteLocation: string;
|
||||
// СИЗ
|
||||
PpeHeight: string;
|
||||
@@ -96,7 +88,6 @@ export const EMPTY_DATA: IFormData = {
|
||||
Position: '',
|
||||
WorkKind: '',
|
||||
Department: '',
|
||||
DepartmentId: '',
|
||||
SiteLocation: '',
|
||||
PpeHeight: '',
|
||||
PpeClothingSize: '',
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
import * as React from 'react';
|
||||
import { CollapseSection, FormField, TextInput } from '../../../shared/ui';
|
||||
import { DepartmentPicker } from '../../../shared/dictionary';
|
||||
import { ISectionProps } from '../model';
|
||||
|
||||
export const CandidateSection: React.FC<ISectionProps> = ({ data, set, context }) => (
|
||||
export const CandidateSection: React.FC<ISectionProps> = ({ data, set }) => (
|
||||
<CollapseSection title="Кандидат" icon="people">
|
||||
<FormField label="Ф.И.О. кандидата" htmlFor="HireCandidateName" required full>
|
||||
<TextInput id="HireCandidateName" value={data.HireCandidateName} onChange={(v) => set('HireCandidateName', v)} />
|
||||
@@ -17,16 +16,8 @@ export const CandidateSection: React.FC<ISectionProps> = ({ data, set, context }
|
||||
<FormField label="Вид работ" htmlFor="WorkKind">
|
||||
<TextInput id="WorkKind" value={data.WorkKind} onChange={(v) => set('WorkKind', v)} />
|
||||
</FormField>
|
||||
<FormField label="Подразделение" htmlFor="Department">
|
||||
<DepartmentPicker
|
||||
id="Department"
|
||||
context={context}
|
||||
value={data.Department}
|
||||
onChange={(name, id) => {
|
||||
set('Department', name);
|
||||
set('DepartmentId', id);
|
||||
}}
|
||||
/>
|
||||
<FormField label="Отдел/Участок" htmlFor="Department">
|
||||
<TextInput id="Department" value={data.Department} onChange={(v) => set('Department', v)} />
|
||||
</FormField>
|
||||
<FormField label="Местоположение" htmlFor="SiteLocation">
|
||||
<TextInput id="SiteLocation" value={data.SiteLocation} onChange={(v) => set('SiteLocation', v)} />
|
||||
|
||||
+72
-26
@@ -1,46 +1,84 @@
|
||||
import * as React from 'react';
|
||||
import { CollapseSection, FormField, TextInput, TextArea, MoneyInput, Toggle, Select, PeopleField, PeopleFieldMulti } from '../../../shared/ui';
|
||||
import { MultiChoiceField } from './MultiChoiceField';
|
||||
import * as React from "react";
|
||||
import {
|
||||
CollapseSection,
|
||||
FormField,
|
||||
TextInput,
|
||||
TextArea,
|
||||
MoneyInput,
|
||||
Toggle,
|
||||
Select,
|
||||
PeopleField,
|
||||
PeopleFieldMulti,
|
||||
} from "../../../shared/ui";
|
||||
import { MultiChoiceField } from "./MultiChoiceField";
|
||||
import {
|
||||
ISectionProps,
|
||||
PERSON_PLACEHOLDER,
|
||||
OTHER_VALUE,
|
||||
WORK_SCHEDULE_OPTIONS,
|
||||
WORK_HOURS_OPTIONS,
|
||||
WORKPLACE_PROVISION_OPTIONS
|
||||
} from '../model';
|
||||
WORKPLACE_PROVISION_OPTIONS,
|
||||
} from "../model";
|
||||
|
||||
export const ConditionsSection: React.FC<ISectionProps> = ({ data, set, context }) => (
|
||||
export const ConditionsSection: React.FC<ISectionProps> = ({
|
||||
data,
|
||||
set,
|
||||
context,
|
||||
}) => (
|
||||
<CollapseSection title="5. Условия работы" icon="chart">
|
||||
<FormField label="5.1 Ставка на ИС" htmlFor="RateProbation">
|
||||
<MoneyInput id="RateProbation" value={data.RateProbation} onChange={(v) => set('RateProbation', v)} />
|
||||
<MoneyInput
|
||||
id="RateProbation"
|
||||
value={data.RateProbation}
|
||||
onChange={(v) => set("RateProbation", v)}
|
||||
/>
|
||||
</FormField>
|
||||
<FormField label="5.2 Ставка после ИС" htmlFor="RateAfterProbation">
|
||||
<MoneyInput
|
||||
id="RateAfterProbation"
|
||||
value={data.RateAfterProbation}
|
||||
onChange={(v) => set('RateAfterProbation', v)}
|
||||
onChange={(v) => set("RateAfterProbation", v)}
|
||||
/>
|
||||
</FormField>
|
||||
<FormField label="5.3 Премии" htmlFor="Awards" full>
|
||||
<TextArea id="Awards" value={data.Awards} onChange={(v) => set('Awards', v)} />
|
||||
<TextArea
|
||||
id="Awards"
|
||||
value={data.Awards}
|
||||
onChange={(v) => set("Awards", v)}
|
||||
/>
|
||||
</FormField>
|
||||
<FormField label="5.4 Бонусы" htmlFor="Bonuses" full>
|
||||
<TextArea id="Bonuses" value={data.Bonuses} onChange={(v) => set('Bonuses', v)} />
|
||||
<TextArea
|
||||
id="Bonuses"
|
||||
value={data.Bonuses}
|
||||
onChange={(v) => set("Bonuses", v)}
|
||||
/>
|
||||
</FormField>
|
||||
<FormField label="5.5 Компенсационный пакет" htmlFor="CompensationPackage" full>
|
||||
<TextArea id="CompensationPackage" value={data.CompensationPackage} onChange={(v) => set('CompensationPackage', v)} />
|
||||
<FormField
|
||||
label="5.5 Компенсационный пакет"
|
||||
htmlFor="CompensationPackage"
|
||||
full
|
||||
>
|
||||
<TextArea
|
||||
id="CompensationPackage"
|
||||
value={data.CompensationPackage}
|
||||
onChange={(v) => set("CompensationPackage", v)}
|
||||
/>
|
||||
</FormField>
|
||||
<FormField label="5.6 Сдельная оплата труда">
|
||||
<Toggle checked={data.PieceworkPay} onChange={(v) => set('PieceworkPay', v)} onLabel="Да" />
|
||||
<Toggle
|
||||
checked={data.PieceworkPay}
|
||||
onChange={(v) => set("PieceworkPay", v)}
|
||||
onLabel="Да"
|
||||
/>
|
||||
</FormField>
|
||||
<FormField label="5.7 Режим работы" htmlFor="WorkSchedule">
|
||||
<FormField label="5.7 График работы" htmlFor="WorkSchedule">
|
||||
<Select
|
||||
id="WorkSchedule"
|
||||
value={data.WorkSchedule}
|
||||
onChange={(v) => {
|
||||
set('WorkSchedule', v);
|
||||
if (v !== OTHER_VALUE) set('WorkScheduleOther', '');
|
||||
set("WorkSchedule", v);
|
||||
if (v !== OTHER_VALUE) set("WorkScheduleOther", "");
|
||||
}}
|
||||
options={WORK_SCHEDULE_OPTIONS}
|
||||
placeholder="— выберите —"
|
||||
@@ -51,7 +89,7 @@ export const ConditionsSection: React.FC<ISectionProps> = ({ data, set, context
|
||||
<TextInput
|
||||
id="WorkScheduleOther"
|
||||
value={data.WorkScheduleOther}
|
||||
onChange={(v) => set('WorkScheduleOther', v)}
|
||||
onChange={(v) => set("WorkScheduleOther", v)}
|
||||
/>
|
||||
</FormField>
|
||||
)}
|
||||
@@ -60,8 +98,8 @@ export const ConditionsSection: React.FC<ISectionProps> = ({ data, set, context
|
||||
id="WorkHours"
|
||||
value={data.WorkHours}
|
||||
onChange={(v) => {
|
||||
set('WorkHours', v);
|
||||
if (v !== OTHER_VALUE) set('WorkHoursOther', '');
|
||||
set("WorkHours", v);
|
||||
if (v !== OTHER_VALUE) set("WorkHoursOther", "");
|
||||
}}
|
||||
options={WORK_HOURS_OPTIONS}
|
||||
placeholder="— выберите —"
|
||||
@@ -69,33 +107,41 @@ export const ConditionsSection: React.FC<ISectionProps> = ({ data, set, context
|
||||
</FormField>
|
||||
{data.WorkHours === OTHER_VALUE && (
|
||||
<FormField label="Время работы (другое)" htmlFor="WorkHoursOther">
|
||||
<TextInput id="WorkHoursOther" value={data.WorkHoursOther} onChange={(v) => set('WorkHoursOther', v)} />
|
||||
<TextInput
|
||||
id="WorkHoursOther"
|
||||
value={data.WorkHoursOther}
|
||||
onChange={(v) => set("WorkHoursOther", v)}
|
||||
/>
|
||||
</FormField>
|
||||
)}
|
||||
<FormField label="5.9 Материальная ответственность">
|
||||
<Toggle
|
||||
checked={data.MaterialResponsibility}
|
||||
onChange={(v) => set('MaterialResponsibility', v)}
|
||||
onChange={(v) => set("MaterialResponsibility", v)}
|
||||
onLabel="Да"
|
||||
/>
|
||||
</FormField>
|
||||
<FormField label="5.10 Обеспечение рабочего места" full>
|
||||
<MultiChoiceField
|
||||
value={data.WorkplaceProvision}
|
||||
onChange={(v) => set('WorkplaceProvision', v)}
|
||||
onChange={(v) => set("WorkplaceProvision", v)}
|
||||
options={WORKPLACE_PROVISION_OPTIONS}
|
||||
allowOther
|
||||
placeholder="Выберите категорию"
|
||||
/>
|
||||
</FormField>
|
||||
<FormField label="5.11 Реферальная программа">
|
||||
<Toggle checked={data.ReferralProgram} onChange={(v) => set('ReferralProgram', v)} onLabel="Да" />
|
||||
<Toggle
|
||||
checked={data.ReferralProgram}
|
||||
onChange={(v) => set("ReferralProgram", v)}
|
||||
onLabel="Да"
|
||||
/>
|
||||
</FormField>
|
||||
<FormField label="5.12 Предполагаемый наставник">
|
||||
<PeopleField
|
||||
context={context}
|
||||
value={data.ProposedMentor}
|
||||
onChange={(v) => set('ProposedMentor', v)}
|
||||
onChange={(v) => set("ProposedMentor", v)}
|
||||
placeholder={PERSON_PLACEHOLDER}
|
||||
/>
|
||||
</FormField>
|
||||
@@ -103,7 +149,7 @@ export const ConditionsSection: React.FC<ISectionProps> = ({ data, set, context
|
||||
<PeopleField
|
||||
context={context}
|
||||
value={data.DirectManager}
|
||||
onChange={(v) => set('DirectManager', v)}
|
||||
onChange={(v) => set("DirectManager", v)}
|
||||
placeholder={PERSON_PLACEHOLDER}
|
||||
/>
|
||||
</FormField>
|
||||
@@ -111,7 +157,7 @@ export const ConditionsSection: React.FC<ISectionProps> = ({ data, set, context
|
||||
<PeopleFieldMulti
|
||||
context={context}
|
||||
value={data.HiringDecisionMaker}
|
||||
onChange={(v) => set('HiringDecisionMaker', v)}
|
||||
onChange={(v) => set("HiringDecisionMaker", v)}
|
||||
placeholder={PERSON_PLACEHOLDER}
|
||||
/>
|
||||
</FormField>
|
||||
|
||||
Reference in New Issue
Block a user