@gsp-svc/formdoc-upload 0.2.20 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"gsp-svc-formdoc-upload.umd.js.map","sources":["ng://@gsp-svc/formdoc-upload/lib/formdoc-upload.service.ts","ng://@gsp-svc/formdoc-upload/lib/formdoc-upload.component.ts","ng://@gsp-svc/formdoc-upload/lib/formdoc-upload.module.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/doctype.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/operatingmodes.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspformremovelistentity.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspformdocoperateentity.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/changeinstancerequest.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/copyfilerequest.ts","ng://@gsp-svc/formdoc-upload/lib/upload/upload.service.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/uploadfileinfo.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/extensionstoragefileinfo.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/filestate.ts","ng://@gsp-svc/formdoc-upload/lib/i18n/language.resource.ts","ng://@gsp-svc/formdoc-upload/lib/local.pipe.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/initmultiuploadrequest.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/completemultiuploadrequest.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspformstreamentity.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/multiuploadrequest.ts","ng://@gsp-svc/formdoc-upload/lib/upload/file-upload/file-upload.component.ts","ng://@gsp-svc/formdoc-upload/lib/upload/download.service.ts","ng://@gsp-svc/formdoc-upload/lib/upload/upload.module.ts","ng://@gsp-svc/formdoc-upload/lib/uploaddialog/uploaddialog/uploaddialog.component.ts","ng://@gsp-svc/formdoc-upload/lib/uploaddialog.service.ts","ng://@gsp-svc/formdoc-upload/lib/uploaddialog/uploaddialog.module.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/uploadlimit.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspformuploadlistentity.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspformdocinfo.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspdocmetaproperty.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspformuploadentity.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/fileinfo.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspdocsecuritybaseinfo.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/securityentity.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FormdocUploadService {\n\n constructor() { }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lib-formdoc-upload',\n template: `\n <p>\n formdoc-upload works!\n </p>\n `,\n styles: []\n})\nexport class FormdocUploadComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { HttpClientModule } from '@angular/common/http';\nimport { LOCALE_ID, NgModule } from '@angular/core';\nimport { CacheService, HttpService, LanguageService, SessionService } from '@ecp-caf/caf-common';\nimport { FormdocUploadComponent } from './formdoc-upload.component';\nimport { LocalLangPipe } from './local.pipe';\n\n\n@NgModule({\n declarations: [FormdocUploadComponent],\n imports: [\n HttpClientModule\n ],\n \n exports: [FormdocUploadComponent],\n providers:[ LanguageService,HttpService,CacheService,SessionService,\n { provide: LOCALE_ID, useValue: localStorage.getItem('languageCode') || 'zh-CHS' },]\n})\nexport class FormdocUploadModule { }\n","export enum DocType{\r\n Word,\r\n Excel,\r\n Powerpoint,\r\n Pdf,\r\n Txt,\r\n Image,\r\n Other\r\n}","export enum OperatingModes{\r\n Formal,\r\n Temp\r\n}","import { OperatingModes } from \"./operatingmodes\";\r\n\r\nexport class GspFormRemoveListEntity {\r\n public metadataIdList: string[];\r\n public mode: OperatingModes;\r\n public rootId: string;\r\n}","export class GspFormDocOperateEntity {\r\n public metadataIdList: string[];\r\n public rootId: string;\r\n}","import { ExStorageFileInfo } from './extensionstoragefileinfo';\r\n\r\nexport class ChangeInstanceRequest {\r\n public fileInfoList: ExStorageFileInfo[];\r\n public rootId: string;\r\n}","export class CopyFileRequest{\r\n public metadataId:string;\r\n public rootId:string;\r\n public path:string;\r\n}","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { GspFormUploadListEntity } from './entity/gspformuploadlistentity';\r\nimport { HttpService } from '@ecp-caf/caf-common';\r\nimport { catchError, tap } from 'rxjs/operators';\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { GspFormRemoveListEntity } from './entity/gspformremovelistentity';\r\nimport { of } from 'rxjs/observable/of';\r\nimport { GspFormDocOperateEntity } from './entity/gspformdocoperateentity';\r\n\r\nimport { GspFormUploadEntity } from './entity/gspformuploadentity';\r\nimport { ExStorageFileInfo } from './entity/extensionstoragefileinfo';\r\nimport { ChangeInstanceRequest } from './entity/changeinstancerequest';\r\nimport { OperatingModes } from './entity/operatingmodes';\r\nimport { GspDocSecurityBaseInfo } from './entity/gspdocsecuritybaseinfo';\r\nimport { UploadFileInfo } from './entity/uploadfileinfo';\r\nimport { ExPropertyRequest } from './entity/expropertyrequest';\r\nimport { CopyFileRequest } from './entity/copyfilerequest';\r\nimport { BasePathService } from '@farris/rtf';\r\n\r\n\r\n@Injectable()\r\nexport class UploadService {\r\n\r\n constructor(private http: HttpService, private httpclient: HttpClient) { }\r\n\r\n uploadList(docListInfo: GspFormUploadListEntity, rootId: string): Observable<any> {\r\n let url;\r\n docListInfo.rootId = rootId;\r\n\r\n url = \"/api/runtime/dfs/v1.0/formdoc/list\";\r\n //url = \"/api/runtime/dfs/v1.0/formdoc/list\";\r\n\r\n return this.http.post(url, docListInfo).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n\r\n commit(metadataIdList: string[], rootId: string): Observable<any> {\r\n let url;\r\n let entity: GspFormDocOperateEntity = new GspFormDocOperateEntity;\r\n entity.metadataIdList = metadataIdList;\r\n entity.rootId = rootId;\r\n url = \"/api/runtime/dfs/v1.0/formdoc/commit\";\r\n //url = \"http://localhost:5000/api/runtime/dfs/v1.0/formdoc/commit\";\r\n\r\n return this.http.post(url, entity).pipe();\r\n }\r\n\r\n cancel(metadataIdList: string[], rootId: string): Observable<any> {\r\n let url;\r\n let entity: GspFormDocOperateEntity = new GspFormDocOperateEntity;\r\n entity.metadataIdList = metadataIdList;\r\n entity.rootId = rootId;\r\n url = \"/api/runtime/dfs/v1.0/formdoc/cancel\";\r\n //url = \"http://localhost:5000/api/runtime/dfs/v1.0/formdoc/cancel\";\r\n //localStorage.setItem(\"SessionId\",\"huoliang\");\r\n return this.http.put(url, entity).pipe();\r\n }\r\n\r\n removeList(idList: string[], rootId: string) {\r\n let url;\r\n //url = \"http://localhost:5000/api/runtime/dfs/v1.0/formdoc/list\";\r\n url = \"/api/runtime/dfs/v1.0/formdoc/list\";\r\n var idListInfo = new GspFormRemoveListEntity;\r\n idListInfo.metadataIdList = idList;\r\n idListInfo.mode = OperatingModes.Temp;\r\n idListInfo.rootId = rootId;\r\n return this.http.delete(url, idListInfo).pipe();\r\n }\r\n\r\n getFile(metadataId: string, rootId: string) {\r\n\r\n let url;\r\n if (rootId == \"\")\r\n url = \"/api/runtime/dfs/v1.0/formdoc/file/\" + metadataId;\r\n else\r\n url = \"/api/runtime/dfs/v1.0/formdoc/file/\" + metadataId + \"/\" + rootId;\r\n return this.http.get(url).pipe(tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n\r\n }\r\n\r\n uploadFile(docInfo: GspFormUploadEntity): Observable<any> {\r\n\r\n let url = \"/api/runtime/dfs/v1.0/formdoc\";\r\n //url = \"/api/runtime/dfs/v1.0/formdoc/list\";\r\n\r\n return this.http.post(url, docInfo).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n uploadSliceFile(formdata: FormData): Observable<any> {\r\n\r\n let url = \"/api/runtime/dfs/v1.0/formdoc/slice\";\r\n //url = \"/api/runtime/dfs/v1.0/formdoc/list\";\r\n const baseUrl = BasePathService.convertPath(url);\r\n return this.httpclient.post(baseUrl, formdata).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n\r\n getStorageExtensionInfo(): Observable<any> {\r\n let url = \"/api/runtime/dfs/v1.0/storagestrategy/extension\";\r\n //url = \"/api/runtime/dfs/v1.0/formdoc/list\";\r\n\r\n return this.http.get(url).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n getSecurityInfoList(baseInfo: GspDocSecurityBaseInfo): Observable<any> {\r\n let url = \"/api/runtime/dfs/v1.0/storagestrategy/security\";\r\n url = url + \"?id=\" + baseInfo.securityId + \"&level=\" + baseInfo.securityLevel;\r\n\r\n return this.http.get(url).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n changeStorageInstance(storageInfoList: ExStorageFileInfo[], rootId: string): Observable<any> {\r\n let url = \"/api/runtime/dfs/v1.0/formdoc/changeinstance\";\r\n let request: ChangeInstanceRequest = new ChangeInstanceRequest;\r\n request.fileInfoList = storageInfoList;\r\n request.rootId = rootId;\r\n return this.http.post(url, request).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n copyFile(metadataId: string, rootId: string, path: string): Observable<any> {\r\n let url = \"/api/runtime/dfs/v1.0/formdoc/copy\";\r\n const baseUrl = BasePathService.convertPath(url);\r\n let request: CopyFileRequest = new CopyFileRequest;\r\n request.metadataId = metadataId;\r\n request.rootId = rootId;\r\n request.path = path;\r\n return this.httpclient.post(baseUrl, request, { responseType: 'text' }).pipe(\r\n tap(res => { }),\r\n // catchError((error: HttpErrorResponse) => {\r\n // return of(error);\r\n // })\r\n );\r\n }\r\n\r\n saveSecurityInfo(uploadFileInfoList: UploadFileInfo[], rootId: string): Observable<any> {\r\n let url = \"/api/runtime/dfs/v1.0/doc/exproperty\";\r\n let reqList: ExPropertyRequest[] = [];\r\n uploadFileInfoList.forEach(element => {\r\n let request: ExPropertyRequest = { id: element.metadataId, rootId: rootId, exProperty: JSON.stringify(element.securityInfo) };\r\n reqList.push(request);\r\n })\r\n return this.http.post(url, reqList).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }))\r\n }\r\n\r\n\r\n getUploadedFileInfoList(formId: string, rootId: string): Observable<any> {\r\n let url = \"/api/runtime/dfs/v1.0/formdoc/uploadedfile/infolist\" + \"?formid=\" + formId + \"&rootid=\" + rootId;\r\n //url = \"/api/runtime/dfs/v1.0/formdoc/list\";\r\n\r\n return this.http.get(url).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n getUploadInfo(rootId: string): Observable<any> {\r\n let url = \"/api/runtime/dfs/v1.0/rootsetting/info?id=\" + rootId;\r\n\r\n return this.http.get(url).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n // getRootSetting(rootId: string): Observable<any> {\r\n // let url = \"/api/runtime/dfs/v1.0/rootsetting/\" + rootId;\r\n\r\n // return this.http.get(url).pipe(\r\n // tap(res => { }),\r\n // catchError((error: HttpErrorResponse) => {\r\n // return of(error);\r\n // }));\r\n // }\r\n\r\n // getValidation(id: string): Observable<any> {\r\n // let url = \"/api/runtime/dfs/v1.0/validation/\" + id;\r\n\r\n // return this.http.get(url).pipe(\r\n // tap(res => { }),\r\n // catchError((error: HttpErrorResponse) => {\r\n // return of(error);\r\n // }));\r\n // }\r\n\r\n}\r\n","import { FileState } from \"./filestate\";\r\nimport { SecurityEntity } from \"./securityentity\";\r\n\r\nexport class UploadFileInfo {\r\n\r\n public metadataId: string;\r\n public fileName: string;\r\n public fileSize: string;\r\n public state: FileState;\r\n public securityInfo: SecurityEntity;\r\n\r\n}","export class ExStorageFileInfo {\r\n public metadataId: string;\r\n public exPropertyName: string;\r\n}","export enum FileState{\r\n New,\r\n Update\r\n}","export const LANG_RESOURCES = {\r\n 'zh-CHS': {\r\n 'uploadFile': '上传文件',\r\n 'uploading':'正在上传文件……',\r\n 'selectedCount':'已选择文件数量:',\r\n 'limitCount':'超出系统限制数量:',\r\n 'rechooseFile':',请重新选择上传文件。',\r\n 'save':'保存',\r\n 'cancel':'取消',\r\n 'haveSameName':'已上传过同名文件: ',\r\n 'rename':'重命名',\r\n\t\t 'replace':'替换',\r\n 'sizeZero':'文件大小为0',\r\n 'sizeMax':'文件大小超出限制',\r\n 'uploadFailure':'上传失败',\r\n 'uploadSucceed':'上传成功',\r\n 'wait':'等一下,文档正在上传。',\r\n 'saveTo':'正在将文件保存到',\r\n 'delete':'删除',\r\n 'selectAll':'全选',\r\n 'selectNull':'全不选',\r\n 'detail':'详情',\r\n 'fileName':'文件名',\r\n 'state':'状态',\r\n 'operation':'操作',\r\n 'size':'大小',\r\n 'close':'关闭',\r\n 'loading':'拼命加载中',\r\n 'mismatchChunkSize':'文档分片上传部分丢失,请重新上传,如果多次上传失败,请联系管理员。',\r\n 'invalidCharacters': '文件名包含特殊字符',\r\n 'invalidExtNames': '文档类型不允许上传',\r\n 'whiteExtNames': '。允许上传的文件类型为:',\r\n 'blackExtNames': '。不允许上传的文件类型为:',\r\n 'UnrecognizedFileType':'无法确定文件类型',\r\n 'fileNameOverSize':'文件名超出长度限制,最长允许'\r\n },\r\n 'en-US': {\r\n 'uploadFile': 'Upload File',\r\n 'uploading':'File Uploading……',\r\n 'selectedCount':'Selected files count:',\r\n 'limitCount':'System limit count:',\r\n 'rechooseFile':',Reselect upload file.',\r\n 'save':'Save',\r\n 'cancel':'Cancel',\r\n 'haveSameName':'A file with the same name has been uploaded: ',\r\n 'rename':'Rename',\r\n\t\t'replace':'Replace',\r\n 'sizeZero':'File size is 0',\r\n 'sizeMax':'File size beyond limit',\r\n 'uploadFailure':'Upload failed',\r\n 'uploadSucceed':'Upload successfully',\r\n 'wait':'Wait a minute, the file is uploading.',\r\n 'saveTo':'Saving file to',\r\n 'delete':'Delete',\r\n 'selectAll':'Select all',\r\n 'selectNull':'Not at all',\r\n 'detail':'Details',\r\n 'fileName':'Filename',\r\n 'state':'State',\r\n 'operation':'Operation',\r\n 'size':'Size',\r\n 'close':'Close',\r\n 'loading':'Loading',\r\n 'mismatchChunkSize':'The partial upload of document shards is missing. Please upload again. If multiple uploads fail, please contact the administrator.',\r\n 'invalidCharacters': 'The file name contains special characters',\r\n 'invalidExtNames': 'Document type does not allow uploading',\r\n 'whiteExtNames': '.The file types allowed for uploading are:',\r\n 'blackExtNames': '.The file types that are not allowed to be uploaded are:',\r\n 'UnrecognizedFileType': 'Unrecognized file type',\r\n 'fileNameOverSize':'fileName oversize,the lengthest is'\r\n },\r\n 'en': {\r\n 'uploadFile': 'Upload File',\r\n 'uploading':'File Uploading……',\r\n 'selectedCount':'Selected files count:',\r\n 'limitCount':'System limit count:',\r\n 'rechooseFile':',Reselect upload file.',\r\n 'save':'Save',\r\n 'cancel':'Cancel',\r\n 'haveSameName':'A file with the same name has been uploaded: ',\r\n 'rename':'Rename',\r\n\t\t'replace':'Replace',\r\n 'sizeZero':'File size is 0',\r\n 'sizeMax':'File size beyond limit',\r\n 'uploadFailure':'Upload failed',\r\n 'uploadSucceed':'Upload successfully',\r\n 'wait':'Wait a minute, the file is uploading.',\r\n 'saveTo':'Saving file to',\r\n 'delete':'Delete',\r\n 'selectAll':'Select all',\r\n 'selectNull':'Not at all',\r\n 'detail':'Details',\r\n 'fileName':'Filename',\r\n 'state':'State',\r\n 'operation':'Operation',\r\n 'size':'Size',\r\n 'close':'Close',\r\n 'loading':'Loading',\r\n 'mismatchChunkSize':'The partial upload of document shards is missing. Please upload again. If multiple uploads fail, please contact the administrator.',\r\n 'invalidCharacters': 'The file name contains special characters',\r\n 'invalidExtNames': 'Document type does not allow uploading',\r\n 'whiteExtNames': '.The file types allowed for uploading are:',\r\n 'blackExtNames': '.The file types that are not allowed to be uploaded are:',\r\n 'UnrecognizedFileType': 'Unrecognized file type',\r\n 'fileNameOverSize':'fileName oversize,the lengthest is'\r\n },\r\n 'zh-CHT': {\r\n 'uploadFile': '上傳文件',\r\n 'uploading':'正在上傳文件……',\r\n 'selectedCount':'已選擇文件數量:',\r\n 'limitCount':'超出系統限制數量:',\r\n 'rechooseFile':',重新選擇上傳文件。',\r\n 'save':'保存',\r\n 'cancel':'取消',\r\n 'haveSameName':'已上傳過同名文件: ',\r\n 'rename':'重命名',\r\n\t\t'replace':'替換',\r\n 'sizeZero':'文件大小為0',\r\n 'sizeMax':'文件大小超出限制',\r\n 'uploadFailure':'上傳失敗',\r\n 'uploadSucceed':'上傳成功',\r\n 'wait':'等一下,文件正在上傳。',\r\n 'saveTo':'正在將文件保存到',\r\n 'delete':'删除',\r\n 'selectAll':'全選',\r\n 'selectNull':'全不選',\r\n 'detail':'詳情',\r\n 'fileName':'文件名',\r\n 'state':'狀態',\r\n 'operation':'操作',\r\n 'size':'大小',\r\n 'close':'關閉',\r\n 'loading':'拼命加載中',\r\n 'mismatchChunkSize':'文檔分片上傳部分遺失,請重新上傳,如果多次上傳失敗,請聯系管理員。',\r\n 'invalidCharacters': '文件名包含特殊字符',\r\n 'invalidExtNames': '文檔類型不允許上傳',\r\n 'whiteExtNames': '。允許上傳的文件類型為:',\r\n 'blackExtNames': '。不允許上傳的文件類型為:',\r\n 'UnrecognizedFileType': '無法確定文件類型',\r\n 'fileNameOverSize':'文件名超出长度限制,最长允许'\r\n },\r\n};\r\n","import { Pipe, PipeTransform, Inject, LOCALE_ID } from '@angular/core';\r\nimport { LANG_RESOURCES } from './i18n/language.resource';\r\n\r\n@Pipe({ name: 'locale' })\r\nexport class LocalLangPipe implements PipeTransform {\r\n private readonly defaultLang: string = \"zh-CHS\";\r\n private langCode: string;\r\n private lang: {};\r\n constructor(\r\n @Inject(LOCALE_ID) localeId: string\r\n ) {\r\n this.langCode = localStorage.getItem(\"languageCode\") || localeId || this.defaultLang;\r\n this.lang = LANG_RESOURCES[this.langCode] || LANG_RESOURCES[this.defaultLang];\r\n }\r\n transform(name: string): any {\r\n return this.lang[name] || name;\r\n }\r\n}\r\n\r\n","export class InitMultiUploadRequest {\r\n public path: string;\r\n public metadataId: string;\r\n public rootId: string;\r\n public fileName: string;\r\n public size: number;\r\n}","import { MultiUploadResult } from \"./multiuploadresult\";\r\n\r\nexport class CompleteMultiUploadRequest {\r\n public metadataId: string;\r\n public rootId: string;\r\n public uploadId: string;\r\n public size: number;\r\n public partList: MultiUploadResult[];\r\n public exPropertyName: string;\r\n}","import { GspDocMetaProperty } from \"./gspdocmetaproperty\";\r\nimport { OperatingModes } from \"./operatingmodes\";\r\n\r\nexport class GspFormStreamEntity {\r\n public formId: string;\r\n public metadataId: string;\r\n public rootId: string;\r\n public fileName: string;\r\n public size: number;\r\n public mode: OperatingModes;\r\n public exPropertyName: string;\r\n public extProperty: GspDocMetaProperty;\r\n}","export class MultiUploadRequest {\r\n public metadataId: string;\r\n\r\n public total: number;\r\n\r\n public size: number;\r\n\r\n public index: number;\r\n\r\n public rootId: string;\r\n\r\n public uploadId: string;\r\n}","import { Component, OnInit, Input, ViewChild, TemplateRef, Injector, LOCALE_ID } from '@angular/core';\r\nimport { FileInfo } from '../entity/fileinfo';\r\nimport { DocType } from '../entity/doctype';\r\nimport { GspFormDocInfo } from '../entity/gspformdocinfo';\r\nimport { OperatingModes } from '../entity/operatingmodes';\r\nimport { UploadService } from '../upload.service';\r\nimport { UploadFileInfo } from '../entity/uploadfileinfo';\r\nimport { MessagerService } from '@farris/ui-messager';\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\nimport { Observable, of } from 'rxjs';\r\nimport { GspFormUploadEntity } from '../entity/gspformuploadentity';\r\nimport { UUID } from 'angular2-uuid';\r\nimport { StorageExtension } from '../entity/storageextension';\r\nimport { ExStorageFileInfo } from '../entity/extensionstoragefileinfo';\r\nimport { DropListEntity } from '../entity/droplistentity';\r\nimport { LoadingService } from '@farris/ui-loading';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { FileState } from '../entity/filestate';\r\nimport { LocalLangPipe } from '../../local.pipe';\r\nimport { GspDocSecurityBaseInfo } from '../entity/gspdocsecuritybaseinfo';\r\nimport { SecurityEntity } from '../entity/securityentity';\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { InitMultiUploadRequest } from '../entity/initmultiuploadrequest';\r\nimport { CompleteMultiUploadRequest } from '../entity/completemultiuploadrequest';\r\nimport { GspFormStreamEntity } from '../entity/gspformstreamentity';\r\nimport { MultiUploadRequest } from '../entity/multiuploadrequest';\r\nimport { MultiUploadResult } from '../entity/multiuploadresult';\r\nimport { BasePathService } from '@farris/rtf';\r\n\r\n@Component({\r\n selector: 'app-file-upload',\r\n templateUrl: './file-upload.component.html',\r\n styleUrls: ['./file-upload.component.css'],\r\n})\r\nexport class FileUploadComponent implements OnInit {\r\n\r\n files: FileInfo[] = [];\r\n metadataIdList: string[] = [];\r\n uploadFileInfoList: UploadFileInfo[] = [];\r\n errFileList: string[] = [];\r\n errTypeList: string[] = [];\r\n nullFileList: string[] = [];\r\n beyondFileList: string[] = [];\r\n fileNameOversizeList :string []=[];\r\n invalidCharactersFileList: string[] = [];\r\n invalidExtNamesFileList: string[] = [];\r\n unrecognizedTypeFileList: string[] = [];\r\n invalidCharacters:string='';\r\n invalidExtNames:string='';\r\n showType: number = 0;\r\n mouseOn: boolean = false;\r\n isWhiteList:boolean=false;\r\n bufferSize = 5 * 1024 * 1024;\r\n selectedFiles: any;\r\n radioButtonGroupValue;\r\n selectedFileCount: number = 0;\r\n\r\n uploadIconAddress = this.createBaseUrl('/platform/runtime/dfs/images/upload.svg');\r\n uploadLittleIconAddress = this.createBaseUrl('/platform/runtime/dfs/images/uploadIcon.svg');\r\n\r\n hasSelectedFile: boolean = false;\r\n\r\n fileAllSelected: boolean = false;\r\n\r\n uploadProcess = { width: '0%' };\r\n\r\n fileTotalChunk: { [key: string]: number } = {};\r\n\r\n requestArray: Array<Observable<any>> = new Array;\r\n\r\n requestBodyArray: Array<GspFormUploadEntity> = new Array;\r\n\r\n uploadedChunk: { [key: string]: number } = {};\r\n uploadedProcess: { [key: string]: number } = {};\r\n\r\n //allSelected: boolean = true;\r\n storageExtension: StorageExtension;\r\n\r\n defaultPropertyName: string = \"\";\r\n propertiesNames: DropListEntity[] = [];\r\n\r\n securityInfoList: SecurityEntity[] = [];\r\n\r\n queueListStyle = { width: '480px' };\r\n\r\n dropListValue: string = \"\";\r\n\r\n uploadedFileTotal: number = 0;\r\n\r\n allowedMultiUpload: boolean;\r\n\r\n haveExtensionProperty: boolean = false;\r\n\r\n haveSecurityInfo: boolean = false;\r\n\r\n uploadedFileInfoList = [];\r\n oldUploadedFileList = [];\r\n //uploadedNameList = [];\r\n\r\n sameNameAllowed = true;\r\n maxFileSize: number = 0;;\r\n localeid: string;\r\n localepipe: LocalLangPipe;\r\n httpclient: HttpClient;\r\n checkboxPos = { top: '0px' }\r\n\r\n constructor(private msgService: MessagerService, private uploadService: UploadService, private loadService: LoadingService, private injector?: Injector) {\r\n if (this.injector) {\r\n this.httpclient = this.injector.get(HttpClient);\r\n this.localeid = localStorage.getItem(\"languageCode\") || this.injector.get(LOCALE_ID);\r\n this.localepipe = new LocalLangPipe(this.localeid);\r\n }\r\n }\r\n @Input() formId: string;\r\n @Input() rootId: string;\r\n @Input() fileType: string = \"*\";\r\n @Input() fileCount: number = 0;\r\n @Input() oldIdList: string[] = [];\r\n @Input() securityInfo: GspDocSecurityBaseInfo = null;\r\n @Input() fileNameLength :number=0;\r\n\r\n @ViewChild('opCell') opCell: TemplateRef<any>;\r\n\r\n ngOnInit() {\r\n if (navigator.userAgent.indexOf('Firefox') >= 0)\r\n this.checkboxPos.top = '14px';\r\n //if (this.storageService != null) {\r\n if (this.securityInfo != null) {\r\n this.uploadService.getSecurityInfoList(this.securityInfo).subscribe(\r\n res => {\r\n this.haveSecurityInfo = true;\r\n let i = 0;\r\n res.forEach(element => {\r\n this.securityInfoList.push({ id: i.toString(), securityId: element.securityId, securityLevel: element.securityLevel, name: element.name });\r\n i++;\r\n });\r\n }\r\n )\r\n }\r\n this.uploadService.getStorageExtensionInfo().subscribe(\r\n res => {\r\n if (res != null && res.error == null) {\r\n this.storageExtension = res;\r\n this.defaultPropertyName = this.storageExtension.defaultPropertyName;\r\n this.propertiesNames.push({ id: \"0\", name: this.storageExtension.defaultPropertyName });\r\n let i = 0;\r\n // this.propertiesNames.push(...(this.storageExtension.extensionPropertyNameList));\r\n this.storageExtension.extensionPropertyNameList.forEach(element => {\r\n this.propertiesNames.push({ id: (++i).toString(), name: element });\r\n });\r\n this.queueListStyle.width = '380px';\r\n this.haveExtensionProperty = true;\r\n }\r\n }\r\n )\r\n\r\n this.uploadService.getUploadInfo(this.rootId).subscribe(\r\n res => {\r\n if (res != null && res.error == null) {\r\n this.sameNameAllowed = res.sameNameAllowed;\r\n this.maxFileSize = parseInt(JSON.parse(res.validateConfiguration).maxFileSize);\r\n this.isWhiteList = JSON.parse(res.validateConfiguration).whiteList;\r\n this.invalidCharacters = JSON.parse(res.validateConfiguration).invalidCharacters;\r\n this.invalidExtNames = JSON.parse(res.validateConfiguration).invalidExtNames.toLowerCase();\r\n this.allowedMultiUpload = res.allowedMultiUpload;\r\n if (!this.sameNameAllowed) {\r\n this.uploadService.getUploadedFileInfoList(this.formId, this.rootId).subscribe(\r\n res => {\r\n if (res != null && res.error == null) {\r\n this.uploadedFileInfoList = res;\r\n this.oldUploadedFileList = JSON.parse(JSON.stringify(res));;\r\n\r\n }\r\n })\r\n }\r\n\r\n }\r\n }\r\n )\r\n if (this.oldIdList != null && this.oldIdList.length > 0) {\r\n // this.uploadService.cancel(this.oldIdList, this.rootId).subscribe();\r\n }\r\n\r\n this.radioButtonGroupValue = 'showByGroup';\r\n }\r\n\r\n totalLoad: any = null;\r\n\r\n showLoading() {\r\n this.hasSelectedFile = true;\r\n // if (this.totalLoad == null)\r\n // this.totalLoad = this.loadService.show({\r\n // message: this.localepipe.transform('uploading')\r\n // });\r\n }\r\n\r\n findInvalidCharacter(name: string): string[] {\r\n let charList: string[] = [];\r\n this.invalidCharacters.split('|').forEach(element => {\r\n if (name.indexOf(element) >= 0)\r\n charList.push(element);\r\n })\r\n\r\n return charList;\r\n }\r\n\r\n\r\n hasFileType(file) {\r\n return file.name.includes('.');\r\n }\r\n\r\n fileSelected($event) {\r\n\r\n this.hasSelectedFile = true;\r\n this.selectedFiles = document.querySelector('#file');\r\n\r\n if (this.fileCount > 0) {\r\n if (this.selectedFiles.files.length + this.files.length > this.fileCount) {\r\n let selectedNum: number = (this.selectedFiles.files.length as number) + this.files.length;\r\n this.msgService.warning(this.localepipe.transform('selectedCount') + selectedNum + this.localepipe.transform('limitCount') + this.fileCount + this.localepipe.transform('rechooseFile'));\r\n return;\r\n }\r\n }\r\n\r\n //this.flag = 0;\r\n for (let i = 0; i < this.selectedFiles.files.length; i++) {\r\n let selectedFile = this.selectedFiles.files[i];\r\n selectedFile.isAllowedUpload=true;\r\n //selectedFile.slice\r\n let uuid = UUID.UUID();\r\n\r\n if (selectedFile.size == 0) {\r\n this.nullFileList.push(selectedFile.name);\r\n continue;\r\n }\r\n\r\n if(this.fileNameLength>0 && selectedFile.name.length >this.fileNameLength){\r\n this.fileNameOversizeList.push(selectedFile.name);\r\n continue;\r\n }\r\n\r\n if (this.maxFileSize != null && this.maxFileSize > 0) {\r\n if (selectedFile.size > this.maxFileSize * 1000) {\r\n this.beyondFileList.push(selectedFile.name);\r\n continue;\r\n }\r\n }\r\n\r\n let invalidCharList = this.findInvalidCharacter(selectedFile.name);\r\n let errorMessage = \"\"\r\n if (invalidCharList.length > 0) {\r\n invalidCharList.forEach((element,index) => {\r\n errorMessage += \"\\\"\";\r\n errorMessage += element;\r\n errorMessage += \"\\\"\";\r\n errorMessage += (index === invalidCharList.length-1)?\"\":\",\";\r\n })\r\n if (this.selectedFiles.files.length === 1){\r\n selectedFile.isAllowedUpload = false;\r\n this.msgService.warning(this.localepipe.transform('invalidCharacters') + errorMessage + this.localepipe.transform('rechooseFile'));\r\n return;\r\n }\r\n if (this.selectedFiles.files.length>1){\r\n selectedFile.isAllowedUpload = false;\r\n this.invalidCharactersFileList.push(selectedFile.name);\r\n continue;\r\n }\r\n\r\n }\r\n\r\n if (!this.hasFileType(selectedFile)) {\r\n if (this.selectedFiles.files.length === 1) {\r\n selectedFile.isAllowedUpload = false;\r\n this.msgService.warning(selectedFile.name + this.localepipe.transform('UnrecognizedFileType') + this.localepipe.transform('rechooseFile'));\r\n return;\r\n }\r\n if (this.selectedFiles.files.length > 1) {\r\n selectedFile.isAllowedUpload = false;\r\n this.unrecognizedTypeFileList.push(selectedFile.name);\r\n continue;\r\n }\r\n }\r\n\r\n // let curFileSuffix = selectedFile.name.split('.')[1];\r\n let curFileSuffix = selectedFile.name.substr(selectedFile.name.lastIndexOf('.') + 1).toLowerCase();\r\n const extNames=this.listToString(this.invalidExtNames.split('|'));\r\n const extNamesAry = this.invalidExtNames.split('|');\r\n if (!this.isWhiteList && extNamesAry.includes(curFileSuffix)){\r\n if (this.selectedFiles.files.length === 1) {\r\n selectedFile.isAllowedUpload = false;\r\n this.msgService.warning(selectedFile.name + this.localepipe.transform('invalidExtNames') + this.localepipe.transform('blackExtNames') + extNames + this.localepipe.transform('rechooseFile'));\r\n return;\r\n }\r\n if (this.selectedFiles.files.length > 1) {\r\n selectedFile.isAllowedUpload = false;\r\n this.invalidExtNamesFileList.push(selectedFile.name);\r\n continue;\r\n }\r\n }\r\n if (this.isWhiteList && !extNamesAry.includes(curFileSuffix)) {\r\n if (this.selectedFiles.files.length === 1) {\r\n selectedFile.isAllowedUpload = false;\r\n this.msgService.warning(selectedFile.name + this.localepipe.transform('invalidExtNames') + this.localepipe.transform('whiteExtNames') + extNames + this.localepipe.transform('rechooseFile'));\r\n return;\r\n }\r\n if (this.selectedFiles.files.length > 1) {\r\n selectedFile.isAllowedUpload = false;\r\n this.invalidExtNamesFileList.push(selectedFile.name);\r\n continue;\r\n }\r\n }\r\n\r\n if (!this.sameNameAllowed) {\r\n if (this.uploadedFileInfoList.find(x => x.fileName == selectedFile.name) != null) {\r\n\r\n const msg = this.msgService.show('warning', this.localepipe.transform('haveSameName') + selectedFile.name, {\r\n initialState: {\r\n buttons: [\r\n {\r\n text: this.localepipe.transform('rename'),\r\n cls: 'btn btn-secondary',\r\n handle: () => {\r\n let oldName: string = selectedFile.name;\r\n let newName\r\n let flag = true;\r\n let i = 1;\r\n while (flag) {\r\n newName = oldName.substring(0, oldName.lastIndexOf('.')) + '(' + i + ')' + oldName.substring(oldName.lastIndexOf('.'));\r\n if (this.uploadedFileInfoList.find(x => x.fileName == newName) != null) {\r\n i++;\r\n }\r\n else\r\n flag = false;\r\n }\r\n\r\n this.uploadFile(uuid, selectedFile, newName);\r\n msg.close();\r\n }\r\n },\r\n {\r\n text: this.localepipe.transform('replace'),\r\n cls: 'btn btn-secondary',\r\n handle: () => {\r\n uuid = this.uploadedFileInfoList.find(x => x.fileName == selectedFile.name).metadataId;\r\n this.uploadFile(uuid, selectedFile, selectedFile.name, FileState.Update);\r\n this.uploadedFileTotal--;\r\n if (this.oldUploadedFileList.find(x => x.fileName == selectedFile.name)) {\r\n this.uploadedFileTotal++;\r\n this.uploadedFileInfoList.splice(this.uploadedFileInfoList.indexOf(this.uploadedFileInfoList.filter(x => x.fileName == selectedFile.name)[0]), 1);\r\n }\r\n msg.close();\r\n }\r\n },\r\n {\r\n text: this.localepipe.transform('cancel'),\r\n cls: 'btn btn-secondary',\r\n handle: () => {\r\n msg.close();\r\n }\r\n }\r\n ]\r\n }\r\n })\r\n continue;\r\n }\r\n }\r\n if (selectedFile.isAllowedUpload === true){\r\n this.uploadFile(uuid, selectedFile, selectedFile.name);\r\n }\r\n }\r\n\r\n if (this.errFileList.length > 0) {\r\n let name: string = this.listToString(this.errFileList);\r\n this.msgService.warning(this.localepipe.transform('haveSameName') + name + this.localepipe.transform('rechooseFile'));\r\n this.errFileList = [];\r\n }\r\n\r\n if (this.nullFileList.length > 0) {\r\n let name: string = this.listToString(this.nullFileList);\r\n this.msgService.warning(name + this.localepipe.transform('sizeZero') + this.localepipe.transform('rechooseFile'));\r\n this.nullFileList = [];\r\n }\r\n\r\n if (this.fileNameOversizeList.length > 0) {\r\n let name: string = this.listToString(this.fileNameOversizeList);\r\n this.msgService.warning(name + this.localepipe.transform('fileNameOverSize') +this.fileNameLength+ this.localepipe.transform('rechooseFile'));\r\n this.fileNameOversizeList = [];\r\n }\r\n\r\n if (this.beyondFileList.length > 0) {\r\n let name: string = this.listToString(this.beyondFileList);\r\n this.msgService.warning(name + this.localepipe.transform('sizeMax') + this.maxFileSize + \"KB\" + this.localepipe.transform('rechooseFile'));\r\n this.beyondFileList = [];\r\n }\r\n\r\n if (this.invalidCharactersFileList.length > 0) {\r\n let name: string = this.listToString(this.invalidCharactersFileList);\r\n this.msgService.warning(name + this.localepipe.transform('invalidCharacters') + this.localepipe.transform('rechooseFile'));\r\n this.invalidCharactersFileList = [];\r\n }\r\n\r\n if (this.invalidExtNamesFileList.length > 0) {\r\n let name: string = this.listToString(this.invalidExtNamesFileList);\r\n this.msgService.warning(name + this.localepipe.transform('invalidExtNames') + this.localepipe.transform('rechooseFile'));\r\n this.invalidExtNamesFileList = [];\r\n }\r\n\r\n if (this.unrecognizedTypeFileList.length > 0) {\r\n let name: string = this.listToString(this.unrecognizedTypeFileList);\r\n this.msgService.warning(name + this.localepipe.transform('UnrecognizedFileType') + this.localepipe.transform('rechooseFile'));\r\n this.unrecognizedTypeFileList = [];\r\n }\r\n\r\n this.files = this.files.slice();\r\n this.fileAllSelected = false;\r\n $event.target.value = '';\r\n // loading.close();\r\n }\r\n\r\n showErrorMessage(file) {\r\n this.msgService.error(this.localepipe.transform('uploadFailure') + file.errorMessage);\r\n }\r\n\r\n handleFileInfo(uuid: string, selectedFile, fileName: string): any {\r\n\r\n let fileInfo: FileInfo;\r\n\r\n fileInfo = {\r\n id: uuid,\r\n name: fileName,\r\n type: selectedFile.type,\r\n source: \"\",\r\n size: this.getFileSize(selectedFile.size),\r\n fileSize: selectedFile.size,\r\n picListDisplayName: this.getPicListDisplayName(fileName),\r\n queueListDisplayName: this.getQueueDisplayName(fileName),\r\n //content: reader.result.toString(),\r\n hasUploaded: false,\r\n mouseOn: false,\r\n selectd: false,\r\n isUploading: true,\r\n uploadResult: false,\r\n uploadProcess: 0,\r\n errorMessage: \"\",\r\n extensionDropListId: 0,\r\n extensionName: \"\",\r\n securityDropListId: 0,\r\n securityInfo: this.securityInfoList[0]\r\n }\r\n\r\n if (this.storageExtension != null)\r\n fileInfo.extensionName = this.defaultPropertyName;\r\n\r\n\r\n let type: string = selectedFile.type;\r\n if (type.includes(\"tiff\")) {\r\n this.addDocInfo(selectedFile, fileInfo, DocType.Other);\r\n }\r\n else if (type.includes(\"image\")) {\r\n this.addDocInfo(selectedFile, fileInfo, DocType.Image);\r\n }\r\n else if (type.includes(\"word\")) {\r\n this.addDocInfo(selectedFile, fileInfo, DocType.Word);\r\n }\r\n else if (type.includes(\"pdf\")) {\r\n this.addDocInfo(selectedFile, fileInfo, DocType.Pdf);\r\n }\r\n else if (type.includes(\"plain\")) {\r\n this.addDocInfo(selectedFile, fileInfo, DocType.Txt);\r\n }\r\n else if (type.includes(\"sheet\") || type.includes(\"excel\")) {\r\n this.addDocInfo(selectedFile, fileInfo, DocType.Excel)\r\n }\r\n else if (type.includes(\"powerpoint\") || type.includes(\"presentation\")) {\r\n this.addDocInfo(selectedFile, fileInfo, DocType.Powerpoint);\r\n }\r\n else {\r\n this.addDocInfo(selectedFile, fileInfo, DocType.Other);\r\n // let name: string = selectedFile.name;\r\n // let errType = name.substring(selectedFile.name.lastIndexOf('.'));\r\n // this.errTypeList.push(errType);\r\n }\r\n return fileInfo;\r\n }\r\n\r\n uploadFile(uuid: string, selectedFile, fileName: string, state: FileState = FileState.New) {\r\n\r\n let fileInfo = this.handleFileInfo(uuid, selectedFile, fileName);\r\n\r\n let uploadFileInfo = new UploadFileInfo();\r\n\r\n uploadFileInfo.metadataId = uuid;\r\n uploadFileInfo.fileName = fileInfo.name;\r\n uploadFileInfo.fileSize = fileInfo.size;\r\n uploadFileInfo.state = state;\r\n uploadFileInfo.securityInfo = this.securityInfoList[0];\r\n\r\n\r\n //判断是否支持分片上传\r\n if (this.allowedMultiUpload) {\r\n\r\n //支持分片上传\r\n let initRequest: InitMultiUploadRequest = new InitMultiUploadRequest;\r\n\r\n initRequest.path = this.formId;\r\n initRequest.metadataId = uuid;\r\n initRequest.rootId = this.rootId;\r\n initRequest.size = fileInfo.fileSize;\r\n initRequest.fileName = fileName;\r\n\r\n //初始化分片\r\n this.initMultiUpload(initRequest).subscribe(res => {\r\n if (res.error != null) {\r\n this.files[this.files.indexOf(fileInfo)].uploadResult = false;\r\n this.files[this.files.indexOf(fileInfo)].isUploading = false;\r\n this.files[this.files.indexOf(fileInfo)].errorMessage = res.error.Message;\r\n } else {\r\n let uploadId = res.uploadId;\r\n let chunkTotal: number = Math.ceil(selectedFile.size / this.bufferSize);\r\n let chunkIndex: number = 0;\r\n\r\n let multiResultList: MultiUploadResult[] = [];\r\n\r\n this.fileTotalChunk[uuid] = chunkTotal;\r\n this.uploadedChunk[uuid] = 0;\r\n\r\n while (chunkIndex < chunkTotal) {\r\n\r\n let nextSize = Math.min((chunkIndex + 1) * this.bufferSize, selectedFile.size);\r\n let fileData = selectedFile.slice(chunkIndex * this.bufferSize, nextSize);\r\n\r\n let multiRequest = new MultiUploadRequest;\r\n multiRequest.metadataId = uuid;\r\n multiRequest.rootId = this.rootId;\r\n multiRequest.uploadId = uploadId;\r\n multiRequest.index = chunkIndex;\r\n multiRequest.total = chunkTotal;\r\n multiRequest.size = fileData.size;\r\n\r\n let formData = new FormData();\r\n formData.append('multiRequest', JSON.stringify(multiRequest));\r\n formData.append('file', fileData);\r\n\r\n this.multiUpload(formData).subscribe(res => {\r\n if (res.error != null) {\r\n this.files[this.files.indexOf(fileInfo)].uploadResult = false;\r\n this.files[this.files.indexOf(fileInfo)].isUploading = false;\r\n this.files[this.files.indexOf(fileInfo)].errorMessage = res.error.Message;\r\n } else {\r\n multiResultList.push(res.result);\r\n this.uploadedChunk[uuid]++;\r\n this.files[this.files.indexOf(fileInfo)].uploadProcess = Number.parseInt((this.uploadedChunk[uuid] / this.fileTotalChunk[uuid] * 100).toFixed(0));\r\n if (this.uploadedChunk[uuid] == this.fileTotalChunk[uuid]) {\r\n if (multiResultList.length == this.fileTotalChunk[uuid]) {\r\n\r\n let completeMultiUploadRequest: CompleteMultiUploadRequest = new CompleteMultiUploadRequest;\r\n completeMultiUploadRequest.metadataId = uuid;\r\n completeMultiUploadRequest.partList = multiResultList;\r\n completeMultiUploadRequest.rootId = this.rootId;\r\n completeMultiUploadRequest.uploadId = uploadId;\r\n completeMultiUploadRequest.size = fileInfo.fileSize;\r\n if (this.haveExtensionProperty)\r\n completeMultiUploadRequest.exPropertyName = this.defaultPropertyName;\r\n this.completeMultiUpload(completeMultiUploadRequest).subscribe(res => {\r\n if (res.status != 200) {\r\n this.files[this.files.indexOf(fileInfo)].uploadResult = false;\r\n this.files[this.files.indexOf(fileInfo)].isUploading = false;\r\n this.files[this.files.indexOf(fileInfo)].errorMessage = res.error.Message;\r\n } else {\r\n this.files[this.files.indexOf(fileInfo)].uploadResult = true;\r\n this.files[this.files.indexOf(fileInfo)].isUploading = false;\r\n this.uploadFileInfoList = this.uploadFileInfoList.concat(uploadFileInfo);\r\n this.uploadedFileInfoList = this.uploadedFileInfoList.concat(uploadFileInfo);\r\n this.uploadedFileTotal++;\r\n }\r\n })\r\n //后台异步拼接文档\r\n } else {\r\n this.files[this.files.indexOf(fileInfo)].uploadResult = false;\r\n this.files[this.files.indexOf(fileInfo)].isUploading = false;\r\n this.files[this.files.indexOf(fileInfo)].errorMessage = this.localepipe.transform('mismatchChunkSize');\r\n }\r\n\r\n }\r\n }\r\n })\r\n\r\n chunkIndex = chunkIndex + 1;\r\n }\r\n }\r\n\r\n })\r\n\r\n } else {\r\n let entity = new GspFormStreamEntity;\r\n entity.formId = this.formId;\r\n entity.metadataId = uuid;\r\n entity.mode = OperatingModes.Temp;\r\n entity.rootId = this.rootId;\r\n entity.size = selectedFile.size;\r\n entity.fileName = fileName;\r\n if (this.haveExtensionProperty)\r\n entity.exPropertyName = this.defaultPropertyName;\r\n\r\n let formData = new FormData();\r\n formData.append('uploadEntity', JSON.stringify(entity));\r\n formData.append('file', selectedFile);\r\n\r\n this.uploadSingleFile(formData).subscribe(res => {\r\n if (res != null) {\r\n this.files[this.files.indexOf(fileInfo)].uploadResult = false;\r\n this.files[this.files.indexOf(fileInfo)].isUploading = false;\r\n this.files[this.files.indexOf(fileInfo)].errorMessage = res.error.Message;\r\n } else {\r\n this.files[this.files.indexOf(fileInfo)].uploadResult = true;\r\n this.files[this.files.indexOf(fileInfo)].isUploading = false;\r\n this.uploadFileInfoList = this.uploadFileInfoList.concat(uploadFileInfo);\r\n this.uploadedFileInfoList = this.uploadedFileInfoList.concat(uploadFileInfo);\r\n this.uploadedFileTotal++;\r\n\r\n }\r\n })\r\n\r\n }\r\n\r\n\r\n\r\n let index = -1;\r\n this.files.forEach(x => {\r\n if (x.name == fileInfo.name) {\r\n if (index == -1)\r\n index = this.files.indexOf(x);\r\n }\r\n })\r\n if (index != -1 && index != this.files.length - 1) {\r\n this.files.splice(index, 1);\r\n this.uploadFileInfoList.splice(index, 1);\r\n this.uploadedFileInfoList.splice(index, 1);\r\n //this.uploadedFileTotal--;\r\n }\r\n\r\n }\r\n\r\n\r\n uploadSingleFile(formdata: FormData): Observable<any> {\r\n\r\n let url = \"/api/runtime/dfs/v1.0/formdoc/single\";\r\n const baseUrl = BasePathService.convertPath(url);\r\n return this.httpclient.post(baseUrl, formdata).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n uploadSliceFile(formdata: FormData): Observable<any> {\r\n\r\n let url = \"/api/runtime/dfs/v1.0/formdoc/slice\";\r\n const baseUrl = BasePathService.convertPath(url);\r\n return this.httpclient.post(baseUrl, formdata).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n initMultiUpload(request: InitMultiUploadRequest): Observable<any> {\r\n\r\n let url = \"/api/runtime/dfs/v1.0/formdoc/multi/init\";\r\n const baseUrl = BasePathService.convertPath(url);\r\n return this.httpclient.post(baseUrl, request).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n multiUpload(formdata: FormData): Observable<any> {\r\n\r\n let url = \"/api/runtime/dfs/v1.0/formdoc/multi/upload\";\r\n const baseUrl = BasePathService.convertPath(url);\r\n return this.httpclient.post(baseUrl, formdata).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n completeMultiUpload(request: CompleteMultiUploadRequest): Observable<any> {\r\n\r\n let url = \"/api/runtime/dfs/v1.0/formdoc/multi/complete\";\r\n const baseUrl = BasePathService.convertPath(url);\r\n return this.httpclient.post(baseUrl, request).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n\r\n\r\n selectAllFile() {\r\n\r\n if (!this.fileAllSelected) {\r\n this.files.forEach(element => {\r\n\r\n element.selectd = true;\r\n });\r\n this.fileAllSelected = true;\r\n this.selectedFileCount = this.files.length;\r\n\r\n } else {\r\n this.files.forEach(element => {\r\n\r\n element.selectd = false;\r\n });\r\n this.fileAllSelected = false;\r\n this.selectedFileCount = 0;\r\n }\r\n }\r\n\r\n\r\n checkoutSelectFile(file: FileInfo) {\r\n // let obj: any = document.getElementById(fileName);\r\n file.selectd = !file.selectd;\r\n if (file.selectd)\r\n this.selectedFileCount++;\r\n else\r\n this.selectedFileCount--;\r\n if (this.selectedFileCount == this.files.length) {\r\n this.fileAllSelected = true;\r\n //this.isFileAllSelected();\r\n }\r\n else {\r\n this.fileAllSelected = false;\r\n //this.isFileAllSelected();\r\n }\r\n\r\n }\r\n\r\n listDeleteFile(fileInfo: FileInfo) {\r\n if (fileInfo.selectd)\r\n this.selectedFileCount--;\r\n //console.log(fileName);\r\n this.files.splice(this.files.indexOf(fileInfo), 1);\r\n if (fileInfo.uploadResult) {\r\n let idList: string[] = [];\r\n idList.push(fileInfo.id);\r\n this.uploadService.cancel(idList, this.rootId).subscribe();\r\n\r\n this.uploadFileInfoList.splice(this.uploadFileInfoList.indexOf(this.uploadFileInfoList.filter(x => x.fileName == fileInfo.name)[0]), 1);\r\n this.uploadedFileInfoList.splice(this.uploadedFileInfoList.indexOf(this.uploadedFileInfoList.filter(x => x.fileName == fileInfo.name)[0]), 1);\r\n this.uploadedFileTotal--;\r\n }\r\n if (this.selectedFileCount == 0)\r\n this.fileAllSelected = false;\r\n }\r\n\r\n listMultipleDeleteFile() {\r\n let selectedFile: FileInfo[] = [];\r\n this.files.forEach(element => {\r\n let obj: any = document.getElementById(element.name);\r\n if (obj.checked)\r\n selectedFile.push(element);\r\n })\r\n let metadataList: string[] = [];\r\n selectedFile.forEach(element => {\r\n metadataList.push(element.id);\r\n this.files.splice(this.files.indexOf(element), 1);\r\n if (element.uploadResult) {\r\n\r\n this.uploadFileInfoList.splice(this.uploadFileInfoList.indexOf(this.uploadFileInfoList.filter(x => x.fileName == element.name)[0]), 1);\r\n this.uploadedFileInfoList.splice(this.uploadedFileInfoList.indexOf(this.uploadedFileInfoList.filter(x => x.fileName == element.name)[0]), 1);\r\n this.uploadedFileTotal--;\r\n }\r\n })\r\n this.uploadService.cancel(metadataList, this.rootId).subscribe();\r\n\r\n let allBox: any = document.getElementById(\"allCheckBox\");\r\n if (allBox != null)\r\n allBox.checked = false;\r\n this.selectedFileCount = 0;\r\n this.fileAllSelected = false;\r\n }\r\n\r\n\r\n getPicListDisplayName(fileName: string) {\r\n if (fileName.length <= 10)\r\n return fileName;\r\n else {\r\n let headContent = fileName.substring(0, 2);\r\n let tailContent = fileName.substring(fileName.lastIndexOf('.') - 2);\r\n return headContent + \"…\" + tailContent;\r\n }\r\n }\r\n\r\n getQueueDisplayName(fileName: string) {\r\n return fileName;\r\n }\r\n\r\n addDocInfo(selectdFile, fileInfo: FileInfo, docType: DocType) {\r\n\r\n switch (docType) {\r\n case DocType.Word: {\r\n fileInfo.source = this.createBaseUrl(\"/platform/runtime/dfs/images/word.png\");\r\n this.files.push(fileInfo);\r\n break;\r\n }\r\n\r\n case DocType.Pdf: {\r\n fileInfo.source = this.createBaseUrl(\"/platform/runtime/dfs/images/pdf.png\");\r\n this.files.push(fileInfo);\r\n break;\r\n }\r\n\r\n case DocType.Excel: {\r\n fileInfo.source = this.createBaseUrl(\"/platform/runtime/dfs/images/excel.png\");\r\n this.files.push(fileInfo);\r\n break;\r\n }\r\n\r\n case DocType.Txt: {\r\n fileInfo.source = this.createBaseUrl(\"/platform/runtime/dfs/images/txt.png\");\r\n this.files.push(fileInfo);\r\n break;\r\n }\r\n\r\n case DocType.Powerpoint: {\r\n fileInfo.source = this.createBaseUrl(\"/platform/runtime/dfs/images/ppt.png\");\r\n this.files.push(fileInfo);\r\n break;\r\n }\r\n\r\n case DocType.Other: {\r\n fileInfo.source = this.createBaseUrl(\"/platform/runtime/dfs/images/file.png\");\r\n this.files.push(fileInfo);\r\n break;\r\n }\r\n\r\n case DocType.Image: {\r\n let reader = new FileReader();\r\n reader.readAsDataURL(selectdFile);\r\n reader.onload = (_event) => {\r\n let imgUrl = reader.result;\r\n if (this.injector != null) {\r\n let sanitizer = this.injector.get(DomSanitizer);\r\n imgUrl = sanitizer.bypassSecurityTrustResourceUrl(imgUrl);\r\n }\r\n fileInfo.source = imgUrl;\r\n this.files.push(fileInfo);\r\n\r\n //因为异步处理的差异,补偿一次删除\r\n let index = -1;\r\n this.files.forEach(x => {\r\n if (x.name == fileInfo.name) {\r\n if (index == -1)\r\n index = this.files.indexOf(x);\r\n }\r\n })\r\n if (index != -1 && index != this.files.length - 1) {\r\n this.files.splice(index, 1);\r\n this.uploadFileInfoList.splice(index, 1);\r\n this.uploadedFileInfoList.splice(index, 1);\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n listToString(strList: string[]) {\r\n const result = strList.filter(item => item.trim() !== '');\r\n let name: string = \"\";\r\n for (let i = 0; i < result.length; i++) {\r\n name += result[i] + (i === result.length - 1 ? \"\" : \",\");\r\n }\r\n return name;\r\n }\r\n\r\n securityChange($event: any, file: FileInfo) {\r\n file.securityInfo = $event.data;\r\n let uploadFile = this.uploadFileInfoList.filter(x => x.metadataId = file.id)[0];\r\n uploadFile.securityInfo = $event.data;\r\n }\r\n\r\n\r\n exStorageFileList: ExStorageFileInfo[] = [];\r\n\r\n typeChange($event: any, file: FileInfo) {\r\n file.extensionName = $event.data.name;\r\n let exStorageFileInfo: ExStorageFileInfo = new ExStorageFileInfo;\r\n if (file.extensionName == this.storageExtension.defaultPropertyName) {\r\n if (this.exStorageFileList.filter(x => x.metadataId == file.id).length > 0)\r\n this.exStorageFileList.splice(this.exStorageFileList.findIndex(x => x.metadataId == file.id), 1)\r\n } else {\r\n if (this.exStorageFileList.filter(x => x.metadataId == file.id).length > 0) {\r\n exStorageFileInfo = this.exStorageFileList.filter(x => x.metadataId == file.id)[0];\r\n exStorageFileInfo.exPropertyName = file.extensionName;\r\n } else {\r\n exStorageFileInfo.metadataId = file.id;\r\n exStorageFileInfo.exPropertyName = file.extensionName;\r\n this.exStorageFileList.push(exStorageFileInfo);\r\n }\r\n }\r\n }\r\n\r\n upload(): Observable<any> {\r\n if (this.uploadedFileTotal != this.files.filter(x => x.isUploading || x.uploadResult).length) {\r\n\r\n this.msgService.warning(this.localepipe.transform('wait'));\r\n return of(false);\r\n }\r\n if (this.haveSecurityInfo) {\r\n this.uploadService.saveSecurityInfo(this.uploadFileInfoList, this.rootId).subscribe();\r\n }\r\n if (this.storageExtension == null)\r\n return of(this.uploadFileInfoList);\r\n else {\r\n if (this.exStorageFileList.length == 0)\r\n return of(this.uploadFileInfoList);\r\n else {\r\n const loading = this.loadService.show({\r\n message: this.localepipe.transform('saveTo') + this.storageExtension.extensionName\r\n });\r\n return this.uploadService.changeStorageInstance(this.exStorageFileList, this.rootId).pipe(\r\n map(res => {\r\n // if (res != null)\r\n // this.msgService.error('保存到' + this.storageExtension.extensionName + \"失败,上传文件自动保存到\" + this.storageExtension.defaultPropertyName + \"存储。\" + res.error.Message);\r\n loading.close();\r\n return this.uploadFileInfoList;\r\n }))\r\n }\r\n }\r\n }\r\n\r\n cancel() {\r\n if (this.uploadFileInfoList.length == 0)\r\n return;\r\n this.uploadFileInfoList.forEach(element => {\r\n this.metadataIdList.push(element.metadataId);\r\n })\r\n this.uploadService.cancel(this.metadataIdList, this.rootId).subscribe();\r\n\r\n }\r\n\r\n getUploadFileInfoList() {\r\n return this.uploadFileInfoList;\r\n }\r\n\r\n delete(file) {\r\n this.files.splice(this.files.indexOf(file), 1);\r\n if (file.uploadResult)\r\n this.uploadedFileTotal--;\r\n if (this.exStorageFileList.filter(x => x.metadataId == file.id).length > 0) {\r\n this.exStorageFileList.splice(this.exStorageFileList.findIndex(x => x.metadataId == file.id), 1);\r\n }\r\n\r\n }\r\n\r\n getFileSize(size: number) {\r\n if (size < 102400)\r\n return (size / 1024).toFixed(1) + \"K\";\r\n else if (size < 1024 * 1024)\r\n return (size / 1024).toFixed(0) + \"K\";\r\n else if (size < 100 * 1024 * 1024)\r\n return (size / 1024 / 1024).toFixed(1) + \"M\";\r\n else if (size < 1024 * 1024 * 1024)\r\n return (size / 1024 / 1024).toFixed(0) + \"M\";\r\n else\r\n return (size / 1024 / 1024 / 1024).toFixed(1) + \"G\";\r\n }\r\n showByGroup() {\r\n this.showType = 0;\r\n // this.selectedFileCount = 0;\r\n }\r\n\r\n showByList() {\r\n this.showType = 1;\r\n // this.selectedFileCount = 0;\r\n if (this.selectedFileCount != 0 && this.selectedFileCount == this.files.length) {\r\n this.fileAllSelected = true;\r\n }\r\n }\r\n\r\n mouseOver(file) {\r\n file.mouseOn = true;\r\n }\r\n mouseOut(file) {\r\n file.mouseOn = false;\r\n }\r\n\r\n createBaseUrl(oldUrl: string) {\r\n const baseUrl = BasePathService.convertPath(oldUrl)\r\n return baseUrl;\r\n }\r\n}\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { BasePathService } from '@farris/rtf';\r\n\r\n\r\n@Injectable()\r\nexport class DownloadService {\r\n\r\n constructor() { }\r\n\r\n getDownloadUrl(metadataId: string, rootId: string) {\r\n const url = \"/api/runtime/dfs/v1.0/doc/filecontent?metadataid=\" + metadataId + \"&rootid=\" + rootId + \"&token=\" + this.getToken(this.mergeString(metadataId, rootId));\r\n const baseUrl = BasePathService.convertPath(url);\r\n return baseUrl;\r\n }\r\n\r\n\r\n getStreamDownloadUrl(metadataId: string, rootId: string) {\r\n const url = \"/api/runtime/dfs/v1.0/formdoc/stream?metadataid=\" + metadataId + \"&rootid=\" + rootId + \"&token=\" + this.getToken(this.mergeString(metadataId, rootId));\r\n const baseUrl = BasePathService.convertPath(url);\r\n return baseUrl;\r\n }\r\n\r\n getMultipleDownloadUrl(metadataIdList: string, rootId: string) {\r\n let list: string[] = JSON.parse(metadataIdList);\r\n const url = \"/api/runtime/dfs/v1.0/doc/multiple/download?metadataidlist=\" + metadataIdList + \"&rootid=\" + rootId + \"&token=\" + this.getToken(this.mergeString(list[0], rootId));\r\n const baseUrl = BasePathService.convertPath(url);\r\n return baseUrl;\r\n }\r\n\r\n getMultipleDownloadUrlWithName(metadataIdList: string, rootId: string, zipName: string) {\r\n let list: string[] = JSON.parse(metadataIdList);\r\n if (zipName == null || zipName == \"\")\r\n zipName = 'unifile.zip';\r\n if (!zipName.endsWith(\".zip\"))\r\n zipName += '.zip';\r\n\r\n\r\n const url = \"/api/runtime/dfs/v1.0/doc/compress/download?metadataidlist=\" + metadataIdList + \"&rootid=\" + rootId + \"&token=\" + this.getToken(this.mergeString(list[0], rootId)) + \"&zipName=\" + encodeURIComponent(zipName);\r\n const baseUrl = BasePathService.convertPath(url);\r\n return baseUrl;\r\n\r\n }\r\n\r\n getHistoryDownloadUrl(metadataId: string, rootId: string, version: string) {\r\n //let list:string[]=JSON.parse(metadataIdList);\r\n const url = \"/api/runtime/dfs/v1.0/doc/historycontent?metadataid=\" + metadataId + \"&rootid=\" + rootId + \"&version=\" + version + \"&token=\" + this.getToken(this.mergeString(metadataId, rootId));\r\n const baseUrl = BasePathService.convertPath(url);\r\n return baseUrl;\r\n }\r\n\r\n\r\n\r\n private mergeString(str: string, str1: string): string {\r\n let min = str.length < str1.length ? str.length : str1.length;\r\n let res: string = \"\";\r\n let i = 0;\r\n for (i = 0; i < min; i++) {\r\n res += str.substring(i, i + 1);\r\n res += str1.substring(i, i + 1);\r\n }\r\n res += str.length < str1.length ? str1.substring(i) : str.substring(i);\r\n return res;\r\n }\r\n\r\n private getToken(str: string): string {\r\n let array = [1, 2, 3];\r\n if (str.length > 24)\r\n str = str.substring(0, 24);\r\n let length = Math.floor(str.length / 3);\r\n let str1 = str.substring(0, length);\r\n let str2 = str.substring(length, 2 * length);\r\n let str3 = str.substring(2 * length, 3 * length);\r\n let randomArray = [];\r\n var random = Math.ceil(Math.random() * 3);\r\n randomArray.push(array[random - 1]);\r\n array.splice(random - 1, 1);\r\n random = Math.ceil(Math.random() * 2);\r\n randomArray.push(array[random - 1]);\r\n array.splice(random - 1, 1);\r\n randomArray.push(array[0]);\r\n let timeStamp: string = Math.round(new Date().getTime() / 1000) + \"\";\r\n\r\n return timeStamp.substring(0, 5) + \"times\" + randomArray[0] + \"\" + randomArray[1] + \"\" + randomArray[2] + this.switchStr(str1, str2, str3, randomArray[0]) + this.switchStr(str1, str2, str3, randomArray[1]) + this.switchStr(str1, str2, str3, randomArray[2]) + \"times\" + timeStamp.substring(5);\r\n }\r\n\r\n private switchStr(str1: string, str2: string, str3: string, i: number): string {\r\n switch (i) {\r\n case 1: return str1;\r\n case 2: return str2;\r\n case 3: return str3;\r\n }\r\n }\r\n\r\n\r\n}\r\n","import { LOCALE_ID, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FarrisRTFModule } from '@farris/rtf';\r\nimport { FileUploadComponent } from './file-upload/file-upload.component';\r\nimport { NotifyModule } from '@farris/ui-notify';\r\nimport { MessagerModule } from '@farris/ui-messager';\r\nimport { UploadService } from './upload.service';\r\nimport { LoadingModule } from '@farris/ui-loading';\r\nimport { ProgressModule } from '@farris/ui-progress'\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ComboListModule } from '@farris/ui-combo-list';\r\nimport { FarrisFormsModule } from '@farris/ui-forms'\r\nimport { DownloadService } from './download.service';\r\nimport { LocalLangPipe } from '../local.pipe';\r\nimport { CacheService, HttpService, LanguageService, SessionService } from '@ecp-caf/caf-common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [FileUploadComponent, LocalLangPipe],\r\n imports: [\r\n CommonModule,\r\n FarrisRTFModule,\r\n NotifyModule,\r\n MessagerModule.forRoot(),\r\n LoadingModule.forRoot(),\r\n ProgressModule,\r\n FormsModule,\r\n FarrisFormsModule,\r\n ComboListModule,\r\n HttpClientModule\r\n ],\r\n exports: [FileUploadComponent],\r\n entryComponents: [FileUploadComponent],\r\n providers: [UploadService, DownloadService, LanguageService, HttpService, CacheService, SessionService,\r\n { provide: LOCALE_ID, useValue: localStorage.getItem('languageCode') || 'zh-CHS' },]\r\n\r\n})\r\nexport class UploadModule { }\r\n\r\nexport const ɵa = UploadModule;\r\n","import { Component, OnInit, ViewChild, Input } from '@angular/core';\nimport { BsModalRef, BsModalService } from '@farris/ui-modal';\nimport { FileUploadComponent } from '../../upload/file-upload/file-upload.component';\n\n@Component({\n selector: 'app-uploaddialog',\n templateUrl: './uploaddialog.component.html',\n styleUrls: ['./uploaddialog.component.css']\n})\nexport class UploadDialogComponent implements OnInit {\n\n dlg: BsModalRef;\n\n metadataIdList:string[]=[];\n\n @Input() formId:string;\n\n constructor(private modalService: BsModalService) { }\n\n @ViewChild(FileUploadComponent) fileUpload: FileUploadComponent;\n\n ngOnInit() {\n }\n\n showDialog() {\n this.dlg = this.modalService.show(FileUploadComponent, {\n title: '选择文件',\n width: 800, height: 500,\n buttons: [\n {\n text: '上传', cls: 'k-button k-button-icontext k-primary', iconCls: \"k-icon k-i-check\", handle: () => {\n this.fileUpload.upload();\n this.dlg.close();\n }\n },\n {\n text: '关闭', cls: 'k-button k-button-icontext', iconCls: \"k-icon k-i-close\", handle: () => {\n this.fileUpload.cancel();\n this.dlg.close();\n }\n }\n ],\n\n showButtons: true,\n\n });\n this.dlg.content.formId=this.formId;\n\n }\n\n}\n","import { Injectable, Injector, ComponentFactoryResolver, LOCALE_ID } from '@angular/core';\r\nimport { FileUploadComponent } from './upload/file-upload/file-upload.component';\r\nimport { BsModalService, BsModalRef } from '@farris/ui-modal';\r\nimport { UploadFileInfo } from './upload/entity/uploadfileinfo';\r\nimport { Observable, of } from 'rxjs';\r\nimport { UploadLimit } from './upload/entity/uploadlimit';\r\nimport { LocalLangPipe } from './local.pipe';\r\n\r\n\r\n@Injectable()\r\nexport class UploadDialogService {\r\n\r\n localeid: string;\r\n localpipe: LocalLangPipe;\r\n constructor(private modalService: BsModalService, private componentFactoryResolver: ComponentFactoryResolver, private injector: Injector) {\r\n if (this.injector) {\r\n this.modalService = this.injector.get(BsModalService);\r\n this.localeid = localStorage.getItem(\"languageCode\") || this.injector.get(LOCALE_ID);\r\n this.localpipe = new LocalLangPipe(this.localeid);\r\n }\r\n }\r\n\r\n dlg: BsModalRef;\r\n\r\n fileInfoList: UploadFileInfo[] = [];\r\n\r\n showDialog(formId: string, rootId: string) {\r\n let flag = 0;\r\n return new Promise(resolve => {\r\n var viewerFactory = this.componentFactoryResolver.resolveComponentFactory(FileUploadComponent);\r\n var viewerRef = viewerFactory.create(this.injector);\r\n\r\n viewerRef.instance.rootId = rootId;\r\n viewerRef.instance.formId = formId;\r\n\r\n this.dlg = this.modalService.show(viewerRef, {\r\n title: this.localpipe.transform('uploadFile'),\r\n width: 950, height: 570,\r\n buttons: [\r\n {\r\n text: this.localpipe.transform('save'), cls: 'k-button k-button-icontext k-primary', handle: () => {\r\n this.dlg.content.upload().subscribe(\r\n res => {\r\n if (res) {\r\n resolve(res);\r\n flag = 1;\r\n this.dlg.close();\r\n }\r\n }\r\n );\r\n }\r\n },\r\n {\r\n text: this.localpipe.transform('close'), cls: 'k-button k-button-icontext', handle: () => {\r\n this.dlg.close();\r\n }\r\n }\r\n ],\r\n\r\n showButtons: true,\r\n showMaxButton: false,\r\n beforeClose: (): Observable<boolean> => {\r\n if (flag == 0)\r\n this.dlg.content.cancel();\r\n return of(true);\r\n }\r\n });\r\n })\r\n }\r\n\r\n uploadFile(formId: string, rootId: string, oldIdList: string[] = []) {\r\n return this.uploadFileWithLimit(formId, rootId, null, oldIdList);\r\n }\r\n\r\n\r\n uploadFileWithLimit(formId: string, rootId: string, limit: UploadLimit, oldIdList: string[] = []) {\r\n let flag = 0;\r\n return new Promise(resolve => {\r\n var uploadFactory = this.componentFactoryResolver.resolveComponentFactory(FileUploadComponent);\r\n var uploadRef = uploadFactory.create(this.injector);\r\n if (limit != null) {\r\n uploadRef.instance.fileCount = limit.fileCount;\r\n uploadRef.instance.securityInfo = limit.securityInfo;\r\n uploadRef.instance.fileNameLength = limit.fileNameLength;\r\n if (limit.fileType != null && limit.fileType != \"\")\r\n uploadRef.instance.fileType = limit.fileType\r\n }\r\n\r\n uploadRef.instance.rootId = rootId;\r\n uploadRef.instance.formId = formId;\r\n uploadRef.instance.oldIdList = oldIdList;\r\n\r\n this.dlg = this.modalService.show(uploadRef, {\r\n title: this.localpipe.transform('uploadFile'),\r\n width: 950, height: 570,\r\n buttons: [\r\n {\r\n\r\n text: this.localpipe.transform('save'), cls: 'k-button k-button-icontext k-primary', handle: () => {\r\n this.dlg.content.upload().subscribe(\r\n res => {\r\n if (res) {\r\n resolve(res);\r\n flag = 1;\r\n this.dlg.close();\r\n }\r\n }\r\n );\r\n }\r\n },\r\n {\r\n text: this.localpipe.transform('close'), cls: 'k-button k-button-icontext', handle: () => {\r\n this.dlg.close();\r\n }\r\n }\r\n ],\r\n\r\n showButtons: true,\r\n showMaxButton: false,\r\n beforeClose: (): Observable<boolean> => {\r\n if (flag == 0)\r\n this.dlg.content.cancel();\r\n return of(true);\r\n }\r\n });\r\n })\r\n }\r\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { FarrisDialogModule } from '@farris/ui-dialog';\nimport { MessagerModule } from '@farris/ui-messager';\nimport { BsModalService } from '@farris/ui-modal';\n\nimport { UploadModule } from '../upload/upload.module';\nimport { UploadDialogComponent } from './uploaddialog/uploaddialog.component';\nimport { HttpService } from '@ecp-caf/caf-common';\nimport { UploadService } from '../upload/upload.service';\nimport { UploadDialogService } from '../uploaddialog.service';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NotifyModule } from '@farris/ui-notify';\nimport { FileUploadComponent } from '../upload/file-upload/file-upload.component';\n\n\n@NgModule({\n declarations: [UploadDialogComponent],\n imports: [\n CommonModule,\n FarrisDialogModule,\n MessagerModule.forRoot(),\n UploadModule,\n NotifyModule.forRoot(),\n HttpClientModule\n ],\n exports: [UploadDialogComponent,FileUploadComponent],\n entryComponents: [UploadDialogComponent,FileUploadComponent],\n providers: [BsModalService, HttpService, UploadDialogService, UploadService]\n})\nexport class UploadDialogMoudle { }\n","import { GspDocSecurityBaseInfo } from \"./gspdocsecuritybaseinfo\";\r\n\r\nexport class UploadLimit {\r\n public fileType: string = \"*\";\r\n public fileCount: number = 0;\r\n public securityInfo: GspDocSecurityBaseInfo = null;\r\n public fileNameLength: number = 0;\r\n}","import { GspFormDocInfo } from './gspformdocinfo';\r\nimport { OperatingModes } from './operatingmodes';\r\n\r\nexport class GspFormUploadListEntity {\r\n public formId: string;\r\n public docInfoList: GspFormDocInfo[];\r\n public mode: OperatingModes;\r\n public rootId: string;\r\n}","import { GspDocMetaProperty } from './gspdocmetaproperty';\r\n\r\nexport class GspFormDocInfo {\r\n public metadataId: string;\r\n public fileName: string;\r\n public fileContent: string;\r\n public index: number;\r\n public total: number;\r\n public size: number;\r\n public exPropertyName: string;\r\n public extProperty: GspDocMetaProperty;\r\n}","export class GspDocMetaProperty{\r\n public extProperties1:string;\r\n public extProperties2:string;\r\n public extProperties3:string;\r\n public extProperties4:string;\r\n public extProperties5:string;\r\n}","import { OperatingModes } from './operatingmodes';\r\nimport { GspFormDocInfo } from './gspformdocinfo';\r\n\r\nexport class GspFormUploadEntity{\r\n public formId: string;\r\n public docInfo: GspFormDocInfo;\r\n public mode: OperatingModes;\r\n public rootId: string;\r\n\r\n} ","import { SecurityEntity } from \"./securityentity\";\r\n\r\nexport class FileInfo {\r\n public id: string;\r\n public name: string;\r\n public type: string;\r\n public source: any;\r\n public picListDisplayName: string;\r\n public queueListDisplayName: string;\r\n //public content: string;\r\n public size: string;\r\n public fileSize: number;\r\n public hasUploaded: boolean;\r\n public mouseOn: boolean;\r\n public selectd: boolean;\r\n public isUploading: boolean;\r\n public uploadResult: boolean;\r\n public uploadProcess: number;\r\n public errorMessage: string;\r\n public extensionDropListId:number;\r\n public extensionName: string;\r\n public securityDropListId:number;\r\n public securityInfo:SecurityEntity;\r\n}","export class GspDocSecurityBaseInfo {\r\n public securityId: string;\r\n public securityLevel: number;\r\n public name: string;\r\n}","export class SecurityEntity {\r\n public id: string;\r\n public securityId: string;\r\n public securityLevel: number;\r\n public name: string;\r\n}"],"names":["Injectable","Component","NgModule","HttpClientModule","LanguageService","HttpService","CacheService","SessionService","LOCALE_ID","http","tap","catchError","of","BasePathService","HttpClient","Pipe","Inject","UUID","DomSanitizer","map","MessagerService","LoadingService","Injector","Input","ViewChild","CommonModule","FarrisRTFModule","NotifyModule","MessagerModule","LoadingModule","ProgressModule","FormsModule","FarrisFormsModule","ComboListModule","BsModalService","ComponentFactoryResolver","FarrisDialogModule"],"mappings":"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"}
1
+ {"version":3,"file":"gsp-svc-formdoc-upload.umd.js.map","sources":["ng://@gsp-svc/formdoc-upload/lib/formdoc-upload.service.ts","ng://@gsp-svc/formdoc-upload/lib/formdoc-upload.component.ts","ng://@gsp-svc/formdoc-upload/lib/formdoc-upload.module.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/doctype.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/operatingmodes.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspformremovelistentity.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspformdocoperateentity.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/changeinstancerequest.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/copyfilerequest.ts","ng://@gsp-svc/formdoc-upload/lib/upload/upload.service.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/uploadfileinfo.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/extensionstoragefileinfo.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/filestate.ts","ng://@gsp-svc/formdoc-upload/lib/i18n/language.resource.ts","ng://@gsp-svc/formdoc-upload/lib/local.pipe.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/initmultiuploadrequest.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/completemultiuploadrequest.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspformstreamentity.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/multiuploadrequest.ts","ng://@gsp-svc/formdoc-upload/lib/upload/file-upload/file-upload.component.ts","ng://@gsp-svc/formdoc-upload/lib/upload/download.service.ts","ng://@gsp-svc/formdoc-upload/lib/upload/upload.module.ts","ng://@gsp-svc/formdoc-upload/lib/uploaddialog/uploaddialog/uploaddialog.component.ts","ng://@gsp-svc/formdoc-upload/lib/uploaddialog.service.ts","ng://@gsp-svc/formdoc-upload/lib/uploaddialog/uploaddialog.module.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/uploadlimit.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspformuploadlistentity.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspformdocinfo.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspdocmetaproperty.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspformuploadentity.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/fileinfo.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspdocsecuritybaseinfo.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/securityentity.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FormdocUploadService {\n\n constructor() { }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lib-formdoc-upload',\n template: `\n <p>\n formdoc-upload works!\n </p>\n `,\n styles: []\n})\nexport class FormdocUploadComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { HttpClientModule } from '@angular/common/http';\nimport { LOCALE_ID, NgModule } from '@angular/core';\nimport { CacheService, HttpService, LanguageService, SessionService } from '@ecp-caf/caf-common';\nimport { FormdocUploadComponent } from './formdoc-upload.component';\nimport { LocalLangPipe } from './local.pipe';\n\n\n@NgModule({\n declarations: [FormdocUploadComponent],\n imports: [\n HttpClientModule\n ],\n \n exports: [FormdocUploadComponent],\n providers:[ LanguageService,HttpService,CacheService,SessionService,\n { provide: LOCALE_ID, useValue: localStorage.getItem('languageCode') || 'zh-CHS' },]\n})\nexport class FormdocUploadModule { }\n","export enum DocType{\r\n Word,\r\n Excel,\r\n Powerpoint,\r\n Pdf,\r\n Txt,\r\n Image,\r\n Other,\r\n Zip\r\n}","export enum OperatingModes{\r\n Formal,\r\n Temp\r\n}","import { OperatingModes } from \"./operatingmodes\";\r\n\r\nexport class GspFormRemoveListEntity {\r\n public metadataIdList: string[];\r\n public mode: OperatingModes;\r\n public rootId: string;\r\n}","export class GspFormDocOperateEntity {\r\n public metadataIdList: string[];\r\n public rootId: string;\r\n}","import { ExStorageFileInfo } from './extensionstoragefileinfo';\r\n\r\nexport class ChangeInstanceRequest {\r\n public fileInfoList: ExStorageFileInfo[];\r\n public rootId: string;\r\n}","export class CopyFileRequest{\r\n public metadataId:string;\r\n public rootId:string;\r\n public path:string;\r\n}","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { GspFormUploadListEntity } from './entity/gspformuploadlistentity';\r\nimport { HttpService } from '@ecp-caf/caf-common';\r\nimport { catchError, tap } from 'rxjs/operators';\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { GspFormRemoveListEntity } from './entity/gspformremovelistentity';\r\nimport { of } from 'rxjs/observable/of';\r\nimport { GspFormDocOperateEntity } from './entity/gspformdocoperateentity';\r\n\r\nimport { GspFormUploadEntity } from './entity/gspformuploadentity';\r\nimport { ExStorageFileInfo } from './entity/extensionstoragefileinfo';\r\nimport { ChangeInstanceRequest } from './entity/changeinstancerequest';\r\nimport { OperatingModes } from './entity/operatingmodes';\r\nimport { GspDocSecurityBaseInfo } from './entity/gspdocsecuritybaseinfo';\r\nimport { UploadFileInfo } from './entity/uploadfileinfo';\r\nimport { ExPropertyRequest } from './entity/expropertyrequest';\r\nimport { CopyFileRequest } from './entity/copyfilerequest';\r\nimport { BasePathService } from '@farris/rtf';\r\n\r\n\r\n@Injectable()\r\nexport class UploadService {\r\n\r\n constructor(private http: HttpService, private httpclient: HttpClient) { }\r\n\r\n uploadList(docListInfo: GspFormUploadListEntity, rootId: string): Observable<any> {\r\n let url;\r\n docListInfo.rootId = rootId;\r\n\r\n url = \"/api/runtime/dfs/v1.0/formdoc/list\";\r\n //url = \"/api/runtime/dfs/v1.0/formdoc/list\";\r\n\r\n return this.http.post(url, docListInfo).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n\r\n commit(metadataIdList: string[], rootId: string): Observable<any> {\r\n let url;\r\n let entity: GspFormDocOperateEntity = new GspFormDocOperateEntity;\r\n entity.metadataIdList = metadataIdList;\r\n entity.rootId = rootId;\r\n url = \"/api/runtime/dfs/v1.0/formdoc/commit\";\r\n //url = \"http://localhost:5000/api/runtime/dfs/v1.0/formdoc/commit\";\r\n\r\n return this.http.post(url, entity).pipe();\r\n }\r\n\r\n cancel(metadataIdList: string[], rootId: string): Observable<any> {\r\n let url;\r\n let entity: GspFormDocOperateEntity = new GspFormDocOperateEntity;\r\n entity.metadataIdList = metadataIdList;\r\n entity.rootId = rootId;\r\n url = \"/api/runtime/dfs/v1.0/formdoc/cancel\";\r\n //url = \"http://localhost:5000/api/runtime/dfs/v1.0/formdoc/cancel\";\r\n //localStorage.setItem(\"SessionId\",\"huoliang\");\r\n return this.http.put(url, entity).pipe();\r\n }\r\n\r\n removeList(idList: string[], rootId: string) {\r\n let url;\r\n //url = \"http://localhost:5000/api/runtime/dfs/v1.0/formdoc/list\";\r\n url = \"/api/runtime/dfs/v1.0/formdoc/list\";\r\n var idListInfo = new GspFormRemoveListEntity;\r\n idListInfo.metadataIdList = idList;\r\n idListInfo.mode = OperatingModes.Temp;\r\n idListInfo.rootId = rootId;\r\n return this.http.delete(url, idListInfo).pipe();\r\n }\r\n\r\n getFile(metadataId: string, rootId: string) {\r\n\r\n let url;\r\n if (rootId == \"\")\r\n url = \"/api/runtime/dfs/v1.0/formdoc/file/\" + metadataId;\r\n else\r\n url = \"/api/runtime/dfs/v1.0/formdoc/file/\" + metadataId + \"/\" + rootId;\r\n return this.http.get(url).pipe(tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n\r\n }\r\n\r\n uploadFile(docInfo: GspFormUploadEntity): Observable<any> {\r\n\r\n let url = \"/api/runtime/dfs/v1.0/formdoc\";\r\n //url = \"/api/runtime/dfs/v1.0/formdoc/list\";\r\n\r\n return this.http.post(url, docInfo).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n uploadSliceFile(formdata: FormData): Observable<any> {\r\n\r\n let url = \"/api/runtime/dfs/v1.0/formdoc/slice\";\r\n //url = \"/api/runtime/dfs/v1.0/formdoc/list\";\r\n const baseUrl = BasePathService.convertPath(url);\r\n return this.httpclient.post(baseUrl, formdata).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n\r\n getStorageExtensionInfo(): Observable<any> {\r\n let url = \"/api/runtime/dfs/v1.0/storagestrategy/extension\";\r\n //url = \"/api/runtime/dfs/v1.0/formdoc/list\";\r\n\r\n return this.http.get(url).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n getSecurityInfoList(baseInfo: GspDocSecurityBaseInfo): Observable<any> {\r\n let url = \"/api/runtime/dfs/v1.0/storagestrategy/security\";\r\n url = url + \"?id=\" + baseInfo.securityId + \"&level=\" + baseInfo.securityLevel;\r\n\r\n return this.http.get(url).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n changeStorageInstance(storageInfoList: ExStorageFileInfo[], rootId: string): Observable<any> {\r\n let url = \"/api/runtime/dfs/v1.0/formdoc/changeinstance\";\r\n let request: ChangeInstanceRequest = new ChangeInstanceRequest;\r\n request.fileInfoList = storageInfoList;\r\n request.rootId = rootId;\r\n return this.http.post(url, request).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n copyFile(metadataId: string, rootId: string, path: string): Observable<any> {\r\n let url = \"/api/runtime/dfs/v1.0/formdoc/copy\";\r\n const baseUrl = BasePathService.convertPath(url);\r\n let request: CopyFileRequest = new CopyFileRequest;\r\n request.metadataId = metadataId;\r\n request.rootId = rootId;\r\n request.path = path;\r\n return this.httpclient.post(baseUrl, request, { responseType: 'text' }).pipe(\r\n tap(res => { }),\r\n // catchError((error: HttpErrorResponse) => {\r\n // return of(error);\r\n // })\r\n );\r\n }\r\n\r\n saveSecurityInfo(uploadFileInfoList: UploadFileInfo[], rootId: string): Observable<any> {\r\n let url = \"/api/runtime/dfs/v1.0/doc/exproperty\";\r\n let reqList: ExPropertyRequest[] = [];\r\n uploadFileInfoList.forEach(element => {\r\n let request: ExPropertyRequest = { id: element.metadataId, rootId: rootId, exProperty: JSON.stringify(element.securityInfo) };\r\n reqList.push(request);\r\n })\r\n return this.http.post(url, reqList).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }))\r\n }\r\n\r\n\r\n getUploadedFileInfoList(formId: string, rootId: string): Observable<any> {\r\n let url = \"/api/runtime/dfs/v1.0/formdoc/uploadedfile/infolist\" + \"?formid=\" + formId + \"&rootid=\" + rootId;\r\n //url = \"/api/runtime/dfs/v1.0/formdoc/list\";\r\n\r\n return this.http.get(url).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n getUploadInfo(rootId: string): Observable<any> {\r\n let url = \"/api/runtime/dfs/v1.0/rootsetting/info?id=\" + rootId;\r\n\r\n return this.http.get(url).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n // getRootSetting(rootId: string): Observable<any> {\r\n // let url = \"/api/runtime/dfs/v1.0/rootsetting/\" + rootId;\r\n\r\n // return this.http.get(url).pipe(\r\n // tap(res => { }),\r\n // catchError((error: HttpErrorResponse) => {\r\n // return of(error);\r\n // }));\r\n // }\r\n\r\n // getValidation(id: string): Observable<any> {\r\n // let url = \"/api/runtime/dfs/v1.0/validation/\" + id;\r\n\r\n // return this.http.get(url).pipe(\r\n // tap(res => { }),\r\n // catchError((error: HttpErrorResponse) => {\r\n // return of(error);\r\n // }));\r\n // }\r\n\r\n}\r\n","import { FileState } from \"./filestate\";\r\nimport { SecurityEntity } from \"./securityentity\";\r\n\r\nexport class UploadFileInfo {\r\n\r\n public metadataId: string;\r\n public fileName: string;\r\n public fileSize: string;\r\n public originalSize: number;\r\n public state: FileState;\r\n public securityInfo: SecurityEntity;\r\n\r\n}\r\n","export class ExStorageFileInfo {\r\n public metadataId: string;\r\n public exPropertyName: string;\r\n}","export enum FileState{\r\n New,\r\n Update\r\n}","export const LANG_RESOURCES = {\r\n 'zh-CHS': {\r\n 'uploadFile': '上传文件',\r\n 'uploading':'正在上传文件……',\r\n 'selectedCount':'已选择文件数量:',\r\n 'limitCount':'超出系统限制数量:',\r\n 'rechooseFile':',请重新选择上传文件。',\r\n 'save':'保存',\r\n 'cancel':'取消',\r\n 'haveSameName':'已上传过同名文件: ',\r\n 'rename':'重命名',\r\n\t\t 'replace':'替换',\r\n 'sizeZero':'文件大小为0',\r\n 'sizeMax':'文件大小超出限制',\r\n 'uploadFailure':'上传失败',\r\n 'uploadSucceed':'上传成功',\r\n 'wait':'等一下,文档正在上传。',\r\n 'saveTo':'正在将文件保存到',\r\n 'delete':'删除',\r\n 'selectAll':'全选',\r\n 'selectNull':'全不选',\r\n 'detail':'详情',\r\n 'fileName':'文件名',\r\n 'state':'状态',\r\n 'operation':'操作',\r\n 'size':'大小',\r\n 'close':'关闭',\r\n 'loading':'拼命加载中',\r\n 'mismatchChunkSize':'文档分片上传部分丢失,请重新上传,如果多次上传失败,请联系管理员。',\r\n 'invalidCharacters': '文件名包含特殊字符',\r\n 'invalidExtNames': '文档类型不允许上传',\r\n 'whiteExtNames': '。允许上传的文件类型为:',\r\n 'blackExtNames': '。不允许上传的文件类型为:',\r\n 'UnrecognizedFileType':'无法确定文件类型',\r\n 'fileNameOverSize':'文件名超出长度限制,最长允许'\r\n },\r\n 'en-US': {\r\n 'uploadFile': 'Upload File',\r\n 'uploading':'File Uploading……',\r\n 'selectedCount':'Selected files count:',\r\n 'limitCount':'System limit count:',\r\n 'rechooseFile':',Reselect upload file.',\r\n 'save':'Save',\r\n 'cancel':'Cancel',\r\n 'haveSameName':'A file with the same name has been uploaded: ',\r\n 'rename':'Rename',\r\n\t\t'replace':'Replace',\r\n 'sizeZero':'File size is 0',\r\n 'sizeMax':'File size beyond limit',\r\n 'uploadFailure':'Upload failed',\r\n 'uploadSucceed':'Upload successfully',\r\n 'wait':'Wait a minute, the file is uploading.',\r\n 'saveTo':'Saving file to',\r\n 'delete':'Delete',\r\n 'selectAll':'Select all',\r\n 'selectNull':'Not at all',\r\n 'detail':'Details',\r\n 'fileName':'Filename',\r\n 'state':'State',\r\n 'operation':'Operation',\r\n 'size':'Size',\r\n 'close':'Close',\r\n 'loading':'Loading',\r\n 'mismatchChunkSize':'The partial upload of document shards is missing. Please upload again. If multiple uploads fail, please contact the administrator.',\r\n 'invalidCharacters': 'The file name contains special characters',\r\n 'invalidExtNames': 'Document type does not allow uploading',\r\n 'whiteExtNames': '.The file types allowed for uploading are:',\r\n 'blackExtNames': '.The file types that are not allowed to be uploaded are:',\r\n 'UnrecognizedFileType': 'Unrecognized file type',\r\n 'fileNameOverSize':'fileName oversize,the lengthest is'\r\n },\r\n 'en': {\r\n 'uploadFile': 'Upload File',\r\n 'uploading':'File Uploading……',\r\n 'selectedCount':'Selected files count:',\r\n 'limitCount':'System limit count:',\r\n 'rechooseFile':',Reselect upload file.',\r\n 'save':'Save',\r\n 'cancel':'Cancel',\r\n 'haveSameName':'A file with the same name has been uploaded: ',\r\n 'rename':'Rename',\r\n\t\t'replace':'Replace',\r\n 'sizeZero':'File size is 0',\r\n 'sizeMax':'File size beyond limit',\r\n 'uploadFailure':'Upload failed',\r\n 'uploadSucceed':'Upload successfully',\r\n 'wait':'Wait a minute, the file is uploading.',\r\n 'saveTo':'Saving file to',\r\n 'delete':'Delete',\r\n 'selectAll':'Select all',\r\n 'selectNull':'Not at all',\r\n 'detail':'Details',\r\n 'fileName':'Filename',\r\n 'state':'State',\r\n 'operation':'Operation',\r\n 'size':'Size',\r\n 'close':'Close',\r\n 'loading':'Loading',\r\n 'mismatchChunkSize':'The partial upload of document shards is missing. Please upload again. If multiple uploads fail, please contact the administrator.',\r\n 'invalidCharacters': 'The file name contains special characters',\r\n 'invalidExtNames': 'Document type does not allow uploading',\r\n 'whiteExtNames': '.The file types allowed for uploading are:',\r\n 'blackExtNames': '.The file types that are not allowed to be uploaded are:',\r\n 'UnrecognizedFileType': 'Unrecognized file type',\r\n 'fileNameOverSize':'fileName oversize,the lengthest is'\r\n },\r\n 'zh-CHT': {\r\n 'uploadFile': '上傳文件',\r\n 'uploading':'正在上傳文件……',\r\n 'selectedCount':'已選擇文件數量:',\r\n 'limitCount':'超出系統限制數量:',\r\n 'rechooseFile':',重新選擇上傳文件。',\r\n 'save':'保存',\r\n 'cancel':'取消',\r\n 'haveSameName':'已上傳過同名文件: ',\r\n 'rename':'重命名',\r\n\t\t'replace':'替換',\r\n 'sizeZero':'文件大小為0',\r\n 'sizeMax':'文件大小超出限制',\r\n 'uploadFailure':'上傳失敗',\r\n 'uploadSucceed':'上傳成功',\r\n 'wait':'等一下,文件正在上傳。',\r\n 'saveTo':'正在將文件保存到',\r\n 'delete':'删除',\r\n 'selectAll':'全選',\r\n 'selectNull':'全不選',\r\n 'detail':'詳情',\r\n 'fileName':'文件名',\r\n 'state':'狀態',\r\n 'operation':'操作',\r\n 'size':'大小',\r\n 'close':'關閉',\r\n 'loading':'拼命加載中',\r\n 'mismatchChunkSize':'文檔分片上傳部分遺失,請重新上傳,如果多次上傳失敗,請聯系管理員。',\r\n 'invalidCharacters': '文件名包含特殊字符',\r\n 'invalidExtNames': '文檔類型不允許上傳',\r\n 'whiteExtNames': '。允許上傳的文件類型為:',\r\n 'blackExtNames': '。不允許上傳的文件類型為:',\r\n 'UnrecognizedFileType': '無法確定文件類型',\r\n 'fileNameOverSize':'文件名超出长度限制,最长允许'\r\n },\r\n};\r\n","import { Pipe, PipeTransform, Inject, LOCALE_ID } from '@angular/core';\r\nimport { LANG_RESOURCES } from './i18n/language.resource';\r\n\r\n@Pipe({ name: 'locale' })\r\nexport class LocalLangPipe implements PipeTransform {\r\n private readonly defaultLang: string = \"zh-CHS\";\r\n private langCode: string;\r\n private lang: {};\r\n constructor(\r\n @Inject(LOCALE_ID) localeId: string\r\n ) {\r\n this.langCode = localStorage.getItem(\"languageCode\") || localeId || this.defaultLang;\r\n this.lang = LANG_RESOURCES[this.langCode] || LANG_RESOURCES[this.defaultLang];\r\n }\r\n transform(name: string): any {\r\n return this.lang[name] || name;\r\n }\r\n}\r\n\r\n","export class InitMultiUploadRequest {\r\n public path: string;\r\n public metadataId: string;\r\n public rootId: string;\r\n public fileName: string;\r\n public size: number;\r\n}","import { MultiUploadResult } from \"./multiuploadresult\";\r\n\r\nexport class CompleteMultiUploadRequest {\r\n public metadataId: string;\r\n public rootId: string;\r\n public uploadId: string;\r\n public size: number;\r\n public partList: MultiUploadResult[];\r\n public exPropertyName: string;\r\n}","import { GspDocMetaProperty } from \"./gspdocmetaproperty\";\r\nimport { OperatingModes } from \"./operatingmodes\";\r\n\r\nexport class GspFormStreamEntity {\r\n public formId: string;\r\n public metadataId: string;\r\n public rootId: string;\r\n public fileName: string;\r\n public size: number;\r\n public mode: OperatingModes;\r\n public exPropertyName: string;\r\n public extProperty: GspDocMetaProperty;\r\n}","export class MultiUploadRequest {\r\n public metadataId: string;\r\n\r\n public total: number;\r\n\r\n public size: number;\r\n\r\n public index: number;\r\n\r\n public rootId: string;\r\n\r\n public uploadId: string;\r\n}","import { Component, OnInit, Input, ViewChild, TemplateRef, Injector, LOCALE_ID } from '@angular/core';\r\nimport { FileInfo } from '../entity/fileinfo';\r\nimport { DocType } from '../entity/doctype';\r\nimport { GspFormDocInfo } from '../entity/gspformdocinfo';\r\nimport { OperatingModes } from '../entity/operatingmodes';\r\nimport { UploadService } from '../upload.service';\r\nimport { UploadFileInfo } from '../entity/uploadfileinfo';\r\nimport { MessagerService } from '@farris/ui-messager';\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\nimport { Observable, of } from 'rxjs';\r\nimport { GspFormUploadEntity } from '../entity/gspformuploadentity';\r\nimport { UUID } from 'angular2-uuid';\r\nimport { StorageExtension } from '../entity/storageextension';\r\nimport { ExStorageFileInfo } from '../entity/extensionstoragefileinfo';\r\nimport { DropListEntity } from '../entity/droplistentity';\r\nimport { LoadingService } from '@farris/ui-loading';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { FileState } from '../entity/filestate';\r\nimport { LocalLangPipe } from '../../local.pipe';\r\nimport { GspDocSecurityBaseInfo } from '../entity/gspdocsecuritybaseinfo';\r\nimport { SecurityEntity } from '../entity/securityentity';\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { InitMultiUploadRequest } from '../entity/initmultiuploadrequest';\r\nimport { CompleteMultiUploadRequest } from '../entity/completemultiuploadrequest';\r\nimport { GspFormStreamEntity } from '../entity/gspformstreamentity';\r\nimport { MultiUploadRequest } from '../entity/multiuploadrequest';\r\nimport { MultiUploadResult } from '../entity/multiuploadresult';\r\nimport { BasePathService } from '@farris/rtf';\r\n\r\n@Component({\r\n selector: 'app-file-upload',\r\n templateUrl: './file-upload.component.html',\r\n styleUrls: ['./file-upload.component.css'],\r\n})\r\nexport class FileUploadComponent implements OnInit {\r\n\r\n files: FileInfo[] = [];\r\n metadataIdList: string[] = [];\r\n uploadFileInfoList: UploadFileInfo[] = [];\r\n errFileList: string[] = [];\r\n errTypeList: string[] = [];\r\n nullFileList: string[] = [];\r\n beyondFileList: string[] = [];\r\n fileNameOversizeList: string[] = [];\r\n invalidCharactersFileList: string[] = [];\r\n invalidExtNamesFileList: string[] = [];\r\n unrecognizedTypeFileList: string[] = [];\r\n invalidCharacters: string = '';\r\n invalidExtNames: string = '';\r\n showType: number = 0;\r\n mouseOn: boolean = false;\r\n isWhiteList: boolean = false;\r\n bufferSize = 5 * 1024 * 1024;\r\n selectedFiles: any;\r\n radioButtonGroupValue;\r\n selectedFileCount: number = 0;\r\n uploadBtnDisabled: boolean = false;\r\n\r\n uploadIconAddress = this.createBaseUrl('/platform/runtime/dfs/images/upload.svg');\r\n uploadLittleIconAddress = this.createBaseUrl('/platform/runtime/dfs/images/uploadIcon.svg');\r\n\r\n hasSelectedFile: boolean = false;\r\n\r\n fileAllSelected: boolean = false;\r\n\r\n uploadProcess = { width: '0%' };\r\n\r\n fileTotalChunk: { [key: string]: number } = {};\r\n\r\n requestArray: Array<Observable<any>> = new Array;\r\n\r\n requestBodyArray: Array<GspFormUploadEntity> = new Array;\r\n\r\n uploadedChunk: { [key: string]: number } = {};\r\n uploadedProcess: { [key: string]: number } = {};\r\n\r\n //allSelected: boolean = true;\r\n storageExtension: StorageExtension;\r\n\r\n defaultPropertyName: string = \"\";\r\n propertiesNames: DropListEntity[] = [];\r\n\r\n securityInfoList: SecurityEntity[] = [];\r\n\r\n queueListStyle = { width: '480px' };\r\n\r\n dropListValue: string = \"\";\r\n\r\n uploadedFileTotal: number = 0;\r\n\r\n allowedMultiUpload: boolean;\r\n\r\n haveExtensionProperty: boolean = false;\r\n\r\n haveSecurityInfo: boolean = false;\r\n\r\n uploadedFileInfoList = [];\r\n oldUploadedFileList = [];\r\n //uploadedNameList = [];\r\n uploadInfoErrorMessage: string = \"\";\r\n\r\n sameNameAllowed = true;\r\n maxFileSize: number = 0;;\r\n localeid: string;\r\n localepipe: LocalLangPipe;\r\n httpclient: HttpClient;\r\n checkboxPos = { top: '0px' }\r\n\r\n constructor(private msgService: MessagerService, private uploadService: UploadService, private loadService: LoadingService, private injector?: Injector) {\r\n if (this.injector) {\r\n this.httpclient = this.injector.get(HttpClient);\r\n this.localeid = localStorage.getItem(\"languageCode\") || this.injector.get(LOCALE_ID);\r\n this.localepipe = new LocalLangPipe(this.localeid);\r\n }\r\n }\r\n @Input() formId: string;\r\n @Input() rootId: string;\r\n @Input() fileType: string = \"*\";\r\n @Input() fileCount: number = 0;\r\n @Input() oldIdList: string[] = [];\r\n @Input() securityInfo: GspDocSecurityBaseInfo = null;\r\n @Input() fileNameLength: number = 0;\r\n\r\n @ViewChild('opCell') opCell: TemplateRef<any>;\r\n\r\n ngOnInit() {\r\n if (navigator.userAgent.indexOf('Firefox') >= 0)\r\n this.checkboxPos.top = '14px';\r\n //if (this.storageService != null) {\r\n if (this.securityInfo != null) {\r\n this.uploadService.getSecurityInfoList(this.securityInfo).subscribe(\r\n res => {\r\n this.haveSecurityInfo = true;\r\n let i = 0;\r\n res.forEach(element => {\r\n this.securityInfoList.push({ id: i.toString(), securityId: element.securityId, securityLevel: element.securityLevel, name: element.name });\r\n i++;\r\n });\r\n }\r\n )\r\n }\r\n this.uploadService.getStorageExtensionInfo().subscribe(\r\n res => {\r\n if (res != null && res.error == null) {\r\n this.storageExtension = res;\r\n this.defaultPropertyName = this.storageExtension.defaultPropertyName;\r\n this.propertiesNames.push({ id: \"0\", name: this.storageExtension.defaultPropertyName });\r\n let i = 0;\r\n // this.propertiesNames.push(...(this.storageExtension.extensionPropertyNameList));\r\n this.storageExtension.extensionPropertyNameList.forEach(element => {\r\n this.propertiesNames.push({ id: (++i).toString(), name: element });\r\n });\r\n this.queueListStyle.width = '380px';\r\n this.haveExtensionProperty = true;\r\n }\r\n }\r\n )\r\n\r\n this.uploadService.getUploadInfo(this.rootId).subscribe(res => {\r\n if (res.error != null) {\r\n this.uploadInfoErrorMessage = res.error.Message;\r\n // console.log('获取上传信息报错,错误信息为:',errMsg);\r\n return;\r\n } else {\r\n this.uploadBtnDisabled = false;\r\n this.sameNameAllowed = res.sameNameAllowed;\r\n this.maxFileSize = parseInt(JSON.parse(res.validateConfiguration).maxFileSize);\r\n this.isWhiteList = JSON.parse(res.validateConfiguration).whiteList;\r\n this.invalidCharacters = JSON.parse(res.validateConfiguration).invalidCharacters;\r\n this.invalidExtNames = JSON.parse(res.validateConfiguration).invalidExtNames.toLowerCase();\r\n this.allowedMultiUpload = res.allowedMultiUpload;\r\n if (!this.sameNameAllowed) {\r\n this.uploadService.getUploadedFileInfoList(this.formId, this.rootId).subscribe(\r\n res => {\r\n if (res != null && res.error == null) {\r\n this.uploadedFileInfoList = res;\r\n this.oldUploadedFileList = JSON.parse(JSON.stringify(res));;\r\n }\r\n }\r\n )\r\n }\r\n }\r\n })\r\n if (this.oldIdList != null && this.oldIdList.length > 0) {\r\n // this.uploadService.cancel(this.oldIdList, this.rootId).subscribe();\r\n }\r\n\r\n this.radioButtonGroupValue = 'showByGroup';\r\n }\r\n\r\n totalLoad: any = null;\r\n\r\n showLoading() {\r\n this.hasSelectedFile = true;\r\n // if (this.totalLoad == null)\r\n // this.totalLoad = this.loadService.show({\r\n // message: this.localepipe.transform('uploading')\r\n // });\r\n }\r\n\r\n getRightClass() {\r\n if (this.uploadBtnDisabled) {\r\n return 'btn btn-primary btn-lg disabled';\r\n } else {\r\n return 'btn btn-primary btn-lg';\r\n }\r\n }\r\n\r\n findInvalidCharacter(name: string): string[] {\r\n let charList: string[] = [];\r\n this.invalidCharacters.split('|').forEach(element => {\r\n if (name.indexOf(element) >= 0)\r\n charList.push(element);\r\n })\r\n\r\n return charList;\r\n }\r\n\r\n\r\n hasFileType(file) {\r\n return file.name.includes('.');\r\n }\r\n\r\n fileSelected($event) {\r\n if (this.uploadInfoErrorMessage) {\r\n this.msgService.error(this.uploadInfoErrorMessage);\r\n this.uploadBtnDisabled = true;\r\n return;\r\n }\r\n\r\n this.hasSelectedFile = true;\r\n this.selectedFiles = document.querySelector('#file');\r\n\r\n if (this.fileCount > 0) {\r\n if (this.selectedFiles.files.length + this.files.length > this.fileCount) {\r\n let selectedNum: number = (this.selectedFiles.files.length as number) + this.files.length;\r\n this.msgService.warning(this.localepipe.transform('selectedCount') + selectedNum + this.localepipe.transform('limitCount') + this.fileCount + this.localepipe.transform('rechooseFile'));\r\n return;\r\n }\r\n }\r\n\r\n //this.flag = 0;\r\n for (let i = 0; i < this.selectedFiles.files.length; i++) {\r\n let selectedFile = this.selectedFiles.files[i];\r\n selectedFile.isAllowedUpload = true;\r\n //selectedFile.slice\r\n let uuid = UUID.UUID();\r\n\r\n if (selectedFile.size == 0) {\r\n this.nullFileList.push(selectedFile.name);\r\n continue;\r\n }\r\n\r\n if (this.fileNameLength > 0 && selectedFile.name.length > this.fileNameLength) {\r\n this.fileNameOversizeList.push(selectedFile.name);\r\n continue;\r\n }\r\n\r\n if (this.maxFileSize != null && this.maxFileSize > 0) {\r\n if (selectedFile.size > this.maxFileSize * 1000) {\r\n this.beyondFileList.push(selectedFile.name);\r\n continue;\r\n }\r\n }\r\n\r\n const invalidCharList = this.findInvalidCharacter(selectedFile.name);\r\n let invalidCharListFilter = invalidCharList.filter((s) => {\r\n return s && s.trim();\r\n });\r\n let errorMessage = \"\"\r\n if (invalidCharListFilter.length > 0) {\r\n invalidCharListFilter.forEach((element, index) => {\r\n errorMessage += \"\\\"\";\r\n errorMessage += element;\r\n errorMessage += \"\\\"\";\r\n errorMessage += (index === invalidCharListFilter.length - 1) ? \"\" : \",\";\r\n })\r\n if (this.selectedFiles.files.length === 1) {\r\n selectedFile.isAllowedUpload = false;\r\n this.msgService.warning(this.localepipe.transform('invalidCharacters') + errorMessage + this.localepipe.transform('rechooseFile'));\r\n return;\r\n }\r\n if (this.selectedFiles.files.length > 1) {\r\n selectedFile.isAllowedUpload = false;\r\n this.invalidCharactersFileList.push(selectedFile.name);\r\n continue;\r\n }\r\n\r\n }\r\n\r\n if (!this.hasFileType(selectedFile)) {\r\n if (this.selectedFiles.files.length === 1) {\r\n selectedFile.isAllowedUpload = false;\r\n this.msgService.warning(selectedFile.name + this.localepipe.transform('UnrecognizedFileType') + this.localepipe.transform('rechooseFile'));\r\n return;\r\n }\r\n if (this.selectedFiles.files.length > 1) {\r\n selectedFile.isAllowedUpload = false;\r\n this.unrecognizedTypeFileList.push(selectedFile.name);\r\n continue;\r\n }\r\n }\r\n\r\n // let curFileSuffix = selectedFile.name.split('.')[1];\r\n let curFileSuffix = selectedFile.name.substr(selectedFile.name.lastIndexOf('.') + 1).toLowerCase();\r\n const extNames = this.listToString(this.invalidExtNames.split('|'));\r\n const extNamesAry = this.invalidExtNames.split('|');\r\n if (!this.isWhiteList && extNamesAry.includes(curFileSuffix)) {\r\n if (this.selectedFiles.files.length === 1) {\r\n selectedFile.isAllowedUpload = false;\r\n this.msgService.warning(selectedFile.name + this.localepipe.transform('invalidExtNames') + this.localepipe.transform('blackExtNames') + extNames + this.localepipe.transform('rechooseFile'));\r\n return;\r\n }\r\n if (this.selectedFiles.files.length > 1) {\r\n selectedFile.isAllowedUpload = false;\r\n this.invalidExtNamesFileList.push(selectedFile.name);\r\n continue;\r\n }\r\n }\r\n if (this.isWhiteList && !extNamesAry.includes(curFileSuffix)) {\r\n if (this.selectedFiles.files.length === 1) {\r\n selectedFile.isAllowedUpload = false;\r\n this.msgService.warning(selectedFile.name + this.localepipe.transform('invalidExtNames') + this.localepipe.transform('whiteExtNames') + extNames + this.localepipe.transform('rechooseFile'));\r\n return;\r\n }\r\n if (this.selectedFiles.files.length > 1) {\r\n selectedFile.isAllowedUpload = false;\r\n this.invalidExtNamesFileList.push(selectedFile.name);\r\n continue;\r\n }\r\n }\r\n\r\n if (!this.sameNameAllowed) {\r\n if (this.uploadedFileInfoList.find(x => x.fileName == selectedFile.name) != null) {\r\n\r\n const msg = this.msgService.show('warning', this.localepipe.transform('haveSameName') + selectedFile.name, {\r\n initialState: {\r\n buttons: [\r\n {\r\n text: this.localepipe.transform('rename'),\r\n cls: 'btn btn-secondary',\r\n handle: () => {\r\n let oldName: string = selectedFile.name;\r\n let newName\r\n let flag = true;\r\n let i = 1;\r\n while (flag) {\r\n newName = oldName.substring(0, oldName.lastIndexOf('.')) + '(' + i + ')' + oldName.substring(oldName.lastIndexOf('.'));\r\n if (this.uploadedFileInfoList.find(x => x.fileName == newName) != null) {\r\n i++;\r\n }\r\n else\r\n flag = false;\r\n }\r\n\r\n this.uploadFile(uuid, selectedFile, newName);\r\n msg.close();\r\n }\r\n },\r\n {\r\n text: this.localepipe.transform('replace'),\r\n cls: 'btn btn-secondary',\r\n handle: () => {\r\n uuid = this.uploadedFileInfoList.find(x => x.fileName == selectedFile.name).metadataId;\r\n this.uploadFile(uuid, selectedFile, selectedFile.name, FileState.Update);\r\n this.uploadedFileTotal--;\r\n if (this.oldUploadedFileList.find(x => x.fileName == selectedFile.name)) {\r\n this.uploadedFileTotal++;\r\n this.uploadedFileInfoList.splice(this.uploadedFileInfoList.indexOf(this.uploadedFileInfoList.filter(x => x.fileName == selectedFile.name)[0]), 1);\r\n }\r\n msg.close();\r\n }\r\n },\r\n {\r\n text: this.localepipe.transform('cancel'),\r\n cls: 'btn btn-secondary',\r\n handle: () => {\r\n msg.close();\r\n }\r\n }\r\n ]\r\n }\r\n })\r\n continue;\r\n }\r\n }\r\n if (selectedFile.isAllowedUpload === true) {\r\n this.uploadFile(uuid, selectedFile, selectedFile.name);\r\n }\r\n }\r\n\r\n if (this.errFileList.length > 0) {\r\n let name: string = this.listToString(this.errFileList);\r\n this.msgService.warning(this.localepipe.transform('haveSameName') + name + this.localepipe.transform('rechooseFile'));\r\n this.errFileList = [];\r\n }\r\n\r\n if (this.nullFileList.length > 0) {\r\n let name: string = this.listToString(this.nullFileList);\r\n this.msgService.warning(name + this.localepipe.transform('sizeZero') + this.localepipe.transform('rechooseFile'));\r\n this.nullFileList = [];\r\n }\r\n\r\n if (this.fileNameOversizeList.length > 0) {\r\n let name: string = this.listToString(this.fileNameOversizeList);\r\n this.msgService.warning(name + this.localepipe.transform('fileNameOverSize') + this.fileNameLength + this.localepipe.transform('rechooseFile'));\r\n this.fileNameOversizeList = [];\r\n }\r\n\r\n if (this.beyondFileList.length > 0) {\r\n let name: string = this.listToString(this.beyondFileList);\r\n this.msgService.warning(name + this.localepipe.transform('sizeMax') + this.maxFileSize + \"KB\" + this.localepipe.transform('rechooseFile'));\r\n this.beyondFileList = [];\r\n }\r\n\r\n if (this.invalidCharactersFileList.length > 0) {\r\n let name: string = this.listToString(this.invalidCharactersFileList);\r\n this.msgService.warning(name + this.localepipe.transform('invalidCharacters') + this.localepipe.transform('rechooseFile'));\r\n this.invalidCharactersFileList = [];\r\n }\r\n\r\n if (this.invalidExtNamesFileList.length > 0) {\r\n let name: string = this.listToString(this.invalidExtNamesFileList);\r\n this.msgService.warning(name + this.localepipe.transform('invalidExtNames') + this.localepipe.transform('rechooseFile'));\r\n this.invalidExtNamesFileList = [];\r\n }\r\n\r\n if (this.unrecognizedTypeFileList.length > 0) {\r\n let name: string = this.listToString(this.unrecognizedTypeFileList);\r\n this.msgService.warning(name + this.localepipe.transform('UnrecognizedFileType') + this.localepipe.transform('rechooseFile'));\r\n this.unrecognizedTypeFileList = [];\r\n }\r\n\r\n this.files = this.files.slice();\r\n this.fileAllSelected = false;\r\n $event.target.value = '';\r\n // loading.close();\r\n }\r\n\r\n showErrorMessage(file) {\r\n this.msgService.error(this.localepipe.transform('uploadFailure') + file.errorMessage);\r\n }\r\n\r\n handleFileInfo(uuid: string, selectedFile, fileName: string): any {\r\n\r\n let fileInfo: FileInfo;\r\n\r\n fileInfo = {\r\n id: uuid,\r\n name: fileName,\r\n type: selectedFile.type,\r\n source: \"\",\r\n size: this.getFileSize(selectedFile.size),\r\n fileSize: selectedFile.size,\r\n picListDisplayName: this.getPicListDisplayName(fileName),\r\n queueListDisplayName: this.getQueueDisplayName(fileName),\r\n //content: reader.result.toString(),\r\n hasUploaded: false,\r\n mouseOn: false,\r\n selectd: false,\r\n isUploading: true,\r\n uploadResult: false,\r\n uploadProcess: 0,\r\n errorMessage: \"\",\r\n extensionDropListId: 0,\r\n extensionName: \"\",\r\n securityDropListId: 0,\r\n securityInfo: this.securityInfoList[0],\r\n style: {}\r\n }\r\n\r\n if (this.storageExtension != null)\r\n fileInfo.extensionName = this.defaultPropertyName;\r\n\r\n\r\n let type: string = selectedFile.type;\r\n if (type.includes(\"tiff\")) {\r\n this.addDocInfo(selectedFile, fileInfo, DocType.Other);\r\n }\r\n else if (type.includes(\"image\")) {\r\n this.addDocInfo(selectedFile, fileInfo, DocType.Image);\r\n }\r\n else if (type.includes(\"word\")) {\r\n this.addDocInfo(selectedFile, fileInfo, DocType.Word);\r\n }\r\n else if (type.includes(\"pdf\")) {\r\n this.addDocInfo(selectedFile, fileInfo, DocType.Pdf);\r\n }\r\n else if (type.includes(\"plain\")) {\r\n this.addDocInfo(selectedFile, fileInfo, DocType.Txt);\r\n }\r\n else if (type.includes(\"sheet\") || type.includes(\"excel\")) {\r\n this.addDocInfo(selectedFile, fileInfo, DocType.Excel)\r\n }\r\n else if (type.includes(\"powerpoint\") || type.includes(\"presentation\")) {\r\n this.addDocInfo(selectedFile, fileInfo, DocType.Powerpoint);\r\n }\r\n else if (type.includes(\"zip\") || selectedFile.name.includes(\".rar\")) {\r\n this.addDocInfo(selectedFile, fileInfo, DocType.Zip);\r\n }\r\n else {\r\n this.addDocInfo(selectedFile, fileInfo, DocType.Other);\r\n // let name: string = selectedFile.name;\r\n // let errType = name.substring(selectedFile.name.lastIndexOf('.'));\r\n // this.errTypeList.push(errType);\r\n }\r\n return fileInfo;\r\n }\r\n\r\n uploadFile(uuid: string, selectedFile, fileName: string, state: FileState = FileState.New) {\r\n\r\n let fileInfo = this.handleFileInfo(uuid, selectedFile, fileName);\r\n\r\n let uploadFileInfo = new UploadFileInfo();\r\n\r\n uploadFileInfo.metadataId = uuid;\r\n uploadFileInfo.fileName = fileInfo.name;\r\n uploadFileInfo.fileSize = fileInfo.size;\r\n uploadFileInfo.originalSize = fileInfo.fileSize;\r\n uploadFileInfo.state = state;\r\n uploadFileInfo.securityInfo = this.securityInfoList[0];\r\n\r\n\r\n //判断是否支持分片上传\r\n if (this.allowedMultiUpload) {\r\n\r\n //支持分片上传\r\n let initRequest: InitMultiUploadRequest = new InitMultiUploadRequest;\r\n\r\n initRequest.path = this.formId;\r\n initRequest.metadataId = uuid;\r\n initRequest.rootId = this.rootId;\r\n initRequest.size = fileInfo.fileSize;\r\n initRequest.fileName = fileName;\r\n\r\n //初始化分片\r\n this.initMultiUpload(initRequest).subscribe(res => {\r\n if (res.error != null) {\r\n this.files[this.files.indexOf(fileInfo)].uploadResult = false;\r\n this.files[this.files.indexOf(fileInfo)].isUploading = false;\r\n this.files[this.files.indexOf(fileInfo)].errorMessage = res.error.Message;\r\n } else {\r\n let uploadId = res.uploadId;\r\n let chunkTotal: number = Math.ceil(selectedFile.size / this.bufferSize);\r\n let chunkIndex: number = 0;\r\n\r\n let multiResultList: MultiUploadResult[] = [];\r\n\r\n this.fileTotalChunk[uuid] = chunkTotal;\r\n this.uploadedChunk[uuid] = 0;\r\n\r\n while (chunkIndex < chunkTotal) {\r\n\r\n let nextSize = Math.min((chunkIndex + 1) * this.bufferSize, selectedFile.size);\r\n let fileData = selectedFile.slice(chunkIndex * this.bufferSize, nextSize);\r\n\r\n let multiRequest = new MultiUploadRequest;\r\n multiRequest.metadataId = uuid;\r\n multiRequest.rootId = this.rootId;\r\n multiRequest.uploadId = uploadId;\r\n multiRequest.index = chunkIndex;\r\n multiRequest.total = chunkTotal;\r\n multiRequest.size = fileData.size;\r\n\r\n let formData = new FormData();\r\n formData.append('multiRequest', JSON.stringify(multiRequest));\r\n formData.append('file', fileData);\r\n\r\n this.multiUpload(formData).subscribe(res => {\r\n if (res.error != null) {\r\n this.files[this.files.indexOf(fileInfo)].uploadResult = false;\r\n this.files[this.files.indexOf(fileInfo)].isUploading = false;\r\n this.files[this.files.indexOf(fileInfo)].errorMessage = res.error.Message;\r\n } else {\r\n multiResultList.push(res.result);\r\n this.uploadedChunk[uuid]++;\r\n this.files[this.files.indexOf(fileInfo)].uploadProcess = Number.parseInt((this.uploadedChunk[uuid] / this.fileTotalChunk[uuid] * 100).toFixed(0));\r\n if (this.uploadedChunk[uuid] == this.fileTotalChunk[uuid]) {\r\n if (multiResultList.length == this.fileTotalChunk[uuid]) {\r\n\r\n let completeMultiUploadRequest: CompleteMultiUploadRequest = new CompleteMultiUploadRequest;\r\n completeMultiUploadRequest.metadataId = uuid;\r\n completeMultiUploadRequest.partList = multiResultList;\r\n completeMultiUploadRequest.rootId = this.rootId;\r\n completeMultiUploadRequest.uploadId = uploadId;\r\n completeMultiUploadRequest.size = fileInfo.fileSize;\r\n if (this.haveExtensionProperty)\r\n completeMultiUploadRequest.exPropertyName = this.defaultPropertyName;\r\n this.completeMultiUpload(completeMultiUploadRequest).subscribe(res => {\r\n if (res.status != 200) {\r\n this.files[this.files.indexOf(fileInfo)].uploadResult = false;\r\n this.files[this.files.indexOf(fileInfo)].isUploading = false;\r\n this.files[this.files.indexOf(fileInfo)].errorMessage = res.error.Message;\r\n } else {\r\n this.files[this.files.indexOf(fileInfo)].uploadResult = true;\r\n this.files[this.files.indexOf(fileInfo)].isUploading = false;\r\n this.uploadFileInfoList = this.uploadFileInfoList.concat(uploadFileInfo);\r\n this.uploadedFileInfoList = this.uploadedFileInfoList.concat(uploadFileInfo);\r\n this.uploadedFileTotal++;\r\n\r\n\r\n }\r\n })\r\n //后台异步拼接文档\r\n } else {\r\n this.files[this.files.indexOf(fileInfo)].uploadResult = false;\r\n this.files[this.files.indexOf(fileInfo)].isUploading = false;\r\n this.files[this.files.indexOf(fileInfo)].errorMessage = this.localepipe.transform('mismatchChunkSize');\r\n }\r\n\r\n }\r\n }\r\n })\r\n\r\n chunkIndex = chunkIndex + 1;\r\n }\r\n }\r\n\r\n\r\n\r\n })\r\n\r\n } else {\r\n let entity = new GspFormStreamEntity;\r\n entity.formId = this.formId;\r\n entity.metadataId = uuid;\r\n entity.mode = OperatingModes.Temp;\r\n entity.rootId = this.rootId;\r\n entity.size = selectedFile.size;\r\n entity.fileName = fileName;\r\n if (this.haveExtensionProperty)\r\n entity.exPropertyName = this.defaultPropertyName;\r\n\r\n let formData = new FormData();\r\n formData.append('uploadEntity', JSON.stringify(entity));\r\n formData.append('file', selectedFile);\r\n\r\n\r\n let intervalId;\r\n\r\n this.uploadSingleFile(formData).subscribe(res => {\r\n if (res != null) {\r\n this.files[this.files.indexOf(fileInfo)].uploadResult = false;\r\n this.files[this.files.indexOf(fileInfo)].isUploading = false;\r\n this.files[this.files.indexOf(fileInfo)].errorMessage = res.error.Message;\r\n } else {\r\n this.files[this.files.indexOf(fileInfo)].uploadResult = true;\r\n this.files[this.files.indexOf(fileInfo)].isUploading = false;\r\n this.uploadFileInfoList = this.uploadFileInfoList.concat(uploadFileInfo);\r\n this.uploadedFileInfoList = this.uploadedFileInfoList.concat(uploadFileInfo);\r\n this.uploadedFileTotal++;\r\n\r\n }\r\n clearInterval(intervalId);\r\n })\r\n\r\n let index = -1;\r\n this.files.forEach(x => {\r\n if (x.name == fileInfo.name) {\r\n if (index == -1)\r\n index = this.files.indexOf(x);\r\n }\r\n })\r\n if (index != -1 && index != this.files.length - 1) {\r\n this.files.splice(index, 1);\r\n this.uploadFileInfoList.splice(index, 1);\r\n this.uploadedFileInfoList.splice(index, 1);\r\n this.uploadedFileTotal--;\r\n }\r\n\r\n intervalId = setInterval(() => {\r\n this.getUploadProcess(entity.metadataId).subscribe(res => {\r\n if (res.error != null)\r\n this.files[this.files.indexOf(fileInfo)].uploadProcess = 10;\r\n else {\r\n if (res < 10)\r\n res = 10;\r\n if (res > 90)\r\n res = 90;\r\n this.files[this.files.indexOf(fileInfo)].uploadProcess = res;\r\n }\r\n })\r\n }, 200);\r\n }\r\n\r\n }\r\n\r\n getUploadProcess(metadataId: string): Observable<any> {\r\n\r\n let url = \"/api/runtime/dfs/v1.0/formdoc/upload/process?metadataid=\" + metadataId;\r\n\r\n return this.httpclient.get(url).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n uploadSingleFile(formdata: FormData): Observable<any> {\r\n\r\n let url = \"/api/runtime/dfs/v1.0/formdoc/single\";\r\n const baseUrl = BasePathService.convertPath(url);\r\n return this.httpclient.post(baseUrl, formdata).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n uploadSliceFile(formdata: FormData): Observable<any> {\r\n\r\n let url = \"/api/runtime/dfs/v1.0/formdoc/slice\";\r\n const baseUrl = BasePathService.convertPath(url);\r\n return this.httpclient.post(baseUrl, formdata).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n initMultiUpload(request: InitMultiUploadRequest): Observable<any> {\r\n\r\n let url = \"/api/runtime/dfs/v1.0/formdoc/multi/init\";\r\n const baseUrl = BasePathService.convertPath(url);\r\n return this.httpclient.post(baseUrl, request).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n multiUpload(formdata: FormData): Observable<any> {\r\n\r\n let url = \"/api/runtime/dfs/v1.0/formdoc/multi/upload\";\r\n const baseUrl = BasePathService.convertPath(url);\r\n return this.httpclient.post(baseUrl, formdata).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n completeMultiUpload(request: CompleteMultiUploadRequest): Observable<any> {\r\n\r\n let url = \"/api/runtime/dfs/v1.0/formdoc/multi/complete\";\r\n const baseUrl = BasePathService.convertPath(url);\r\n return this.httpclient.post(baseUrl, request).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n\r\n\r\n selectAllFile() {\r\n\r\n if (!this.fileAllSelected) {\r\n this.files.forEach(element => {\r\n\r\n element.selectd = true;\r\n });\r\n this.fileAllSelected = true;\r\n this.selectedFileCount = this.files.length;\r\n\r\n } else {\r\n this.files.forEach(element => {\r\n\r\n element.selectd = false;\r\n });\r\n this.fileAllSelected = false;\r\n this.selectedFileCount = 0;\r\n }\r\n }\r\n\r\n\r\n checkoutSelectFile(file: FileInfo) {\r\n // let obj: any = document.getElementById(fileName);\r\n file.selectd = !file.selectd;\r\n if (file.selectd)\r\n this.selectedFileCount++;\r\n else\r\n this.selectedFileCount--;\r\n if (this.selectedFileCount == this.files.length) {\r\n this.fileAllSelected = true;\r\n //this.isFileAllSelected();\r\n }\r\n else {\r\n this.fileAllSelected = false;\r\n //this.isFileAllSelected();\r\n }\r\n\r\n }\r\n\r\n listDeleteFile(fileInfo: FileInfo) {\r\n if (fileInfo.selectd)\r\n this.selectedFileCount--;\r\n //console.log(fileName);\r\n this.files.splice(this.files.indexOf(fileInfo), 1);\r\n if (fileInfo.uploadResult) {\r\n let idList: string[] = [];\r\n idList.push(fileInfo.id);\r\n this.uploadService.cancel(idList, this.rootId).subscribe();\r\n\r\n this.uploadFileInfoList.splice(this.uploadFileInfoList.indexOf(this.uploadFileInfoList.filter(x => x.fileName == fileInfo.name)[0]), 1);\r\n this.uploadedFileInfoList.splice(this.uploadedFileInfoList.indexOf(this.uploadedFileInfoList.filter(x => x.fileName == fileInfo.name)[0]), 1);\r\n this.uploadedFileTotal--;\r\n }\r\n if (this.selectedFileCount == 0)\r\n this.fileAllSelected = false;\r\n }\r\n\r\n listMultipleDeleteFile() {\r\n let selectedFile: FileInfo[] = [];\r\n this.files.forEach(element => {\r\n let obj: any = document.getElementById(element.name);\r\n if (obj.checked)\r\n selectedFile.push(element);\r\n })\r\n let metadataList: string[] = [];\r\n selectedFile.forEach(element => {\r\n metadataList.push(element.id);\r\n this.files.splice(this.files.indexOf(element), 1);\r\n if (element.uploadResult) {\r\n\r\n this.uploadFileInfoList.splice(this.uploadFileInfoList.indexOf(this.uploadFileInfoList.filter(x => x.fileName == element.name)[0]), 1);\r\n this.uploadedFileInfoList.splice(this.uploadedFileInfoList.indexOf(this.uploadedFileInfoList.filter(x => x.fileName == element.name)[0]), 1);\r\n this.uploadedFileTotal--;\r\n }\r\n })\r\n this.uploadService.cancel(metadataList, this.rootId).subscribe();\r\n\r\n let allBox: any = document.getElementById(\"allCheckBox\");\r\n if (allBox != null)\r\n allBox.checked = false;\r\n this.selectedFileCount = 0;\r\n this.fileAllSelected = false;\r\n }\r\n\r\n\r\n getPicListDisplayName(fileName: string) {\r\n if (fileName.length <= 10)\r\n return fileName;\r\n else {\r\n let headContent = fileName.substring(0, 2);\r\n let tailContent = fileName.substring(fileName.lastIndexOf('.') - 2);\r\n return headContent + \"…\" + tailContent;\r\n }\r\n }\r\n\r\n getQueueDisplayName(fileName: string) {\r\n return fileName;\r\n }\r\n\r\n addDocInfo(selectdFile, fileInfo: FileInfo, docType: DocType) {\r\n\r\n switch (docType) {\r\n case DocType.Word: {\r\n fileInfo.source = this.createBaseUrl(\"/platform/runtime/dfs/images/word.png\");\r\n this.files.push(fileInfo);\r\n break;\r\n }\r\n\r\n case DocType.Pdf: {\r\n fileInfo.source = this.createBaseUrl(\"/platform/runtime/dfs/images/pdf.png\");\r\n this.files.push(fileInfo);\r\n break;\r\n }\r\n\r\n case DocType.Excel: {\r\n fileInfo.source = this.createBaseUrl(\"/platform/runtime/dfs/images/excel.png\");\r\n this.files.push(fileInfo);\r\n break;\r\n }\r\n\r\n case DocType.Txt: {\r\n fileInfo.source = this.createBaseUrl(\"/platform/runtime/dfs/images/txt.png\");\r\n this.files.push(fileInfo);\r\n break;\r\n }\r\n\r\n case DocType.Zip: {\r\n fileInfo.source = this.createBaseUrl(\"/platform/runtime/dfs/images/zip.png\");\r\n this.files.push(fileInfo);\r\n break;\r\n }\r\n\r\n case DocType.Powerpoint: {\r\n fileInfo.source = this.createBaseUrl(\"/platform/runtime/dfs/images/ppt.png\");\r\n this.files.push(fileInfo);\r\n break;\r\n }\r\n\r\n case DocType.Other: {\r\n fileInfo.source = this.createBaseUrl(\"/platform/runtime/dfs/images/file.png\");\r\n this.files.push(fileInfo);\r\n break;\r\n }\r\n\r\n case DocType.Image: {\r\n let reader = new FileReader();\r\n reader.readAsDataURL(selectdFile);\r\n reader.onload = (_event) => {\r\n let imgUrl = reader.result;\r\n if (this.injector != null) {\r\n let sanitizer = this.injector.get(DomSanitizer);\r\n imgUrl = sanitizer.bypassSecurityTrustResourceUrl(imgUrl);\r\n }\r\n fileInfo.source = imgUrl;\r\n fileInfo.style = { \"max-width\": \"120px\", \"max-height\": \"118px\" }\r\n this.files.push(fileInfo);\r\n\r\n //因为异步处理的差异,补偿一次删除\r\n let index = -1;\r\n this.files.forEach(x => {\r\n if (x.name == fileInfo.name) {\r\n if (index == -1)\r\n index = this.files.indexOf(x);\r\n }\r\n })\r\n if (index != -1 && index != this.files.length - 1) {\r\n this.files.splice(index, 1);\r\n this.uploadFileInfoList.splice(index, 1);\r\n this.uploadedFileInfoList.splice(index, 1);\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n listToString(strList: string[]) {\r\n const result = strList.filter(item => item.trim() !== '');\r\n let name: string = \"\";\r\n for (let i = 0; i < result.length; i++) {\r\n name += result[i] + (i === result.length - 1 ? \"\" : \",\");\r\n }\r\n return name;\r\n }\r\n\r\n securityChange($event: any, file: FileInfo) {\r\n file.securityInfo = $event.data;\r\n let uploadFile = this.uploadFileInfoList.filter(x => x.metadataId = file.id)[0];\r\n uploadFile.securityInfo = $event.data;\r\n }\r\n\r\n\r\n exStorageFileList: ExStorageFileInfo[] = [];\r\n\r\n typeChange($event: any, file: FileInfo) {\r\n file.extensionName = $event.data.name;\r\n let exStorageFileInfo: ExStorageFileInfo = new ExStorageFileInfo;\r\n if (file.extensionName == this.storageExtension.defaultPropertyName) {\r\n if (this.exStorageFileList.filter(x => x.metadataId == file.id).length > 0)\r\n this.exStorageFileList.splice(this.exStorageFileList.findIndex(x => x.metadataId == file.id), 1)\r\n } else {\r\n if (this.exStorageFileList.filter(x => x.metadataId == file.id).length > 0) {\r\n exStorageFileInfo = this.exStorageFileList.filter(x => x.metadataId == file.id)[0];\r\n exStorageFileInfo.exPropertyName = file.extensionName;\r\n } else {\r\n exStorageFileInfo.metadataId = file.id;\r\n exStorageFileInfo.exPropertyName = file.extensionName;\r\n this.exStorageFileList.push(exStorageFileInfo);\r\n }\r\n }\r\n }\r\n\r\n upload(): Observable<any> {\r\n if (this.uploadedFileTotal != this.files.filter(x => x.isUploading || x.uploadResult).length) {\r\n\r\n this.msgService.warning(this.localepipe.transform('wait'));\r\n return of(false);\r\n }\r\n if (this.haveSecurityInfo) {\r\n this.uploadService.saveSecurityInfo(this.uploadFileInfoList, this.rootId).subscribe();\r\n }\r\n if (this.storageExtension == null)\r\n return of(this.uploadFileInfoList);\r\n else {\r\n if (this.exStorageFileList.length == 0)\r\n return of(this.uploadFileInfoList);\r\n else {\r\n const loading = this.loadService.show({\r\n message: this.localepipe.transform('saveTo') + this.storageExtension.extensionName\r\n });\r\n return this.uploadService.changeStorageInstance(this.exStorageFileList, this.rootId).pipe(\r\n map(res => {\r\n // if (res != null)\r\n // this.msgService.error('保存到' + this.storageExtension.extensionName + \"失败,上传文件自动保存到\" + this.storageExtension.defaultPropertyName + \"存储。\" + res.error.Message);\r\n loading.close();\r\n return this.uploadFileInfoList;\r\n }))\r\n }\r\n }\r\n }\r\n\r\n cancel() {\r\n if (this.uploadFileInfoList.length == 0)\r\n return;\r\n this.uploadFileInfoList.forEach(element => {\r\n this.metadataIdList.push(element.metadataId);\r\n })\r\n this.uploadService.cancel(this.metadataIdList, this.rootId).subscribe();\r\n\r\n }\r\n\r\n getUploadFileInfoList() {\r\n return this.uploadFileInfoList;\r\n }\r\n\r\n delete(file) {\r\n this.files.splice(this.files.indexOf(file), 1);\r\n if (file.uploadResult)\r\n this.uploadedFileTotal--;\r\n if (this.exStorageFileList.filter(x => x.metadataId == file.id).length > 0) {\r\n this.exStorageFileList.splice(this.exStorageFileList.findIndex(x => x.metadataId == file.id), 1);\r\n }\r\n\r\n }\r\n\r\n getFileSize(size: number) {\r\n if (size < 102400)\r\n return (size / 1024).toFixed(1) + \"K\";\r\n else if (size < 1024 * 1024)\r\n return (size / 1024).toFixed(0) + \"K\";\r\n else if (size < 100 * 1024 * 1024)\r\n return (size / 1024 / 1024).toFixed(1) + \"M\";\r\n else if (size < 1024 * 1024 * 1024)\r\n return (size / 1024 / 1024).toFixed(0) + \"M\";\r\n else\r\n return (size / 1024 / 1024 / 1024).toFixed(1) + \"G\";\r\n }\r\n showByGroup() {\r\n this.showType = 0;\r\n // this.selectedFileCount = 0;\r\n }\r\n\r\n showByList() {\r\n this.showType = 1;\r\n // this.selectedFileCount = 0;\r\n if (this.selectedFileCount != 0 && this.selectedFileCount == this.files.length) {\r\n this.fileAllSelected = true;\r\n }\r\n }\r\n\r\n mouseOver(file) {\r\n file.mouseOn = true;\r\n }\r\n mouseOut(file) {\r\n file.mouseOn = false;\r\n }\r\n\r\n createBaseUrl(oldUrl: string) {\r\n const baseUrl = BasePathService.convertPath(oldUrl)\r\n return baseUrl;\r\n }\r\n}\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { BasePathService } from '@farris/rtf';\r\n\r\n\r\n@Injectable()\r\nexport class DownloadService {\r\n\r\n constructor() { }\r\n\r\n getDownloadUrl(metadataId: string, rootId: string) {\r\n const url = \"/api/runtime/dfs/v1.0/doc/filecontent?metadataid=\" + metadataId + \"&rootid=\" + rootId + \"&token=\" + this.getToken(this.mergeString(metadataId, rootId));\r\n const baseUrl = BasePathService.convertPath(url);\r\n return baseUrl;\r\n }\r\n\r\n\r\n getStreamDownloadUrl(metadataId: string, rootId: string) {\r\n const url = \"/api/runtime/dfs/v1.0/formdoc/stream?metadataid=\" + metadataId + \"&rootid=\" + rootId + \"&token=\" + this.getToken(this.mergeString(metadataId, rootId));\r\n const baseUrl = BasePathService.convertPath(url);\r\n return baseUrl;\r\n }\r\n\r\n getMultipleDownloadUrl(metadataIdList: string, rootId: string) {\r\n let list: string[] = JSON.parse(metadataIdList);\r\n const url = \"/api/runtime/dfs/v1.0/doc/multiple/download?metadataidlist=\" + metadataIdList + \"&rootid=\" + rootId + \"&token=\" + this.getToken(this.mergeString(list[0], rootId));\r\n const baseUrl = BasePathService.convertPath(url);\r\n return baseUrl;\r\n }\r\n\r\n getMultipleDownloadUrlWithName(metadataIdList: string, rootId: string, zipName: string) {\r\n let list: string[] = JSON.parse(metadataIdList);\r\n if (zipName == null || zipName == \"\")\r\n zipName = 'unifile.zip';\r\n if (!zipName.endsWith(\".zip\"))\r\n zipName += '.zip';\r\n\r\n\r\n const url = \"/api/runtime/dfs/v1.0/doc/compress/download?metadataidlist=\" + metadataIdList + \"&rootid=\" + rootId + \"&token=\" + this.getToken(this.mergeString(list[0], rootId)) + \"&zipName=\" + encodeURIComponent(zipName);\r\n const baseUrl = BasePathService.convertPath(url);\r\n return baseUrl;\r\n\r\n }\r\n\r\n getHistoryDownloadUrl(metadataId: string, rootId: string, version: string) {\r\n //let list:string[]=JSON.parse(metadataIdList);\r\n const url = \"/api/runtime/dfs/v1.0/doc/historycontent?metadataid=\" + metadataId + \"&rootid=\" + rootId + \"&version=\" + version + \"&token=\" + this.getToken(this.mergeString(metadataId, rootId));\r\n const baseUrl = BasePathService.convertPath(url);\r\n return baseUrl;\r\n }\r\n\r\n\r\n\r\n private mergeString(str: string, str1: string): string {\r\n let min = str.length < str1.length ? str.length : str1.length;\r\n let res: string = \"\";\r\n let i = 0;\r\n for (i = 0; i < min; i++) {\r\n res += str.substring(i, i + 1);\r\n res += str1.substring(i, i + 1);\r\n }\r\n res += str.length < str1.length ? str1.substring(i) : str.substring(i);\r\n return res;\r\n }\r\n\r\n private getToken(str: string): string {\r\n let array = [1, 2, 3];\r\n if (str.length > 24)\r\n str = str.substring(0, 24);\r\n let length = Math.floor(str.length / 3);\r\n let str1 = str.substring(0, length);\r\n let str2 = str.substring(length, 2 * length);\r\n let str3 = str.substring(2 * length, 3 * length);\r\n let randomArray = [];\r\n var random = Math.ceil(Math.random() * 3);\r\n randomArray.push(array[random - 1]);\r\n array.splice(random - 1, 1);\r\n random = Math.ceil(Math.random() * 2);\r\n randomArray.push(array[random - 1]);\r\n array.splice(random - 1, 1);\r\n randomArray.push(array[0]);\r\n let timeStamp: string = Math.round(new Date().getTime() / 1000) + \"\";\r\n\r\n return timeStamp.substring(0, 5) + \"times\" + randomArray[0] + \"\" + randomArray[1] + \"\" + randomArray[2] + this.switchStr(str1, str2, str3, randomArray[0]) + this.switchStr(str1, str2, str3, randomArray[1]) + this.switchStr(str1, str2, str3, randomArray[2]) + \"times\" + timeStamp.substring(5);\r\n }\r\n\r\n private switchStr(str1: string, str2: string, str3: string, i: number): string {\r\n switch (i) {\r\n case 1: return str1;\r\n case 2: return str2;\r\n case 3: return str3;\r\n }\r\n }\r\n\r\n\r\n}\r\n","import { LOCALE_ID, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FarrisRTFModule } from '@farris/rtf';\r\nimport { FileUploadComponent } from './file-upload/file-upload.component';\r\nimport { NotifyModule } from '@farris/ui-notify';\r\nimport { MessagerModule } from '@farris/ui-messager';\r\nimport { UploadService } from './upload.service';\r\nimport { LoadingModule } from '@farris/ui-loading';\r\nimport { ProgressModule } from '@farris/ui-progress'\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ComboListModule } from '@farris/ui-combo-list';\r\nimport { FarrisFormsModule } from '@farris/ui-forms'\r\nimport { DownloadService } from './download.service';\r\nimport { LocalLangPipe } from '../local.pipe';\r\nimport { CacheService, HttpService, LanguageService, SessionService } from '@ecp-caf/caf-common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [FileUploadComponent, LocalLangPipe],\r\n imports: [\r\n CommonModule,\r\n FarrisRTFModule,\r\n NotifyModule,\r\n MessagerModule.forRoot(),\r\n LoadingModule.forRoot(),\r\n ProgressModule,\r\n FormsModule,\r\n FarrisFormsModule,\r\n ComboListModule,\r\n HttpClientModule\r\n ],\r\n exports: [FileUploadComponent],\r\n entryComponents: [FileUploadComponent],\r\n providers: [UploadService, DownloadService, LanguageService, HttpService, CacheService, SessionService,\r\n { provide: LOCALE_ID, useValue: localStorage.getItem('languageCode') || 'zh-CHS' },]\r\n\r\n})\r\nexport class UploadModule { }\r\n\r\nexport const ɵa = UploadModule;\r\n","import { Component, OnInit, ViewChild, Input } from '@angular/core';\nimport { BsModalRef, BsModalService } from '@farris/ui-modal';\nimport { FileUploadComponent } from '../../upload/file-upload/file-upload.component';\n\n@Component({\n selector: 'app-uploaddialog',\n templateUrl: './uploaddialog.component.html',\n styleUrls: ['./uploaddialog.component.css']\n})\nexport class UploadDialogComponent implements OnInit {\n\n dlg: BsModalRef;\n\n metadataIdList:string[]=[];\n\n @Input() formId:string;\n\n constructor(private modalService: BsModalService) { }\n\n @ViewChild(FileUploadComponent) fileUpload: FileUploadComponent;\n\n ngOnInit() {\n }\n\n showDialog() {\n this.dlg = this.modalService.show(FileUploadComponent, {\n title: '选择文件',\n width: 800, height: 500,\n buttons: [\n {\n text: '上传', cls: 'k-button k-button-icontext k-primary', iconCls: \"k-icon k-i-check\", handle: () => {\n this.fileUpload.upload();\n this.dlg.close();\n }\n },\n {\n text: '关闭', cls: 'k-button k-button-icontext', iconCls: \"k-icon k-i-close\", handle: () => {\n this.fileUpload.cancel();\n this.dlg.close();\n }\n }\n ],\n\n showButtons: true,\n\n });\n this.dlg.content.formId=this.formId;\n\n }\n\n}\n","import { Injectable, Injector, ComponentFactoryResolver, LOCALE_ID } from '@angular/core';\r\nimport { FileUploadComponent } from './upload/file-upload/file-upload.component';\r\nimport { BsModalService, BsModalRef } from '@farris/ui-modal';\r\nimport { UploadFileInfo } from './upload/entity/uploadfileinfo';\r\nimport { Observable, of } from 'rxjs';\r\nimport { UploadLimit } from './upload/entity/uploadlimit';\r\nimport { LocalLangPipe } from './local.pipe';\r\n\r\n\r\n@Injectable()\r\nexport class UploadDialogService {\r\n\r\n localeid: string;\r\n localpipe: LocalLangPipe;\r\n constructor(private modalService: BsModalService, private componentFactoryResolver: ComponentFactoryResolver, private injector: Injector) {\r\n if (this.injector) {\r\n this.modalService = this.injector.get(BsModalService);\r\n this.localeid = localStorage.getItem(\"languageCode\") || this.injector.get(LOCALE_ID);\r\n this.localpipe = new LocalLangPipe(this.localeid);\r\n }\r\n }\r\n\r\n dlg: BsModalRef;\r\n\r\n fileInfoList: UploadFileInfo[] = [];\r\n\r\n showDialog(formId: string, rootId: string) {\r\n let flag = 0;\r\n return new Promise(resolve => {\r\n var viewerFactory = this.componentFactoryResolver.resolveComponentFactory(FileUploadComponent);\r\n var viewerRef = viewerFactory.create(this.injector);\r\n\r\n viewerRef.instance.rootId = rootId;\r\n viewerRef.instance.formId = formId;\r\n\r\n this.dlg = this.modalService.show(viewerRef, {\r\n title: this.localpipe.transform('uploadFile'),\r\n width: 950, height: 570,\r\n buttons: [\r\n {\r\n text: this.localpipe.transform('save'), cls: 'k-button k-button-icontext k-primary', handle: () => {\r\n this.dlg.content.upload().subscribe(\r\n res => {\r\n if (res) {\r\n resolve(res);\r\n flag = 1;\r\n this.dlg.close();\r\n }\r\n }\r\n );\r\n }\r\n },\r\n {\r\n text: this.localpipe.transform('close'), cls: 'k-button k-button-icontext', handle: () => {\r\n this.dlg.close();\r\n }\r\n }\r\n ],\r\n\r\n showButtons: true,\r\n showMaxButton: false,\r\n beforeClose: (): Observable<boolean> => {\r\n if (flag == 0)\r\n this.dlg.content.cancel();\r\n return of(true);\r\n }\r\n });\r\n })\r\n }\r\n\r\n uploadFile(formId: string, rootId: string, oldIdList: string[] = []) {\r\n return this.uploadFileWithLimit(formId, rootId, null, oldIdList);\r\n }\r\n\r\n\r\n uploadFileWithLimit(formId: string, rootId: string, limit: UploadLimit, oldIdList: string[] = []) {\r\n let flag = 0;\r\n return new Promise(resolve => {\r\n var uploadFactory = this.componentFactoryResolver.resolveComponentFactory(FileUploadComponent);\r\n var uploadRef = uploadFactory.create(this.injector);\r\n if (limit != null) {\r\n uploadRef.instance.fileCount = limit.fileCount;\r\n uploadRef.instance.securityInfo = limit.securityInfo;\r\n uploadRef.instance.fileNameLength = limit.fileNameLength;\r\n if (limit.fileType != null && limit.fileType != \"\")\r\n uploadRef.instance.fileType = limit.fileType\r\n }\r\n\r\n uploadRef.instance.rootId = rootId;\r\n uploadRef.instance.formId = formId;\r\n uploadRef.instance.oldIdList = oldIdList;\r\n\r\n this.dlg = this.modalService.show(uploadRef, {\r\n title: this.localpipe.transform('uploadFile'),\r\n width: 950, height: 570,\r\n buttons: [\r\n {\r\n\r\n text: this.localpipe.transform('save'), cls: 'k-button k-button-icontext k-primary', handle: () => {\r\n this.dlg.content.upload().subscribe(\r\n res => {\r\n if (res) {\r\n resolve(res);\r\n flag = 1;\r\n this.dlg.close();\r\n }\r\n }\r\n );\r\n }\r\n },\r\n {\r\n text: this.localpipe.transform('close'), cls: 'k-button k-button-icontext', handle: () => {\r\n this.dlg.close();\r\n }\r\n }\r\n ],\r\n\r\n showButtons: true,\r\n showMaxButton: false,\r\n beforeClose: (): Observable<boolean> => {\r\n if (flag == 0)\r\n this.dlg.content.cancel();\r\n return of(true);\r\n }\r\n });\r\n })\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { FarrisDialogModule } from '@farris/ui-dialog';\nimport { MessagerModule } from '@farris/ui-messager';\nimport { BsModalService } from '@farris/ui-modal';\n\nimport { UploadModule } from '../upload/upload.module';\nimport { UploadDialogComponent } from './uploaddialog/uploaddialog.component';\nimport { HttpService } from '@ecp-caf/caf-common';\nimport { UploadService } from '../upload/upload.service';\nimport { UploadDialogService } from '../uploaddialog.service';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NotifyModule } from '@farris/ui-notify';\nimport { FileUploadComponent } from '../upload/file-upload/file-upload.component';\n\n\n@NgModule({\n declarations: [UploadDialogComponent],\n imports: [\n CommonModule,\n FarrisDialogModule,\n MessagerModule.forRoot(),\n UploadModule,\n NotifyModule.forRoot(),\n HttpClientModule\n ],\n exports: [UploadDialogComponent,FileUploadComponent],\n entryComponents: [UploadDialogComponent,FileUploadComponent],\n providers: [BsModalService, HttpService, UploadDialogService, UploadService]\n})\nexport class UploadDialogMoudle { }\n","import { GspDocSecurityBaseInfo } from \"./gspdocsecuritybaseinfo\";\r\n\r\nexport class UploadLimit {\r\n public fileType: string = \"*\";\r\n public fileCount: number = 0;\r\n public securityInfo: GspDocSecurityBaseInfo = null;\r\n public fileNameLength: number = 0;\r\n}","import { GspFormDocInfo } from './gspformdocinfo';\r\nimport { OperatingModes } from './operatingmodes';\r\n\r\nexport class GspFormUploadListEntity {\r\n public formId: string;\r\n public docInfoList: GspFormDocInfo[];\r\n public mode: OperatingModes;\r\n public rootId: string;\r\n}","import { GspDocMetaProperty } from './gspdocmetaproperty';\r\n\r\nexport class GspFormDocInfo {\r\n public metadataId: string;\r\n public fileName: string;\r\n public fileContent: string;\r\n public index: number;\r\n public total: number;\r\n public size: number;\r\n public exPropertyName: string;\r\n public extProperty: GspDocMetaProperty;\r\n}","export class GspDocMetaProperty{\r\n public extProperties1:string;\r\n public extProperties2:string;\r\n public extProperties3:string;\r\n public extProperties4:string;\r\n public extProperties5:string;\r\n}","import { OperatingModes } from './operatingmodes';\r\nimport { GspFormDocInfo } from './gspformdocinfo';\r\n\r\nexport class GspFormUploadEntity{\r\n public formId: string;\r\n public docInfo: GspFormDocInfo;\r\n public mode: OperatingModes;\r\n public rootId: string;\r\n\r\n} ","import { SecurityEntity } from \"./securityentity\";\r\n\r\nexport class FileInfo {\r\n public id: string;\r\n public name: string;\r\n public type: string;\r\n public source: any;\r\n public picListDisplayName: string;\r\n public queueListDisplayName: string;\r\n //public content: string;\r\n public size: string;\r\n public fileSize: number;\r\n public hasUploaded: boolean;\r\n public mouseOn: boolean;\r\n public selectd: boolean;\r\n public isUploading: boolean;\r\n public uploadResult: boolean;\r\n public uploadProcess: number;\r\n public errorMessage: string;\r\n public extensionDropListId:number;\r\n public extensionName: string;\r\n public securityDropListId:number;\r\n public securityInfo:SecurityEntity;\r\n public style:any;\r\n}","export class GspDocSecurityBaseInfo {\r\n public securityId: string;\r\n public securityLevel: number;\r\n public name: string;\r\n}","export class SecurityEntity {\r\n public id: string;\r\n public securityId: string;\r\n public securityLevel: number;\r\n public name: string;\r\n}"],"names":["Injectable","Component","NgModule","HttpClientModule","LanguageService","HttpService","CacheService","SessionService","LOCALE_ID","http","tap","catchError","of","BasePathService","HttpClient","Pipe","Inject","UUID","DomSanitizer","map","MessagerService","LoadingService","Injector","Input","ViewChild","CommonModule","FarrisRTFModule","NotifyModule","MessagerModule","LoadingModule","ProgressModule","FormsModule","FarrisFormsModule","ComboListModule","BsModalService","ComponentFactoryResolver","FarrisDialogModule"],"mappings":"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"}