From fe40d429833e97b185759ec25a35ae90f25653cc Mon Sep 17 00:00:00 2001 From: SHAOJIAHAO <55341701@qq.com> Date: Fri, 17 Mar 2023 10:16:59 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=AE=8C=E5=96=84]=E5=AE=8C=E5=96=84=E5=9C=A8?= =?UTF-8?q?=E7=BA=BF=E7=BC=96=E5=88=B6=E9=A2=84=E6=A1=88=E5=90=8D=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entry-plan-look.component.ts | 2695 ++++++++++------- 1 file changed, 1564 insertions(+), 1131 deletions(-) diff --git a/src/app/plan-management/entry-plan-look/entry-plan-look.component.ts b/src/app/plan-management/entry-plan-look/entry-plan-look.component.ts index eed3213..99f108d 100644 --- a/src/app/plan-management/entry-plan-look/entry-plan-look.component.ts +++ b/src/app/plan-management/entry-plan-look/entry-plan-look.component.ts @@ -1,402 +1,530 @@ -import { Component, OnInit, ViewChild, Inject } from '@angular/core'; -import { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http' -import { MatTreeFlatDataSource, MatTreeFlattener } from '@angular/material/tree'; -import { MatPaginator } from '@angular/material/paginator'; -import { FlatTreeControl } from '@angular/cdk/tree'; -import { FormControl } from '@angular/forms'; -import { Router, ActivatedRoute } from '@angular/router' -import { PageEvent } from '@angular/material/paginator'; -import { MatDialogRef, MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog'; -import { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar'; -import { TreeService } from '../../http-interceptors/tree.service' -import { FormBuilder, FormGroup, Validators } from '@angular/forms'; -import { async } from '@angular/core/testing'; -import { Viewer } from 'photo-sphere-viewer'; -import { STEPPER_GLOBAL_OPTIONS } from '@angular/cdk/stepper'; -import Swiper from 'swiper'; -import { resolve } from 'dns'; -import { DomSanitizer } from '@angular/platform-browser'; -declare var CryptoJS +import { Component, OnInit, ViewChild, Inject } from "@angular/core"; +import { + HttpClient, + HttpHeaders, + HttpErrorResponse, +} from "@angular/common/http"; +import { + MatTreeFlatDataSource, + MatTreeFlattener, +} from "@angular/material/tree"; +import { MatPaginator } from "@angular/material/paginator"; +import { FlatTreeControl } from "@angular/cdk/tree"; +import { FormControl } from "@angular/forms"; +import { Router, ActivatedRoute } from "@angular/router"; +import { PageEvent } from "@angular/material/paginator"; +import { + MatDialogRef, + MatDialog, + MAT_DIALOG_DATA, +} from "@angular/material/dialog"; +import { MatSnackBar, MatSnackBarConfig } from "@angular/material/snack-bar"; +import { TreeService } from "../../http-interceptors/tree.service"; +import { FormBuilder, FormGroup, Validators } from "@angular/forms"; +import { async } from "@angular/core/testing"; +import { Viewer } from "photo-sphere-viewer"; +import { STEPPER_GLOBAL_OPTIONS } from "@angular/cdk/stepper"; +import Swiper from "swiper"; +import { resolve } from "dns"; +import { DomSanitizer } from "@angular/platform-browser"; +declare var CryptoJS; @Component({ - selector: 'app-entry-plan-look', - templateUrl: './entry-plan-look.component.html', - styleUrls: ['./entry-plan-look.component.scss'] + selector: "app-entry-plan-look", + templateUrl: "./entry-plan-look.component.html", + styleUrls: ["./entry-plan-look.component.scss"], }) export class EntryPlanLookComponent implements OnInit { - constructor(private http: HttpClient, private router: Router, private route: ActivatedRoute, private tree: TreeService, public dialog: MatDialog, public snackBar: MatSnackBar, private sanitizer: DomSanitizer) { } + constructor( + private http: HttpClient, + private router: Router, + private route: ActivatedRoute, + private tree: TreeService, + public dialog: MatDialog, + public snackBar: MatSnackBar, + private sanitizer: DomSanitizer + ) {} pageEvent: PageEvent; - private _transformer = (node, level: number) => { //初始化tree + private _transformer = (node, level: number) => { + //初始化tree return { expandable: !!node.children && node.children.length > 0, name: node.name, level: level, id: node.id, parentId: node.parentId, - children: node.children + children: node.children, }; - } - treeControl = new FlatTreeControl(node => node.level, node => node.expandable); - treeFlattener = new MatTreeFlattener(this._transformer, node => node.level, node => node.expandable, node => node.children); + }; + treeControl = new FlatTreeControl( + (node) => node.level, + (node) => node.expandable + ); + treeFlattener = new MatTreeFlattener( + this._transformer, + (node) => node.level, + (node) => node.expandable, + (node) => node.children + ); dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener); myControl = new FormControl(); hasChild = (_: number, node: any) => node.expandable; - IsNewData = true //维护更新活新增 - displayedColumns: string[] = ['state', 'planname', 'addpeople', 'addtime', 'planCategory', 'plantype', 'auditstate', 'weihustate', 'isopen', 'preparethelevel', 'operation']; - tabledataSource: any + IsNewData = true; //维护更新活新增 + displayedColumns: string[] = [ + "state", + "planname", + "addpeople", + "addtime", + "planCategory", + "plantype", + "auditstate", + "weihustate", + "isopen", + "preparethelevel", + "operation", + ]; + tabledataSource: any; //分页 @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator; length: any; //共多少条数据 pageSize: any; //每页条数 - pageSizeOptions: number[] = [10] //设置每页条数 + pageSizeOptions: number[] = [10]; //设置每页条数 PageNumber: any = 1; //第几页 - unitdata: any = {} - + unitdata: any = {}; - - unittypeId: any //单位类型id + unittypeId: any; //单位类型id //获取当前单位信息 - compantData: any + compantData: any; getCompanyData() { - let CompanyName = sessionStorage.getItem("companyName") + let CompanyName = sessionStorage.getItem("companyName"); let header = { - CompanyName: CompanyName || '', - } - this.http.get('/api/Plans', { params: header }).subscribe((data: any) => { - data.items.forEach(element => { + CompanyName: CompanyName || "", + }; + this.http.get("/api/Plans", { params: header }).subscribe((data: any) => { + data.items.forEach((element) => { if (element.companyId === this.route.snapshot.queryParams.unitId) { - this.compantData = element.company - return + this.compantData = element.company; + return; } }); // console.log(123,this.compantData) - this.unitdata.unitname = this.compantData.name - this.unitdata.organizationName = this.compantData.organizationName - this.unitdata.unittype = this.compantData.buildingTypes[0].name - this.unitdata.unitaddress = this.compantData.address - this.unittypeId = this.compantData.buildingTypes[0].id - }) + this.unitdata.unitname = this.compantData.name; + this.unitdata.organizationName = this.compantData.organizationName; + this.unitdata.unittype = this.compantData.buildingTypes[0].name; + this.unitdata.unitaddress = this.compantData.address; + this.unittypeId = this.compantData.buildingTypes[0].id; + }); } //跳转单位信息 lookUnitData() { - sessionStorage.setItem("editable", "0") - sessionStorage.setItem("companyName", this.route.snapshot.queryParams.unitName) - sessionStorage.setItem("companyId", this.route.snapshot.queryParams.unitId) + sessionStorage.setItem("editable", "0"); + sessionStorage.setItem( + "companyName", + this.route.snapshot.queryParams.unitName + ); + sessionStorage.setItem("companyId", this.route.snapshot.queryParams.unitId); // sessionStorage.setItem(element.id,JSON.stringify(element.companyIntegrityScore)) - window.open(`/keyUnit/viewunitinfo?id=${this.route.snapshot.queryParams.unitId}&usci=${this.route.snapshot.queryParams.usci}`) + window.open( + `/keyUnit/viewunitinfo?id=${this.route.snapshot.queryParams.unitId}&usci=${this.route.snapshot.queryParams.usci}` + ); } //分页事件 changePage(e) { - this.PageNumber = e.pageIndex + 1 - this.getAllPlanComponents() + this.PageNumber = e.pageIndex + 1; + this.getAllPlanComponents(); } - isoperation: any //判断预案录入 和 审核公开预案 区别变量 + isoperation: any; //判断预案录入 和 审核公开预案 区别变量 ngOnInit(): void { - this.tabledataSource = [ - ] - this.getCompanyData() - this.isoperation = this.route.snapshot.queryParams.operation - this.unitdata.unitname = this.route.snapshot.queryParams.unitName - this.unitdata.organizationName = this.route.snapshot.queryParams.orName - this.unitdata.unittype = this.route.snapshot.queryParams.unitType - this.unitdata.unitaddress = this.route.snapshot.queryParams.unitAdd - this.companyId = this.route.snapshot.queryParams.unitId - this.unittypeId = this.route.snapshot.queryParams.unitTypeId - this.getAllPlanComponents() + this.tabledataSource = []; + this.getCompanyData(); + this.isoperation = this.route.snapshot.queryParams.operation; + this.unitdata.unitname = this.route.snapshot.queryParams.unitName; + this.unitdata.organizationName = this.route.snapshot.queryParams.orName; + this.unitdata.unittype = this.route.snapshot.queryParams.unitType; + this.unitdata.unitaddress = this.route.snapshot.queryParams.unitAdd; + this.companyId = this.route.snapshot.queryParams.unitId; + this.unittypeId = this.route.snapshot.queryParams.unitTypeId; + this.getAllPlanComponents(); } //查看预案 lookPlan(e) { if (e.planType == 16 || e.planType == 4 || e.planType == 8) { if (e.planType == 16 && e.attachmentUrls == null) { - window.open(`/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.companyId}&planName=${e.name}&unitName=${this.unitdata.unitname}&planCategory=${e.planCategory}&planId=${e.id}&unitTypeId=${this.compantData.buildingTypes[0].id}&orName=${this.compantData.organizationName}&orId=${this.compantData.organizationId}&pattern=false`) + window.open( + `/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.companyId}&planName=${e.name}&unitName=${this.unitdata.unitname}&planCategory=${e.planCategory}&planId=${e.id}&unitTypeId=${this.compantData.buildingTypes[0].id}&orName=${this.compantData.organizationName}&orId=${this.compantData.organizationId}&pattern=false` + ); } else { - var index = e.attachmentUrls[0].indexOf("\/") - if (e.attachmentUrls[0].substr(0, index) == 'psw') { + var index = e.attachmentUrls[0].indexOf("/"); + if (e.attachmentUrls[0].substr(0, index) == "psw") { const dialogRef = this.dialog.open(PsViewer, { - width: '1500px', - height: '800px', - data: e.attachmentUrls[0] + width: "1500px", + height: "800px", + data: e.attachmentUrls[0], }); - } else if (e.attachmentUrls[0].substr(e.attachmentUrls[0].length - 3, e.attachmentUrls[0].length) == 'JPG' || e.attachmentUrls[0].substr(e.attachmentUrls[0].length - 3, e.attachmentUrls[0].length) == 'png' || e.attachmentUrls[0].substr(e.attachmentUrls[0].length - 3, e.attachmentUrls[0].length) == 'jpeg' || e.attachmentUrls[0].substr(e.attachmentUrls[0].length - 3, e.attachmentUrls[0].length) == 'jpg') { - let data = e - const dialogRef = this.dialog.open(ImgDetails, {//调用open方法打开对话框并且携带参数过去 + } else if ( + e.attachmentUrls[0].substr( + e.attachmentUrls[0].length - 3, + e.attachmentUrls[0].length + ) == "JPG" || + e.attachmentUrls[0].substr( + e.attachmentUrls[0].length - 3, + e.attachmentUrls[0].length + ) == "png" || + e.attachmentUrls[0].substr( + e.attachmentUrls[0].length - 3, + e.attachmentUrls[0].length + ) == "jpeg" || + e.attachmentUrls[0].substr( + e.attachmentUrls[0].length - 3, + e.attachmentUrls[0].length + ) == "jpg" + ) { + let data = e; + const dialogRef = this.dialog.open(ImgDetails, { + //调用open方法打开对话框并且携带参数过去 data: data.attachmentUrls, }); dialogRef.afterClosed().subscribe(); } else { - let fetchUrl = e.attachmentUrls[0] + let fetchUrl = e.attachmentUrls[0]; if (fetchUrl) { - let suffix = fetchUrl.split('.')[fetchUrl.split('.').length - 1].toLowerCase() - if (suffix == 'docx' || suffix == 'doc') { - let arr = fetchUrl.split('.') - arr[arr.length - 1] = 'pdf' - window.open(`/api/Objects/PlanPlatform/` + arr.join('.')) - } else if (suffix == 'pdf') { - window.open(`/api/Objects/PlanPlatform/` + fetchUrl) + let suffix = fetchUrl + .split(".") + [fetchUrl.split(".").length - 1].toLowerCase(); + if (suffix == "docx" || suffix == "doc") { + let arr = fetchUrl.split("."); + arr[arr.length - 1] = "pdf"; + window.open(`/api/Objects/PlanPlatform/` + arr.join(".")); + } else if (suffix == "pdf") { + window.open(`/api/Objects/PlanPlatform/` + fetchUrl); } else { let config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('该文件类型暂不支持在线查看', '确定', config); + config.verticalPosition = "top"; + config.duration = 3000; + this.snackBar.open("该文件类型暂不支持在线查看", "确定", config); } } } } } - if (e.planType == 1 && e.planMode == 2) { //如果是在线编辑 - let id = e.id - sessionStorage.setItem("planId", id) - sessionStorage.setItem("companyId", this.companyId) - sessionStorage.setItem("buildingTypeId", this.unittypeId) - sessionStorage.setItem("editable", "0") - sessionStorage.setItem("planName", e.name) - let companyId = sessionStorage.getItem("companyId") - window.open(`/keyUnit/viewunitinfoplan?id=${companyId}&orName=${this.route.snapshot.queryParams.orName}&orId=${this.route.snapshot.queryParams.orId}`); + if (e.planType == 1 && e.planMode == 2) { + //如果是在线编辑 + let id = e.id; + sessionStorage.setItem("planId", id); + sessionStorage.setItem("companyId", this.companyId); + sessionStorage.setItem("buildingTypeId", this.unittypeId); + sessionStorage.setItem("editable", "0"); + sessionStorage.setItem("planName", e.name); + let companyId = sessionStorage.getItem("companyId"); + window.open( + `/keyUnit/viewunitinfoplan?id=${companyId}&orName=${this.route.snapshot.queryParams.orName}&orId=${this.route.snapshot.queryParams.orId}` + ); } - if (e.planType == 2 && e.planMode == 3) { //如果是跳转网页 - if (e.url.indexOf('app') == 0) { - window.location.href = e.url + if (e.planType == 2 && e.planMode == 3) { + //如果是跳转网页 + if (e.url.indexOf("app") == 0) { + window.location.href = e.url; } else { - sessionStorage.setItem("url", e.url) - if ((e.url as string).includes('gis/threeDimensionalHome')) { //三维预案 - window.open(`${e.url}?unitId=${this.companyId}&unitName=${this.unitdata.unitname}&editMode=false`) + sessionStorage.setItem("url", e.url); + if ((e.url as string).includes("gis/threeDimensionalHome")) { + //三维预案 + window.open( + `${e.url}?unitId=${this.companyId}&unitName=${this.unitdata.unitname}&editMode=false` + ); } else { - window.open(`/planManagement/webLook`) + window.open(`/planManagement/webLook`); } } } } //编辑预案 editPlan(e) { - console.log(e) + console.log(e); const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - if (e.openRange != '未公开' || e.auditStatus != 8) { - let isTrue = confirm('您确定编辑吗,若是公开预案会变成未公开状态,审核状态也会改变') + config.verticalPosition = "top"; + config.duration = 3000; + if (e.openRange != "未公开" || e.auditStatus != 8) { + let isTrue = confirm( + "您确定编辑吗,若是公开预案会变成未公开状态,审核状态也会改变" + ); if (isTrue) { if (e.auditStatus == 8) { - if (e.planType == 1) { //如果是在线编辑 - let id = e.id + if (e.planType == 1) { + //如果是在线编辑 + let id = e.id; let body = {}; - let resetAudit = true + let resetAudit = true; let headers = new HttpHeaders({ - 'Content-Type': 'text/json' + "Content-Type": "text/json", }); let options = { - headers + headers, }; - this.http.put(`/api/PlanComponents/${e.id}?resetAudit=${resetAudit}`, body, options).subscribe(data => { - this.getAllPlanComponents() - // this.lookPlan(e) - }) - sessionStorage.setItem("planId", id) - sessionStorage.setItem("companyId", this.companyId) - sessionStorage.setItem("buildingTypeId", this.unittypeId) - sessionStorage.setItem("editable", "1") - sessionStorage.setItem("planName", e.name) - let companyId = sessionStorage.getItem("companyId") - window.open(`/keyUnit/editunitinfo?id=${companyId}&orName=${this.route.snapshot.queryParams.orName}&orId=${this.route.snapshot.queryParams.orId}`); - } - else if (e.planType == 16) { + this.http + .put( + `/api/PlanComponents/${e.id}?resetAudit=${resetAudit}`, + body, + options + ) + .subscribe((data) => { + this.getAllPlanComponents(); + // this.lookPlan(e) + }); + sessionStorage.setItem("planId", id); + sessionStorage.setItem("companyId", this.companyId); + sessionStorage.setItem("buildingTypeId", this.unittypeId); + sessionStorage.setItem("editable", "1"); + sessionStorage.setItem("planName", e.name); + let companyId = sessionStorage.getItem("companyId"); + window.open( + `/keyUnit/editunitinfo?id=${companyId}&orName=${this.route.snapshot.queryParams.orName}&orId=${this.route.snapshot.queryParams.orId}` + ); + } else if (e.planType == 16) { if (e.attachmentUrls == null) { if (e.planMode == 4) { - window.open(`/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.companyId}&planName=${e.name}&unitName=${this.unitdata.unitname}&planCategory=${e.planCategory}&planId=${e.id}&unitTypeId=${this.compantData.buildingTypes[0].id}&orName=${this.compantData.organizationName}&orId=${this.compantData.organizationId}&pattern=true&planMode=${e.planMode}`) + window.open( + `/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.companyId}&planName=${e.name}&unitName=${this.unitdata.unitname}&planCategory=${e.planCategory}&planId=${e.id}&unitTypeId=${this.compantData.buildingTypes[0].id}&orName=${this.compantData.organizationName}&orId=${this.compantData.organizationId}&pattern=true&planMode=${e.planMode}` + ); } else { - window.open(`/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.companyId}&planName=${e.name}&unitName=${this.unitdata.unitname}&planCategory=${e.planCategory}&planId=${e.id}&unitTypeId=${this.compantData.buildingTypes[0].id}&orName=${this.compantData.organizationName}&orId=${this.compantData.organizationId}&pattern=true&planMode=${e.planMode}`) + window.open( + `/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.companyId}&planName=${e.name}&unitName=${this.unitdata.unitname}&planCategory=${e.planCategory}&planId=${e.id}&unitTypeId=${this.compantData.buildingTypes[0].id}&orName=${this.compantData.organizationName}&orId=${this.compantData.organizationId}&pattern=true&planMode=${e.planMode}` + ); } - - } - else { + } else { let body = {}; - let resetAudit = true + let resetAudit = true; let headers = new HttpHeaders({ - 'Content-Type': 'text/json' + "Content-Type": "text/json", }); let options = { - headers + headers, }; - this.http.put(`/api/PlanComponents/${e.id}?resetAudit=${resetAudit}`, body, options).subscribe(data => { - /* this.getAllPlanComponents() + this.http + .put( + `/api/PlanComponents/${e.id}?resetAudit=${resetAudit}`, + body, + options + ) + .subscribe( + (data) => { + /* this.getAllPlanComponents() this.lookPlan(e) */ - const dialogRef = this.dialog.open(editUpload, { - width: "300px", - height: "150px", - data: { id: e.id, companyId: this.companyId, unitType: this.unitdata.unittype, unitName: this.unitdata.unitname }, - disableClose: true - }); - dialogRef.afterClosed().subscribe(data => { - this.getAllPlanComponents() - }) - }/* ,err => { + const dialogRef = this.dialog.open(editUpload, { + width: "300px", + height: "150px", + data: { + id: e.id, + companyId: this.companyId, + unitType: this.unitdata.unittype, + unitName: this.unitdata.unitname, + }, + disableClose: true, + }); + dialogRef.afterClosed().subscribe((data) => { + this.getAllPlanComponents(); + }); + } /* ,err => { this.snackBar.open(err,'确定',config); - } */) + } */ + ); } - - } - else if (e.planType == 2) { //三维预案 + } else if (e.planType == 2) { + //三维预案 const dialogRef = this.dialog.open(ChangeUrl, { //改网址 - data: { element: e } + data: { element: e }, }); - dialogRef.afterClosed().subscribe( - data => { - if (data) { - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('修改成功!', '确定', config); - this.getAllPlanComponents() - } + dialogRef.afterClosed().subscribe((data) => { + if (data) { + const config = new MatSnackBarConfig(); + config.verticalPosition = "top"; + config.duration = 3000; + this.snackBar.open("修改成功!", "确定", config); + this.getAllPlanComponents(); } - ); - + }); } else { - this.snackBar.open('只有二维预案和文本预案可以编辑!', '确定', config); + this.snackBar.open( + "只有二维预案和文本预案可以编辑!", + "确定", + config + ); } } else { //let isTrue = confirm('编辑后审核状态会成为未审核状态,您确定要编辑吗') - if (e.planType == 1) { //如果是在线编辑 - let id = e.id + if (e.planType == 1) { + //如果是在线编辑 + let id = e.id; let body = {}; - let resetAudit = true + let resetAudit = true; let headers = new HttpHeaders({ - 'Content-Type': 'text/json' + "Content-Type": "text/json", }); let options = { - headers + headers, }; - this.http.put(`/api/PlanComponents/${e.id}?resetAudit=${resetAudit}`, body, options).subscribe(data => { - this.getAllPlanComponents() - // this.lookPlan(e) - }/* ,err => { + this.http + .put( + `/api/PlanComponents/${e.id}?resetAudit=${resetAudit}`, + body, + options + ) + .subscribe( + (data) => { + this.getAllPlanComponents(); + // this.lookPlan(e) + } /* ,err => { this.snackBar.open(err,'确定',config); - } */) - sessionStorage.setItem("planId", id) - sessionStorage.setItem("companyId", this.companyId) - sessionStorage.setItem("buildingTypeId", this.unittypeId) - sessionStorage.setItem("editable", "1") - sessionStorage.setItem("planName", e.name) - let companyId = sessionStorage.getItem("companyId") - window.open(`/keyUnit/editunitinfo?id=${companyId}&orName=${this.route.snapshot.queryParams.orName}&orId=${this.route.snapshot.queryParams.orId}`); - } - else if (e.planType == 16) { + } */ + ); + sessionStorage.setItem("planId", id); + sessionStorage.setItem("companyId", this.companyId); + sessionStorage.setItem("buildingTypeId", this.unittypeId); + sessionStorage.setItem("editable", "1"); + sessionStorage.setItem("planName", e.name); + let companyId = sessionStorage.getItem("companyId"); + window.open( + `/keyUnit/editunitinfo?id=${companyId}&orName=${this.route.snapshot.queryParams.orName}&orId=${this.route.snapshot.queryParams.orId}` + ); + } else if (e.planType == 16) { if (e.attachmentUrls == null) { - console.log(this.compantData) - window.open(`/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.companyId}&planName=${e.name}&unitName=${this.unitdata.unitname}&planCategory=${e.planCategory}&planId=${e.id}&unitTypeId=${this.compantData.buildingTypes[0].id}&orName=${this.compantData.organizationName}&orId=${this.compantData.organizationId}&planMode=${e.planMode}`) - } - else { + console.log(this.compantData); + window.open( + `/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.companyId}&planName=${e.name}&unitName=${this.unitdata.unitname}&planCategory=${e.planCategory}&planId=${e.id}&unitTypeId=${this.compantData.buildingTypes[0].id}&orName=${this.compantData.organizationName}&orId=${this.compantData.organizationId}&planMode=${e.planMode}` + ); + } else { let body = {}; - let resetAudit = true + let resetAudit = true; let headers = new HttpHeaders({ - 'Content-Type': 'text/json' + "Content-Type": "text/json", }); let options = { - headers + headers, }; - this.http.put(`/api/PlanComponents/${e.id}?resetAudit=${resetAudit}`, body, options).subscribe(data => { - const dialogRef = this.dialog.open(editUpload, { - width: "300px", - height: "150px", - data: { id: e.id, companyId: this.companyId, unitType: this.unitdata.unittype, unitName: this.unitdata.unitname }, - disableClose: true - }); - dialogRef.afterClosed().subscribe(data => { - this.getAllPlanComponents() - }) - }/* ,err => { + this.http + .put( + `/api/PlanComponents/${e.id}?resetAudit=${resetAudit}`, + body, + options + ) + .subscribe( + (data) => { + const dialogRef = this.dialog.open(editUpload, { + width: "300px", + height: "150px", + data: { + id: e.id, + companyId: this.companyId, + unitType: this.unitdata.unittype, + unitName: this.unitdata.unitname, + }, + disableClose: true, + }); + dialogRef.afterClosed().subscribe((data) => { + this.getAllPlanComponents(); + }); + } /* ,err => { this.snackBar.open(err,'确定',config); - } */) + } */ + ); } - - } - else if (e.planType == 2) { //三维预案 + } else if (e.planType == 2) { + //三维预案 const dialogRef = this.dialog.open(ChangeUrl, { - data: { element: e } + data: { element: e }, }); - dialogRef.afterClosed().subscribe( - data => { - if (data) { - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('修改成功!', '确定', config); - this.getAllPlanComponents() - - } + dialogRef.afterClosed().subscribe((data) => { + if (data) { + const config = new MatSnackBarConfig(); + config.verticalPosition = "top"; + config.duration = 3000; + this.snackBar.open("修改成功!", "确定", config); + this.getAllPlanComponents(); } - ); + }); } else { - - this.snackBar.open('只有二维预案和文本预案可以编辑!', '确定', config); + this.snackBar.open( + "只有二维预案和文本预案可以编辑!", + "确定", + config + ); } - } } } else { - if (e.planType == 1) { //如果是在线编辑 - let id = e.id - sessionStorage.setItem("planId", id) - sessionStorage.setItem("companyId", this.companyId) - sessionStorage.setItem("buildingTypeId", this.unittypeId) - sessionStorage.setItem("editable", "1") - sessionStorage.setItem("planName", e.name) - let companyId = sessionStorage.getItem("companyId") - window.open(`/keyUnit/editunitinfo?id=${companyId}&orName=${this.route.snapshot.queryParams.orName}&orId=${this.route.snapshot.queryParams.orId}`); - } - else if (e.planType == 16) { + if (e.planType == 1) { + //如果是在线编辑 + let id = e.id; + sessionStorage.setItem("planId", id); + sessionStorage.setItem("companyId", this.companyId); + sessionStorage.setItem("buildingTypeId", this.unittypeId); + sessionStorage.setItem("editable", "1"); + sessionStorage.setItem("planName", e.name); + let companyId = sessionStorage.getItem("companyId"); + window.open( + `/keyUnit/editunitinfo?id=${companyId}&orName=${this.route.snapshot.queryParams.orName}&orId=${this.route.snapshot.queryParams.orId}` + ); + } else if (e.planType == 16) { if (e.attachmentUrls == null) { if (e.planMode == 4) { - window.open(`/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.companyId}&planName=${e.name}&unitName=${this.unitdata.unitname}&planCategory=${e.planCategory}&planId=${e.id}&unitTypeId=${this.compantData.buildingTypes[0].id}&orName=${this.compantData.organizationName}&orId=${this.compantData.organizationId}&pattern=true&planMode=${e.planMode}`) + window.open( + `/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.companyId}&planName=${e.name}&unitName=${this.unitdata.unitname}&planCategory=${e.planCategory}&planId=${e.id}&unitTypeId=${this.compantData.buildingTypes[0].id}&orName=${this.compantData.organizationName}&orId=${this.compantData.organizationId}&pattern=true&planMode=${e.planMode}` + ); } else { - window.open(`/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.companyId}&planName=${e.name}&unitName=${this.unitdata.unitname}&planCategory=${e.planCategory}&planId=${e.id}&unitTypeId=${this.compantData.buildingTypes[0].id}&orName=${this.compantData.organizationName}&orId=${this.compantData.organizationId}&pattern=true&planMode=${e.planMode}`) + window.open( + `/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.companyId}&planName=${e.name}&unitName=${this.unitdata.unitname}&planCategory=${e.planCategory}&planId=${e.id}&unitTypeId=${this.compantData.buildingTypes[0].id}&orName=${this.compantData.organizationName}&orId=${this.compantData.organizationId}&pattern=true&planMode=${e.planMode}` + ); } - - } - else { + } else { let body = {}; - let resetAudit = true + let resetAudit = true; let headers = new HttpHeaders({ - 'Content-Type': 'text/json' + "Content-Type": "text/json", }); let options = { - headers + headers, }; - this.http.put(`/api/PlanComponents/${e.id}?resetAudit=${resetAudit}`, body, options).subscribe(data => { - - const dialogRef = this.dialog.open(editUpload, { - width: "300px", - height: "200px", - data: { id: e.id, companyId: this.companyId, unitType: this.unitdata.unittype, unitName: this.unitdata.unitname }, - disableClose: true + this.http + .put( + `/api/PlanComponents/${e.id}?resetAudit=${resetAudit}`, + body, + options + ) + .subscribe((data) => { + const dialogRef = this.dialog.open(editUpload, { + width: "300px", + height: "200px", + data: { + id: e.id, + companyId: this.companyId, + unitType: this.unitdata.unittype, + unitName: this.unitdata.unitname, + }, + disableClose: true, + }); + dialogRef.afterClosed().subscribe((data) => { + this.getAllPlanComponents(); + }); }); - dialogRef.afterClosed().subscribe(data => { - this.getAllPlanComponents() - }) - - }) } - - } - else if (e.planType == 2) { //三维预案 + } else if (e.planType == 2) { + //三维预案 const dialogRef = this.dialog.open(ChangeUrl, { //改网址 - data: { element: e } + data: { element: e }, }); - dialogRef.afterClosed().subscribe( - data => { - if (data) { - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('修改成功!', '确定', config); - this.getAllPlanComponents() - } + dialogRef.afterClosed().subscribe((data) => { + if (data) { + const config = new MatSnackBarConfig(); + config.verticalPosition = "top"; + config.duration = 3000; + this.snackBar.open("修改成功!", "确定", config); + this.getAllPlanComponents(); } - ); + }); /* if (e.url.indexOf('app') == 0) { window.location.href = e.url } else { @@ -408,7 +536,7 @@ export class EntryPlanLookComponent implements OnInit { } } */ } else { - this.snackBar.open('只有二维预案和文本预案可以编辑!', '确定', config); + this.snackBar.open("只有二维预案和文本预案可以编辑!", "确定", config); } /* else { if (e.planType == 1) { //如果是在线编辑 @@ -464,146 +592,164 @@ export class EntryPlanLookComponent implements OnInit { } } */ - } - - } - allPlanComponents: any //所有预案组件 - companyId: any //新建预案需要使用的id - planId: any //统一预案id - lookUrl //查看文件路径 + allPlanComponents: any; //所有预案组件 + companyId: any; //新建预案需要使用的id + planId: any; //统一预案id + lookUrl; //查看文件路径 //改名 changeName(element) { // console.log(element) const dialogRef = this.dialog.open(ChangeName, { - data: { element: element } + data: { element: element }, }); - dialogRef.afterClosed().subscribe( - data => { - if (data) { - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('修改成功!', '确定', config); - this.getAllPlanComponents() - } + dialogRef.afterClosed().subscribe((data) => { + if (data) { + const config = new MatSnackBarConfig(); + config.verticalPosition = "top"; + config.duration = 3000; + this.snackBar.open("修改成功!", "确定", config); + this.getAllPlanComponents(); } - ); + }); } //获得所有预案组件 - audit: boolean + audit: boolean; getAllPlanComponents() { - let pagetype = this.route.snapshot.queryParams.pagetype - let unitId = this.route.snapshot.queryParams.unitId - let paramsData: any - if (pagetype == 'entryplan') { + let pagetype = this.route.snapshot.queryParams.pagetype; + let unitId = this.route.snapshot.queryParams.unitId; + let paramsData: any; + if (pagetype == "entryplan") { paramsData = { companyId: unitId, pageNumber: this.PageNumber, pageSize: "", - sort: "" - } + sort: "", + }; } - if (pagetype == 'passplan') { + if (pagetype == "passplan") { paramsData = { companyId: unitId, pageNumber: this.PageNumber, pageSize: "", AuditStatus: 2, - sort: "" - } + sort: "", + }; } - if (pagetype == 'openplan') { + if (pagetype == "openplan") { paramsData = { companyId: unitId, pageNumber: this.PageNumber, pageSize: "", IsPublic: true, - sort: "" - } + sort: "", + }; } - this.http.get("/api/PlanComponents", { params: paramsData }).subscribe((data: any) => { - this.length = data.totalCount - this.allPlanComponents = data - this.tabledataSource = data.items - console.log('预案列表', data.items) - /* if(this.tabledataSource.isNewData){ + this.http + .get("/api/PlanComponents", { params: paramsData }) + .subscribe((data: any) => { + this.length = data.totalCount; + this.allPlanComponents = data; + this.tabledataSource = data.items; + console.log("预案列表", data.items); + /* if(this.tabledataSource.isNewData){ this.tabledataSource.auditStatus==8?this.audit=true:false }else{ (this.tabledataSource.newVerifyState=='待终审'&&this.tabledataSource.newVerifyState=='审核中'&&this.tabledataSource.maintenanceVerifyState!='未提交审核')?this.audit=false:true } */ - }) + }); } //删除预案 deletePlan(plandata) { - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - let isTrue = confirm('您确定要删除吗') + config.verticalPosition = "top"; + config.duration = 3000; + let isTrue = confirm("您确定要删除吗"); if (isTrue) { - if (plandata.planType == 1) {//如果删除的是二维预案 - this.http.delete(`/api/PlanComponents2D/${plandata.id}`).subscribe(data => { - this.snackBar.open('删除成功!', '确定', config); - this.getAllPlanComponents() - }, err => { - this.snackBar.open(err, '确定', config); - }) + if (plandata.planType == 1) { + //如果删除的是二维预案 + this.http.delete(`/api/PlanComponents2D/${plandata.id}`).subscribe( + (data) => { + this.snackBar.open("删除成功!", "确定", config); + this.getAllPlanComponents(); + }, + (err) => { + this.snackBar.open(err, "确定", config); + } + ); } else { - this.http.delete(`/api/PlanComponents/${plandata.id}`).subscribe(data => { - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('删除成功!', '确定', config); - this.getAllPlanComponents() - }, err => { - this.snackBar.open(err, '确定', config); - }) + this.http.delete(`/api/PlanComponents/${plandata.id}`).subscribe( + (data) => { + const config = new MatSnackBarConfig(); + config.verticalPosition = "top"; + config.duration = 3000; + this.snackBar.open("删除成功!", "确定", config); + this.getAllPlanComponents(); + }, + (err) => { + this.snackBar.open(err, "确定", config); + } + ); } } - } //提交审核 submitAudit(element) { const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 + config.verticalPosition = "top"; + config.duration = 3000; if (element.auditStatus == 4 || element.auditStatus == 32) { - this.snackBar.open('审核退回的预案需要修改后方可再次提交审核!', '确定', config); + this.snackBar.open( + "审核退回的预案需要修改后方可再次提交审核!", + "确定", + config + ); } - if (element.planType == 1) {//如果提交审核的是二维预案 - if (element.auditStatus == 8 || (element.auditStatus == 2 && !element.isNewData)) { - this.http.put(`/api/PlanComponents2D/${element.id}/Commit`, "").subscribe(data => { - this.getAllPlanComponents() - }) + if (element.planType == 1) { + //如果提交审核的是二维预案 + if ( + element.auditStatus == 8 || + (element.auditStatus == 2 && !element.isNewData) + ) { + this.http + .put(`/api/PlanComponents2D/${element.id}/Commit`, "") + .subscribe((data) => { + this.getAllPlanComponents(); + }); } } else { - this.http.put(`/api/PlanComponents/${element.id}/Commit`, "").subscribe(data => { - this.getAllPlanComponents() - }) + this.http + .put(`/api/PlanComponents/${element.id}/Commit`, "") + .subscribe((data) => { + this.getAllPlanComponents(); + }); } } - //撤销审核 cancelAudit(element) { - if (element.planType == 1) {//如果撤销审核的是二维预案 - this.http.put(`/api/PlanComponents2D/${element.id}/Cancel`, "").subscribe(data => { - this.getAllPlanComponents() - }) + if (element.planType == 1) { + //如果撤销审核的是二维预案 + this.http + .put(`/api/PlanComponents2D/${element.id}/Cancel`, "") + .subscribe((data) => { + this.getAllPlanComponents(); + }); } else { - this.http.put(`/api/PlanComponents/${element.id}/Cancel`, "").subscribe(data => { - this.getAllPlanComponents() - }) + this.http + .put(`/api/PlanComponents/${element.id}/Cancel`, "") + .subscribe((data) => { + this.getAllPlanComponents(); + }); } } //审核结果 auditResult(element) { const dialogRef = this.dialog.open(AuditResult, { width: "395px", - data: { element: element } + data: { element: element }, }); } @@ -611,115 +757,152 @@ export class EntryPlanLookComponent implements OnInit { selectDownloadFile: any; //选择下载的文件 download: any; //下载文件元数据 downloadisLoading: boolean = false; //进度条loading加载 - downloadProgress: number = 0; //进度条进度 - downloadFileName: any + downloadProgress: number = 0; //进度条进度 + downloadFileName: any; - - uploadFileLonging: any + uploadFileLonging: any; //读取下载文件信息 readFile(element) { - this.uploadFileLonging = element - console.log(element) - if (element.planType == 16 && (element.planMode == 4 || element.planMode == 2)) { + this.uploadFileLonging = element; + console.log(element); + if ( + element.planType == 16 && + (element.planMode == 4 || element.planMode == 2) + ) { const dialogRef = this.dialog.open(wenbenUpload, { width: "180px", height: "200px", disableClose: true, - data: { src: `/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.companyId}&planName=${element.name}&unitName=${this.unitdata.unitname}&planCategory=${element.planCategory}&planId=${element.id}&unitTypeId=${this.compantData.buildingTypes[0].id}&orName=${this.compantData.organizationName}&orId=${this.compantData.organizationId}&pattern=false&xiazai=true` } + data: { + src: `/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.companyId}&planName=${element.name}&unitName=${this.unitdata.unitname}&planCategory=${element.planCategory}&planId=${element.id}&unitTypeId=${this.compantData.buildingTypes[0].id}&orName=${this.compantData.organizationName}&orId=${this.compantData.organizationId}&pattern=false&xiazai=true`, + }, }); //window.open(`/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.companyId}&planName=${element.name}&unitName=${this.unitdata.unitname}&planCategory=${element.planCategory}&planId=${element.id}&unitTypeId=${this.compantData.buildingTypes[0].id}&orName=${this.compantData.organizationName}&orId=${this.compantData.organizationId}&pattern=false&xiazai=true`) } else { const dialogRef = this.dialog.open(DownloadFile, { width: "435px", // height:"410px", - data: { fileUrls: element.attachmentUrls, compantData: this.unitdata.unitname, element: element } + data: { + fileUrls: element.attachmentUrls, + compantData: this.unitdata.unitname, + element: element, + }, }); - dialogRef.afterClosed().subscribe( - data => { - if (data) { - this.downloadFileName = data.fileName - this.download = data - this.downloadFile() - } + dialogRef.afterClosed().subscribe((data) => { + if (data) { + this.downloadFileName = data.fileName; + this.download = data; + this.downloadFile(); } - ); + }); } - } //初始化下载 downloadFile() { - this.downloadProgress = 0 - let file = this.download - let fileSize = file.fileLength//下载文件的总大小 - let shardSize = 10 * 1024 * 1024 //文件大小是否大于10MB - console.log(file) - if (file && fileSize <= shardSize) { //<=10MB时直接下载 - this.downloadisLoading = true + this.downloadProgress = 0; + let file = this.download; + let fileSize = file.fileLength; //下载文件的总大小 + let shardSize = 10 * 1024 * 1024; //文件大小是否大于10MB + console.log(file); + if (file && fileSize <= shardSize) { + //<=10MB时直接下载 + this.downloadisLoading = true; // this.setFileLoading() - this.http.get(`/api/Objects/PlanPlatform/${file.objectName}`, { responseType: 'blob' },).subscribe(data => { - console.log(data) - let url = window.URL.createObjectURL(new Blob([data])); //createObjectURL创建一个下载Blob的url地址 - let link = document.createElement("a"); - link.style.display = "none"; - link.href = url; - - let suffix = file.objectName.substring(file.objectName.lastIndexOf(".") + 1, file.objectName.length); - link.setAttribute("download", file.fileName ? file.fileName : this.unitdata.unitname + "-" + this.uploadFileLonging.name + "." + suffix); - document.body.appendChild(link); - link.click(); - this.downloadisLoading = false - // this.setFileLoading() - }) - } else if (file && fileSize > shardSize) { //>10MB时分块下载 - this.blockingDownload() //分段下载 - this.downloadisLoading = true + this.http + .get(`/api/Objects/PlanPlatform/${file.objectName}`, { + responseType: "blob", + }) + .subscribe((data) => { + console.log(data); + let url = window.URL.createObjectURL(new Blob([data])); //createObjectURL创建一个下载Blob的url地址 + let link = document.createElement("a"); + link.style.display = "none"; + link.href = url; + + let suffix = file.objectName.substring( + file.objectName.lastIndexOf(".") + 1, + file.objectName.length + ); + link.setAttribute( + "download", + file.fileName + ? file.fileName + : this.unitdata.unitname + + "-" + + this.uploadFileLonging.name + + "." + + suffix + ); + document.body.appendChild(link); + link.click(); + this.downloadisLoading = false; + // this.setFileLoading() + }); + } else if (file && fileSize > shardSize) { + //>10MB时分块下载 + this.blockingDownload(); //分段下载 + this.downloadisLoading = true; // this.setFileLoading() } - } //分段下载并合并 async blockingDownload() { - let file = this.download - let fileSize = file.fileLength //下载文件的总大小 - let shardSize = 3 * 1024 * 1024 //3MB一个分片 - let allSlice = Math.ceil(fileSize / shardSize) //总文件/3MB===共分多少段 - let allFile: any = [] //所有的file分段 + let file = this.download; + let fileSize = file.fileLength; //下载文件的总大小 + let shardSize = 3 * 1024 * 1024; //3MB一个分片 + let allSlice = Math.ceil(fileSize / shardSize); //总文件/3MB===共分多少段 + let allFile: any = []; //所有的file分段 for (let i = 0; i < allSlice; i++) { - let start = i * shardSize //每次下载文件开始位置 + let start = i * shardSize; //每次下载文件开始位置 let end = Math.min(fileSize, start + shardSize - 1); //每次下载文件结束为止 let result = await new Promise((result, reject) => { - this.http.get(`/api/Objects/PlanPlatform/${file.objectName}`, { headers: { 'range': `bytes= ${start}-${end}` }, responseType: 'blob' }).subscribe(data => { - result(data) - }) - }) - allFile.push(result) - this.downloadProgress = Number((i / allSlice).toFixed(2)) * 100 + this.http + .get(`/api/Objects/PlanPlatform/${file.objectName}`, { + headers: { range: `bytes= ${start}-${end}` }, + responseType: "blob", + }) + .subscribe((data) => { + result(data); + }); + }); + allFile.push(result); + this.downloadProgress = Number((i / allSlice).toFixed(2)) * 100; - if (allFile.length === allSlice) { //合并文件输出给浏览器 + if (allFile.length === allSlice) { + //合并文件输出给浏览器 let url = window.URL.createObjectURL(new Blob(allFile)); //createObjectURL创建一个下载Blob的url地址 let link = document.createElement("a"); link.style.display = "none"; link.href = url; - let suffix = file.objectName.substring(file.objectName.lastIndexOf(".") + 1, file.objectName.length); - link.setAttribute("download", file.fileName ? file.fileName : this.unitdata.unitname + "-" + this.uploadFileLonging.name + "." + suffix); + let suffix = file.objectName.substring( + file.objectName.lastIndexOf(".") + 1, + file.objectName.length + ); + link.setAttribute( + "download", + file.fileName + ? file.fileName + : this.unitdata.unitname + + "-" + + this.uploadFileLonging.name + + "." + + suffix + ); document.body.appendChild(link); link.click(); // this.downloadProgress = 0 - this.downloadisLoading = false + this.downloadisLoading = false; // this.setFileLoading() } - } //for循环 - } //取消分块下载 - cancelDowload() { - } + cancelDowload() {} //封装函数设置当前文件loading状态 setFileLoading() { @@ -734,435 +917,557 @@ export class EntryPlanLookComponent implements OnInit { const dialogRef = this.dialog.open(AddPlanone, { width: "585px", height: "430px", - data: { companyId: this.companyId, unitType: this.unitdata.unittype, unitName: this.unitdata.unitname }, - disableClose: true + data: { + companyId: this.companyId, + unitType: this.unitdata.unittype, + unitName: this.unitdata.unitname, + }, + disableClose: true, }); - dialogRef.afterClosed().subscribe( - data => { - if (data) { - // this.route.snapshot.queryParams.id = data.planId - this.planId = data.planId - this.getAllPlanComponents() - if (data.planMode == 2) {//如果添加方式为在线编辑 - sessionStorage.setItem("planId", data.id); - sessionStorage.setItem("companyId", this.companyId) - sessionStorage.setItem("buildingTypeId", this.unittypeId) - sessionStorage.setItem("editable", "1") - let companyId = sessionStorage.getItem("companyId") - window.open(`/keyUnit/editunitinfo?id=${companyId}&orName=${this.route.snapshot.queryParams.orName}&orId=${this.route.snapshot.queryParams.orId}`); - } + dialogRef.afterClosed().subscribe((data) => { + if (data) { + // this.route.snapshot.queryParams.id = data.planId + this.planId = data.planId; + this.getAllPlanComponents(); + if (data.planMode == 2) { + //如果添加方式为在线编辑 + sessionStorage.setItem("planId", data.id); + sessionStorage.setItem("companyId", this.companyId); + sessionStorage.setItem("buildingTypeId", this.unittypeId); + sessionStorage.setItem("editable", "1"); + let companyId = sessionStorage.getItem("companyId"); + window.open( + `/keyUnit/editunitinfo?id=${companyId}&orName=${this.route.snapshot.queryParams.orName}&orId=${this.route.snapshot.queryParams.orId}` + ); } } - ); + }); } //上传word转在线编制 - spinner = false//圈圈是否存在 + spinner = false; //圈圈是否存在 async upzhuanMb(element) { - this.spinner = true + this.spinner = true; const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - let objectName//预案文件名称 - let formData = new FormData() + config.verticalPosition = "top"; + config.duration = 3000; + let objectName; //预案文件名称 + let formData = new FormData(); //模板导入接口传参 - let type = this.unitdata.unittype == '高层建筑' ? 1 : this.unitdata.unittype == '居民小区' ? 2 : this.unitdata.unittype == '厂房' ? 3 - : (this.unitdata.unittype == '商市场' || this.unitdata.unittype == '医院' || this.unitdata.unittype == '学校' - || this.unitdata.unittype == '宾馆' || this.unitdata.unittype == '娱乐场所' || this.unitdata.unittype == '餐饮业' - || this.unitdata.unittype == '影剧院' || this.unitdata.unittype == '展览建筑' || this.unitdata.unittype == '养老院' - || this.unitdata.unittype == '会议中心') ? 4 : this.unitdata.unittype == '储罐类' ? 'StorageTankFivePlan' : - this.unitdata.unittype == '化工生产' ? 'ChemicalProductionFivePlan' : this.unitdata.unittype == '轨道交通' ? 'MetroFivePlan' : - this.unitdata.unittype == '地下建筑' ? 'UndergroundBuildingFivePlan' : this.unitdata.unittype == '农村' ? 'CountrysideFivePlan' : '' - - let blob = [] + let type = + this.unitdata.unittype == "高层建筑" + ? 1 + : this.unitdata.unittype == "居民小区" + ? 2 + : this.unitdata.unittype == "厂房" + ? 3 + : this.unitdata.unittype == "商市场" || + this.unitdata.unittype == "医院" || + this.unitdata.unittype == "学校" || + this.unitdata.unittype == "宾馆" || + this.unitdata.unittype == "娱乐场所" || + this.unitdata.unittype == "餐饮业" || + this.unitdata.unittype == "影剧院" || + this.unitdata.unittype == "展览建筑" || + this.unitdata.unittype == "养老院" || + this.unitdata.unittype == "会议中心" + ? 4 + : this.unitdata.unittype == "储罐类" + ? "StorageTankFivePlan" + : this.unitdata.unittype == "化工生产" + ? "ChemicalProductionFivePlan" + : this.unitdata.unittype == "轨道交通" + ? "MetroFivePlan" + : this.unitdata.unittype == "地下建筑" + ? "UndergroundBuildingFivePlan" + : this.unitdata.unittype == "农村" + ? "CountrysideFivePlan" + : ""; + + let blob = []; /* 调用下载接口获取文件流,并赋值给blob */ let fileRuquest = await new Promise((resolve, reject) => { - this.http.get(`/api/ObjectMetadata/PlanPlatform/` + element.attachmentUrls[0]).subscribe((obdata: any) => { - objectName = obdata.objectName - this.http.get(`/api/Objects/PlanPlatform/${objectName}`, { responseType: 'blob' },).subscribe(blobdata => { - resolve(blobdata) - }) - }) - }) - blob.push(fileRuquest)//接收返回的blob类型数据 - let file = new File(blob, objectName)//转化为file类型 - formData.append('file', file) - let pData//接受返回的模板信息数据 + this.http + .get(`/api/ObjectMetadata/PlanPlatform/` + element.attachmentUrls[0]) + .subscribe((obdata: any) => { + objectName = obdata.objectName; + this.http + .get(`/api/Objects/PlanPlatform/${objectName}`, { + responseType: "blob", + }) + .subscribe((blobdata) => { + resolve(blobdata); + }); + }); + }); + blob.push(fileRuquest); //接收返回的blob类型数据 + let file = new File(blob, objectName); //转化为file类型 + formData.append("file", file); + let pData; //接受返回的模板信息数据 /* 调用模板导入接口,获取在线编制的json,并赋值给pData */ let pRequest = await new Promise((resolve, rejest) => { - this.http.post(`/api/OfficeExtract/ExtractWordPlan?type=${type}`, formData).subscribe((data: any) => { - resolve(data) - }, err => { - this.spinner = false - this.snackBar.open('解析失败,请确定好格式再重新上传!', '确定', config); - }) - }) - pData = pRequest + this.http + .post(`/api/OfficeExtract/ExtractWordPlan?type=${type}`, formData) + .subscribe( + (data: any) => { + resolve(data); + }, + (err) => { + this.spinner = false; + this.snackBar.open( + "解析失败,请确定好格式再重新上传!", + "确定", + config + ); + } + ); + }); + pData = pRequest; /* 调用新建预案接口,新建一条新的预案,并跳转新建在线编制页面 */ let body = { - name: (element.planCategory == 3 ? 'Ⅲ级' : element.planCategory == 4 ? 'Ⅳ级' : element.planCategory == 5 ? 'Ⅴ级' : '') + element.name, + name: element.name, planType: element.planType, planMode: 2, planLevel: element.planLevel, planCategory: element.planCategory, - webTextData: JSON.stringify(pData) - } - let planData + webTextData: JSON.stringify(pData), + }; + let planData; let newyuan = await new Promise((resolve, reject) => { - this.http.post('/api/PlanComponents', body, { - params: { - companyId: this.route.snapshot.queryParams.unitId - } - }).subscribe(plandata => { - resolve(plandata) - }) - }) - planData = newyuan - window.open(`/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.route.snapshot.queryParams.unitId}&planName=${planData.name}&unitName=${this.unitdata.unitname}&planCategory=${planData.planCategory}&planId=${planData.id}&&wordChange=true`) - this.getAllPlanComponents() - this.spinner = false + this.http + .post("/api/PlanComponents", body, { + params: { + companyId: this.route.snapshot.queryParams.unitId, + }, + }) + .subscribe((plandata) => { + resolve(plandata); + }); + }); + planData = newyuan; + window.open( + `/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.route.snapshot.queryParams.unitId}&planName=${planData.name}&unitName=${this.unitdata.unitname}&planCategory=${planData.planCategory}&planId=${planData.id}&&wordChange=true` + ); + this.getAllPlanComponents(); + this.spinner = false; } } - //新建预案弹出框 @Component({ - selector: 'AddPlanone', - templateUrl: './AddPlanone.html', - styleUrls: ['./entry-plan-look.component.scss'], - + selector: "AddPlanone", + templateUrl: "./AddPlanone.html", + styleUrls: ["./entry-plan-look.component.scss"], }) export class AddPlanone { isLinear = true; //是否为线性步进器 firstFormGroup: FormGroup; secondFormGroup: FormGroup; - constructor(private _formBuilder: FormBuilder, private http: HttpClient, public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data, public snackBar: MatSnackBar, private tree: TreeService) { } - - + constructor( + private _formBuilder: FormBuilder, + private http: HttpClient, + public dialogRef: MatDialogRef, + @Inject(MAT_DIALOG_DATA) public data, + public snackBar: MatSnackBar, + private tree: TreeService + ) {} ngOnInit(): void { - this.levels = sessionStorage.getItem("level") + this.levels = sessionStorage.getItem("level"); this.firstFormGroup = this._formBuilder.group({ - firstCtrlone: ['', Validators.required], - firstCtrltwo: ['', Validators.required], - firstCtrlthree: ['', Validators.required], + firstCtrlone: ["", Validators.required], + firstCtrltwo: ["", Validators.required], + firstCtrlthree: ["", Validators.required], }); this.secondFormGroup = this._formBuilder.group({ - secondCtrl: ['', Validators.required] + secondCtrl: ["", Validators.required], }); - } onNoClick(): void { this.dialogRef.close(); } - levels// - isup: boolean = false //上传input框是否显示 - isweb: boolean = false //web输入框是否显示 - isinput: boolean = false //编制按钮是否显示 - defaultisshow = '0' //默认显示上传input框 - pswShow = false //是否为全景图选项默认不显示 - psw//是否为全景图 - cadPlan//是否为卡片预案 + levels; // + isup: boolean = false; //上传input框是否显示 + isweb: boolean = false; //web输入框是否显示 + isinput: boolean = false; //编制按钮是否显示 + defaultisshow = "0"; //默认显示上传input框 + pswShow = false; //是否为全景图选项默认不显示 + psw; //是否为全景图 + cadPlan; //是否为卡片预案 //选择radio selectradio(e) { - if (e.value == "1") { //如果点击本地上传 - this.isup = true - this.isinput = false - this.isweb = false - this.webaddress = "" + if (e.value == "1") { + //如果点击本地上传 + this.isup = true; + this.isinput = false; + this.isweb = false; + this.webaddress = ""; } - if (e.value == "4") { //如果点击导入word文档 - this.isinput = true - this.isup = false - this.isweb = false - this.webaddress = "" + if (e.value == "4") { + //如果点击导入word文档 + this.isinput = true; + this.isup = false; + this.isweb = false; + this.webaddress = ""; } - if (e.value == "2") { //如果点击在线编辑 - this.isinput = false - this.isup = false - this.isweb = false - this.webaddress = "" + if (e.value == "2") { + //如果点击在线编辑 + this.isinput = false; + this.isup = false; + this.isweb = false; + this.webaddress = ""; } - if (e.value == "3") { //如果点击输入网址 - this.isweb = true - this.isup = false - this.isinput = false - this.webaddress = "" + if (e.value == "3") { + //如果点击输入网址 + this.isweb = true; + this.isup = false; + this.isinput = false; + this.webaddress = ""; } } file2: any = null; //导入的文件 - webaddress: any = "" //输入的网页地址 + webaddress: any = ""; //输入的网页地址 //上传文件↓ file: any; //上传的文件 fileName: any; //上传文件name uploadisLoading: boolean = false; //进度条loading加载 - uploadProgress: number = 0; //进度条进度 + uploadProgress: number = 0; //进度条进度 objectName: any; //上传对象名 uploadId: any; //上传分块上传事件编号 //上传文件input filechange(e) { - this.psw = false - this.file = e.target.files[0] || null //上传的文件 - if (this.selectedPLanType == '4' && this.file.type != null && this.file.type != undefined) { - if (this.file.type == 'image/png' || this.file.type == 'image/jpeg') { - this.pswShow = true - } else { this.pswShow = false } - } else { this.pswShow = false } - + this.psw = false; + this.file = e.target.files[0] || null; //上传的文件 + if ( + this.selectedPLanType == "4" && + this.file.type != null && + this.file.type != undefined + ) { + if (this.file.type == "image/png" || this.file.type == "image/jpeg") { + this.pswShow = true; + } else { + this.pswShow = false; + } + } else { + this.pswShow = false; + } } //上传文件 startUploading(planType) { - - let file = this.file || null //获取上传的文件 - let fileSize = file.size || null //上传文件的总大小 - let shardSize = 5 * 1024 * 1024 //5MB一个分片 - - if (file && fileSize <= shardSize) { //上传文件<=5MB时 - let formData = new FormData() - formData.append("file", file) - this.http.post(this.psw ? '/api/Objects/PlanPlatform/psw' : `/api/Objects/PlanPlatform/${this.data.companyId}/2D`, formData).subscribe((data: any) => { - this.objectName = data.objectName - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('上传成功!', '确定', config); - this.uploadover = true - - let level = sessionStorage.getItem("level") - // console.log(level) - let PlanLevel - if (level == '0') { - PlanLevel = 1 - } - if (level == '1') { - PlanLevel = 2 - } - if (level == '2') { - PlanLevel = 4 - } - if (level == '3') { - PlanLevel = 8 - } - let uploadUrl - if (planType == "非二维") { - uploadUrl = "/api/PlanComponents" - } else { - uploadUrl = "/api/PlanComponents2D" - } - if (this.uploadover) { - this.http.post(uploadUrl, { - id: "", - name: this.selectedPLanName, - planType: Number(this.selectedPLanType), - planMode: Number(this.defaultisshow), - planLevel: PlanLevel, - planCategory: Number(this.selectedPLanLevel), - url: "", - attachmentUrls: [`${this.objectName}`] - }, { - params: { - companyId: this.data.companyId - } - }).subscribe(data => { - this.dialogRef.close(data); - }) - } else { - console.log("上传出错") - } - - }) - } else if (file && fileSize > shardSize) { //上传文件>5MB时,分块上传 - let data = { filename: file.name } - this.uploadisLoading = true - this.http.post(this.psw ? '/api/NewMultipartUpload/PlanPlatform/psw' : `/api/NewMultipartUpload/PlanPlatform/${this.data.companyId}/2D`, {}, { params: data }).subscribe((data: any) => { //初始化分段上传 - this.objectName = data.objectName - this.uploadId = data.uploadId - this.subsectionUploading(planType) - }) + let file = this.file || null; //获取上传的文件 + let fileSize = file.size || null; //上传文件的总大小 + let shardSize = 5 * 1024 * 1024; //5MB一个分片 + + if (file && fileSize <= shardSize) { + //上传文件<=5MB时 + let formData = new FormData(); + formData.append("file", file); + this.http + .post( + this.psw + ? "/api/Objects/PlanPlatform/psw" + : `/api/Objects/PlanPlatform/${this.data.companyId}/2D`, + formData + ) + .subscribe((data: any) => { + this.objectName = data.objectName; + const config = new MatSnackBarConfig(); + config.verticalPosition = "top"; + config.duration = 3000; + this.snackBar.open("上传成功!", "确定", config); + this.uploadover = true; + + let level = sessionStorage.getItem("level"); + // console.log(level) + let PlanLevel; + if (level == "0") { + PlanLevel = 1; + } + if (level == "1") { + PlanLevel = 2; + } + if (level == "2") { + PlanLevel = 4; + } + if (level == "3") { + PlanLevel = 8; + } + let uploadUrl; + if (planType == "非二维") { + uploadUrl = "/api/PlanComponents"; + } else { + uploadUrl = "/api/PlanComponents2D"; + } + if (this.uploadover) { + this.http + .post( + uploadUrl, + { + id: "", + name: this.selectedPLanName, + planType: Number(this.selectedPLanType), + planMode: Number(this.defaultisshow), + planLevel: PlanLevel, + planCategory: Number(this.selectedPLanLevel), + url: "", + attachmentUrls: [`${this.objectName}`], + }, + { + params: { + companyId: this.data.companyId, + }, + } + ) + .subscribe((data) => { + this.dialogRef.close(data); + }); + } else { + console.log("上传出错"); + } + }); + } else if (file && fileSize > shardSize) { + //上传文件>5MB时,分块上传 + let data = { filename: file.name }; + this.uploadisLoading = true; + this.http + .post( + this.psw + ? "/api/NewMultipartUpload/PlanPlatform/psw" + : `/api/NewMultipartUpload/PlanPlatform/${this.data.companyId}/2D`, + {}, + { params: data } + ) + .subscribe((data: any) => { + //初始化分段上传 + this.objectName = data.objectName; + this.uploadId = data.uploadId; + this.subsectionUploading(planType); + }); } - } PartNumberETag: any = []; //每次返回需要保存的信息 //开始分段上传 async subsectionUploading(planType) { - let file = this.file || null //获取上传的文件 - let fileSize = file.size || null //上传文件的总大小 - let shardSize = 5 * 1024 * 1024 //5MB一个分片 - let allSlice = Math.ceil(fileSize / shardSize) //总文件/5MB===共分多少段 向上取整 + let file = this.file || null; //获取上传的文件 + let fileSize = file.size || null; //上传文件的总大小 + let shardSize = 5 * 1024 * 1024; //5MB一个分片 + let allSlice = Math.ceil(fileSize / shardSize); //总文件/5MB===共分多少段 向上取整 - for (let i = 0; i < allSlice; i++) { //循环分段上传 - let start = i * shardSize //切割文件开始位置 + for (let i = 0; i < allSlice; i++) { + //循环分段上传 + let start = i * shardSize; //切割文件开始位置 let end = Math.min(fileSize, start + shardSize); //切割文件结束位置 (对比取小数) - let formData = new FormData() - formData.append("file", file.slice(start, end)) + let formData = new FormData(); + formData.append("file", file.slice(start, end)); //同步写法实现异步调用 let result = await new Promise((resolve, reject) => { // await 需要后面返回一个 promise 对象 - this.http.post(`/api/MultipartUpload/PlanPlatform/${this.objectName}?uploadId=${this.uploadId}&partNumber=${i + 1}`, formData).subscribe((data: any) => { - let msg = { - "partNumber": data.partNumber || null, - "eTag": data.eTag || null - } - resolve(msg) // 调用 promise 内置方法处理成功 - }) + this.http + .post( + `/api/MultipartUpload/PlanPlatform/${this.objectName}?uploadId=${ + this.uploadId + }&partNumber=${i + 1}`, + formData + ) + .subscribe((data: any) => { + let msg = { + partNumber: data.partNumber || null, + eTag: data.eTag || null, + }; + resolve(msg); // 调用 promise 内置方法处理成功 + }); }); - this.PartNumberETag.push(result) - this.uploadProgress = Number((i / allSlice).toFixed(2)) * 100 + this.PartNumberETag.push(result); + this.uploadProgress = Number((i / allSlice).toFixed(2)) * 100; if (this.PartNumberETag.length === allSlice) { - this.uploadProgress = 100 - this.endUploading(planType) + this.uploadProgress = 100; + this.endUploading(planType); } - }//for循环 - + } //for循环 } - uploadover: any = false //上传完成之后提示 + uploadover: any = false; //上传完成之后提示 //完成分块上传 endUploading(planType) { - let data = this.PartNumberETag - let paramsData = { uploadId: this.uploadId } - this.http.post(`/api/CompleteMultipartUpload/PlanPlatform/${this.objectName}`, data, { params: paramsData }).subscribe(data => { - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('上传成功!', '确定', config); - this.uploadProgress = 0; - this.uploadisLoading = false - this.PartNumberETag = [] //清空保存返回的信息 - this.uploadover = true - let level = sessionStorage.getItem("level") - // console.log(level) - let PlanLevel - if (level == '0') { - PlanLevel = 1 - } - if (level == '1') { - PlanLevel = 2 - } - if (level == '2') { - PlanLevel = 4 - } - if (level == '3') { - PlanLevel = 8 - } - let uploadUrl - if (planType == "非二维") { - uploadUrl = "/api/PlanComponents" - } else { - uploadUrl = "/api/PlanComponents2D" - } - if (this.uploadover) {//如果上次成功了才创建 - this.http.post(uploadUrl, { - id: "", - name: this.selectedPLanName, - planType: Number(this.selectedPLanType), - planMode: Number(this.defaultisshow), - planLevel: PlanLevel, - planCategory: Number(this.selectedPLanLevel), - url: "", - attachmentUrls: [`${this.objectName}`] - }, { - params: { - companyId: this.data.companyId - } - }).subscribe(data => { - this.dialogRef.close(data); - }) - } else { - console.log("上传出错!") - } - - }) + let data = this.PartNumberETag; + let paramsData = { uploadId: this.uploadId }; + this.http + .post( + `/api/CompleteMultipartUpload/PlanPlatform/${this.objectName}`, + data, + { params: paramsData } + ) + .subscribe((data) => { + const config = new MatSnackBarConfig(); + config.verticalPosition = "top"; + config.duration = 3000; + this.snackBar.open("上传成功!", "确定", config); + this.uploadProgress = 0; + this.uploadisLoading = false; + this.PartNumberETag = []; //清空保存返回的信息 + this.uploadover = true; + let level = sessionStorage.getItem("level"); + // console.log(level) + let PlanLevel; + if (level == "0") { + PlanLevel = 1; + } + if (level == "1") { + PlanLevel = 2; + } + if (level == "2") { + PlanLevel = 4; + } + if (level == "3") { + PlanLevel = 8; + } + let uploadUrl; + if (planType == "非二维") { + uploadUrl = "/api/PlanComponents"; + } else { + uploadUrl = "/api/PlanComponents2D"; + } + if (this.uploadover) { + //如果上次成功了才创建 + this.http + .post( + uploadUrl, + { + id: "", + name: this.selectedPLanName, + planType: Number(this.selectedPLanType), + planMode: Number(this.defaultisshow), + planLevel: PlanLevel, + planCategory: Number(this.selectedPLanLevel), + url: "", + attachmentUrls: [`${this.objectName}`], + }, + { + params: { + companyId: this.data.companyId, + }, + } + ) + .subscribe((data) => { + this.dialogRef.close(data); + }); + } else { + console.log("上传出错!"); + } + }); } //取消分块上传 cancel() { - this.http.delete(`/api/MultipartUpload/PlanPlatform/${this.objectName}?uploadId=${this.uploadId}`).subscribe(data => { - this.uploadProgress = 0; - this.uploadisLoading = false; - (document.getElementById('uploadFile')).value = null - this.PartNumberETag = [] //清空保存返回的信息 - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('取消上传成功!', '确定', config); - this.uploadover = false - this.file = null - }) + this.http + .delete( + `/api/MultipartUpload/PlanPlatform/${this.objectName}?uploadId=${this.uploadId}` + ) + .subscribe((data) => { + this.uploadProgress = 0; + this.uploadisLoading = false; + (document.getElementById("uploadFile")).value = null; + this.PartNumberETag = []; //清空保存返回的信息 + const config = new MatSnackBarConfig(); + config.verticalPosition = "top"; + config.duration = 3000; + this.snackBar.open("取消上传成功!", "确定", config); + this.uploadover = false; + this.file = null; + }); } - //导入word文件 fileInput(e) { - this.file2 = e.target.files[0] + this.file2 = e.target.files[0]; } //点击下一步 - selectedPLanType: any//所选预案类型 - selectedPLanName: any//所选预案名称 - selectedPLanLevel: any//所选预案级别 - localup: boolean = false //本地上传 - inputword: boolean = false //导入文档 - onlineedit: boolean = false //在线编辑 - website: boolean = false //网页地址 - inputNew: boolean = false //自定义编辑 + selectedPLanType: any; //所选预案类型 + selectedPLanName: any; //所选预案名称 + selectedPLanLevel: any; //所选预案级别 + localup: boolean = false; //本地上传 + inputword: boolean = false; //导入文档 + onlineedit: boolean = false; //在线编辑 + website: boolean = false; //网页地址 + inputNew: boolean = false; //自定义编辑 next(formdata) { - this.psw = false - this.selectedPLanName = formdata.value.firstCtrlone - this.selectedPLanType = formdata.value.firstCtrltwo - this.selectedPLanLevel = formdata.value.firstCtrlthree - if (formdata.value.firstCtrltwo == '16' && formdata.value.firstCtrlthree == '4') { //如果是文本预案 - this.localup = true - this.inputword = false - this.onlineedit = false - this.website = false + this.psw = false; + this.selectedPLanName = formdata.value.firstCtrlone; + this.selectedPLanType = formdata.value.firstCtrltwo; + this.selectedPLanLevel = formdata.value.firstCtrlthree; + if ( + formdata.value.firstCtrltwo == "16" && + formdata.value.firstCtrlthree == "4" + ) { + //如果是文本预案 + this.localup = true; + this.inputword = false; + this.onlineedit = false; + this.website = false; } - if (formdata.value.firstCtrltwo == '16') {//&& formdata.value.firstCtrlthree != '4' - this.localup = true - this.inputword = true - this.onlineedit = false - this.website = false - this.inputNew = true + if (formdata.value.firstCtrltwo == "16") { + //&& formdata.value.firstCtrlthree != '4' + this.localup = true; + this.inputword = true; + this.onlineedit = false; + this.website = false; + this.inputNew = true; } - if (formdata.value.firstCtrltwo == '16' && formdata.value.firstCtrlthree != '4') {//&& formdata.value.firstCtrlthree != '4' - this.localup = true - this.inputword = true - this.inputNew = true - this.onlineedit = false - this.website = false + if ( + formdata.value.firstCtrltwo == "16" && + formdata.value.firstCtrlthree != "4" + ) { + //&& formdata.value.firstCtrlthree != '4' + this.localup = true; + this.inputword = true; + this.inputNew = true; + this.onlineedit = false; + this.website = false; } - if (formdata.value.firstCtrltwo == '1') { //如果是2D预案 - this.localup = false - this.inputword = false - this.onlineedit = true - this.website = true - this.inputNew = false + if (formdata.value.firstCtrltwo == "1") { + //如果是2D预案 + this.localup = false; + this.inputword = false; + this.onlineedit = true; + this.website = true; + this.inputNew = false; } - if (formdata.value.firstCtrltwo == '2' || formdata.value.firstCtrltwo == '4') { - this.localup = true - this.inputword = false - this.inputNew = false - this.onlineedit = false - this.website = true - this.pswShow = true + if ( + formdata.value.firstCtrltwo == "2" || + formdata.value.firstCtrltwo == "4" + ) { + this.localup = true; + this.inputword = false; + this.inputNew = false; + this.onlineedit = false; + this.website = true; + this.pswShow = true; + } + if ( + this.selectedPLanType == "4" && + this.file != undefined && + this.file.type != null + ) { + if (this.file.type == "image/png" || this.file.type == "image/jpeg") { + this.pswShow = true; + this.website = false; + } else { + this.pswShow = false; + } + } else { + this.pswShow = false; } - if (this.selectedPLanType == '4' && this.file != undefined && this.file.type != null) { - if (this.file.type == 'image/png' || this.file.type == 'image/jpeg') { - this.pswShow = true - this.website = false - } else { this.pswShow = false } - } else { this.pswShow = false } - } setttt() { - this.pswShow = false - this.psw = false + this.pswShow = false; + this.psw = false; } closediv() { //console.log(this.file) @@ -1173,124 +1478,144 @@ export class AddPlanone { this.dialogRef.close(); } //文本预案在线编制跳转 - newleftTabledata - planData + newleftTabledata; + planData; createWord(haveNew) { const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - let level = sessionStorage.getItem("level") + config.verticalPosition = "top"; + config.duration = 3000; + let level = sessionStorage.getItem("level"); // console.log(level) - let PlanLevel - if (level == '0') { - PlanLevel = 1 + let PlanLevel; + if (level == "0") { + PlanLevel = 1; } - if (level == '1') { - PlanLevel = 2 + if (level == "1") { + PlanLevel = 2; } - if (level == '2') { - PlanLevel = 4 + if (level == "2") { + PlanLevel = 4; } - if (level == '3') { - PlanLevel = 8 + if (level == "3") { + PlanLevel = 8; } this.http.get("/api/PlanTemplate").subscribe((data: any) => { - this.newleftTabledata = data + this.newleftTabledata = data; this.newleftTabledata.forEach((value, index, array) => { - value.data = JSON.parse(value.data) - }) + value.data = JSON.parse(value.data); + }); this.http.get("/api/BuildingTypes").subscribe((buildData: any) => { this.newleftTabledata.forEach((value, index, array) => { buildData.forEach((element, i, buildArray) => { if (value.buildingTypeId == element.id) { - array[index].unitname = buildArray[i].name - array[index].facilityCategoryId = buildArray[i].facilityCategoryId + array[index].unitname = buildArray[i].name; + array[index].facilityCategoryId = + buildArray[i].facilityCategoryId; } }); - }) + }); let open = this.newleftTabledata.filter((value, index, array) => { - return value.unitname == this.data.unitType && value.planCategory == this.selectedPLanLevel - }) + return ( + value.unitname == this.data.unitType && + value.planCategory == this.selectedPLanLevel + ); + }); if (haveNew == true) { - this.http.post('/api/PlanComponents', { - id: "", - name: this.selectedPLanName, - planType: Number(this.selectedPLanType), - planMode: Number(this.defaultisshow), - planLevel: PlanLevel, - planCategory: Number(this.selectedPLanLevel), - url: "", - //attachmentUrls: [`${this.objectName}`] - }, { - params: { - companyId: this.data.companyId - } - }).subscribe(plandata => { - this.planData = plandata - this.dialogRef.close(plandata); - //console.log(plandata) - window.open(`/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.data.companyId}&planName=${this.planData.name}&unitName=${this.data.unitName}&planCategory=${this.selectedPLanLevel}&planId=${this.planData.id}&haveNew=${haveNew}&planMode=${this.defaultisshow}`) - }) - } else { - if (open.length > 0) { - this.http.post('/api/PlanComponents', { - id: "", - name: this.selectedPLanName, - planType: Number(this.selectedPLanType), - planMode: Number(this.defaultisshow), - planLevel: PlanLevel, - planCategory: Number(this.selectedPLanLevel), - url: "", - //attachmentUrls: [`${this.objectName}`] - }, { - params: { - companyId: this.data.companyId + this.http + .post( + "/api/PlanComponents", + { + id: "", + name: this.selectedPLanName, + planType: Number(this.selectedPLanType), + planMode: Number(this.defaultisshow), + planLevel: PlanLevel, + planCategory: Number(this.selectedPLanLevel), + url: "", + //attachmentUrls: [`${this.objectName}`] + }, + { + params: { + companyId: this.data.companyId, + }, } - }).subscribe(plandata => { - this.planData = plandata + ) + .subscribe((plandata) => { + this.planData = plandata; this.dialogRef.close(plandata); //console.log(plandata) - window.open(`/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.data.companyId}&planName=${this.planData.name}&unitName=${this.data.unitName}&planCategory=${this.selectedPLanLevel}&planId=${this.planData.id}&haveNew=${haveNew}`) - }) + window.open( + `/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.data.companyId}&planName=${this.planData.name}&unitName=${this.data.unitName}&planCategory=${this.selectedPLanLevel}&planId=${this.planData.id}&haveNew=${haveNew}&planMode=${this.defaultisshow}` + ); + }); + } else { + if (open.length > 0) { + this.http + .post( + "/api/PlanComponents", + { + id: "", + name: this.selectedPLanName, + planType: Number(this.selectedPLanType), + planMode: Number(this.defaultisshow), + planLevel: PlanLevel, + planCategory: Number(this.selectedPLanLevel), + url: "", + //attachmentUrls: [`${this.objectName}`] + }, + { + params: { + companyId: this.data.companyId, + }, + } + ) + .subscribe((plandata) => { + this.planData = plandata; + this.dialogRef.close(plandata); + //console.log(plandata) + window.open( + `/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.data.companyId}&planName=${this.planData.name}&unitName=${this.data.unitName}&planCategory=${this.selectedPLanLevel}&planId=${this.planData.id}&haveNew=${haveNew}` + ); + }); } else { - this.snackBar.open('请先创建模板!', '确定', config); + this.snackBar.open("请先创建模板!", "确定", config); } } - - }) - - - }) + }); + }); //window.open('') } // 提交创建 onSubmit(value) { - let level = sessionStorage.getItem("level") + let level = sessionStorage.getItem("level"); // console.log(level) - let PlanLevel - if (level == '0') { - PlanLevel = 1 + let PlanLevel; + if (level == "0") { + PlanLevel = 1; } - if (level == '1') { - PlanLevel = 2 + if (level == "1") { + PlanLevel = 2; } - if (level == '2') { - PlanLevel = 4 + if (level == "2") { + PlanLevel = 4; } - if (level == '3') { - PlanLevel = 8 + if (level == "3") { + PlanLevel = 8; } - if (this.selectedPLanType != "1") {//如果创建的不是二维预案 - if (this.defaultisshow == '1' && this.file == null) { //如果是本地上传 + if (this.selectedPLanType != "1") { + //如果创建的不是二维预案 + if (this.defaultisshow == "1" && this.file == null) { + //如果是本地上传 const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('请先上传文件', '确定', config); + config.verticalPosition = "top"; + config.duration = 3000; + this.snackBar.open("请先上传文件", "确定", config); } - if (this.defaultisshow == '1' && this.file) { //如果是本地上传并且有文件 + if (this.defaultisshow == "1" && this.file) { + //如果是本地上传并且有文件 //先上传成功 - this.startUploading("非二维") + this.startUploading("非二维"); //再创建预案 // this.http.post("/api/PlanComponents",{ @@ -1308,24 +1633,32 @@ export class AddPlanone { // }) } - if (this.defaultisshow == '2') {//如果是导入则很复杂 + if (this.defaultisshow == "2") { + //如果是导入则很复杂 const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 + config.verticalPosition = "top"; + config.duration = 3000; //this.snackBar.open('暂不支持导入','确定',config); - this.createWord(false) + this.createWord(false); } - if (this.defaultisshow == '4') { - this.createWord(true) + if (this.defaultisshow == "4") { + this.createWord(true); } - if (this.defaultisshow == '3' && (this.webaddress == "" || this.webaddress == null)) { //如果是填写网址 + if ( + this.defaultisshow == "3" && + (this.webaddress == "" || this.webaddress == null) + ) { + //如果是填写网址 const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('请先输入网址', '确定', config); + config.verticalPosition = "top"; + config.duration = 3000; + this.snackBar.open("请先输入网址", "确定", config); } - if (this.defaultisshow == '3' && this.webaddress) { //如果是填写网址 - var reg = new RegExp('(http|https|app1|app2):\/\/([\w.!@#$%^&*()_+-=])*\s*') + if (this.defaultisshow == "3" && this.webaddress) { + //如果是填写网址 + var reg = new RegExp( + "(http|https|app1|app2)://([w.!@#$%^&*()_+-=])*s*" + ); if (reg.test(this.webaddress)) { let body = { id: "", @@ -1335,33 +1668,40 @@ export class AddPlanone { planCategory: Number(this.selectedPLanLevel), planLevel: PlanLevel, url: this.webaddress, - attachmentUrls: null - } + attachmentUrls: null, + }; //console.log(body) - this.http.post("/api/PlanComponents", body, { - params: { - companyId: this.data.companyId - } - }).subscribe(data => { - this.dialogRef.close(data); - }) + this.http + .post("/api/PlanComponents", body, { + params: { + companyId: this.data.companyId, + }, + }) + .subscribe((data) => { + this.dialogRef.close(data); + }); } else { const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('请填写正确网址格式,需以http://或者https://开头的正确网址', '确定', config); + config.verticalPosition = "top"; + config.duration = 3000; + this.snackBar.open( + "请填写正确网址格式,需以http://或者https://开头的正确网址", + "确定", + config + ); } - } - } else { //如果创建的是二维预案 - if (this.defaultisshow == '1' && this.file == null) { //如果是本地上传 + } else { + //如果创建的是二维预案 + if (this.defaultisshow == "1" && this.file == null) { + //如果是本地上传 const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('请先上传文件', '确定', config); + config.verticalPosition = "top"; + config.duration = 3000; + this.snackBar.open("请先上传文件", "确定", config); } - if (this.defaultisshow == '1' && this.file) { - this.startUploading("二维") + if (this.defaultisshow == "1" && this.file) { + this.startUploading("二维"); // let body = { // id: "", // name: this.selectedPLanName, @@ -1378,7 +1718,8 @@ export class AddPlanone { // this.dialogRef.close(data); // }) } - if (this.defaultisshow == '2') { //如果是在线编辑------>跳转编制工具 + if (this.defaultisshow == "2") { + //如果是在线编辑------>跳转编制工具 let body = { id: "", name: this.selectedPLanName, @@ -1387,26 +1728,33 @@ export class AddPlanone { planLevel: PlanLevel, planCategory: Number(this.selectedPLanLevel), url: "", - attachmentUrls: null - } - this.http.post("/api/PlanComponents2D", body, { - params: { - companyId: this.data.companyId - } - }).subscribe(data => { - // console.log("创建成功") - this.dialogRef.close(data); - }) + attachmentUrls: null, + }; + this.http + .post("/api/PlanComponents2D", body, { + params: { + companyId: this.data.companyId, + }, + }) + .subscribe((data) => { + // console.log("创建成功") + this.dialogRef.close(data); + }); } - if (this.defaultisshow == '3' && (this.webaddress == "" || this.webaddress == null)) { //如果是填写网址 + if ( + this.defaultisshow == "3" && + (this.webaddress == "" || this.webaddress == null) + ) { + //如果是填写网址 const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('请先输入网址', '确定', config); + config.verticalPosition = "top"; + config.duration = 3000; + this.snackBar.open("请先输入网址", "确定", config); } - if (this.defaultisshow == '3' && this.webaddress) { //如果是填写网址 + if (this.defaultisshow == "3" && this.webaddress) { + //如果是填写网址 - var reg = new RegExp('(http|https):\/\/([\w.!@#$%^&*()_+-=])*\s*') + var reg = new RegExp("(http|https)://([w.!@#$%^&*()_+-=])*s*"); if (reg.test(this.webaddress)) { let body = { id: "", @@ -1416,62 +1764,70 @@ export class AddPlanone { planCategory: Number(this.selectedPLanLevel), planLevel: PlanLevel, url: this.webaddress, - attachmentUrls: null - } + attachmentUrls: null, + }; //console.log(body) - this.http.post("/api/PlanComponents2D", body, { - params: { - companyId: this.data.companyId - } - }).subscribe(data => { - // console.log("创建成功") - this.dialogRef.close(data); - }) + this.http + .post("/api/PlanComponents2D", body, { + params: { + companyId: this.data.companyId, + }, + }) + .subscribe((data) => { + // console.log("创建成功") + this.dialogRef.close(data); + }); } else { const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('请填写正确网址格式,需以http://或者https://开头的正确网址', '确定', config); + config.verticalPosition = "top"; + config.duration = 3000; + this.snackBar.open( + "请填写正确网址格式,需以http://或者https://开头的正确网址", + "确定", + config + ); } - } - } } onSubmit2(value) { // console.log(this.webaddress) - var reg = new RegExp('(http|https):\/\/([\w.!@#$%^&*()_+-=])*\s*') - //console.log(reg.test(this.webaddress)) + var reg = new RegExp("(http|https)://([w.!@#$%^&*()_+-=])*s*"); + //console.log(reg.test(this.webaddress)) } - } - //下载文件弹出框 @Component({ - selector: 'downloadfile', - templateUrl: './downloadFile.html', - styleUrls: ['./entry-plan-look.component.scss'] + selector: "downloadfile", + templateUrl: "./downloadFile.html", + styleUrls: ["./entry-plan-look.component.scss"], }) export class DownloadFile { - - constructor(private http: HttpClient, public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data, public snackBar: MatSnackBar) { } - fileUrls: any //当前预案附件地址 - fileDatas: any = [] - selectedFileIndex: any = 0 - selectedFileData: any - - name2: any //如果真实姓名为空时 + constructor( + private http: HttpClient, + public dialogRef: MatDialogRef, + @Inject(MAT_DIALOG_DATA) public data, + public snackBar: MatSnackBar + ) {} + fileUrls: any; //当前预案附件地址 + fileDatas: any = []; + selectedFileIndex: any = 0; + selectedFileData: any; + + name2: any; //如果真实姓名为空时 ngOnInit(): void { - this.name2 = this.data.element.name - this.fileUrls = this.data.fileUrls - this.fileUrls.forEach(item => { - this.http.get('/api/ObjectMetadata/PlanPlatform/' + item).subscribe((data: any) => { - data.filePige = (data.fileLength / (1024 * 1024)).toFixed(2) - this.fileDatas.push(data) - this.selectedFileData = data - }) - }) + this.name2 = this.data.element.name; + this.fileUrls = this.data.fileUrls; + this.fileUrls.forEach((item) => { + this.http + .get("/api/ObjectMetadata/PlanPlatform/" + item) + .subscribe((data: any) => { + data.filePige = (data.fileLength / (1024 * 1024)).toFixed(2); + this.fileDatas.push(data); + this.selectedFileData = data; + }); + }); } onNoClick(): void { this.dialogRef.close(); @@ -1484,127 +1840,146 @@ export class DownloadFile { //点击想要下载的文件 addurl(item, key) { // console.log(item,key) - this.selectedFileIndex = key - this.selectedFileData = item + this.selectedFileIndex = key; + this.selectedFileData = item; } } - //审批结果弹出框 @Component({ - selector: 'auditresult', - templateUrl: './auditresult.html', - styleUrls: ['./entry-plan-look.component.scss'] + selector: "auditresult", + templateUrl: "./auditresult.html", + styleUrls: ["./entry-plan-look.component.scss"], }) export class AuditResult { - - constructor(private http: HttpClient, public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data, public snackBar: MatSnackBar) { } - - planName: any = this.data.element.name - commitTime: any = this.data.element.committedTime - commitOrganizationName: any = this.data.element.committerOrganizationName - - auditOrganizationName: any = this.data.element.auditorOrganizationName - auditResult: any = this.data.element.auditStatus - auditOpinion: any = this.data.element.auditOpinion - ngOnInit(): void { - - } + constructor( + private http: HttpClient, + public dialogRef: MatDialogRef, + @Inject(MAT_DIALOG_DATA) public data, + public snackBar: MatSnackBar + ) {} + + planName: any = this.data.element.name; + commitTime: any = this.data.element.committedTime; + commitOrganizationName: any = this.data.element.committerOrganizationName; + + auditOrganizationName: any = this.data.element.auditorOrganizationName; + auditResult: any = this.data.element.auditStatus; + auditOpinion: any = this.data.element.auditOpinion; + ngOnInit(): void {} onNoClick(): void { this.dialogRef.close(); } } - //改名弹出框 @Component({ - selector: 'changename', - templateUrl: './changename.html', - styleUrls: ['./entry-plan-look.component.scss'] + selector: "changename", + templateUrl: "./changename.html", + styleUrls: ["./entry-plan-look.component.scss"], }) export class ChangeName { - - constructor(private http: HttpClient, public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data, public snackBar: MatSnackBar) { } - planName: any//预案名称 + constructor( + private http: HttpClient, + public dialogRef: MatDialogRef, + @Inject(MAT_DIALOG_DATA) public data, + public snackBar: MatSnackBar + ) {} + planName: any; //预案名称 ngOnInit(): void { - this.planName = this.data.element.name + this.planName = this.data.element.name; } onNoClick(): void { this.dialogRef.close(); } onSubmit(value) { let headers = new HttpHeaders({ - 'Content-Type': 'text/json' + "Content-Type": "text/json", }); let options = { - headers + headers, }; let body = { - name: value.name - } - let body2d = JSON.stringify(value.name) - if (this.data.element.planType == 1) {//如果是二维预案 - this.http.put(`/api/PlanComponents2D/${this.data.element.id}`, body2d, options).subscribe(data => { - this.dialogRef.close("success"); - }) + name: value.name, + }; + let body2d = JSON.stringify(value.name); + if (this.data.element.planType == 1) { + //如果是二维预案 + this.http + .put(`/api/PlanComponents2D/${this.data.element.id}`, body2d, options) + .subscribe((data) => { + this.dialogRef.close("success"); + }); } else { - this.http.put(`/api/PlanComponents/${this.data.element.id}`, body, options).subscribe(data => { - this.dialogRef.close("success"); - }) + this.http + .put(`/api/PlanComponents/${this.data.element.id}`, body, options) + .subscribe((data) => { + this.dialogRef.close("success"); + }); } } } //全景图弹出框 @Component({ - selector: 'PsViewer', - templateUrl: './Photo-Sphere-Viewer.html', - styleUrls: ['./entry-plan-look.component.scss'] + selector: "PsViewer", + templateUrl: "./Photo-Sphere-Viewer.html", + styleUrls: ["./entry-plan-look.component.scss"], }) export class PsViewer { - constructor(private router: Router, private http: HttpClient, public dialog: MatDialog, public snackBar: MatSnackBar, public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: any) { } + constructor( + private router: Router, + private http: HttpClient, + public dialog: MatDialog, + public snackBar: MatSnackBar, + public dialogRef: MatDialogRef, + @Inject(MAT_DIALOG_DATA) public data: any + ) {} ngOnInit(): void { // console.log(this.data) const viewer = new Viewer({ - container: document.querySelector('#viewer'), - panorama: '/api/Objects/PlanPlatform/' + this.data, - + container: document.querySelector("#viewer"), + panorama: "/api/Objects/PlanPlatform/" + this.data, }); } } //普通图片弹窗 @Component({ - selector: 'imgdetails', - templateUrl: './previewImg.html', - styleUrls: ['./entry-plan-look.component.scss'] + selector: "imgdetails", + templateUrl: "./previewImg.html", + styleUrls: ["./entry-plan-look.component.scss"], }) export class ImgDetails { - constructor(private http: HttpClient, public dialog: MatDialog, public dialogRef: MatDialogRef, - @Inject(MAT_DIALOG_DATA) public data) { } + constructor( + private http: HttpClient, + public dialog: MatDialog, + public dialogRef: MatDialogRef, + @Inject(MAT_DIALOG_DATA) public data + ) {} testSwiper: Swiper; ngOnInit(): void { //console.log(this.data) - this.allImages = [] - this.data.forEach(element => { - element = `/api/Objects/PlanPlatform/${element}?x-oss-process=image/auto-orient,1` - this.allImages.push(element) + this.allImages = []; + this.data.forEach((element) => { + element = `/api/Objects/PlanPlatform/${element}?x-oss-process=image/auto-orient,1`; + this.allImages.push(element); }); //this.allImages.push(`${this.data.attachmentUrls[0]}?x-oss-process=image/auto-orient,1`) } ngAfterViewInit() { - this.testSwiper = new Swiper('.swiper-container', { + this.testSwiper = new Swiper(".swiper-container", { lazy: true, - direction: 'horizontal', + direction: "horizontal", loop: false, // 如果需要前进后退按钮 navigation: { - nextEl: '.swiper-button-next', - prevEl: '.swiper-button-prev', - } + nextEl: ".swiper-button-next", + prevEl: ".swiper-button-prev", + }, }); } @@ -1613,63 +1988,79 @@ export class ImgDetails { //旋转图片 rotate() { - this.rotationAngle = this.rotationAngle + 90 - if (this.rotationAngle === 360) { this.rotationAngle = 0 } + this.rotationAngle = this.rotationAngle + 90; + if (this.rotationAngle === 360) { + this.rotationAngle = 0; + } } } //修改三维预案地址 @Component({ - selector: 'changename', - templateUrl: './changeurl.html', - styleUrls: ['./entry-plan-look.component.scss'] + selector: "changename", + templateUrl: "./changeurl.html", + styleUrls: ["./entry-plan-look.component.scss"], }) export class ChangeUrl { - constructor(private http: HttpClient, public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data, public snackBar: MatSnackBar) { } - planUrl: any//预案路径 - updata//修改后的data + constructor( + private http: HttpClient, + public dialogRef: MatDialogRef, + @Inject(MAT_DIALOG_DATA) public data, + public snackBar: MatSnackBar + ) {} + planUrl: any; //预案路径 + updata; //修改后的data ngOnInit(): void { - this.planUrl = this.data.element.url + this.planUrl = this.data.element.url; } onNoClick(): void { this.dialogRef.close(); } onSubmit(value) { - console.log(value) + console.log(value); let headers = new HttpHeaders({ - 'Content-Type': 'text/json' + "Content-Type": "text/json", }); let options = { - headers + headers, }; let body = { url: value.name, - auditStatus: 8 - } - this.http.put(`/api/PlanComponents/${this.data.element.id}`, body, options).subscribe(data => { - console.log(data) - this.updata = data - this.dialogRef.close("success"); - sessionStorage.setItem("url", this.updata.url) - if ((this.updata.url as string).includes('gis/threeDimensionalHome')) { //三维预案 - window.open(`${this.updata.url}?unitId=${this.updata.companyId}&unitName=${this.updata.name}&editMode=true`) - } else { - window.open(`/planManagement/webLook`) - } - }) - + auditStatus: 8, + }; + this.http + .put(`/api/PlanComponents/${this.data.element.id}`, body, options) + .subscribe((data) => { + console.log(data); + this.updata = data; + this.dialogRef.close("success"); + sessionStorage.setItem("url", this.updata.url); + if ((this.updata.url as string).includes("gis/threeDimensionalHome")) { + //三维预案 + window.open( + `${this.updata.url}?unitId=${this.updata.companyId}&unitName=${this.updata.name}&editMode=true` + ); + } else { + window.open(`/planManagement/webLook`); + } + }); } } //编辑上传文件 @Component({ - selector: 'editUpload', - templateUrl: './upLoad.html', - styleUrls: ['./entry-plan-look.component.scss'] + selector: "editUpload", + templateUrl: "./upLoad.html", + styleUrls: ["./entry-plan-look.component.scss"], }) export class editUpload { - constructor(private http: HttpClient, public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data, public snackBar: MatSnackBar) { } - planName: any//预案名称 + constructor( + private http: HttpClient, + public dialogRef: MatDialogRef, + @Inject(MAT_DIALOG_DATA) public data, + public snackBar: MatSnackBar + ) {} + planName: any; //预案名称 ngOnInit(): void { //console.log(this.data) } @@ -1680,183 +2071,225 @@ export class editUpload { file: any; //上传的文件 fileName: any; //上传文件name uploadisLoading: boolean = false; //进度条loading加载 - uploadProgress: number = 0; //进度条进度 + uploadProgress: number = 0; //进度条进度 objectName: any; //上传对象名 uploadId: any; //上传分块上传事件编号 - lastyuanData //之前的预案数据 + lastyuanData; //之前的预案数据 //上传 upload() { - document.getElementById('up').click() + document.getElementById("up").click(); } //上传文件input filechange(e) { - this.file = e.target.files[0] || null //上传的文件 + this.file = e.target.files[0] || null; //上传的文件 } //上传文件 startUploading() { - console.log(this.file) - let file = this.file || null //获取上传的文件 - let fileSize = file.size || null //上传文件的总大小 - let shardSize = 5 * 1024 * 1024 //5MB一个分片 + console.log(this.file); + let file = this.file || null; //获取上传的文件 + let fileSize = file.size || null; //上传文件的总大小 + let shardSize = 5 * 1024 * 1024; //5MB一个分片 if (this.file != undefined) { - if (file && fileSize <= shardSize) { //上传文件<=5MB时 - let formData = new FormData() - formData.append("file", file) - this.http.post(`/api/Objects/PlanPlatform/${this.data.companyId}/2D`, formData).subscribe((data: any) => { - this.objectName = data.objectName - let headers = new HttpHeaders({ - 'Content-Type': 'text/json' + if (file && fileSize <= shardSize) { + //上传文件<=5MB时 + let formData = new FormData(); + formData.append("file", file); + this.http + .post(`/api/Objects/PlanPlatform/${this.data.companyId}/2D`, formData) + .subscribe((data: any) => { + this.objectName = data.objectName; + let headers = new HttpHeaders({ + "Content-Type": "text/json", + }); + let options = { + headers, + }; + this.uploadover = true; + let level = sessionStorage.getItem("level"); + let PlanLevel; + if (level == "0") { + PlanLevel = 1; + } + if (level == "1") { + PlanLevel = 2; + } + if (level == "2") { + PlanLevel = 4; + } + if (level == "3") { + PlanLevel = 8; + } + let uploadUrl = "/api/PlanComponents"; + this.http + .get(`/api/PlanComponents/${this.data.id}`) + .subscribe((yuandata) => { + console.log(yuandata); + this.lastyuanData = yuandata; + this.lastyuanData.attachmentUrls[0] = this.objectName; + this.http + .put( + `/api/PlanComponents/${this.data.id}`, + this.lastyuanData, + options + ) + .subscribe((data) => { + this.dialogRef.close(data); + }); + }); + }); + } else if (file && fileSize > shardSize) { + //上传文件>5MB时,分块上传 + let data = { filename: file.name }; + this.http + .post( + `/api/NewMultipartUpload/PlanPlatform/${this.data.companyId}/2D`, + {}, + { params: data } + ) + .subscribe((data: any) => { + //初始化分段上传 + this.objectName = data.objectName; + this.uploadId = data.uploadId; + this.uploadisLoading = true; + this.subsectionUploading(); }); - let options = { - headers - }; - this.uploadover = true - let level = sessionStorage.getItem("level") - let PlanLevel - if (level == '0') { - PlanLevel = 1 - } - if (level == '1') { - PlanLevel = 2 - } - if (level == '2') { - PlanLevel = 4 - } - if (level == '3') { - PlanLevel = 8 - } - let uploadUrl = "/api/PlanComponents" - this.http.get(`/api/PlanComponents/${this.data.id}`).subscribe(yuandata => { - console.log(yuandata) - this.lastyuanData = yuandata - this.lastyuanData.attachmentUrls[0] = this.objectName - this.http.put(`/api/PlanComponents/${this.data.id}`, this.lastyuanData, options).subscribe(data => { - this.dialogRef.close(data); - }) - }) - - }) - - } else if (file && fileSize > shardSize) { //上传文件>5MB时,分块上传 - let data = { filename: file.name } - this.http.post(`/api/NewMultipartUpload/PlanPlatform/${this.data.companyId}/2D`, {}, { params: data }).subscribe((data: any) => { //初始化分段上传 - this.objectName = data.objectName - this.uploadId = data.uploadId - this.uploadisLoading = true - this.subsectionUploading() - }) } - } - else { + } else { const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('请选择文件!', '确定', config); + config.verticalPosition = "top"; + config.duration = 3000; + this.snackBar.open("请选择文件!", "确定", config); } - } PartNumberETag: any = []; //每次返回需要保存的信息 //开始分段上传 async subsectionUploading() { - let file = this.file || null //获取上传的文件 - let fileSize = file.size || null //上传文件的总大小 - let shardSize = 5 * 1024 * 1024 //5MB一个分片 - let allSlice = Math.ceil(fileSize / shardSize) //总文件/5MB===共分多少段 向上取整 + let file = this.file || null; //获取上传的文件 + let fileSize = file.size || null; //上传文件的总大小 + let shardSize = 5 * 1024 * 1024; //5MB一个分片 + let allSlice = Math.ceil(fileSize / shardSize); //总文件/5MB===共分多少段 向上取整 - for (let i = 0; i < allSlice; i++) { //循环分段上传 - let start = i * shardSize //切割文件开始位置 + for (let i = 0; i < allSlice; i++) { + //循环分段上传 + let start = i * shardSize; //切割文件开始位置 let end = Math.min(fileSize, start + shardSize); //切割文件结束位置 (对比取小数) - let formData = new FormData() - formData.append("file", file.slice(start, end)) + let formData = new FormData(); + formData.append("file", file.slice(start, end)); //同步写法实现异步调用 let result = await new Promise((resolve, reject) => { // await 需要后面返回一个 promise 对象 - this.http.post(`/api/MultipartUpload/PlanPlatform/${this.objectName}?uploadId=${this.uploadId}&partNumber=${i + 1}`, formData).subscribe((data: any) => { - let msg = { - "partNumber": data.partNumber || null, - "eTag": data.eTag || null - } - resolve(msg) // 调用 promise 内置方法处理成功 - }) + this.http + .post( + `/api/MultipartUpload/PlanPlatform/${this.objectName}?uploadId=${ + this.uploadId + }&partNumber=${i + 1}`, + formData + ) + .subscribe((data: any) => { + let msg = { + partNumber: data.partNumber || null, + eTag: data.eTag || null, + }; + resolve(msg); // 调用 promise 内置方法处理成功 + }); }); - this.PartNumberETag.push(result) - this.uploadProgress = Number((i / allSlice).toFixed(2)) * 100 + this.PartNumberETag.push(result); + this.uploadProgress = Number((i / allSlice).toFixed(2)) * 100; if (this.PartNumberETag.length === allSlice) { - this.uploadProgress = 100 - this.endUploading() + this.uploadProgress = 100; + this.endUploading(); } - }//for循环 - + } //for循环 } - uploadover: any = false //上传完成之后提示 + uploadover: any = false; //上传完成之后提示 //完成分块上传 endUploading() { - let data = this.PartNumberETag - let paramsData = { uploadId: this.uploadId } - this.http.post(`/api/CompleteMultipartUpload/PlanPlatform/${this.objectName}`, data, { params: paramsData }).subscribe(data => { - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('上传成功!', '确定', config); - this.uploadProgress = 0; - this.uploadisLoading = false - this.PartNumberETag = [] //清空保存返回的信息 - this.uploadover = true - let level = sessionStorage.getItem("level") - let headers = new HttpHeaders({ - 'Content-Type': 'text/json' - }); - let options = { - headers - }; - // console.log(level) - let PlanLevel - if (level == '0') { - PlanLevel = 1 - } - if (level == '1') { - PlanLevel = 2 - } - if (level == '2') { - PlanLevel = 4 - } - if (level == '3') { - PlanLevel = 8 - } - let uploadUrl = "/api/PlanComponents" - - if (this.uploadover) {//如果上次成功了才创建 - this.http.get(`/api/PlanComponents/${this.data.id}`).subscribe(yuandata => { - console.log(yuandata) - this.lastyuanData = yuandata - this.lastyuanData.attachmentUrls[0] = this.objectName - this.http.put(`/api/PlanComponents/${this.data.id}`, this.lastyuanData, options).subscribe(data => { - this.dialogRef.close(data); - }) - }) - } else { - console.log("上传出错!") - } + let data = this.PartNumberETag; + let paramsData = { uploadId: this.uploadId }; + this.http + .post( + `/api/CompleteMultipartUpload/PlanPlatform/${this.objectName}`, + data, + { params: paramsData } + ) + .subscribe((data) => { + const config = new MatSnackBarConfig(); + config.verticalPosition = "top"; + config.duration = 3000; + this.snackBar.open("上传成功!", "确定", config); + this.uploadProgress = 0; + this.uploadisLoading = false; + this.PartNumberETag = []; //清空保存返回的信息 + this.uploadover = true; + let level = sessionStorage.getItem("level"); + let headers = new HttpHeaders({ + "Content-Type": "text/json", + }); + let options = { + headers, + }; + // console.log(level) + let PlanLevel; + if (level == "0") { + PlanLevel = 1; + } + if (level == "1") { + PlanLevel = 2; + } + if (level == "2") { + PlanLevel = 4; + } + if (level == "3") { + PlanLevel = 8; + } + let uploadUrl = "/api/PlanComponents"; - }) + if (this.uploadover) { + //如果上次成功了才创建 + this.http + .get(`/api/PlanComponents/${this.data.id}`) + .subscribe((yuandata) => { + console.log(yuandata); + this.lastyuanData = yuandata; + this.lastyuanData.attachmentUrls[0] = this.objectName; + this.http + .put( + `/api/PlanComponents/${this.data.id}`, + this.lastyuanData, + options + ) + .subscribe((data) => { + this.dialogRef.close(data); + }); + }); + } else { + console.log("上传出错!"); + } + }); } } //在线编制文本预案下载 @Component({ - selector: 'wenbenUpload', - templateUrl: './upNew.html', - styleUrls: ['./entry-plan-look.component.scss'] + selector: "wenbenUpload", + templateUrl: "./upNew.html", + styleUrls: ["./entry-plan-look.component.scss"], }) export class wenbenUpload { - constructor(private http: HttpClient, public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data, public snackBar: MatSnackBar, private sanitizer: DomSanitizer) { } + constructor( + private http: HttpClient, + public dialogRef: MatDialogRef, + @Inject(MAT_DIALOG_DATA) public data, + public snackBar: MatSnackBar, + private sanitizer: DomSanitizer + ) {} ngOnInit(): void { - console.log(this.data) + console.log(this.data); window.setTimeout(() => { this.dialogRef.close(); - }, 45000) + }, 45000); } src = this.sanitizer.bypassSecurityTrustResourceUrl(this.data.src); }