diff --git a/src/app/key-unit/fire-fighting-device/fire-fighting-device.component.ts b/src/app/key-unit/fire-fighting-device/fire-fighting-device.component.ts index 2661785..854489f 100644 --- a/src/app/key-unit/fire-fighting-device/fire-fighting-device.component.ts +++ b/src/app/key-unit/fire-fighting-device/fire-fighting-device.component.ts @@ -1,509 +1,638 @@ -import { Component, OnInit, ViewChild, Inject } from '@angular/core'; -import { HttpClient, HttpHeaders } from '@angular/common/http' -import { MatDialogRef, MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog'; -import { ImgsDataDetail } from './addGrouping.component' -import { MatSnackBarConfig, MatSnackBar } from '@angular/material/snack-bar'; -import { ImagesData } from './imagesdata.component' -import { Router, ActivatedRoute } from '@angular/router' -import { TabbarAndScoreService } from 'src/app/http-interceptors/tabbar-and-score.service'; - +import { Component, OnInit, ViewChild, Inject } from "@angular/core"; +import { HttpClient, HttpHeaders } from "@angular/common/http"; +import { + MatDialogRef, + MatDialog, + MAT_DIALOG_DATA, +} from "@angular/material/dialog"; +import { ImgsDataDetail } from "./addGrouping.component"; +import { MatSnackBarConfig, MatSnackBar } from "@angular/material/snack-bar"; +import { ImagesData } from "./imagesdata.component"; +import { Router, ActivatedRoute } from "@angular/router"; +import { TabbarAndScoreService } from "src/app/http-interceptors/tabbar-and-score.service"; export interface Food { value: string; name: string; } @Component({ - selector: 'app-fire-fighting-device', - templateUrl: './fire-fighting-device.component.html', - styleUrls: ['./fire-fighting-device.component.scss'] + selector: "app-fire-fighting-device", + templateUrl: "./fire-fighting-device.component.html", + styleUrls: ["./fire-fighting-device.component.scss"], }) export class FireFightingDeviceComponent implements OnInit { - - constructor(private tabbarService: TabbarAndScoreService, private router: Router, private route: ActivatedRoute, public http: HttpClient, public dialog: MatDialog, public snackBar: MatSnackBar) { } + constructor( + private tabbarService: TabbarAndScoreService, + private router: Router, + private route: ActivatedRoute, + public http: HttpClient, + public dialog: MatDialog, + public snackBar: MatSnackBar + ) {} ngOnInit(): void { - this.getCompanyInformation() - this.getAllBuilding() + this.getCompanyInformation(); + this.getAllBuilding(); } //定义属性数据 singleElection: Food[] = [ - { value: 'true', name: '有' }, - { value: 'false', name: '无' }] + { value: "true", name: "有" }, + { value: "false", name: "无" }, + ]; companyBuiltInGrouping: any = []; //单位消防设施内置分组 companyDetails: any = []; //单位详情 - companyEachDetails: any = [] //单位每层详情 + companyEachDetails: any = []; //单位每层详情 companyOptionalGrouping: any = []; //单位消防设施可选分组 //获得单位基本信息 getCompanyInformation() { - let companyId = this.route.snapshot.queryParams.id + let companyId = this.route.snapshot.queryParams.id; this.http.get(`/api/Companies/${companyId}`).subscribe((data: any) => { if (data.buildingTypes.length) { - let newData = { buildingType: data.buildingTypes[0].id, companyId: companyId } - this.http.get('/api/CompanyFacilities', { params: newData }).subscribe((data: any) => { //获得单位的消防设施 - this.companyBuiltInGrouping = data[0].summary.companyFacilityGroups - this.companyOptionalGrouping = data[0].summary.companyOptionalGroups - this.companyDetails = data[0].details - this.companyEachDetails = data[0].eachDetails - this.companyBuiltInGrouping.forEach(element => { //循环单位内置分组项 - element.selectBuiltInGrouping = [] - element.facilityItems.forEach((elements, index) => { - elements.total = element.facilityCount[index] - elements.expanded = false + let newData = { + buildingType: data.buildingTypes[0].id, + companyId: companyId, + }; + this.http + .get("/api/CompanyFacilities", { params: newData }) + .subscribe((data: any) => { + //获得单位的消防设施 + this.companyBuiltInGrouping = data[0].summary.companyFacilityGroups; + this.companyOptionalGrouping = + data[0].summary.companyOptionalGroups; + this.companyDetails = data[0].details; + this.companyEachDetails = data[0].eachDetails; + this.companyBuiltInGrouping.forEach((element) => { + //循环单位内置分组项 + element.selectBuiltInGrouping = []; + element.facilityItems.forEach((elements, index) => { + elements.total = element.facilityCount[index]; + elements.expanded = false; + }); }); - }); - }) //http + }); //http } //if - - }) + }); } //创建单位消防设施内置分组项 addCompanyGrouping(e) { - let data = e + let data = e; let dialogRef = this.dialog.open(ImgsDataDetail, { data }); - dialogRef.afterClosed().subscribe(data => { + dialogRef.afterClosed().subscribe((data) => { if (data) { - e.facilityItems.push(data) - this.tabbarService.sendMessage('changeScore');//通知服务改变分数 + e.facilityItems.push(data); + this.tabbarService.sendMessage("changeScore"); //通知服务改变分数 } }); } //保存单位消防设施内置分组项 editCompanyGrouping(e) { - let header = { groupId: e.id } - let data = [] + let header = { groupId: e.id }; + let data = []; e.facilityItems.forEach((element, index) => { let msg = { isBuiltin: element.isBuiltin, details: element.details, name: element.name, isEachFloor: element.isEachFloor, - order: element.order - } - data.push(msg) + order: element.order, + }; + data.push(msg); if (index == e.facilityItems.length - 1) { - this.http.post('/api/CompanyFacilityItems/Batch', data, { params: header }).subscribe(data => { - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('数据更新成功', '确定', config); - this.tabbarService.sendMessage('changeScore');//通知服务改变分数 - }) + this.http + .post("/api/CompanyFacilityItems/Batch", data, { params: header }) + .subscribe((data) => { + const config = new MatSnackBarConfig(); + config.verticalPosition = "top"; + config.duration = 3000; + this.snackBar.open("数据更新成功", "确定", config); + this.tabbarService.sendMessage("changeScore"); //通知服务改变分数 + }); } }); //forEach - } //checked单位消防设施内置分组项时 checkedCompany(e, item, items) { if (e.checked) { - item.selectBuiltInGrouping.push(items) + item.selectBuiltInGrouping.push(items); } else { - item.selectBuiltInGrouping.splice(item.selectBuiltInGrouping.findIndex(oldItem => oldItem == items), 1) + item.selectBuiltInGrouping.splice( + item.selectBuiltInGrouping.findIndex((oldItem) => oldItem == items), + 1 + ); } } //删除消防设施内置分组项 deleteCompanyGrouping(e) { if (e.selectBuiltInGrouping.length) { - let isDelete = confirm('您确定要删除吗') + let isDelete = confirm("您确定要删除吗"); if (isDelete) { - let msg: any = `?groupId=${e.id}` + let msg: any = `?groupId=${e.id}`; e.selectBuiltInGrouping.forEach((element, index) => { - let data = `&name=${element.name}` - msg = msg + data + let data = `&name=${element.name}`; + msg = msg + data; if (index === e.selectBuiltInGrouping.length - 1) { - this.http.delete('/api/CompanyFacilityItems/Batch' + msg).subscribe(data => { - let deleteMsg = e.selectBuiltInGrouping - deleteMsg.forEach(deleteElement => { - e.facilityItems.splice(e.facilityItems.findIndex(item => item.name == deleteElement.name), 1) - }); - e.selectBuiltInGrouping = [] - this.tabbarService.sendMessage('changeScore');//通知服务改变分数 - }) //http + this.http + .delete("/api/CompanyFacilityItems/Batch" + msg) + .subscribe((data) => { + let deleteMsg = e.selectBuiltInGrouping; + deleteMsg.forEach((deleteElement) => { + e.facilityItems.splice( + e.facilityItems.findIndex( + (item) => item.name == deleteElement.name + ), + 1 + ); + }); + e.selectBuiltInGrouping = []; + this.tabbarService.sendMessage("changeScore"); //通知服务改变分数 + }); //http } //if }); //forEach } } 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); } } //保存单位消防设施可选分组 editCompanyOptional(e, item) { - e.stopPropagation() //阻止冒泡 + e.stopPropagation(); //阻止冒泡 item.propertyInfos.forEach((element, index) => { - element.propertyValue = String(element.propertyValue) + element.propertyValue = String(element.propertyValue); if (index == item.propertyInfos.length - 1) { - this.http.post('/api/CompanyOptionalGroups', item).subscribe(data => { + this.http.post("/api/CompanyOptionalGroups", item).subscribe((data) => { const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('数据更新成功', '确定', config); - this.tabbarService.sendMessage('changeScore');//通知服务改变分数 - }) + config.verticalPosition = "top"; + config.duration = 3000; + this.snackBar.open("数据更新成功", "确定", config); + this.tabbarService.sendMessage("changeScore"); //通知服务改变分数 + }); } //if }); } //单位消防设施切换展开面板 SwitchBoard(e) { - e.expanded = !e.expanded - if (e.expanded) { //展开面板展开时 - if (e.isEachFloor) { //逐层统计时 - let data = this.companyEachDetails[e.name] + e.expanded = !e.expanded; + if (e.expanded) { + //展开面板展开时 + if (e.isEachFloor) { + //逐层统计时 + let data = this.companyEachDetails[e.name]; if (data) { - e.loopTable = [] - data.forEach(item => { - let tableMsg = { name: item.name, header: [], body: [] } - item.assets[0].propertyInfos.forEach(element => { //表头 + e.loopTable = []; + data.forEach((item) => { + let tableMsg = { name: item.name, header: [], body: [] }; + item.assets[0].propertyInfos.forEach((element) => { + //表头 if (element.propertyType != 3) { - let unit = element.physicalUnit ? '(' + element.physicalUnit + ')' : '' //单位 - tableMsg.header.push(element.propertyName + unit) + let unit = element.physicalUnit + ? "(" + element.physicalUnit + ")" + : ""; //单位 + tableMsg.header.push(element.propertyName + unit); } }); - item.assets.forEach(element => { //表格内容 - let everyBody = {} + item.assets.forEach((element) => { + //表格内容 + let everyBody = {}; element.propertyInfos.forEach((elements, index) => { - if (elements.propertyType != 3 && elements.propertyName != '图片' && elements.propertyType != 6) { - let unit = elements.physicalUnit ? '(' + elements.physicalUnit + ')' : '' //单位 - everyBody[elements.propertyName + unit] = elements.propertyValue + if ( + elements.propertyType != 3 && + elements.propertyName != "图片" && + elements.propertyType != 6 + ) { + let unit = elements.physicalUnit + ? "(" + elements.physicalUnit + ")" + : ""; //单位 + everyBody[elements.propertyName + unit] = + elements.propertyValue; } if (elements.propertyType == 6) { - let unit = elements.physicalUnit ? '(' + elements.physicalUnit + ')' : '' //单位 - everyBody[elements.propertyName + unit] = elements.propertyValue == '1' ? '是' : '否' + let unit = elements.physicalUnit + ? "(" + elements.physicalUnit + ")" + : ""; //单位 + everyBody[elements.propertyName + unit] = + elements.propertyValue == "1" ? "是" : "否"; } - if (elements.propertyType != 3 && elements.propertyName == '图片') { - let imgLength = [] - element.propertyInfos.find(item => { if (item.propertyType == 3) { imgLength.push(item) } }) - let unit = elements.physicalUnit ? '(' + elements.physicalUnit + ')' : '' //单位 - everyBody[elements.propertyName + unit] = String(imgLength.length) + if ( + elements.propertyType != 3 && + elements.propertyName == "图片" + ) { + let imgLength = []; + element.propertyInfos.find((item) => { + if (item.propertyType == 3) { + imgLength.push(item); + } + }); + let unit = elements.physicalUnit + ? "(" + elements.physicalUnit + ")" + : ""; //单位 + everyBody[elements.propertyName + unit] = String( + imgLength.length + ); } - }); //propertyInfos - tableMsg.body.push(everyBody) + tableMsg.body.push(everyBody); }); //assets - e.loopTable.push(tableMsg) + e.loopTable.push(tableMsg); }); - } //data有数据时 - } else { //非逐层统计时 - let data = this.companyDetails[e.name] + } else { + //非逐层统计时 + let data = this.companyDetails[e.name]; if (data) { - e.header = [] - e.body = [] - data[0].propertyInfos.forEach(element => { //表头 + e.header = []; + e.body = []; + data[0].propertyInfos.forEach((element) => { + //表头 if (element.propertyType != 3) { - let unit = element.physicalUnit ? '(' + element.physicalUnit + ')' : '' //单位 - e.header.push(element.propertyName + unit) + let unit = element.physicalUnit + ? "(" + element.physicalUnit + ")" + : ""; //单位 + e.header.push(element.propertyName + unit); } }); - data.forEach(element => { //表格内容 - let everyBody = {} + data.forEach((element) => { + //表格内容 + let everyBody = {}; element.propertyInfos.forEach((elements, index) => { - if (elements.propertyType != 3 && elements.propertyName != '图片' && elements.propertyType != 6) { - let unit = elements.physicalUnit ? '(' + elements.physicalUnit + ')' : '' //单位 - everyBody[elements.propertyName + unit] = elements.propertyValue + if ( + elements.propertyType != 3 && + elements.propertyName != "图片" && + elements.propertyType != 6 + ) { + let unit = elements.physicalUnit + ? "(" + elements.physicalUnit + ")" + : ""; //单位 + everyBody[elements.propertyName + unit] = + elements.propertyValue; } if (elements.propertyType == 6) { - let unit = elements.physicalUnit ? '(' + elements.physicalUnit + ')' : '' //单位 - everyBody[elements.propertyName + unit] = elements.propertyValue == '1' ? '是' : '否' + let unit = elements.physicalUnit + ? "(" + elements.physicalUnit + ")" + : ""; //单位 + everyBody[elements.propertyName + unit] = + elements.propertyValue == "1" ? "是" : "否"; } - if (elements.propertyType != 3 && elements.propertyName == '图片') { - let imgLength = [] - element.propertyInfos.find(item => { if (item.propertyType == 3) { imgLength.push(item) } }) - let unit = elements.physicalUnit ? '(' + elements.physicalUnit + ')' : '' //单位 - everyBody[elements.propertyName + unit] = String(imgLength.length) + if ( + elements.propertyType != 3 && + elements.propertyName == "图片" + ) { + let imgLength = []; + element.propertyInfos.find((item) => { + if (item.propertyType == 3) { + imgLength.push(item); + } + }); + let unit = elements.physicalUnit + ? "(" + elements.physicalUnit + ")" + : ""; //单位 + everyBody[elements.propertyName + unit] = String( + imgLength.length + ); } - }); - e.body.push(everyBody) + e.body.push(everyBody); }); - } } //非逐层统计时 - - - } } - - allBuildingGrouping: any; //所有建筑的消防设施 内置分组+可选分组 //获取所有建筑 getAllBuilding() { - let companyId = this.route.snapshot.queryParams.id - this.http.get('/api/Buildings', { - params: { - companyId: companyId - } - }).subscribe((data: any) => { - this.allBuildingGrouping = data - // console.log(888,data) - if (this.allBuildingGrouping.length) { - this.getAllBuildingFacilities() - } else { - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('暂无建筑数据', '确定', config); - } - }) + let companyId = this.route.snapshot.queryParams.id; + this.http + .get("/api/Buildings", { + params: { + companyId: companyId, + }, + }) + .subscribe((data: any) => { + this.allBuildingGrouping = data; + // console.log(888,data) + if (this.allBuildingGrouping.length) { + this.getAllBuildingFacilities(); + } else { + const config = new MatSnackBarConfig(); + config.verticalPosition = "top"; + config.duration = 3000; + this.snackBar.open("暂无建筑数据", "确定", config); + } + }); } //消防水系统 fireProtectionWaterSystem = { - waterSupplyNetwork: { name: '供水管网', total: '', details: '' },//供水管网 - sprinklerSystem: { name: '自动喷水灭火系统', total: '', details: '' }//自动喷水灭火系统 - } + waterSupplyNetwork: { name: "供水管网", total: "", details: "" }, //供水管网 + sprinklerSystem: { name: "自动喷水灭火系统", total: "", details: "" }, //自动喷水灭火系统 + }; //消防灭火给水系统 FireExtinguishingWaterSupplySystem = { - sprinklerSystem: { name: '自动喷水灭火系统', total: '', details: '' },//自动喷水灭火系统 - AutomaticGasFireExtinguishingSystem: { name: '气体自动灭火系统', total: '', details: '' },//气体自动灭火系统 - firePumpRoom: { name: '消防泵房', total: '', details: '' }//消防泵房 - } + sprinklerSystem: { name: "自动喷水灭火系统", total: "", details: "" }, //自动喷水灭火系统 + AutomaticGasFireExtinguishingSystem: { + name: "气体自动灭火系统", + total: "", + details: "", + }, //气体自动灭火系统 + firePumpRoom: { name: "消防泵房", total: "", details: "" }, //消防泵房 + }; //其它 other = { - purgingSystem: { name: '排烟系统', total: '', details: '' },//排烟系统 - fireExtinguisher: { name: '灭火器', total: '', details: '' },//灭火器 - extinctionUsingGas: { name: '气体灭火', total: '', details: '' },//气体灭火 - fireControlCommunication: { name: '消防通信', total: '', details: '' }//消防通信 - } + purgingSystem: { name: "排烟系统", total: "", details: "" }, //排烟系统 + fireExtinguisher: { name: "灭火器", total: "", details: "" }, //灭火器 + extinctionUsingGas: { name: "气体灭火", total: "", details: "" }, //气体灭火 + fireControlCommunication: { name: "消防通信", total: "", details: "" }, //消防通信 + }; //消防设施 fireFightingEquipment = { - automaticAlarmSystem: { name: '自动报警系统', total: '', details: '' },//自动报警系统 - firePump: { name: '消防泵', total: '', details: '' }//消防泵 - } + automaticAlarmSystem: { name: "自动报警系统", total: "", details: "" }, //自动报警系统 + firePump: { name: "消防泵", total: "", details: "" }, //消防泵 + }; //消火栓系统 hydrantSystem = { - fireExtinguishingAgent: { name: '灭火剂', total: '', details: '' },//灭火剂 - AlarmFacilities: { name: '报警设施', total: '', details: '' },//报警设施 - FireControlPipeNetwork: { name: '消防管网', total: '', details: '' }//消防管网 - } + fireExtinguishingAgent: { name: "灭火剂", total: "", details: "" }, //灭火剂 + AlarmFacilities: { name: "报警设施", total: "", details: "" }, //报警设施 + FireControlPipeNetwork: { name: "消防管网", total: "", details: "" }, //消防管网 + }; //其它设施 otherFacilities = { - givePriorityToBroadcast: { name: '优先广播', total: '', details: '' },//优先广播 - VIdetector: { name: 'VI检测仪', total: '', details: '' },//VI检测仪 - foamWaterSpraySystem: { name: '泡沫水喷雾系统', total: '', details: '' },//泡沫水喷雾系统 - } + givePriorityToBroadcast: { name: "优先广播", total: "", details: "" }, //优先广播 + VIdetector: { name: "VI检测仪", total: "", details: "" }, //VI检测仪 + foamWaterSpraySystem: { name: "泡沫水喷雾系统", total: "", details: "" }, //泡沫水喷雾系统 + }; //自动消防设施 automaticFireProtectionFacility = { - fireSprinklingSystem: { name: '喷水灭火系统', total: '', details: '' },//喷水灭火系统 - automaticAlarmSystem: { name: '自动报警系统', total: '', details: '' },//自动报警系统 - smokeControlAndExhaustSystem: { name: '防排烟系统', total: '', details: '' },//防排烟系统 - waterCurtainSystem: { name: '水幕系统', total: '', details: '' },//水幕系统 - firePump: { name: '消防泵', total: '', details: '' }//消防泵 - } + fireSprinklingSystem: { name: "喷水灭火系统", total: "", details: "" }, //喷水灭火系统 + automaticAlarmSystem: { name: "自动报警系统", total: "", details: "" }, //自动报警系统 + smokeControlAndExhaustSystem: { + name: "防排烟系统", + total: "", + details: "", + }, //防排烟系统 + waterCurtainSystem: { name: "水幕系统", total: "", details: "" }, //水幕系统 + firePump: { name: "消防泵", total: "", details: "" }, //消防泵 + }; //消防水源 fireWaterSupply = { - firePool: { name: '消防水池', total: '', details: '' }//消防水池 - } + firePool: { name: "消防水池", total: "", details: "" }, //消防水池 + }; //获得当前建筑的手动输入值 - FacilityStat: any//存放当前建筑手动输入的值 + FacilityStat: any; //存放当前建筑手动输入的值 selectedChange($event) { //获得手动输入的值 - this.http.get('/api/BuildingFacilities/FacilityStat', { - params: { - buildingId: this.allBuildingGrouping[$event].id - } - }).subscribe(data => { - this.FacilityStat = data - this.changeData() - }) + this.http + .get("/api/BuildingFacilities/FacilityStat", { + params: { + buildingId: this.allBuildingGrouping[$event].id, + }, + }) + .subscribe((data) => { + this.FacilityStat = data; + this.changeData(); + }); } //获取所有建筑的消防设施 async getAllBuildingFacilities() { - let companyId = this.route.snapshot.queryParams.id - let index = 0 + let companyId = this.route.snapshot.queryParams.id; + let index = 0; for (let index = 0; index < this.allBuildingGrouping.length; index++) { const element = this.allBuildingGrouping[index]; - let header = { buildingId: element.id, buildingType: element.buildingTypes[0].id, companyId: companyId } + let header = { + buildingId: element.id, + buildingType: element.buildingTypes[0].id, + companyId: companyId, + }; await new Promise((resolve, reject) => { - this.http.get('/api/BuildingFacilities', { params: header }).subscribe(data => { - element.buildingFacilityGroups = data[0].summary.buildingFacilityGroups - element.buildingOptionalGroups = data[0].summary.buildingOptionalGroups - element.buildingDetails = data[0].details - element.buildingEachDetails = data[0].eachDetails - element.buildingFacilityGroups.forEach((elements) => { //循环每个建筑内置分组项 - elements.selectBuiltInGrouping = [] - elements.facilityItems.forEach((newElement, index) => { - newElement.total = elements.facilityCount[index] - newElement.expanded = false + this.http.get("/api/BuildingFacilities", { params: header }).subscribe( + (data) => { + element.buildingFacilityGroups = + data[0].summary.buildingFacilityGroups; + element.buildingOptionalGroups = + data[0].summary.buildingOptionalGroups; + element.buildingDetails = data[0].details; + element.buildingEachDetails = data[0].eachDetails; + element.buildingFacilityGroups.forEach((elements) => { + //循环每个建筑内置分组项 + elements.selectBuiltInGrouping = []; + elements.facilityItems.forEach((newElement, index) => { + newElement.total = elements.facilityCount[index]; + newElement.expanded = false; + }); }); - }); - // console.log(element.name, data) - resolve() - }, err => { - console.log(element.name + '消防设施网络获取失败', err) - }) - }) - - + // console.log(element.name, data) + resolve(); + }, + (err) => { + console.log(element.name + "消防设施网络获取失败", err); + } + ); + }); } - } //清空手动输入的值 emptyData() { this.fireProtectionWaterSystem = { - waterSupplyNetwork: { name: '供水管网', total: '', details: '' },//供水管网 - sprinklerSystem: { name: '自动喷水灭火系统', total: '', details: '' }//自动喷水灭火系统 - } + waterSupplyNetwork: { name: "供水管网", total: "", details: "" }, //供水管网 + sprinklerSystem: { name: "自动喷水灭火系统", total: "", details: "" }, //自动喷水灭火系统 + }; this.FireExtinguishingWaterSupplySystem = { - sprinklerSystem: { name: '自动喷水灭火系统', total: '', details: '' },//自动喷水灭火系统 - AutomaticGasFireExtinguishingSystem: { name: '气体自动灭火系统', total: '', details: '' },//气体自动灭火系统 - firePumpRoom: { name: '消防泵房', total: '', details: '' }//消防泵房 - } + sprinklerSystem: { name: "自动喷水灭火系统", total: "", details: "" }, //自动喷水灭火系统 + AutomaticGasFireExtinguishingSystem: { + name: "气体自动灭火系统", + total: "", + details: "", + }, //气体自动灭火系统 + firePumpRoom: { name: "消防泵房", total: "", details: "" }, //消防泵房 + }; this.other = { - purgingSystem: { name: '排烟系统', total: '', details: '' },//排烟系统 - fireExtinguisher: { name: '灭火器', total: '', details: '' },//灭火器 - extinctionUsingGas: { name: '气体灭火', total: '', details: '' },//气体灭火 - fireControlCommunication: { name: '消防通信', total: '', details: '' }//消防通信 - } + purgingSystem: { name: "排烟系统", total: "", details: "" }, //排烟系统 + fireExtinguisher: { name: "灭火器", total: "", details: "" }, //灭火器 + extinctionUsingGas: { name: "气体灭火", total: "", details: "" }, //气体灭火 + fireControlCommunication: { name: "消防通信", total: "", details: "" }, //消防通信 + }; this.fireFightingEquipment = { - automaticAlarmSystem: { name: '自动报警系统', total: '', details: '' },//自动报警系统 - firePump: { name: '消防泵', total: '', details: '' }//消防泵 - } + automaticAlarmSystem: { name: "自动报警系统", total: "", details: "" }, //自动报警系统 + firePump: { name: "消防泵", total: "", details: "" }, //消防泵 + }; this.hydrantSystem = { - fireExtinguishingAgent: { name: '灭火剂', total: '', details: '' },//灭火剂 - AlarmFacilities: { name: '报警设施', total: '', details: '' },//报警设施 - FireControlPipeNetwork: { name: '消防管网', total: '', details: '' }//消防管网 - } + fireExtinguishingAgent: { name: "灭火剂", total: "", details: "" }, //灭火剂 + AlarmFacilities: { name: "报警设施", total: "", details: "" }, //报警设施 + FireControlPipeNetwork: { name: "消防管网", total: "", details: "" }, //消防管网 + }; this.otherFacilities = { - givePriorityToBroadcast: { name: '优先广播', total: '', details: '' },//优先广播 - VIdetector: { name: 'VI检测仪', total: '', details: '' },//VI检测仪 - foamWaterSpraySystem: { name: '泡沫水喷雾系统', total: '', details: '' },//泡沫水喷雾系统 - } + givePriorityToBroadcast: { name: "优先广播", total: "", details: "" }, //优先广播 + VIdetector: { name: "VI检测仪", total: "", details: "" }, //VI检测仪 + foamWaterSpraySystem: { name: "泡沫水喷雾系统", total: "", details: "" }, //泡沫水喷雾系统 + }; this.automaticFireProtectionFacility = { - fireSprinklingSystem: { name: '喷水灭火系统', total: '', details: '' },//喷水灭火系统 - automaticAlarmSystem: { name: '自动报警系统', total: '', details: '' },//自动报警系统 - smokeControlAndExhaustSystem: { name: '防排烟系统', total: '', details: '' },//防排烟系统 - waterCurtainSystem: { name: '水幕系统', total: '', details: '' },//水幕系统 - firePump: { name: '消防泵', total: '', details: '' }//消防泵 - } + fireSprinklingSystem: { name: "喷水灭火系统", total: "", details: "" }, //喷水灭火系统 + automaticAlarmSystem: { name: "自动报警系统", total: "", details: "" }, //自动报警系统 + smokeControlAndExhaustSystem: { + name: "防排烟系统", + total: "", + details: "", + }, //防排烟系统 + waterCurtainSystem: { name: "水幕系统", total: "", details: "" }, //水幕系统 + firePump: { name: "消防泵", total: "", details: "" }, //消防泵 + }; this.fireWaterSupply = { - firePool: { name: '消防水池', total: '', details: '' }//消防水池 - } + firePool: { name: "消防水池", total: "", details: "" }, //消防水池 + }; } //将数据库获取的手动输入的值变成指定形式 changeData() { this.emptyData(); - this.FacilityStat.length != 0 ? - this.FacilityStat.forEach(element => { - if (element.groupName == '消防水系统') { - if (element.facilityName == '供水管网') { - this.fireProtectionWaterSystem.waterSupplyNetwork.total = element.count - this.fireProtectionWaterSystem.waterSupplyNetwork.details = element.description - } else if (element.facilityName == '自动喷水灭火系统') { - this.fireProtectionWaterSystem.sprinklerSystem.total = element.count - this.fireProtectionWaterSystem.sprinklerSystem.details = element.description - } - } else if (element.groupName == '消防灭火给水系统') { - if (element.facilityName == '自动喷水灭火系统') { - this.FireExtinguishingWaterSupplySystem.sprinklerSystem.total = element.count - this.FireExtinguishingWaterSupplySystem.sprinklerSystem.details = element.description - } else if (element.facilityName == '气体自动灭火系统') { - this.FireExtinguishingWaterSupplySystem.AutomaticGasFireExtinguishingSystem.total = element.count - this.FireExtinguishingWaterSupplySystem.AutomaticGasFireExtinguishingSystem.details = element.description - } else if (element.facilityName == '消防泵房') { - this.FireExtinguishingWaterSupplySystem.firePumpRoom.total = element.count - this.FireExtinguishingWaterSupplySystem.firePumpRoom.details = element.description - } - } else if (element.groupName == '其它') { - if (element.facilityName == '排烟系统') { - this.other.purgingSystem.total = element.count - this.other.purgingSystem.details = element.description - } else if (element.facilityName == '灭火器') { - this.other.fireExtinguisher.total = element.count - this.other.fireExtinguisher.details = element.description - } else if (element.facilityName == '气体灭火') { - this.other.extinctionUsingGas.total = element.count - this.other.extinctionUsingGas.details = element.description - } else if (element.facilityName == '消防通信') { - this.other.fireControlCommunication.total = element.count - this.other.fireControlCommunication.details = element.description - } - } else if (element.groupName == '消防设施') { - if (element.facilityName == '自动报警系统') { - this.fireFightingEquipment.automaticAlarmSystem.total = element.count - this.fireFightingEquipment.automaticAlarmSystem.details = element.description - } else if (element.facilityName == '消防泵') { - this.fireFightingEquipment.firePump.total = element.count - this.fireFightingEquipment.firePump.details = element.description - } - } else if (element.groupName == '消火栓系统') { - if (element.facilityName == '灭火剂') { - this.hydrantSystem.fireExtinguishingAgent.total = element.count - this.hydrantSystem.fireExtinguishingAgent.details = element.description - } else if (element.facilityName == '报警设施') { - this.hydrantSystem.AlarmFacilities.total = element.count - this.hydrantSystem.AlarmFacilities.details = element.description - } else if (element.facilityName == '消防管网') { - this.hydrantSystem.FireControlPipeNetwork.total = element.count - this.hydrantSystem.FireControlPipeNetwork.details = element.description - } - } else if (element.groupName == '其它设施') { - if (element.facilityName == '优先广播') { - this.otherFacilities.givePriorityToBroadcast.total = element.count - this.otherFacilities.givePriorityToBroadcast.details = element.description - } else if (element.facilityName == 'VI检测仪') { - this.otherFacilities.VIdetector.total = element.count - this.otherFacilities.VIdetector.details = element.description - } else if (element.facilityName == '泡沫水喷雾系统') { - this.otherFacilities.foamWaterSpraySystem.total = element.count - this.otherFacilities.foamWaterSpraySystem.details = element.description - } - } else if (element.groupName == '自动消防设施') { - if (element.facilityName == '喷水灭火系统') { - this.automaticFireProtectionFacility.fireSprinklingSystem.total = element.count - this.automaticFireProtectionFacility.fireSprinklingSystem.details = element.description - } else if (element.facilityName == '自动报警系统') { - this.automaticFireProtectionFacility.automaticAlarmSystem.total = element.count - this.automaticFireProtectionFacility.automaticAlarmSystem.details = element.description - } else if (element.facilityName == '防排烟系统') { - this.automaticFireProtectionFacility.smokeControlAndExhaustSystem.total = element.count - this.automaticFireProtectionFacility.smokeControlAndExhaustSystem.details = element.description - } else if (element.facilityName == '水幕系统') { - this.automaticFireProtectionFacility.waterCurtainSystem.total = element.count - this.automaticFireProtectionFacility.waterCurtainSystem.details = element.description - } else if (element.facilityName == '消防泵') { - this.automaticFireProtectionFacility.firePump.total = element.count - this.automaticFireProtectionFacility.firePump.details = element.description - } - } else if (element.groupName == '消防水源') { - if (element.facilityName == '消防水池') { - this.fireWaterSupply.firePool.total = element.count - this.fireWaterSupply.firePool.details = element.description + this.FacilityStat.length != 0 + ? this.FacilityStat.forEach((element) => { + if (element.groupName == "消防水系统") { + if (element.facilityName == "供水管网") { + this.fireProtectionWaterSystem.waterSupplyNetwork.total = + element.count; + this.fireProtectionWaterSystem.waterSupplyNetwork.details = + element.description; + } else if (element.facilityName == "自动喷水灭火系统") { + this.fireProtectionWaterSystem.sprinklerSystem.total = + element.count; + this.fireProtectionWaterSystem.sprinklerSystem.details = + element.description; + } + } else if (element.groupName == "消防灭火给水系统") { + if (element.facilityName == "自动喷水灭火系统") { + this.FireExtinguishingWaterSupplySystem.sprinklerSystem.total = + element.count; + this.FireExtinguishingWaterSupplySystem.sprinklerSystem.details = + element.description; + } else if (element.facilityName == "气体自动灭火系统") { + this.FireExtinguishingWaterSupplySystem.AutomaticGasFireExtinguishingSystem.total = + element.count; + this.FireExtinguishingWaterSupplySystem.AutomaticGasFireExtinguishingSystem.details = + element.description; + } else if (element.facilityName == "消防泵房") { + this.FireExtinguishingWaterSupplySystem.firePumpRoom.total = + element.count; + this.FireExtinguishingWaterSupplySystem.firePumpRoom.details = + element.description; + } + } else if (element.groupName == "其它") { + if (element.facilityName == "排烟系统") { + this.other.purgingSystem.total = element.count; + this.other.purgingSystem.details = element.description; + } else if (element.facilityName == "灭火器") { + this.other.fireExtinguisher.total = element.count; + this.other.fireExtinguisher.details = element.description; + } else if (element.facilityName == "气体灭火") { + this.other.extinctionUsingGas.total = element.count; + this.other.extinctionUsingGas.details = element.description; + } else if (element.facilityName == "消防通信") { + this.other.fireControlCommunication.total = element.count; + this.other.fireControlCommunication.details = element.description; + } + } else if (element.groupName == "消防设施") { + if (element.facilityName == "自动报警系统") { + this.fireFightingEquipment.automaticAlarmSystem.total = + element.count; + this.fireFightingEquipment.automaticAlarmSystem.details = + element.description; + } else if (element.facilityName == "消防泵") { + this.fireFightingEquipment.firePump.total = element.count; + this.fireFightingEquipment.firePump.details = element.description; + } + } else if (element.groupName == "消火栓系统") { + if (element.facilityName == "灭火剂") { + this.hydrantSystem.fireExtinguishingAgent.total = element.count; + this.hydrantSystem.fireExtinguishingAgent.details = + element.description; + } else if (element.facilityName == "报警设施") { + this.hydrantSystem.AlarmFacilities.total = element.count; + this.hydrantSystem.AlarmFacilities.details = element.description; + } else if (element.facilityName == "消防管网") { + this.hydrantSystem.FireControlPipeNetwork.total = element.count; + this.hydrantSystem.FireControlPipeNetwork.details = + element.description; + } + } else if (element.groupName == "其它设施") { + if (element.facilityName == "优先广播") { + this.otherFacilities.givePriorityToBroadcast.total = + element.count; + this.otherFacilities.givePriorityToBroadcast.details = + element.description; + } else if (element.facilityName == "VI检测仪") { + this.otherFacilities.VIdetector.total = element.count; + this.otherFacilities.VIdetector.details = element.description; + } else if (element.facilityName == "泡沫水喷雾系统") { + this.otherFacilities.foamWaterSpraySystem.total = element.count; + this.otherFacilities.foamWaterSpraySystem.details = + element.description; + } + } else if (element.groupName == "自动消防设施") { + if (element.facilityName == "喷水灭火系统") { + this.automaticFireProtectionFacility.fireSprinklingSystem.total = + element.count; + this.automaticFireProtectionFacility.fireSprinklingSystem.details = + element.description; + } else if (element.facilityName == "自动报警系统") { + this.automaticFireProtectionFacility.automaticAlarmSystem.total = + element.count; + this.automaticFireProtectionFacility.automaticAlarmSystem.details = + element.description; + } else if (element.facilityName == "防排烟系统") { + this.automaticFireProtectionFacility.smokeControlAndExhaustSystem.total = + element.count; + this.automaticFireProtectionFacility.smokeControlAndExhaustSystem.details = + element.description; + } else if (element.facilityName == "水幕系统") { + this.automaticFireProtectionFacility.waterCurtainSystem.total = + element.count; + this.automaticFireProtectionFacility.waterCurtainSystem.details = + element.description; + } else if (element.facilityName == "消防泵") { + this.automaticFireProtectionFacility.firePump.total = + element.count; + this.automaticFireProtectionFacility.firePump.details = + element.description; + } + } else if (element.groupName == "消防水源") { + if (element.facilityName == "消防水池") { + this.fireWaterSupply.firePool.total = element.count; + this.fireWaterSupply.firePool.details = element.description; + } } - } - }) : null + }) + : null; } //创建建筑消防设施内置分组项 addBuildingGrouping(e, item) { - let data = { buildingId: e.id, item } + let data = { buildingId: e.id, item }; let dialogRef = this.dialog.open(ImgsDataDetail, { data }); - dialogRef.afterClosed().subscribe(data => { - if (data) { item.facilityItems.push(data) } + dialogRef.afterClosed().subscribe((data) => { + if (data) { + item.facilityItems.push(data); + } }); } //保存建筑消防设施内置分组项 editBuildingGrouping(e, item) { function returnBody(object, groupName) { - let body = [] + let body = []; for (const key in object) { if (Object.prototype.hasOwnProperty.call(object, key)) { const element = object[key]; @@ -511,75 +640,94 @@ export class FireFightingDeviceComponent implements OnInit { buildingId: item.buildingId, groupName: groupName, facilityName: element.name, - count: element.total || '', - description: element.details || '' - }) + count: element.total || "", + description: element.details || "", + }); } } - return body + return body; } - let companyId = this.route.snapshot.queryParams.id - let header = { companyId: companyId, buildingId: e.id, groupId: item.id } - let data = [] + let companyId = this.route.snapshot.queryParams.id; + let header = { companyId: companyId, buildingId: e.id, groupId: item.id }; + let data = []; item.facilityItems.forEach((element, index) => { let msg = { isBuiltin: element.isBuiltin, details: element.details, name: element.name, isEachFloor: element.isEachFloor, - order: element.order - } - data.push(msg) + order: element.order, + }; + data.push(msg); if (index == item.facilityItems.length - 1) { - this.http.post('/api/BuildingFacilityItems/Batch', data, { params: header }).subscribe(data => { - let putBody - if (item.name == '消防水源') { - putBody = returnBody(this.fireWaterSupply, '消防水源') - } else if (item.name == '消防水系统') { - putBody = returnBody(this.fireProtectionWaterSystem, '消防水系统') - } else if (item.name == '消防灭火给水系统') { - putBody = returnBody(this.FireExtinguishingWaterSupplySystem, '消防灭火给水系统') - } else if (item.name == '其它') { - putBody = returnBody(this.other, '其它') - } else if (item.name == '消防设施') { - putBody = returnBody(this.fireFightingEquipment, '消防设施') - } else if (item.name == '消火栓系统') { - putBody = returnBody(this.hydrantSystem, '消火栓系统') - } else if (item.name == '其它设施') { - putBody = returnBody(this.otherFacilities, '其它设施') - } else if (item.name == '自动消防设施') { - putBody = returnBody(this.automaticFireProtectionFacility, '自动消防设施') - } - if (putBody.length != 0) { - this.http.put('/api/BuildingFacilities/FacilityStatUpdate', putBody, { - params: { - buildingId: item.buildingId + this.http + .post("/api/BuildingFacilityItems/Batch", data, { params: header }) + .subscribe( + (data) => { + let putBody = []; + if (item.name == "消防水源") { + putBody = returnBody(this.fireWaterSupply, "消防水源"); + } else if (item.name == "消防水系统") { + putBody = returnBody( + this.fireProtectionWaterSystem, + "消防水系统" + ); + } else if (item.name == "消防灭火给水系统") { + putBody = returnBody( + this.FireExtinguishingWaterSupplySystem, + "消防灭火给水系统" + ); + } else if (item.name == "其它") { + putBody = returnBody(this.other, "其它"); + } else if (item.name == "消防设施") { + putBody = returnBody(this.fireFightingEquipment, "消防设施"); + } else if (item.name == "消火栓系统") { + putBody = returnBody(this.hydrantSystem, "消火栓系统"); + } else if (item.name == "其它设施") { + putBody = returnBody(this.otherFacilities, "其它设施"); + } else if (item.name == "自动消防设施") { + putBody = returnBody( + this.automaticFireProtectionFacility, + "自动消防设施" + ); } - }).subscribe(data => { - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('数据更新成功', '确定', config); - this.tabbarService.sendMessage('changeScore');//通知服务改变分数 - }, err => { + if (putBody.length != 0) { + this.http + .put("/api/BuildingFacilities/FacilityStatUpdate", putBody, { + params: { + buildingId: item.buildingId, + }, + }) + .subscribe( + (data) => { + const config = new MatSnackBarConfig(); + config.verticalPosition = "top"; + config.duration = 3000; + this.snackBar.open("数据更新成功", "确定", config); + this.tabbarService.sendMessage("changeScore"); //通知服务改变分数 + }, + (err) => { + const config = new MatSnackBarConfig(); + config.verticalPosition = "top"; + config.duration = 3000; + this.snackBar.open("更新失败", "确定", config); + } + ); + } else { + const config = new MatSnackBarConfig(); + config.verticalPosition = "top"; + config.duration = 3000; + this.snackBar.open("数据更新成功", "确定", config); + this.tabbarService.sendMessage("changeScore"); //通知服务改变分数 + } + }, + (err) => { const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('更新失败', '确定', config); - }) - } else { - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('数据更新成功', '确定', config); - this.tabbarService.sendMessage('changeScore');//通知服务改变分数 - } - }, err => { - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('更新失败', '确定', config); - }) + config.verticalPosition = "top"; + config.duration = 3000; + this.snackBar.open("更新失败", "确定", config); + } + ); } }); //forEach } @@ -587,150 +735,208 @@ export class FireFightingDeviceComponent implements OnInit { //删除建筑消防设施内置分组项 deleteBuildingGrouping(e, item) { if (item.selectBuiltInGrouping.length) { - let isDelete = confirm('您确定要删除吗') + let isDelete = confirm("您确定要删除吗"); if (isDelete) { - let msg: any = `?buildingId=${e.id}&groupId=${item.id}` + let msg: any = `?buildingId=${e.id}&groupId=${item.id}`; item.selectBuiltInGrouping.forEach((element, index) => { - let data = `&name=${element.name}` - msg = msg + data + let data = `&name=${element.name}`; + msg = msg + data; if (index === item.selectBuiltInGrouping.length - 1) { - this.http.delete('/api/BuildingFacilityItems/Batch' + msg).subscribe(data => { - let deleteMsg = item.selectBuiltInGrouping - deleteMsg.forEach(deleteElement => { - item.facilityItems.splice(item.facilityItems.findIndex(items => items.name == deleteElement.name), 1) - }); - item.selectBuiltInGrouping = [] - this.tabbarService.sendMessage('changeScore');//通知服务改变分数 - }) //http + this.http + .delete("/api/BuildingFacilityItems/Batch" + msg) + .subscribe((data) => { + let deleteMsg = item.selectBuiltInGrouping; + deleteMsg.forEach((deleteElement) => { + item.facilityItems.splice( + item.facilityItems.findIndex( + (items) => items.name == deleteElement.name + ), + 1 + ); + }); + item.selectBuiltInGrouping = []; + this.tabbarService.sendMessage("changeScore"); //通知服务改变分数 + }); //http } //if - }) //forEach + }); //forEach } } 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); } } //保存建筑消防设施可选分组 editBuildingOptional(e, item) { - let companyId = this.route.snapshot.queryParams.id - e.stopPropagation() //阻止冒泡 + let companyId = this.route.snapshot.queryParams.id; + e.stopPropagation(); //阻止冒泡 item.propertyInfos.forEach((element, index) => { - element.propertyValue = String(element.propertyValue) + element.propertyValue = String(element.propertyValue); if (index == item.propertyInfos.length - 1) { - this.http.post('/api/BuildingOptionalGroups', item, { - params: { - companyId: companyId - } - }).subscribe(data => { - const config = new MatSnackBarConfig(); - config.verticalPosition = 'top'; - config.duration = 3000 - this.snackBar.open('数据更新成功', '确定', config); - this.tabbarService.sendMessage('changeScore');//通知服务改变分数 - }) + this.http + .post("/api/BuildingOptionalGroups", item, { + params: { + companyId: companyId, + }, + }) + .subscribe((data) => { + const config = new MatSnackBarConfig(); + config.verticalPosition = "top"; + config.duration = 3000; + this.snackBar.open("数据更新成功", "确定", config); + this.tabbarService.sendMessage("changeScore"); //通知服务改变分数 + }); } //if }); } //建筑消防设施切换展开面板 SwitchBuildingBoard(item, e) { - e.expanded = !e.expanded - if (e.expanded) { //展开面板展开时 - if (e.isEachFloor) { //逐层统计时 - let data = item.buildingEachDetails[e.name] + e.expanded = !e.expanded; + if (e.expanded) { + //展开面板展开时 + if (e.isEachFloor) { + //逐层统计时 + let data = item.buildingEachDetails[e.name]; if (data) { - e.loopTable = [] - data.forEach(item => { - let tableMsg = { name: item.name, header: [], body: [] } - item.assets[0].propertyInfos.forEach(element => { //表头 + e.loopTable = []; + data.forEach((item) => { + let tableMsg = { name: item.name, header: [], body: [] }; + item.assets[0].propertyInfos.forEach((element) => { + //表头 if (element.propertyType != 3) { - let unit = element.physicalUnit ? '(' + element.physicalUnit + ')' : '' //单位 - tableMsg.header.push(element.propertyName + unit) + let unit = element.physicalUnit + ? "(" + element.physicalUnit + ")" + : ""; //单位 + tableMsg.header.push(element.propertyName + unit); } }); - item.assets.forEach(element => { //表格内容 - let everyBody = {} + item.assets.forEach((element) => { + //表格内容 + let everyBody = {}; element.propertyInfos.forEach((elements, index) => { - if (elements.propertyType != 3 && elements.propertyName != '图片' && elements.propertyType != 6) { - let unit = elements.physicalUnit ? '(' + elements.physicalUnit + ')' : '' //单位 - everyBody[elements.propertyName + unit] = elements.propertyValue + if ( + elements.propertyType != 3 && + elements.propertyName != "图片" && + elements.propertyType != 6 + ) { + let unit = elements.physicalUnit + ? "(" + elements.physicalUnit + ")" + : ""; //单位 + everyBody[elements.propertyName + unit] = + elements.propertyValue; } if (elements.propertyType == 6) { - let unit = elements.physicalUnit ? '(' + elements.physicalUnit + ')' : '' //单位 - everyBody[elements.propertyName + unit] = elements.propertyValue == '1' ? '是' : '否' + let unit = elements.physicalUnit + ? "(" + elements.physicalUnit + ")" + : ""; //单位 + everyBody[elements.propertyName + unit] = + elements.propertyValue == "1" ? "是" : "否"; } - if (elements.propertyType != 3 && elements.propertyName == '图片') { - let imgLength = [] - element.propertyInfos.find(item => { if (item.propertyType == 3) { imgLength.push(item) } }) - let unit = elements.physicalUnit ? '(' + elements.physicalUnit + ')' : '' //单位 - everyBody[elements.propertyName + unit] = String(imgLength.length) + if ( + elements.propertyType != 3 && + elements.propertyName == "图片" + ) { + let imgLength = []; + element.propertyInfos.find((item) => { + if (item.propertyType == 3) { + imgLength.push(item); + } + }); + let unit = elements.physicalUnit + ? "(" + elements.physicalUnit + ")" + : ""; //单位 + everyBody[elements.propertyName + unit] = String( + imgLength.length + ); } - }); //propertyInfos - tableMsg.body.push(everyBody) + tableMsg.body.push(everyBody); }); //assets - e.loopTable.push(tableMsg) + e.loopTable.push(tableMsg); }); - } //data有数据时 - } else { //非逐层统计时 - let data = item.buildingDetails[e.name] + } else { + //非逐层统计时 + let data = item.buildingDetails[e.name]; if (data) { - e.header = [] - e.body = [] - data[0].propertyInfos.forEach(element => { //表头 + e.header = []; + e.body = []; + data[0].propertyInfos.forEach((element) => { + //表头 if (element.propertyType != 3) { - let unit = element.physicalUnit ? '(' + element.physicalUnit + ')' : '' //单位 - e.header.push(element.propertyName + unit) + let unit = element.physicalUnit + ? "(" + element.physicalUnit + ")" + : ""; //单位 + e.header.push(element.propertyName + unit); } }); - data.forEach(element => { //表格内容 - let everyBody = {} + data.forEach((element) => { + //表格内容 + let everyBody = {}; element.propertyInfos.forEach((elements, index) => { - if (elements.propertyType != 3 && elements.propertyName != '图片' && elements.propertyType != 6) { - let unit = elements.physicalUnit ? '(' + elements.physicalUnit + ')' : '' //单位 - everyBody[elements.propertyName + unit] = elements.propertyValue + if ( + elements.propertyType != 3 && + elements.propertyName != "图片" && + elements.propertyType != 6 + ) { + let unit = elements.physicalUnit + ? "(" + elements.physicalUnit + ")" + : ""; //单位 + everyBody[elements.propertyName + unit] = + elements.propertyValue; } if (elements.propertyType == 6) { - let unit = elements.physicalUnit ? '(' + elements.physicalUnit + ')' : '' //单位 - everyBody[elements.propertyName + unit] = elements.propertyValue == '1' ? '是' : '否' + let unit = elements.physicalUnit + ? "(" + elements.physicalUnit + ")" + : ""; //单位 + everyBody[elements.propertyName + unit] = + elements.propertyValue == "1" ? "是" : "否"; } - if (elements.propertyType != 3 && elements.propertyName == '图片') { - let imgLength = [] - element.propertyInfos.find(item => { if (item.propertyType == 3) { imgLength.push(item) } }) - let unit = elements.physicalUnit ? '(' + elements.physicalUnit + ')' : '' //单位 - everyBody[elements.propertyName + unit] = String(imgLength.length) + if ( + elements.propertyType != 3 && + elements.propertyName == "图片" + ) { + let imgLength = []; + element.propertyInfos.find((item) => { + if (item.propertyType == 3) { + imgLength.push(item); + } + }); + let unit = elements.physicalUnit + ? "(" + elements.physicalUnit + ")" + : ""; //单位 + everyBody[elements.propertyName + unit] = String( + imgLength.length + ); } - }); - e.body.push(everyBody) + e.body.push(everyBody); }); - } } //非逐层统计时 - - - } } //单位消防设施预览图片 previewImg(e) { - if (e.isEachFloor) { //逐层统计时 - let newData = this.companyEachDetails[e.name] + if (e.isEachFloor) { + //逐层统计时 + let newData = this.companyEachDetails[e.name]; if (newData) { - let data = { name: e.name, images: [] } - let imgName - newData.forEach(item => { - item.assets.forEach(element => { - element.propertyInfos.forEach(elements => { - if (elements.propertyName.includes('名称')) { imgName = elements.propertyValue } + let data = { name: e.name, images: [] }; + let imgName; + newData.forEach((item) => { + item.assets.forEach((element) => { + element.propertyInfos.forEach((elements) => { + if (elements.propertyName.includes("名称")) { + imgName = elements.propertyValue; + } if (elements.propertyType === 3) { - elements.propertyName = imgName - data.images.push(elements) + elements.propertyName = imgName; + data.images.push(elements); } }); }); @@ -740,28 +946,30 @@ export class FireFightingDeviceComponent implements OnInit { let dialogRef = this.dialog.open(ImagesData, { data }); //打开图片弹窗 } 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); } - } 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); } - } else { //非逐层统计时 - let newData = this.companyDetails[e.name] - let imgName + } else { + //非逐层统计时 + let newData = this.companyDetails[e.name]; + let imgName; if (newData) { - let data = { name: e.name, images: [] } - newData.forEach(element => { - element.propertyInfos.forEach(elements => { - if (elements.propertyName.includes('名称')) { imgName = elements.propertyValue } + let data = { name: e.name, images: [] }; + newData.forEach((element) => { + element.propertyInfos.forEach((elements) => { + if (elements.propertyName.includes("名称")) { + imgName = elements.propertyValue; + } if (elements.propertyType === 3) { - elements.propertyName = imgName - data.images.push(elements) + elements.propertyName = imgName; + data.images.push(elements); } }); }); @@ -769,35 +977,36 @@ export class FireFightingDeviceComponent implements OnInit { let dialogRef = this.dialog.open(ImagesData, { data }); //打开图片弹窗 } 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); } - } 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); } } - } //建筑消防设施预览图片 previewBuildingImg(item, e) { - if (e.isEachFloor) { //逐层统计时 - let newData = item.buildingEachDetails[e.name] + if (e.isEachFloor) { + //逐层统计时 + let newData = item.buildingEachDetails[e.name]; if (newData) { - let data = { name: e.name, images: [] } - let imgName - newData.forEach(item => { - item.assets.forEach(element => { - element.propertyInfos.forEach(elements => { - if (elements.propertyName.includes('名称')) { imgName = elements.propertyValue } + let data = { name: e.name, images: [] }; + let imgName; + newData.forEach((item) => { + item.assets.forEach((element) => { + element.propertyInfos.forEach((elements) => { + if (elements.propertyName.includes("名称")) { + imgName = elements.propertyValue; + } if (elements.propertyType === 3) { - elements.propertyName = imgName - data.images.push(elements) + elements.propertyName = imgName; + data.images.push(elements); } }); }); @@ -807,28 +1016,30 @@ export class FireFightingDeviceComponent implements OnInit { let dialogRef = this.dialog.open(ImagesData, { data }); //打开图片弹窗 } 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); } - } 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); } - } else { //非逐层统计时 - let newData = item.buildingDetails[e.name] - let imgName + } else { + //非逐层统计时 + let newData = item.buildingDetails[e.name]; + let imgName; if (newData) { - let data = { name: e.name, images: [] } - newData.forEach(element => { - element.propertyInfos.forEach(elements => { - if (elements.propertyName.includes('名称')) { imgName = elements.propertyValue } + let data = { name: e.name, images: [] }; + newData.forEach((element) => { + element.propertyInfos.forEach((elements) => { + if (elements.propertyName.includes("名称")) { + imgName = elements.propertyValue; + } if (elements.propertyType === 3) { - elements.propertyName = imgName - data.images.push(elements) + elements.propertyName = imgName; + data.images.push(elements); } }); }); @@ -836,23 +1047,16 @@ export class FireFightingDeviceComponent implements OnInit { let dialogRef = this.dialog.open(ImagesData, { data }); //打开图片弹窗 } 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); } - } 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); } } - } - - - - } -