SUPPORT-9339: Fix

This commit is contained in:
Eduard Tihomirov 2025-09-10 10:12:10 +03:00
parent 583bba3c66
commit fd1cc8c871
3 changed files with 590 additions and 9 deletions

View file

@ -56,10 +56,10 @@ export class ErvuFileUpload extends InputControl {
public isFilesListVisible: boolean = true;
public isProgressBarVisible: boolean = false;
private fileInputEl: HTMLInputElement;
public fileInputEl: HTMLInputElement;
private url: string = '/backend/employee/document';
private messagesService: MessagesService;
private isUploadErrorOccurred = false;
public messagesService: MessagesService;
public isUploadErrorOccurred = false;
private appConfigService: AppConfigService;
public cookieService: CookieService;

View file

@ -4,6 +4,7 @@ import {FileItem} from "ng2-file-upload";
import {EmployeeInfoFileFormType} from "./EmployeeInfoFileFormType";
import {TokenConstants} from "../../../modules/security/TokenConstants";
import {ErvuFileUpload} from "./ErvuFileUpload";
import {FileLikeObject} from "ng2-file-upload/file-upload/file-like-object.class";
@Component({
moduleId: module.id,
@ -54,5 +55,52 @@ export class ErvuFileUploadWithAdditionalFiles extends ErvuFileUpload {
this.isProgressBarVisible = true;
this.cd.markForCheck();
};
this.uploader.onErrorItem = (item: FileItem,
response: string) => {
this.fileUploadFailedEvent.trigger();
this.uploader.cancelAll();
this.messagesService.error(`Не удалось отправить следующие файлы: ${item.file.name},`
+ ` ${this.uploader.getNotUploadedItems()
.map(notUploadeditem => notUploadeditem.file.name)
.join(', ')}.`);
this.uploader.clearQueue();
this.isDropZoneVisible = true;
this.isFilesListVisible = true;
this.isProgressBarVisible = false;
this.isUploadErrorOccurred = true;
this.cd.markForCheck();
};
this.uploader.onCompleteAll = () => {
if (!this.isUploadErrorOccurred) {
this.uploader.clearQueue();
this.fileUploadEndEvent.trigger();
this.isProgressBarVisible = false;
this.cd.markForCheck();
}
};
this.uploader.onAfterAddingFile = (fileItem: FileItem) => {
this.fileAddedEvent.trigger();
}
this.uploader.onWhenAddingFileFailed = (item: FileLikeObject, filter: any, options: any) => {
switch (filter.name) {
case "fileSize":
this.messagesService.error(`Размер файла ${item.name} превышает предельно допустимый = ${this.maxFileSizeMb} MB`);
break;
case "queueLimit":
this.messagesService.error(`Не удалось добавить файл ${item.name}. `
+ `Достигнуто максимальное количество файлов для загрузки = ${this.maxFilesToUpload}`);
break;
case "extension":
this.messagesService.error(`Файл ${item.name} имеет недопустимое расширение.`);
break;
default:
this.messagesService.error(`Не удалось добавить файл ${item.name}.`);
}
this.fileInputEl.value = null;
this.cd.markForCheck();
};
}
}

View file

@ -904,6 +904,12 @@
<childrenReordered>false</childrenReordered>
<scripts id="37dff5c8-1599-4984-b107-c44a87b6da2e">
<properties>
<entry>
<key>elseActions</key>
<value>
<item id="4548b886-ce1c-4241-9377-608c7c225e23" removed="true"/>
</value>
</entry>
<entry>
<key>eventRefs</key>
<value>
@ -1119,13 +1125,24 @@
<entry>
<key>method</key>
<value>
<simple>"reset"</simple>
<simple>"setVisible"</simple>
</value>
</entry>
<entry>
<key>value</key>
<value>
<simple>null</simple>
<complex>
<entry>
<key>staticValue</key>
<value>
<implRef type="TS">
<className>boolean</className>
<packageName></packageName>
</implRef>
<simple>true</simple>
</value>
</entry>
</complex>
</value>
</entry>
</complex>
@ -1194,6 +1211,181 @@
</implRef>
<simple>false</simple>
</value>
</entry>
</complex>
</value>
</entry>
</complex>
</value>
</item>
<item id="55ae89c4-f22d-4e52-bf61-fe53c2a876eb" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"bc8596fe-1e46-4cf9-b306-43498f61909c","packageName":"component","className":"Text","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>method</key>
<value>
<simple>"setVisible"</simple>
</value>
</entry>
<entry>
<key>value</key>
<value>
<complex>
<entry>
<key>staticValue</key>
<value>
<implRef type="TS">
<className>boolean</className>
<packageName></packageName>
</implRef>
<simple>true</simple>
</value>
</entry>
</complex>
</value>
</entry>
</complex>
</value>
</item>
<item id="42cb53a8-7732-4bc7-81f4-2a37adf20698" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"409c0323-011e-4416-a631-f8f852299e1f","packageName":"ervu.component.fileupload","className":"ErvuFileUpload","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>method</key>
<value>
<simple>"setVisible"</simple>
</value>
</entry>
<entry>
<key>value</key>
<value>
<complex>
<entry>
<key>staticValue</key>
<value>
<implRef type="TS">
<className>boolean</className>
<packageName></packageName>
</implRef>
<simple>true</simple>
</value>
</entry>
</complex>
</value>
</entry>
</complex>
</value>
</item>
<item id="46339a21-259b-44ad-b128-f0d8ba1d217e" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"7f70dc30-8116-47da-ad8d-01cec26a60d7","packageName":"component","className":"Text","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>method</key>
<value>
<simple>"setVisible"</simple>
</value>
</entry>
<entry>
<key>value</key>
<value>
<complex>
<entry>
<key>staticValue</key>
<value>
<implRef type="TS">
<className>boolean</className>
<packageName></packageName>
</implRef>
<simple>true</simple>
</value>
</entry>
</complex>
</value>
</entry>
</complex>
</value>
</item>
<item id="a9388d83-21c5-46dd-b3d1-b21fcdeed814" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"e958f2ee-e112-4bef-9c8a-40e2f8278ca9","packageName":"component.field","className":"CheckBox","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>method</key>
<value>
<simple>"setVisible"</simple>
</value>
</entry>
<entry>
<key>value</key>
<value>
<complex>
<entry>
<key>staticValue</key>
<value>
<implRef type="TS">
<className>boolean</className>
<packageName></packageName>
</implRef>
<simple>true</simple>
</value>
</entry>
</complex>
</value>
</entry>
</complex>
</value>
</item>
<item id="0a421dda-7b37-41cb-bd29-172ed05a7cb4" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"88c07c71-e76e-4ff6-a24d-b838bc495737","packageName":"component","className":"Text","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>method</key>
<value>
<simple>"setVisible"</simple>
</value>
</entry>
<entry>
<key>value</key>
<value>
<complex>
<entry>
<key>staticValue</key>
<value>
<implRef type="TS">
<className>boolean</className>
<packageName></packageName>
</implRef>
<simple>true</simple>
</value>
</entry>
</complex>
</value>
@ -1509,7 +1701,7 @@
<children id="7d338f47-6d12-4040-ba18-f31f520dce8d">
<prototypeId>5694e7c5-bbb5-4d23-be6c-7ad71b8ad38c</prototypeId>
<componentRootId>7d338f47-6d12-4040-ba18-f31f520dce8d</componentRootId>
<name>FileUploadV2</name>
<name>Csv file</name>
<container>false</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered>
@ -1707,7 +1899,7 @@
<children id="409c0323-011e-4416-a631-f8f852299e1f">
<prototypeId>5694e7c5-bbb5-4d23-be6c-7ad71b8ad38c</prototypeId>
<componentRootId>409c0323-011e-4416-a631-f8f852299e1f</componentRootId>
<name>FileUploadV2</name>
<name>Подпись File</name>
<container>false</container>
<childrenReordered>false</childrenReordered>
<scripts id="36fe7f3d-d9d5-472b-ad12-956ef734ee76">
@ -1833,7 +2025,7 @@
<children id="81d2a10f-eb67-4002-9cbd-1e67b87888ef">
<prototypeId>98594cec-0a9b-4cef-af09-e1b71cb2ad9e</prototypeId>
<componentRootId>81d2a10f-eb67-4002-9cbd-1e67b87888ef</componentRootId>
<name>Action Controller</name>
<name>AC_МЧД</name>
<container>false</container>
<childrenReordered>false</childrenReordered>
<scripts id="37dff5c8-1599-4984-b107-c44a87b6da2e">
@ -2166,7 +2358,7 @@
<children id="1dc25461-a60e-456b-93cb-cc0f28dc347b">
<prototypeId>5694e7c5-bbb5-4d23-be6c-7ad71b8ad38c</prototypeId>
<componentRootId>1dc25461-a60e-456b-93cb-cc0f28dc347b</componentRootId>
<name>FileUploadV2</name>
<name>Мчд File</name>
<container>false</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered>
@ -3162,6 +3354,251 @@
</implRef>
<simple>false</simple>
</value>
</entry>
</complex>
</value>
</entry>
</complex>
</value>
</item>
<item id="5f01e533-e752-474d-acad-b16eaf16403e" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"bc8596fe-1e46-4cf9-b306-43498f61909c","packageName":"component","className":"Text","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>method</key>
<value>
<simple>"setVisible"</simple>
</value>
</entry>
<entry>
<key>value</key>
<value>
<complex>
<entry>
<key>staticValue</key>
<value>
<implRef type="TS">
<className>boolean</className>
<packageName></packageName>
</implRef>
<simple>false</simple>
</value>
</entry>
</complex>
</value>
</entry>
</complex>
</value>
</item>
<item id="dbdcb8d9-56e5-4fdf-b677-b8b7245b8f53" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"409c0323-011e-4416-a631-f8f852299e1f","packageName":"ervu.component.fileupload","className":"ErvuFileUpload","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>method</key>
<value>
<simple>"setVisible"</simple>
</value>
</entry>
<entry>
<key>value</key>
<value>
<complex>
<entry>
<key>staticValue</key>
<value>
<implRef type="TS">
<className>boolean</className>
<packageName></packageName>
</implRef>
<simple>false</simple>
</value>
</entry>
</complex>
</value>
</entry>
</complex>
</value>
</item>
<item id="c4cff41c-bf66-43db-a28f-b75798f2ea7a" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"7f70dc30-8116-47da-ad8d-01cec26a60d7","packageName":"component","className":"Text","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>method</key>
<value>
<simple>"setVisible"</simple>
</value>
</entry>
<entry>
<key>value</key>
<value>
<complex>
<entry>
<key>staticValue</key>
<value>
<implRef type="TS">
<className>boolean</className>
<packageName></packageName>
</implRef>
<simple>false</simple>
</value>
</entry>
</complex>
</value>
</entry>
</complex>
</value>
</item>
<item id="6f87977b-5de0-4825-b7ec-47fcdc59ad63" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"e958f2ee-e112-4bef-9c8a-40e2f8278ca9","packageName":"component.field","className":"CheckBox","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>method</key>
<value>
<simple>"setVisible"</simple>
</value>
</entry>
<entry>
<key>value</key>
<value>
<complex>
<entry>
<key>staticValue</key>
<value>
<implRef type="TS">
<className>boolean</className>
<packageName></packageName>
</implRef>
<simple>false</simple>
</value>
</entry>
</complex>
</value>
</entry>
</complex>
</value>
</item>
<item id="2019ceca-699e-4c9a-a2ab-3f64a54cd583" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"88c07c71-e76e-4ff6-a24d-b838bc495737","packageName":"component","className":"Text","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>method</key>
<value>
<simple>"setVisible"</simple>
</value>
</entry>
<entry>
<key>value</key>
<value>
<complex>
<entry>
<key>staticValue</key>
<value>
<implRef type="TS">
<className>boolean</className>
<packageName></packageName>
</implRef>
<simple>false</simple>
</value>
</entry>
</complex>
</value>
</entry>
</complex>
</value>
</item>
<item id="9762079b-6aea-4c5f-888a-985a1e7d8e4d" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"1dc25461-a60e-456b-93cb-cc0f28dc347b","packageName":"ervu.component.fileupload","className":"ErvuFileUpload","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>method</key>
<value>
<simple>"setVisible"</simple>
</value>
</entry>
<entry>
<key>value</key>
<value>
<complex>
<entry>
<key>staticValue</key>
<value>
<implRef type="TS">
<className>boolean</className>
<packageName></packageName>
</implRef>
<simple>false</simple>
</value>
</entry>
</complex>
</value>
</entry>
</complex>
</value>
</item>
<item id="6609a660-3041-4148-80d3-0252d20f3363" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"9b446462-16e5-4241-b409-0287dea92b3a","packageName":"component","className":"Text","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>method</key>
<value>
<simple>"setVisible"</simple>
</value>
</entry>
<entry>
<key>value</key>
<value>
<complex>
<entry>
<key>staticValue</key>
<value>
<implRef type="TS">
<className>boolean</className>
<packageName></packageName>
</implRef>
<simple>false</simple>
</value>
</entry>
</complex>
</value>
@ -3273,6 +3710,54 @@
</complex>
</value>
</item>
<item id="00e1f35f-d85a-4d24-b5ec-00ee276c4d37" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"409c0323-011e-4416-a631-f8f852299e1f","packageName":"ervu.component.fileupload","className":"ErvuFileUpload","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>method</key>
<value>
<simple>"clearValue"</simple>
</value>
</entry>
<entry>
<key>value</key>
<value>
<simple>null</simple>
</value>
</entry>
</complex>
</value>
</item>
<item id="109a344c-1b70-413b-9873-4a960ef96da0" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"1dc25461-a60e-456b-93cb-cc0f28dc347b","packageName":"ervu.component.fileupload","className":"ErvuFileUpload","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>method</key>
<value>
<simple>"clearValue"</simple>
</value>
</entry>
<entry>
<key>value</key>
<value>
<simple>null</simple>
</value>
</entry>
</complex>
</value>
</item>
<item id="1b47a62e-ae78-496a-883c-f78040b59197" removed="true"/>
<item id="8b3c26fd-5837-4e58-83b2-fe85e5197243" removed="true"/>
<item id="20bbd274-893c-4b79-9162-b4bb9b515e7e" removed="true"/>
@ -3380,6 +3865,54 @@
</complex>
</value>
</item>
<item id="0efa4cd1-f014-4277-94da-d902bd1822e7" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"1dc25461-a60e-456b-93cb-cc0f28dc347b","packageName":"ervu.component.fileupload","className":"ErvuFileUpload","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>method</key>
<value>
<simple>"clearValue"</simple>
</value>
</entry>
<entry>
<key>value</key>
<value>
<simple>null</simple>
</value>
</entry>
</complex>
</value>
</item>
<item id="51e2ec5d-2c2d-4576-896f-11c46bb6f69a" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"409c0323-011e-4416-a631-f8f852299e1f","packageName":"ervu.component.fileupload","className":"ErvuFileUpload","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>method</key>
<value>
<simple>"clearValue"</simple>
</value>
</entry>
<entry>
<key>value</key>
<value>
<simple>null</simple>
</value>
</entry>
</complex>
</value>
</item>
<item id="1b47a62e-ae78-496a-883c-f78040b59197" removed="true"/>
<item id="8b3c26fd-5837-4e58-83b2-fe85e5197243" removed="true"/>
<item id="20bbd274-893c-4b79-9162-b4bb9b515e7e" removed="true"/>