fix: дата подачи — день отправки, а не сохранения черновика
В подборе и реферале черновик хранил дату первого сохранения, и через несколько дней заявка уходила на согласование со старой датой подачи. Теперь при отправке дата подачи всегда сегодняшняя, а открытый черновик сразу показывает сегодня (как уже было в объяснительной по СКУД). В реферале дату больше нельзя поправить руками. Общая логика — shared/submitDate. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -59,6 +59,7 @@ import { VacancySection } from './sections/VacancySection';
|
||||
import { CandidateInfoSection } from './sections/CandidateInfoSection';
|
||||
import { AssessmentSection } from './sections/AssessmentSection';
|
||||
import { useStableCallback } from '../../shared/useStableCallback';
|
||||
import { submitDateOnOpen } from '../../shared/submitDate';
|
||||
|
||||
const ReferralForm: React.FC<IRequestFormProps> = ({
|
||||
requestType,
|
||||
@@ -111,7 +112,7 @@ const ReferralForm: React.FC<IRequestFormProps> = ({
|
||||
Promise.all([loadReferralRequest(editId, editListId), getAttachments(editListId || dataListTitle(FORM_ID), editId)])
|
||||
.then(([loaded, atts]) => {
|
||||
if (alive) {
|
||||
setData(loaded.data);
|
||||
setData({ ...loaded.data, SubmitDate: submitDateOnOpen(loaded.status, loaded.data.SubmitDate) });
|
||||
setRequestStatus(loaded.status);
|
||||
setRequestCode(loaded.code || undefined);
|
||||
if (loaded.code) notifyCode(loaded.code);
|
||||
@@ -141,7 +142,7 @@ const ReferralForm: React.FC<IRequestFormProps> = ({
|
||||
setData((prev) => ({
|
||||
...prev,
|
||||
Referrer: prev.Referrer || user.email,
|
||||
SubmitDate: prev.SubmitDate || todayIso()
|
||||
SubmitDate: todayIso()
|
||||
}));
|
||||
approval
|
||||
.getProfileFields(user.loginName)
|
||||
|
||||
@@ -5,8 +5,9 @@ import { ISectionProps, REFERRER_PLACEHOLDER } from '../model';
|
||||
/** Секция 1: кто рекомендует — дата подачи, сам рекомендатель и его контакты. */
|
||||
export const ReferrerSection: React.FC<ISectionProps> = ({ data, set, context, onReferrerChange, printOrgIndex }) => (
|
||||
<CollapseSection title="1. Рекомендатель" icon="people">
|
||||
{/* Дата подачи — всегда сегодняшняя (ставит форма, при отправке — заново), руками не меняется. */}
|
||||
<FormField label="1.1 Дата подачи" htmlFor="SubmitDate" required>
|
||||
<TextInput id="SubmitDate" type="date" value={data.SubmitDate} onChange={(v) => set('SubmitDate', v)} />
|
||||
<TextInput id="SubmitDate" type="date" value={data.SubmitDate} onChange={(v) => set('SubmitDate', v)} readOnly />
|
||||
</FormField>
|
||||
<FormField label="1.2 Ф.И.О. рекомендателя" htmlFor="Referrer" required full>
|
||||
<PeopleField
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { ApprovalListService, IApproverToWrite, approvalServiceFor, writeRoute } from '../../shared/approval';
|
||||
import { ISaveItemResult, saveRequestItem } from '../../shared/dataList';
|
||||
import { ensureEmployee } from '../../shared/employee';
|
||||
import { submitDateOnSave } from '../../shared/submitDate';
|
||||
import { FORM_ID, IFormData, OTHER_VALUE } from './model';
|
||||
|
||||
/**
|
||||
@@ -28,7 +29,7 @@ function buildItem(data: IFormData, status: string, referrerId: number): Record<
|
||||
return {
|
||||
Title: buildTitle(data.CandidateName, data.VacancyTitle),
|
||||
RequestStatus: status,
|
||||
SubmitDate: data.SubmitDate || null,
|
||||
SubmitDate: submitDateOnSave(status, data.SubmitDate) || null,
|
||||
ReferrerId: referrerId,
|
||||
ReferrerPosition: data.ReferrerPosition || null,
|
||||
ReferrerDepartment: data.ReferrerDepartment || null,
|
||||
|
||||
Reference in New Issue
Block a user