feat: отметка «Сдельная оплата труда» в заявке на приём
Tests / frontend-test (push) Successful in 1m25s
Tests / frontend-test (push) Successful in 1m25s
Пункт 4.5 в «Условиях оплаты и оформления» — информационная отметка, на обязательность окладов не влияет. Та же колонка сайта PieceworkPay (Boolean), что в заявке на подбор, и оттуда же подставляется при связи с подбором (поле 1.1 и «Оформить приём по этой заявке»). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -63,6 +63,7 @@ export async function loadHireRequest(itemId: number, listId?: string): Promise<
|
|||||||
'RecruitingAgency',
|
'RecruitingAgency',
|
||||||
'HireOnArrival',
|
'HireOnArrival',
|
||||||
'HireSecurityApproved',
|
'HireSecurityApproved',
|
||||||
|
'PieceworkPay',
|
||||||
'HireApproverNoteImportant',
|
'HireApproverNoteImportant',
|
||||||
APPROVER_CHANGES_FIELD,
|
APPROVER_CHANGES_FIELD,
|
||||||
'RequestStatus',
|
'RequestStatus',
|
||||||
@@ -81,6 +82,7 @@ export async function loadHireRequest(itemId: number, listId?: string): Promise<
|
|||||||
(data as unknown as Record<string, unknown>).RecruitingAgency = !!item.RecruitingAgency;
|
(data as unknown as Record<string, unknown>).RecruitingAgency = !!item.RecruitingAgency;
|
||||||
(data as unknown as Record<string, unknown>).HireOnArrival = !!item.HireOnArrival;
|
(data as unknown as Record<string, unknown>).HireOnArrival = !!item.HireOnArrival;
|
||||||
data.HireSecurityApproved = !!item.HireSecurityApproved;
|
data.HireSecurityApproved = !!item.HireSecurityApproved;
|
||||||
|
data.PieceworkPay = !!item.PieceworkPay;
|
||||||
data.HireApproverNoteImportant = !!item.HireApproverNoteImportant;
|
data.HireApproverNoteImportant = !!item.HireApproverNoteImportant;
|
||||||
|
|
||||||
SCALAR_FIELDS.forEach((key) => {
|
SCALAR_FIELDS.forEach((key) => {
|
||||||
|
|||||||
@@ -75,6 +75,12 @@ export interface IFormData {
|
|||||||
SalaryAfterProbation: string;
|
SalaryAfterProbation: string;
|
||||||
WorkSchedule: string;
|
WorkSchedule: string;
|
||||||
WorkScheduleOther: string;
|
WorkScheduleOther: string;
|
||||||
|
/**
|
||||||
|
* Сдельная оплата труда — информационная отметка, на обязательность окладов не
|
||||||
|
* влияет. Та же колонка сайта PieceworkPay (Boolean), что в заявке на подбор:
|
||||||
|
* оттуда и подставляется (см. selectionPrefill).
|
||||||
|
*/
|
||||||
|
PieceworkPay: boolean;
|
||||||
// Рекрутинговое агентство (условный блок): при включённом флаге — название + условия.
|
// Рекрутинговое агентство (условный блок): при включённом флаге — название + условия.
|
||||||
RecruitingAgency: boolean;
|
RecruitingAgency: boolean;
|
||||||
AgencyName: string;
|
AgencyName: string;
|
||||||
@@ -126,6 +132,7 @@ export const EMPTY_DATA: IFormData = {
|
|||||||
SalaryAfterProbation: '',
|
SalaryAfterProbation: '',
|
||||||
WorkSchedule: '',
|
WorkSchedule: '',
|
||||||
WorkScheduleOther: '',
|
WorkScheduleOther: '',
|
||||||
|
PieceworkPay: false,
|
||||||
RecruitingAgency: false,
|
RecruitingAgency: false,
|
||||||
AgencyName: '',
|
AgencyName: '',
|
||||||
AgencyTerms: '',
|
AgencyTerms: '',
|
||||||
|
|||||||
@@ -41,6 +41,7 @@
|
|||||||
{ "internalName": "SalaryAfterProbation", "title": "Оклад по завершении ИС", "type": "Number", "decimals": 2 },
|
{ "internalName": "SalaryAfterProbation", "title": "Оклад по завершении ИС", "type": "Number", "decimals": 2 },
|
||||||
{ "internalName": "WorkSchedule", "title": "График работы", "type": "Text" },
|
{ "internalName": "WorkSchedule", "title": "График работы", "type": "Text" },
|
||||||
{ "internalName": "WorkScheduleOther", "title": "График работы (другое)", "type": "Text" },
|
{ "internalName": "WorkScheduleOther", "title": "График работы (другое)", "type": "Text" },
|
||||||
|
{ "internalName": "PieceworkPay", "title": "Сдельная оплата труда", "type": "Boolean" },
|
||||||
|
|
||||||
{ "internalName": "RecruitingAgency", "title": "Рекрутинговое агентство", "type": "Boolean" },
|
{ "internalName": "RecruitingAgency", "title": "Рекрутинговое агентство", "type": "Boolean" },
|
||||||
{ "internalName": "AgencyName", "title": "Название компании (агентство)", "type": "Text" },
|
{ "internalName": "AgencyName", "title": "Название компании (агентство)", "type": "Text" },
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import * as React from 'react';
|
import * as React from 'react';
|
||||||
import { CollapseSection, FormField, TextInput, MoneyInput, Select } from '../../../shared/ui';
|
import { CollapseSection, FormField, TextInput, MoneyInput, Select, Toggle } from '../../../shared/ui';
|
||||||
import { ISectionProps, OTHER_VALUE, WORK_SCHEDULE_OPTIONS, PROBATION_PERIOD_OPTIONS } from '../model';
|
import { ISectionProps, OTHER_VALUE, WORK_SCHEDULE_OPTIONS, PROBATION_PERIOD_OPTIONS } from '../model';
|
||||||
|
|
||||||
interface IConditionsSectionProps extends ISectionProps {
|
interface IConditionsSectionProps extends ISectionProps {
|
||||||
@@ -67,5 +67,9 @@ export const ConditionsSection: React.FC<IConditionsSectionProps> = ({ data, set
|
|||||||
/>
|
/>
|
||||||
</FormField>
|
</FormField>
|
||||||
)}
|
)}
|
||||||
|
{/* Просто отметка: обязательность окладов (4.2, 4.3) от неё не зависит. */}
|
||||||
|
<FormField label="4.5 Сдельная оплата труда" fieldKey="PieceworkPay">
|
||||||
|
<Toggle checked={data.PieceworkPay} onChange={(v) => set('PieceworkPay', v)} onLabel="Да" />
|
||||||
|
</FormField>
|
||||||
</CollapseSection>
|
</CollapseSection>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ export function selectionPrefill(link: ISelectionLink, selection: ISelectionData
|
|||||||
ProbationPeriodOther: selection.SelectionProbationPeriodOther,
|
ProbationPeriodOther: selection.SelectionProbationPeriodOther,
|
||||||
SalaryProbation: selection.RateProbation,
|
SalaryProbation: selection.RateProbation,
|
||||||
SalaryAfterProbation: selection.RateAfterProbation,
|
SalaryAfterProbation: selection.RateAfterProbation,
|
||||||
|
PieceworkPay: selection.PieceworkPay,
|
||||||
};
|
};
|
||||||
|
|
||||||
// Тип приёма однозначен, только если в подборе ОДНА причина; ФИО «взамен
|
// Тип приёма однозначен, только если в подборе ОДНА причина; ФИО «взамен
|
||||||
|
|||||||
Reference in New Issue
Block a user