feat: примечание о сроке уведомления в заявлении на увольнение
Tests / frontend-test (push) Successful in 1m24s
Tests / frontend-test (push) Successful in 1m24s
По аналогии с ежегодным отпуском вверху формы и просмотра увольнения — плашка «Примечание» с текстом от кадров про срок уведомления по ст. 56 ТК РК. На печать не идёт. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -10,7 +10,8 @@ import {
|
|||||||
RequestNumber,
|
RequestNumber,
|
||||||
SubmitActions,
|
SubmitActions,
|
||||||
getDraftDeleteHandler,
|
getDraftDeleteHandler,
|
||||||
useRequestSubmit
|
useRequestSubmit,
|
||||||
|
FormNotice
|
||||||
} from '../../shared/ui';
|
} from '../../shared/ui';
|
||||||
import {
|
import {
|
||||||
composeRemoveRowRule,
|
composeRemoveRowRule,
|
||||||
@@ -44,7 +45,16 @@ import {
|
|||||||
dataListTitle,
|
dataListTitle,
|
||||||
dataListTitleForListId
|
dataListTitleForListId
|
||||||
} from '../../shared/listTitles';
|
} from '../../shared/listTitles';
|
||||||
import { FORM_ID, IFormData, EMPTY_DATA, SetField, IOrganizationRecord, primaryPosition } from './model';
|
import {
|
||||||
|
FORM_ID,
|
||||||
|
IFormData,
|
||||||
|
EMPTY_DATA,
|
||||||
|
SetField,
|
||||||
|
IOrganizationRecord,
|
||||||
|
primaryPosition,
|
||||||
|
NOTICE_TITLE,
|
||||||
|
NOTICE_ITEMS
|
||||||
|
} from './model';
|
||||||
import { saveDismissalRequest, dismissalApprovalService } from './submit';
|
import { saveDismissalRequest, dismissalApprovalService } from './submit';
|
||||||
import { loadDismissalRequest } from './load';
|
import { loadDismissalRequest } from './load';
|
||||||
import { RequestSection } from './sections/RequestSection';
|
import { RequestSection } from './sections/RequestSection';
|
||||||
@@ -374,6 +384,8 @@ const DismissalForm: React.FC<IRequestFormProps> = ({
|
|||||||
)}
|
)}
|
||||||
{submit.error && <Alert variant="err">{submit.error}</Alert>}
|
{submit.error && <Alert variant="err">{submit.error}</Alert>}
|
||||||
|
|
||||||
|
<FormNotice title={NOTICE_TITLE} items={NOTICE_ITEMS} />
|
||||||
|
|
||||||
<FormModeProvider readOnly={readOnly}>
|
<FormModeProvider readOnly={readOnly}>
|
||||||
<RequestSection {...sectionProps} />
|
<RequestSection {...sectionProps} />
|
||||||
</FormModeProvider>
|
</FormModeProvider>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import * as React from 'react';
|
|||||||
import { useState, useEffect, useMemo, useCallback } from 'react';
|
import { useState, useEffect, useMemo, useCallback } from 'react';
|
||||||
import type { WebPartContext } from '@microsoft/sp-webpart-base';
|
import type { WebPartContext } from '@microsoft/sp-webpart-base';
|
||||||
import styles from './DismissalView.module.scss';
|
import styles from './DismissalView.module.scss';
|
||||||
import { Alert, FormCard, InitiatorLine, FormModeProvider, PrintButton } from '../../shared/ui';
|
import { Alert, FormCard, InitiatorLine, FormModeProvider, PrintButton, FormNotice } from '../../shared/ui';
|
||||||
import {
|
import {
|
||||||
ApproverService,
|
ApproverService,
|
||||||
DecisionPanel,
|
DecisionPanel,
|
||||||
@@ -28,7 +28,7 @@ import {
|
|||||||
dataListTitleForListId
|
dataListTitleForListId
|
||||||
} from '../../shared/listTitles';
|
} from '../../shared/listTitles';
|
||||||
import { parseRoute } from '../../shared/routing';
|
import { parseRoute } from '../../shared/routing';
|
||||||
import { FORM_ID, IFormData, EMPTY_DATA, SetField } from './model';
|
import { FORM_ID, IFormData, EMPTY_DATA, SetField, NOTICE_TITLE, NOTICE_ITEMS } from './model';
|
||||||
import { loadDismissalRequest } from './load';
|
import { loadDismissalRequest } from './load';
|
||||||
import { dismissalApprovalService, updateAssetsAcceptor } from './submit';
|
import { dismissalApprovalService, updateAssetsAcceptor } from './submit';
|
||||||
import { loadClearanceRequest } from '../Clearance/load';
|
import { loadClearanceRequest } from '../Clearance/load';
|
||||||
@@ -285,6 +285,7 @@ const DismissalView: React.FC<IDismissalViewProps> = ({ context, itemId, formKey
|
|||||||
}
|
}
|
||||||
headerRight={status ? <StatusBadge status={status} /> : undefined}
|
headerRight={status ? <StatusBadge status={status} /> : undefined}
|
||||||
>
|
>
|
||||||
|
<FormNotice title={NOTICE_TITLE} items={NOTICE_ITEMS} />
|
||||||
<FormModeProvider readOnly>
|
<FormModeProvider readOnly>
|
||||||
<RequestSection {...sectionProps} />
|
<RequestSection {...sectionProps} />
|
||||||
</FormModeProvider>
|
</FormModeProvider>
|
||||||
|
|||||||
@@ -61,6 +61,8 @@ RequestTypeId» в `docs/forms.md`). Тип заведён в админке app
|
|||||||
- **Комментарий** (`Comment`) — необязательный свободный текст. Причины увольнения
|
- **Комментарий** (`Comment`) — необязательный свободный текст. Причины увольнения
|
||||||
отдельного поля нет: в шаблоне формулировка фиксированная («по собственному желанию»).
|
отдельного поля нет: в шаблоне формулировка фиксированная («по собственному желанию»).
|
||||||
- **Заголовок элемента** (`Title`): `Заявление на увольнение — {ФИО} — дд.мм.гггг`.
|
- **Заголовок элемента** (`Title`): `Заявление на увольнение — {ФИО} — дд.мм.гггг`.
|
||||||
|
- **Примечание** (с 10-29, `FormNotice`, тексты `NOTICE_TITLE`/`NOTICE_ITEMS` в `model.ts`) — плашка
|
||||||
|
вверху формы и просмотра про срок уведомления по ст. 56 ТК РК. Текст от HR, дословно; на печать не идёт.
|
||||||
|
|
||||||
## Совместители: организации таблицей, удаление синхронизировано с маршрутом
|
## Совместители: организации таблицей, удаление синхронизировано с маршрутом
|
||||||
Сотрудник может числиться сразу в НЕСКОЛЬКИХ компаниях (совместительство).
|
Сотрудник может числиться сразу в НЕСКОЛЬКИХ компаниях (совместительство).
|
||||||
|
|||||||
@@ -149,3 +149,18 @@ export const EMPTY_DATA: IFormData = {
|
|||||||
export const EMPLOYEE_PLACEHOLDER = 'Начните вводить Ф.И.О. сотрудника…';
|
export const EMPLOYEE_PLACEHOLDER = 'Начните вводить Ф.И.О. сотрудника…';
|
||||||
/** Заявление нужно подавать не позднее чем за столько месяцев до последнего рабочего дня. */
|
/** Заявление нужно подавать не позднее чем за столько месяцев до последнего рабочего дня. */
|
||||||
export const MIN_NOTICE_MONTHS = 1;
|
export const MIN_NOTICE_MONTHS = 1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Примечание вверху формы и просмотра (см. shared/ui/FormNotice). Текст — от HR,
|
||||||
|
* дословно. «Не менее чем за один месяц» — это MIN_NOTICE_MONTHS: поменяли срок —
|
||||||
|
* поправьте и текст.
|
||||||
|
*/
|
||||||
|
export const NOTICE_TITLE = 'Примечание';
|
||||||
|
export const NOTICE_ITEMS: string[] = [
|
||||||
|
'Срок уведомления. Согласно п. 1 ст. 56 Трудового кодекса РК, работник вправе по своей инициативе ' +
|
||||||
|
'расторгнуть трудовой договор, уведомив работодателя письменно не менее чем за один месяц, за исключением ' +
|
||||||
|
'случаев, предусмотренных п. 3 этой статьи. Если трудовым договором установлен более длительный срок ' +
|
||||||
|
'уведомления, применяется срок из трудового договора.',
|
||||||
|
'Увольнение до истечения срока уведомления. Дата увольнения раньше чем через месяц с даты подачи заявления ' +
|
||||||
|
'возможна только по согласованию с работодателем, либо в случаях, предусмотренных п. 3 ст. 56 ТК РК.'
|
||||||
|
];
|
||||||
|
|||||||
Reference in New Issue
Block a user