@@ -105,7 +105,7 @@
- {{content}}
+ {{content}}
@@ -115,5 +115,13 @@
处置时间:{{data.handleTime|date:"yyyy-MM-dd HH:mm:ss"}}
+
+
+ 申诉人:
+ {{data.appealLog.creatorUser.name}}
+ 申诉时间:
+ {{data.appealLog.committedTime | date:"yyyy-MM-dd HH:mm:ss"}}
+
+
-
+
\ No newline at end of file
diff --git a/src/app/pages/today-warning/get-out-of-line-details/get-out-of-line-details.component.ts b/src/app/pages/today-warning/get-out-of-line-details/get-out-of-line-details.component.ts
index e79c91b..d0a4d98 100644
--- a/src/app/pages/today-warning/get-out-of-line-details/get-out-of-line-details.component.ts
+++ b/src/app/pages/today-warning/get-out-of-line-details/get-out-of-line-details.component.ts
@@ -1,190 +1,206 @@
-import { HttpClient } from '@angular/common/http';
-import { Component, OnInit, Input } from '@angular/core';
-import { FormBuilder, FormGroup, Validators } from '@angular/forms';
-import { DomSanitizer } from '@angular/platform-browser';
-import { NzMessageService } from 'ng-zorro-antd/message';
-import { NzModalRef, NzModalService } from 'ng-zorro-antd/modal';
-import { NzTreeModule } from 'ng-zorro-antd/tree';
-import { ObjectsSimpleService } from 'src/app/service/objectsSimple.service';
-import Viewer from 'viewerjs';
+import { HttpClient } from "@angular/common/http";
+import { Component, OnInit, Input } from "@angular/core";
+import { FormBuilder, FormGroup, Validators } from "@angular/forms";
+import { DomSanitizer } from "@angular/platform-browser";
+import { NzMessageService } from "ng-zorro-antd/message";
+import { NzModalRef, NzModalService } from "ng-zorro-antd/modal";
+import { NzTreeModule } from "ng-zorro-antd/tree";
+import { ObjectsSimpleService } from "src/app/service/objectsSimple.service";
+import Viewer from "viewerjs";
@Component({
- selector: 'app-get-out-of-line-details',
- templateUrl: './get-out-of-line-details.component.html',
- styleUrls: ['./get-out-of-line-details.component.scss']
+ selector: "app-get-out-of-line-details",
+ templateUrl: "./get-out-of-line-details.component.html",
+ styleUrls: ["./get-out-of-line-details.component.scss"],
})
export class GetOutOfLineDetailsComponent implements OnInit {
- @Input() data: any
+ @Input() data: any;
- constructor(private objectsSrv: ObjectsSimpleService, private fb: FormBuilder, private http: HttpClient, private message: NzMessageService, private modal: NzModalService, private initialModal: NzModalRef, private sanitizer: DomSanitizer,private openmodal: NzModalRef) { }
+ constructor(
+ private objectsSrv: ObjectsSimpleService,
+ private fb: FormBuilder,
+ private http: HttpClient,
+ private message: NzMessageService,
+ private modal: NzModalService,
+ private initialModal: NzModalRef,
+ private sanitizer: DomSanitizer,
+ private openmodal: NzModalRef
+ ) {}
+ imgUrl: string;
+ vedioUrl: string;
+ content;
+ details;
- imgUrl: string
- vedioUrl: string
- content
- details
+ isMisinformation: boolean = false; //误报按钮的显隐
+ isImage = true; //传过来的文件是否是图片
+ fileUrl;
- isMisinformation: boolean = false//误报按钮的显隐
+ isLicenseWarning = false;
-
- isImage = true//传过来的文件是否是图片
- fileUrl
-
- isLicenseWarning = false
-
-
- isSubmit
+ isSubmit;
ngOnInit(): void {
+ console.log("预警信息", this.data);
- console.log('预警信息', this.data)
-
- if (this.data.violation.violationType == '证照资质') {
- this.isLicenseWarning = true
+ if (this.data.violation.violationType == "证照资质") {
+ this.isLicenseWarning = true;
} else {
- this.isLicenseWarning = false
+ this.isLicenseWarning = false;
}
-
- this.details = this.data.content1
- this.vedioUrl = this.data.violateVideo
- this.content = this.data.handleRecord
- this.imgUrl = this.data.violateImage
+ this.details = this.data.content1;
+ this.vedioUrl = this.data.violateVideo;
+ this.content = this.data.handleRecord;
+ this.imgUrl = this.data.violateImage;
if (this.imgUrl) {
- if (this.getFileType(this.imgUrl) == 'img') {
- this.isImage = true
+ if (this.getFileType(this.imgUrl) == "img") {
+ this.isImage = true;
} else {
- this.isImage = false
- if (this.getFileType(this.imgUrl) == 'word') {
- let arr = this.imgUrl.split('.')
- arr[arr.length - 1] = 'pdf'
- this.fileUrl = this.sanitizer.bypassSecurityTrustResourceUrl(arr.join('.'));
- } else if (this.getFileType(this.imgUrl) == 'pdf') {
- this.fileUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.imgUrl);
+ this.isImage = false;
+ if (this.getFileType(this.imgUrl) == "word") {
+ let arr = this.imgUrl.split(".");
+ arr[arr.length - 1] = "pdf";
+ this.fileUrl = this.sanitizer.bypassSecurityTrustResourceUrl(
+ arr.join(".")
+ );
+ } else if (this.getFileType(this.imgUrl) == "pdf") {
+ this.fileUrl = this.sanitizer.bypassSecurityTrustResourceUrl(
+ this.imgUrl
+ );
}
}
}
-
- let loginUserInfo
- if (sessionStorage.getItem('isGasStation') == 'true') {
- loginUserInfo = JSON.parse(sessionStorage.getItem('userdataOfgasstation'))
+ let loginUserInfo;
+ if (sessionStorage.getItem("isGasStation") == "true") {
+ loginUserInfo = JSON.parse(
+ sessionStorage.getItem("userdataOfgasstation")
+ );
} else {
- loginUserInfo = JSON.parse(sessionStorage.getItem('userdata'))
+ loginUserInfo = JSON.parse(sessionStorage.getItem("userdata"));
}
- if (loginUserInfo.userName == 'admin' || sessionStorage.getItem('isGasStation') == 'true') {
- this.isSubmit = true
+ if (
+ loginUserInfo.userName == "admin" ||
+ sessionStorage.getItem("isGasStation") == "true"
+ ) {
+ this.isSubmit = true;
} else {
- this.isSubmit = false
+ this.isSubmit = false;
}
- console.log('this.isSubmit', this.isSubmit)
-
+ console.log("this.isSubmit", this.isSubmit);
- if (loginUserInfo.permissions.find((item) => {
- return item.name == 'Data.Violation.Positive.Censor'
- }) && this.data.violation.eventSystemName.indexOf("证照有效期") == -1) {
- this.isMisinformation = true
+ if (
+ loginUserInfo.permissions.find((item) => {
+ return item.name == "Data.Violation.Positive.Censor";
+ }) &&
+ this.data.violation.eventSystemName.indexOf("证照有效期") == -1
+ ) {
+ this.isMisinformation = true;
} else {
- this.isMisinformation = false
+ this.isMisinformation = false;
}
}
- fileList = []
+ fileList = [];
- isLoadingSave: boolean = false
- uploadIndex: string
+ isLoadingSave: boolean = false;
+ uploadIndex: string;
filechange(e) {
- this.isLoadingSave = true
- let file = e.target.files[0] || null //获取上传的文件
- this.openFileSelect(file, `stationPhotos/${this.data.gasStation.id}/appealFile/${this.data.id}`)
+ this.isLoadingSave = true;
+ let file = e.target.files[0] || null; //获取上传的文件
+ this.openFileSelect(
+ file,
+ `stationPhotos/${this.data.gasStation.id}/appealFile/${this.data.id}`
+ );
}
//设置文件路径并上传
- postFilePath
+ postFilePath;
async openFileSelect(file: File, extensionPath: string) {
this.postFilePath = extensionPath;
- let fileSize = file.size || null //上传文件的总大小
- let shardSize = 5 * 1024 * 1024 //5MB 超过5MB要分块上传
- if (fileSize >= shardSize) // 超过5MB要分块上传
- {
+ let fileSize = file.size || null; //上传文件的总大小
+ let shardSize = 5 * 1024 * 1024; //5MB 超过5MB要分块上传
+ if (fileSize >= shardSize) {
+ // 超过5MB要分块上传
await this.postFileByMul(file);
- }
- else //普通上传
- {
+ } //普通上传
+ else {
await this.postFile(file);
}
}
//上传文件
async postFile(file: File) {
await new Promise((resolve, reject) => {
- this.objectsSrv.postFile(this.postFilePath, file).subscribe(data => {
+ 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')
+ let filePath: string =
+ ObjectsSimpleService.baseUrl + dataObj.objectName;
+ this.fileList.push(filePath);
+ this.isLoadingSave = false;
+ resolve("success");
});
- })
+ });
}
/**
* 分块上传
- * @param file
+ * @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
- });
-
+ 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
+ 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)
+ 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)
+ this.viewImg(item);
}
}
delete(fileList, key) {
this.modal.confirm({
nzTitle: `确定要删除这个文件吗?`,
- nzOkText: '确定',
- nzOkType: 'primary',
+ nzOkText: "确定",
+ nzOkType: "primary",
nzOnOk: () => {
- fileList.splice(key, 1)
+ fileList.splice(key, 1);
},
- nzCancelText: '取消'
+ nzCancelText: "取消",
});
-
}
//查看图片
viewImg(url) {
- let dom = document.getElementById(`viewerjs`)
+ let dom = document.getElementById(`viewerjs`);
let pObjs = dom.childNodes;
- let node = document.createElement("img")
+ let node = document.createElement("img");
node.style.display = "none";
node.src = url;
- node.id = 'img'
- dom.appendChild(node)
+ node.id = "img";
+ dom.appendChild(node);
setTimeout(() => {
let viewer = new Viewer(document.getElementById(`viewerjs`), {
hidden: () => {
dom.removeChild(pObjs[0]);
viewer.destroy();
- }
+ },
});
node.click();
}, 0);
@@ -192,85 +208,101 @@ export class GetOutOfLineDetailsComponent implements OnInit {
//获取文件格式
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'
+ 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
+ return suffix;
}
-
-
-
-
- selectedType: string = 'img'
+ selectedType: string = "img";
contentType(type) {
- this.selectedType = type
+ this.selectedType = type;
}
submit() {
let body = {
id: this.data.id,
- handleRecord: this.content
- }
- this.http.post('/api/services/app/ViolateRecord/HandleViolateRecord', body).subscribe(data => {
- this.message.create('success', '处置成功!');
- this.data.handleTime = new Date()
- this.data.handleStateStr = '已处置'
- this.data.handleRecord = this.content
- })
+ handleRecord: this.content,
+ };
+ this.http
+ .post("/api/services/app/ViolateRecord/HandleViolateRecord", body)
+ .subscribe((data) => {
+ this.message.create("success", "处置成功!");
+ this.data.handleTime = new Date();
+ this.data.handleStateStr = "已处置";
+ this.data.handleRecord = this.content;
+ });
}
//误报
misinformation() {
this.modal.confirm({
- nzTitle: '判定该预警为误报吗?',
- nzOkText: '确定',
- nzOkType: 'primary',
+ nzTitle: "判定该预警为误报吗?",
+ nzOkText: "确定",
+ nzOkType: "primary",
nzOnOk: () => {
let body = {
id: this.data.id,
- positive: false
- }
- this.http.post('/api/services/app/ViolateRecord/CensorViolateRecord', body).subscribe(data => {
- this.message.create('success', '处置成功!');
- // this.data.handleTime = new Date()
- this.initialModal.triggerOk()
- }, err => {
- this.message.create('warning', '处置失败,请联系管理员!');
- })
-
+ positive: false,
+ };
+ this.http
+ .post("/api/services/app/ViolateRecord/CensorViolateRecord", body)
+ .subscribe(
+ (data) => {
+ this.message.create("success", "处置成功!");
+ // this.data.handleTime = new Date()
+ this.initialModal.triggerOk();
+ },
+ (err) => {
+ this.message.create("warning", "处置失败,请联系管理员!");
+ }
+ );
},
- nzCancelText: '取消',
- nzOnCancel: () => console.log('Cancel')
- })
+ nzCancelText: "取消",
+ nzOnCancel: () => console.log("Cancel"),
+ });
}
// 申诉
- isAppeal
- appealValue
+ isAppeal;
+ appealValue;
appeal() {
- this.isAppeal = true
+ this.isAppeal = true;
}
handleOk() {
let body = {
appealReason: this.appealValue,
- appealAttachments: this.fileList
- }
- this.http.post('/api/services/app/ViolateRecord/Appeal', body, {
- params: {
- id: this.data.id
- }
- }).subscribe(data => {
- this.message.create('success', '申诉提交成功');
- this.isAppeal = false;
- this.data.appealStatus = 1
- }, err => {
- this.message.create('warning', '申诉提交失败,请联系管理员!');
- })
+ appealAttachments: this.fileList,
+ };
+ this.http
+ .post("/api/services/app/ViolateRecord/Appeal", body, {
+ params: {
+ id: this.data.id,
+ },
+ })
+ .subscribe(
+ (data: any) => {
+ this.message.create("success", "申诉提交成功");
+ this.isAppeal = false;
+ this.data.appealStatus = 1;
+ this.data.appealLog = data.result.appealLog;
+ },
+ (err) => {
+ this.message.create("warning", "申诉提交失败,请联系管理员!");
+ }
+ );
}
handleCancel(): void {
@@ -278,19 +310,24 @@ export class GetOutOfLineDetailsComponent implements OnInit {
}
Unappeal() {
- this.http.post('/api/services/app/ViolateRecord/Unappeal', null, {
- params: {
- id: this.data.id
- }
- }).subscribe(data => {
- this.message.create('success', '申诉撤销成功');
- this.data.appealStatus = 4
- }, err => {
- this.message.create('warning', '申诉撤销失败,请联系管理员!');
- })
+ this.http
+ .post("/api/services/app/ViolateRecord/Unappeal", null, {
+ params: {
+ id: this.data.id,
+ },
+ })
+ .subscribe(
+ (data) => {
+ this.message.create("success", "申诉撤销成功");
+ this.data.appealStatus = 4;
+ },
+ (err) => {
+ this.message.create("warning", "申诉撤销失败,请联系管理员!");
+ }
+ );
}
- closeModel(){
- this.openmodal.close()
+ closeModel() {
+ this.openmodal.close();
}
}