|
|
|
@ -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(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|