diff --git a/src/app/pages/audit/audit-ing/appeal-details/appeal-details.component.html b/src/app/pages/audit/audit-ing/appeal-details/appeal-details.component.html index 8b7b2b4..e0e6e44 100644 --- a/src/app/pages/audit/audit-ing/appeal-details/appeal-details.component.html +++ b/src/app/pages/audit/audit-ing/appeal-details/appeal-details.component.html @@ -15,11 +15,23 @@

预警时间: {{data.itemData.ViolateTime | date:"yyyy-MM-dd HH:mm:ss"}}

预警图片:

- + 预警图片

申诉原因: {{data.commitReason}}

+
+ 申诉附件: +
+ {{item | + fileName}} +
+
+
+

审核人员: {{data.auditUser.name}}

+
+

审核时间: {{data.auditTime | date:"yyyy-MM-dd HH:mm:ss"}}

+

审核状态: {{data.auditStatusDesc}}

审核说明: {{data.rejectReason || ''}}

diff --git a/src/app/pages/audit/audit-ing/appeal-details/appeal-details.component.scss b/src/app/pages/audit/audit-ing/appeal-details/appeal-details.component.scss index cae3e11..8c7e879 100644 --- a/src/app/pages/audit/audit-ing/appeal-details/appeal-details.component.scss +++ b/src/app/pages/audit/audit-ing/appeal-details/appeal-details.component.scss @@ -64,3 +64,28 @@ justify-content: space-between; } } + +.appealData { + display: flex; + color: #C4E2FC; + + .name { + width: 15.5%; + } + + .filebox { + flex: 1; + overflow: hidden; + display: flex; + flex-direction: column; + + span { + margin-bottom: 3px; + cursor: pointer; + } + + span:hover { + text-decoration: underline; + } + } +} diff --git a/src/app/pages/audit/audit-ing/appeal-details/appeal-details.component.ts b/src/app/pages/audit/audit-ing/appeal-details/appeal-details.component.ts index 6aa0a6c..48ed352 100644 --- a/src/app/pages/audit/audit-ing/appeal-details/appeal-details.component.ts +++ b/src/app/pages/audit/audit-ing/appeal-details/appeal-details.component.ts @@ -1,4 +1,6 @@ +import { HttpClient } from '@angular/common/http'; import { Component, Input, OnInit } from '@angular/core'; +import { NzMessageService } from 'ng-zorro-antd/message'; import { NzModalRef } from 'ng-zorro-antd/modal'; import Viewer from 'viewerjs'; @Component({ @@ -9,17 +11,47 @@ import Viewer from 'viewerjs'; export class AppealDetailsComponent implements OnInit { @Input() data?: any; - constructor(private modal: NzModalRef) { } - + constructor(private modal: NzModalRef, private http: HttpClient, private message: NzMessageService) { } + /** + * 申诉数据 + */ + appealData: any = { + appealAttachments: [], + handleUserName: '', + lastModificationTime: '' + } organizationName ngOnInit(): void { console.log('申诉详情', this.data) - // this.data.itemDataObj = JSON.parse(this.data.itemData) + if (this.data.auditType == 5) { + + this.http.get('/api/services/app/ViolateRecord/Get', { + params: { + id: this.data.itemId + } + }).subscribe((data: any) => { + this.appealData = data.result + console.log('申诉预警详情', this.appealData) + }) + } } destroyModal() { this.modal.destroy({ data: 'this the result data' }); } + //获取文件格式 + getFileType(name: string): string { + let suffix + if (name.substring(name.length - 4).includes('png') || name.substring(name.length - 4).includes('jpg') || name.substring(name.length - 4).includes('jpeg') || name.substring(name.length - 4).includes('webp')) { + suffix = 'img' + } else if (name.substring(name.length - 4).includes('doc') || name.substring(name.length - 4).includes('docx')) { + suffix = 'word' + } else if (name.substring(name.length - 4).includes('pdf')) { + suffix = 'pdf' + } + return suffix + } + //查看图片 viewImg(url) { let dom = document.getElementById(`viewerjs`) @@ -39,4 +71,22 @@ export class AppealDetailsComponent implements OnInit { node.click(); }, 0); } + + //查看文件 + lookFile(item) { + if (!item) { + return + } + if (this.getFileType(item) == 'word') { + let arr = item.split('.') + arr[arr.length - 1] = 'pdf' + window.open(arr.join('.')) + } else if (this.getFileType(item) == 'pdf') { + window.open(item) + } else if (this.getFileType(item) == 'img') { + this.viewImg(item) + } else { + this.message.create('warning', '暂不支持查看!'); + } + } } diff --git a/src/app/pages/audit/audit-ing/audit-dispose/audit-dispose.component.html b/src/app/pages/audit/audit-ing/audit-dispose/audit-dispose.component.html index 34339f6..b714975 100644 --- a/src/app/pages/audit/audit-ing/audit-dispose/audit-dispose.component.html +++ b/src/app/pages/audit/audit-ing/audit-dispose/audit-dispose.component.html @@ -85,10 +85,18 @@

预警时间:   {{data.itemData.ViolateTime | date:"yyyy-MM-dd HH:mm:ss"}}

预警图片:

- + 预警图片 +

申诉说明:   {{data.commitReason}}

+
+ 申诉附件: +
+ {{item | fileName}} +
+
+

附件:    diff --git a/src/app/pages/audit/audit-ing/audit-dispose/audit-dispose.component.scss b/src/app/pages/audit/audit-ing/audit-dispose/audit-dispose.component.scss index b951afb..68812ae 100644 --- a/src/app/pages/audit/audit-ing/audit-dispose/audit-dispose.component.scss +++ b/src/app/pages/audit/audit-ing/audit-dispose/audit-dispose.component.scss @@ -89,3 +89,27 @@ } } } + +.appealData { + display: flex; + color: #C4E2FC; + + .name { + width: 12.5%; + + } + + .filebox { + flex: 1; + overflow: hidden; + display: flex; + flex-direction: column; + span{ + margin-bottom: 3px; + cursor: pointer; + } + span:hover{ + text-decoration: underline; + } + } +} diff --git a/src/app/pages/audit/audit-ing/audit-dispose/audit-dispose.component.ts b/src/app/pages/audit/audit-ing/audit-dispose/audit-dispose.component.ts index 253ab33..bc38491 100644 --- a/src/app/pages/audit/audit-ing/audit-dispose/audit-dispose.component.ts +++ b/src/app/pages/audit/audit-ing/audit-dispose/audit-dispose.component.ts @@ -3,6 +3,7 @@ import { NzModalRef } from 'ng-zorro-antd/modal'; import Viewer from 'viewerjs'; import { NzMessageService } from 'ng-zorro-antd/message'; import { handleType, handleTypeList } from 'src/app/pages/license/update-category/edit-update-category/edit-update-category.component'; +import { HttpClient } from '@angular/common/http'; @Component({ @@ -13,12 +14,18 @@ import { handleType, handleTypeList } from 'src/app/pages/license/update-categor export class AuditDisposeComponent implements OnInit { @Input() data?: any; - constructor(private modal: NzModalRef, private message: NzMessageService) { } + constructor(private modal: NzModalRef, private message: NzMessageService, private http: HttpClient) { } textarea: string = ""; //审批意见 role1 = [] role2 = [] + /** + * 申诉数据 + */ + appealData: any = { + appealAttachments: [] + } ngOnInit(): void { console.log('审批信息', this.data) if (this.data.auditType == 4) { @@ -30,7 +37,16 @@ export class AuditDisposeComponent implements OnInit { } }); } - this.data.auditType + if (this.data.auditType == 5) { + + this.http.get('/api/services/app/ViolateRecord/Get', { + params: { + id: this.data.itemId + } + }).subscribe((data: any) => { + this.appealData = data.result + }) + } } @@ -104,9 +120,13 @@ export class AuditDisposeComponent implements OnInit { window.open(arr.join('.')) } else if (this.getFileType(item) == 'pdf') { window.open(item) + } else if (this.getFileType(item) == 'img') { + this.viewImg(item) } else { this.message.create('warning', '暂不支持查看!'); } } + + } diff --git a/src/app/pages/home-page/home-page.component.html b/src/app/pages/home-page/home-page.component.html index 39ccd90..2178e10 100644 --- a/src/app/pages/home-page/home-page.component.html +++ b/src/app/pages/home-page/home-page.component.html @@ -3,7 +3,7 @@

{{totalCount}} - 今日预警 + 今日预警
= shardSize) // 超过5MB要分块上传 + { + await this.postFileByMul(file); + } + else //普通上传 + { + await this.postFile(file); + } + } + //上传文件 + async postFile(file: File) { + await new Promise((resolve, reject) => { + this.objectsSrv.postFile(this.postFilePath, file).subscribe(data => { + let dataObj = data as any; + let filePath: string = ObjectsSimpleService.baseUrl + dataObj.objectName; + this.fileList.push(filePath) + this.isLoadingSave = false + resolve('success') + }); + }) + } + /** + * 分块上传 + * @param file + */ + postFileByMul(file: File) { + this.objectsSrv.postFile_MultipartUpload(this.postFilePath, file).then((value) => { + let dataObj = value as any; + let filePath = dataObj.filePath + this.fileList.push(filePath) + this.isLoadingSave = false + }); + + } + + lookfile(item) { + if (!item) { + return + } + if (this.getFileType(item) == 'word') { + let arr = item.split('.') + arr[arr.length - 1] = 'pdf' + window.open(arr.join('.')) + } else if (this.getFileType(item) == 'pdf') { + window.open(item) + } else { + this.viewImg(item) + } + } + + delete(fileList, key) { + this.modal.confirm({ + nzTitle: `确定要删除这个文件吗?`, + nzOkText: '确定', + nzOkType: 'primary', + nzOnOk: () => { + fileList.splice(key, 1) + }, + nzCancelText: '取消' + }); + + } + + //查看图片 + viewImg(url) { + let dom = document.getElementById(`viewerjs`) + let pObjs = dom.childNodes; + let node = document.createElement("img") + node.style.display = "none"; + node.src = url; + node.id = 'img' + dom.appendChild(node) + setTimeout(() => { + let viewer = new Viewer(document.getElementById(`viewerjs`), { + hidden: () => { + dom.removeChild(pObjs[0]); + viewer.destroy(); + } + }); + node.click(); + }, 0); + } //获取文件格式 getFileType(name: string): string { @@ -156,10 +256,13 @@ export class GetOutOfLineDetailsComponent implements OnInit { this.isAppeal = true } handleOk() { - this.http.post('/api/services/app/ViolateRecord/Appeal', null, { + let body = { + appealReason: this.appealValue, + appealAttachments: this.fileList + } + this.http.post('/api/services/app/ViolateRecord/Appeal', body, { params: { - id: this.data.id, - reason: this.appealValue + id: this.data.id } }).subscribe(data => { this.message.create('success', '申诉提交成功'); diff --git a/src/app/pipes/type.pipe.ts b/src/app/pipes/type.pipe.ts index d676090..3cbe19f 100644 --- a/src/app/pipes/type.pipe.ts +++ b/src/app/pipes/type.pipe.ts @@ -33,4 +33,15 @@ export class handleState implements PipeTransform { let arr = ['未启动', '已启动', '已关闭', '已延期', '已忽略'] return arr[value] } -} \ No newline at end of file +} + +/** + * 文件后缀 + */ +@Pipe({ name: 'fileName' }) +export class fileName implements PipeTransform { + transform(value: string): string { + let a = value.split('/')[value.split('/').length - 1] + return a + } +} diff --git a/src/theme.less b/src/theme.less index 71c1f3a..13a501e 100644 --- a/src/theme.less +++ b/src/theme.less @@ -11,7 +11,7 @@ } .yellowColor { - color: #FFBD4B!important; + color: #FFBD4B !important; } .greenColor { @@ -288,6 +288,7 @@ #detailsfilecategory { nz-form-item { margin-bottom: 0; + input, select { color: rgba(145, 204, 255, 0.95) !important; @@ -301,7 +302,8 @@ background-color: #143c61; } - nz-select,textarea { + nz-select, + textarea { color: rgba(145, 204, 255, 0.95) !important; } @@ -714,22 +716,55 @@ } // 申诉上传 -.appealUploadbox{ +.appealUploadbox { display: flex; margin-top: 12px; - .title{ + + .title { margin-right: 6px; + width: 13%; } - .btn{ - ul{ + + .btn { + position: relative; + flex: 1; + input { + opacity: 0; + width: 82px; + height: 32px; + position: absolute; + left: 0; + top: 0; + cursor: pointer; + z-index: 999; + } + + ul { margin-top: 6px; margin-bottom: 0px; - li{ - cursor: pointer; - } - li:hover{ - text-decoration: underline; + + li { + + display: flex; + justify-content: space-between; + + span { + cursor: pointer; + } + + .filename { + flex: 1; + display: inline-block; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } + + .filename:hover { + text-decoration: underline; + cursor: pointer; + } } } } -} \ No newline at end of file +}