diff --git a/proxy.config.json b/proxy.config.json index 07408fe..e2148be 100644 --- a/proxy.config.json +++ b/proxy.config.json @@ -1,6 +1,6 @@ { "/api": { - "target": "http://121.36.37.70:8906/", + "target": "https://znaq.sinochemoilmarketing.com/", "测试1": "http://121.36.37.70:8906/", "测试2": "https://znaq.sinochemoilmarketing.com/", "测试3": "https://gas.anxincloud.cn/", @@ -8,7 +8,7 @@ "changeOrigin": true }, "/signalr": { - "target": "http://121.36.37.70:8906/", + "target": "https://znaq.sinochemoilmarketing.com/", "secure": false, "ws": true, "logLevel": "debug" 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 8f137b9..66155e6 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 @@ -17,8 +17,13 @@
提交时间: {{data.committedTime | date:"yyyy-MM-dd HH:mm:ss"}}
预警图片:
-申诉原因: {{data.commitReason}}
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 c97779b..93bfc41 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 @@ -45,6 +45,17 @@ justify-content: space-between; align-items: center; } + + .imgbox{ + position: relative; + #canvas { + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + } + + } } p { 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 e8b92d3..d66f572 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 @@ -5,6 +5,7 @@ import { NzModalRef, NzModalService } from "ng-zorro-antd/modal"; import { VideoPlayComponent } from "src/app/component/video-play/video-play.component"; import { PublicMethodsService } from "src/app/service/publicMethods.service"; import Viewer from "viewerjs"; +import { ImgLookComponent } from "../../img-look/img-look.component"; @Component({ selector: "app-appeal-details", templateUrl: "./appeal-details.component.html", @@ -18,6 +19,7 @@ export class AppealDetailsComponent implements OnInit { private message: NzMessageService, private pubilcMethods: PublicMethodsService, private modalChild: NzModalService, + private modalF: NzModalService, private viewContainerRef: ViewContainerRef ) {} @@ -30,6 +32,8 @@ export class AppealDetailsComponent implements OnInit { lastModificationTime: "", }; organizationName; + isAnxin = false; + coordinate; //标绘坐标 ngOnInit(): void { console.log("申诉详情", this.data); if (this.data.auditType == 5) { @@ -44,6 +48,69 @@ export class AppealDetailsComponent implements OnInit { console.log("申诉预警详情", this.appealData); }); } + + if (this.data.itemData.ViolatedItemSnapshot && this.data.auditType == 5) { + this.isAnxin = true; + if (this.isAnxin) { + let dataArr = []; + for (const key in JSON.parse(this.data.itemData.ViolatedItemSnapshot)) { + const element = JSON.parse(this.data.itemData.ViolatedItemSnapshot)[ + key + ]; + if (element.error) { + dataArr.push(element); + } + } + console.log("标绘坐标", dataArr); + this.coordinate = dataArr; + setTimeout(() => { + this.canvasLabel(); + }, 0); + } + } + } + + canvasWidth = 0; + canvasHeight = 0; + ctx; + canvasLabel() { + let imgBg: any = document.getElementById("img"); + imgBg.onload = () => { + this.canvasWidth = imgBg.offsetWidth; + this.canvasHeight = imgBg.offsetHeight; + const img = new Image(); + img.src = imgBg.src; + img.onload = () => { + const canvas: any = document.querySelector("#canvas"); + this.ctx = canvas.getContext("2d"); + const cWidth = canvas.width, + cHeight = canvas.height; + // 以图画底 + this.ctx.drawImage(img, 0, 0, cWidth, cHeight); + this.strokeRect(this.coordinate); + }; + }; + } + + strokeRect(data) { + data.forEach((item) => { + let startPoint = [ + Math.round(this.canvasWidth * item.box[0]), + Math.round(this.canvasHeight * item.box[1]), + ]; + let endPoint = [ + Math.round(this.canvasWidth * item.box[2]), + Math.round(this.canvasHeight * item.box[3]), + ]; + this.ctx.strokeStyle = "red"; + this.ctx.lineWidth = 3; + this.ctx.strokeRect( + startPoint[0], + startPoint[1], + endPoint[0] - startPoint[0], + endPoint[1] - startPoint[1] + ); + }); } destroyModal() { this.modal.destroy({ data: "this the result data" }); @@ -69,6 +136,31 @@ export class AppealDetailsComponent implements OnInit { }, 0); } + //canvasLook() + canvasLook(data) { + const modal = this.modalF.create({ + nzContent: ImgLookComponent, + nzWrapClassName: "vertical-center-modal", + nzViewContainerRef: this.viewContainerRef, + nzWidth: + document.documentElement.clientHeight < 650 || + document.documentElement.clientWidth < 1400 + ? 1000 + : 1200, + nzClosable: false, + nzClassName: "modelnobg", + nzBodyStyle: { + "border-radius": "0px", + padding: "0px", + }, + nzComponentParams: { + data: data, + }, + nzFooter: null + }); + const instance = modal.getContentComponent(); + } + //查看文件 lookFile(item) { if (!item) { 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 c275084..eb1c36f 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 @@ -87,8 +87,12 @@提交时间: {{data.committedTime | date:"yyyy-MM-dd HH:mm:ss"}}
预警图片:
-申诉说明: {{data.commitReason}}
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 84d3def..91fae62 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 @@ -46,6 +46,18 @@ align-items: center; } + .imgbox { + position: relative; + + #canvas { + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + } + + } + .btnbox { width: 100%; margin: 10px 0; 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 2edd28f..886d498 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 @@ -9,6 +9,7 @@ import { import { HttpClient } from "@angular/common/http"; import { PublicMethodsService } from "src/app/service/publicMethods.service"; import { VideoPlayComponent } from "src/app/component/video-play/video-play.component"; +import { ImgLookComponent } from "../../img-look/img-look.component"; @Component({ selector: "app-audit-dispose", @@ -36,6 +37,8 @@ export class AuditDisposeComponent implements OnInit { appealData: any = { appealAttachments: [], }; + isAnxin = false; + coordinate; ngOnInit(): void { console.log("审批信息", this.data); if (this.data.auditType == 4) { @@ -58,8 +61,70 @@ export class AuditDisposeComponent implements OnInit { this.appealData = data.result; }); } + + if (this.data.itemData.ViolatedItemSnapshot && this.data.auditType == 5) { + this.isAnxin = true; + if (this.isAnxin) { + let dataArr = []; + for (const key in JSON.parse(this.data.itemData.ViolatedItemSnapshot)) { + const element = JSON.parse(this.data.itemData.ViolatedItemSnapshot)[ + key + ]; + if (element.error) { + dataArr.push(element); + } + } + console.log("标绘坐标", dataArr); + this.coordinate = dataArr; + setTimeout(() => { + this.canvasLabel(); + }, 0); + } + } + } + + canvasWidth = 0; + canvasHeight = 0; + ctx; + canvasLabel() { + let imgBg: any = document.getElementById("img"); + imgBg.onload = () => { + this.canvasWidth = imgBg.offsetWidth; + this.canvasHeight = imgBg.offsetHeight; + const img = new Image(); + img.src = imgBg.src; + img.onload = () => { + const canvas: any = document.querySelector("#canvas"); + this.ctx = canvas.getContext("2d"); + const cWidth = canvas.width, + cHeight = canvas.height; + // 以图画底 + this.ctx.drawImage(img, 0, 0, cWidth, cHeight); + this.strokeRect(this.coordinate); + }; + }; } + strokeRect(data) { + data.forEach((item) => { + let startPoint = [ + Math.round(this.canvasWidth * item.box[0]), + Math.round(this.canvasHeight * item.box[1]), + ]; + let endPoint = [ + Math.round(this.canvasWidth * item.box[2]), + Math.round(this.canvasHeight * item.box[3]), + ]; + this.ctx.strokeStyle = "red"; + this.ctx.lineWidth = 3; + this.ctx.strokeRect( + startPoint[0], + startPoint[1], + endPoint[0] - startPoint[0], + endPoint[1] - startPoint[1] + ); + }); + } destroyModal() { this.modal.destroy(); } @@ -129,6 +194,30 @@ export class AuditDisposeComponent implements OnInit { }, 0); } + canvasLook(data) { + const modal = this.modalChild.create({ + nzContent: ImgLookComponent, + nzWrapClassName: "vertical-center-modal", + nzViewContainerRef: this.viewContainerRef, + nzWidth: + document.documentElement.clientHeight < 650 || + document.documentElement.clientWidth < 1400 + ? 1000 + : 1200, + nzClosable: false, + nzClassName: "modelnobg", + nzBodyStyle: { + "border-radius": "0px", + padding: "0px", + }, + nzComponentParams: { + data: data, + }, + nzFooter: null, + }); + const instance = modal.getContentComponent(); + } + //查看文件 lookFile(item) { if (!item) { diff --git a/src/app/pages/audit/audit-ing/audit-ing.component.ts b/src/app/pages/audit/audit-ing/audit-ing.component.ts index 42d6075..fb0cec4 100644 --- a/src/app/pages/audit/audit-ing/audit-ing.component.ts +++ b/src/app/pages/audit/audit-ing/audit-ing.component.ts @@ -129,22 +129,22 @@ export class AuditIngComponent implements OnInit { let data = JSON.parse(sessionStorage.getItem("userdata")); let params = { OrganizationUnitId: this.validateForm.value.organization - ? data.organization.id - : this.validateForm.value.organization, + ? this.validateForm.value.organization + : data.organization.id, IsContainsChildren: "true", AuditStatuses: "1", - AuditType:this.validateForm.value.type, - AuditTitle:this.validateForm.value.info, + AuditType: this.validateForm.value.type, + AuditTitle: this.validateForm.value.info, StartTime: this.validateForm.value.datePicker ? this.validateForm.value.datePicker[0] : null, EndTime: this.validateForm.value.datePicker - ? this.validateForm.value.datePicker[1] + ' 23:59:59' + ? this.validateForm.value.datePicker[1] + " 23:59:59" : null, SkipCount: this.SkipCount, MaxResultCount: this.MaxResultCount, }; - + this.http .get(`/api/services/app/ContentAuditLog/GetAuditting`, { params }) .subscribe((info: any) => { @@ -215,10 +215,10 @@ export class AuditIngComponent implements OnInit { // this.getStationList(); for (let index = 0; index < this.list.length; index++) { const element = this.list[index]; - if(element.id==item.id){ - this.list.splice(index,1) - this.SkipCount = String(Number(this.SkipCount)-1); - this.totalCount = String(Number(this.totalCount)-1); + if (element.id == item.id) { + this.list.splice(index, 1); + this.SkipCount = String(Number(this.SkipCount) - 1); + this.totalCount = String(Number(this.totalCount) - 1); this.list = [...this.list]; } } diff --git a/src/app/pages/audit/img-look/img-look.component.html b/src/app/pages/audit/img-look/img-look.component.html new file mode 100644 index 0000000..92694ed --- /dev/null +++ b/src/app/pages/audit/img-look/img-look.component.html @@ -0,0 +1,5 @@ +