From 1932ab5bb931a607465a37cc786a77c3624cd290 Mon Sep 17 00:00:00 2001 From: jingbowen <970029315@qq.com> Date: Thu, 11 Aug 2022 10:06:37 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=8D=95=E4=BD=8D=E5=9F=BA=E6=9C=AC?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../unit-details/unit-details.component.html | 91 ++-- .../unit-details/unit-details.component.scss | 9 +- .../unit-details/unit-details.component.ts | 413 +++++++++++------- 3 files changed, 316 insertions(+), 197 deletions(-) diff --git a/src/app/home/basic-info/unit-details/unit-details.component.html b/src/app/home/basic-info/unit-details/unit-details.component.html index 566f2f3..f24854b 100644 --- a/src/app/home/basic-info/unit-details/unit-details.component.html +++ b/src/app/home/basic-info/unit-details/unit-details.component.html @@ -1,11 +1,19 @@
-
+
+
+ +
+
+ + +
+
-
+
单位信息
@@ -44,21 +52,37 @@ --> - 所属救援站 + 所属救援站 - - - - + + + + + + + + + + 所属大队 - - - - + + + + + + + + + + - 建筑类型 - - - + 单位类型 + + + @@ -369,7 +393,7 @@ style="font-family:宋体; font-size:9pt">)
无( --> - +


无( --> - +


无( --> - +


无( --> - +

@@ -636,7 +660,7 @@ style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:42.15pt">

+ [(ngModel)]="datas.KeyParts[0].keypartsposition" nz-input style="width:50px" type="text">

@@ -646,7 +670,8 @@

钢结构

+ style="font-family:宋体; font-size:9pt">

@@ -656,7 +681,8 @@

存储漆类,油类

+ style="font-family:宋体; font-size:9pt">

@@ -668,7 +694,8 @@

油类,漆类易燃,有毒

+ style="font-family:宋体; font-size:9pt">

@@ -685,7 +712,8 @@

淬火油池

+ style="font-family:宋体; font-size:9pt">

@@ -695,7 +723,8 @@

厂区中部

+ style="font-family:宋体; font-size:9pt">

@@ -705,7 +734,8 @@

钢结构

+ style="font-family:宋体; font-size:9pt">

@@ -715,7 +745,8 @@

淬火

+ style="font-family:宋体; font-size:9pt">

@@ -727,7 +758,8 @@

高温

+ style="font-family:宋体; font-size:9pt">

@@ -771,7 +803,8 @@

 

+
- + \ No newline at end of file diff --git a/src/app/home/basic-info/unit-details/unit-details.component.scss b/src/app/home/basic-info/unit-details/unit-details.component.scss index a318d01..d3d71a5 100644 --- a/src/app/home/basic-info/unit-details/unit-details.component.scss +++ b/src/app/home/basic-info/unit-details/unit-details.component.scss @@ -7,11 +7,14 @@ .top { text-align: left; margin: 20px; + display: flex; // border-bottom: 1px solid #eee; color: #000; - span { - color: #000D21; - margin-right: 16px; + div{ + width: 50%; + } + button{ + margin-right: 10px; } } .buttons{ diff --git a/src/app/home/basic-info/unit-details/unit-details.component.ts b/src/app/home/basic-info/unit-details/unit-details.component.ts index 339a99d..a4df604 100644 --- a/src/app/home/basic-info/unit-details/unit-details.component.ts +++ b/src/app/home/basic-info/unit-details/unit-details.component.ts @@ -1,7 +1,9 @@ -import { Component, Renderer2, OnDestroy, AfterViewInit, ElementRef, OnInit, ViewChild } from '@angular/core'; +import { Component, Input, Renderer2, OnDestroy, AfterViewInit, ElementRef, OnInit, ViewChild } from '@angular/core'; import { CustomReuseStrategy } from 'src/app/CustomReuseStrategy'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { NzMessageService } from 'ng-zorro-antd/message'; import { Router } from '@angular/router'; +import { TreeService } from 'src/app/service/tree.service'; import { HttpClient } from '@angular/common/http'; import { asBlob } from 'html-docx-js-typescript' // 要保存这个docx文件推荐引入file-saver哦,你可以用npm i -D file-saver来安装 @@ -14,10 +16,11 @@ import { saveAs } from 'file-saver' export class UnitDetailsComponent implements OnInit { @ViewChild('box') box: ElementRef; - constructor(private router: Router,private fb: FormBuilder, private http: HttpClient, private renderer: Renderer2, private el: ElementRef) { - + constructor(private message:NzMessageService, private router: Router, private toTree: TreeService, private fb: FormBuilder, private http: HttpClient, private renderer: Renderer2, private el: ElementRef) { + } - datas= { + + datas = { basicInfo: { name: "", addr: "", @@ -25,116 +28,125 @@ export class UnitDetailsComponent implements OnInit { total: "", height: "", layer: "", - structure:"", - coveredArea:"", - builtUpArea:"", - nature:"", - east:"", - south:"", - west:"", - north:"", - routeAndTime:"", + structure: "", + coveredArea: "", + builtUpArea: "", + nature: "", + east: "", + south: "", + west: "", + north: "", + routeAndTime: "", }, - facilities:{ - controlPosition:"", - poolNumbe:"", - poolPosition:"", - poolCapacity:"", - supplyMode:"", - waterSources:"", - waterSourcesPosition:"", - alarm:false, - spray:false, - broadcast:false, - smoke:false, - hydrantsNumber:"", - hydrantsPosition:"", - pumpNumber:"", - pumpRange:"", - pumpFlow:"", - pumpAdapter:"", - SprayPumpNumber:"", - SprayPumpRange:"", - SprayPumpFlow:"", - SprayPumpAdapter:"", - elevator:"", - stairs:"", - Export:"", - indoorHydrant:"", - standardIndoorHydrant:"" + facilities: { + controlPosition: "", + poolNumbe: "", + poolPosition: "", + poolCapacity: "", + supplyMode: "", + waterSources: "", + waterSourcesPosition: "", + system:{ + alarm: false, + spray: false, + broadcast: false, + smoke: false, + }, + hydrantsNumber: "", + hydrantsPosition: "", + pumpNumber: "", + pumpRange: "", + pumpFlow: "", + pumpAdapter: "", + SprayPumpNumber: "", + SprayPumpRange: "", + SprayPumpFlow: "", + SprayPumpAdapter: "", + elevator: "", + stairs: "", + Export: "", + indoorHydrant: "", + standardIndoorHydrant: "" }, - KeyParts:[ + KeyParts: [ { - keyparts:"222", - keypartsposition:"333", + keyparts: "", + keypartsposition: "", + buildingstructure: "", + useNature: "", + danger: "" }, { - keyparts:"222", - keypartsposition:"333", + keyparts: "", + keypartsposition: "", + buildingstructure: "", + useNature: "", + danger: "" } ], - tips:"" + tips: "" } aaa = true - list={} + list = {} validateForm!: FormGroup; - zhidui=[] - dadui=[] - jiuyuanzhan=[] - id="" + zhidui = [] + dadui = [] + jiuyuanzhan = [] + id = "" + item = false + integrity = 0 ngOnInit(): void { - console.log(this.datas.KeyParts); - - this.id=this.router['browserUrlTree'].queryParams.id - this.validateForm = this.fb.group({ - companyName: [null, [Validators.required]], - directorName: [null], - directorPhone: [null], - address: [null], - organizationId: [null], - relatedOrganizationId: [null], - useNature: [null], - buildingTypeId: [null] - }); - this.getAllOrganization() - this.getCompanies() + + this.item = true + this.id = this.router['browserUrlTree'].queryParams.id + this.validateForm = this.fb.group({ + directorName: [null], + organizationId: [null, [Validators.required]], + relatedOrganizationId: [null], + buildingTypeId: [null] + + }); + console.log(this.validateForm); + this.getAllOrganization() + this.getCompanies() + this.getBuildingTypes() } listOfData: any[] = []; listOfData2: any[] = []; - - + + exportClick() { - let alarm="" - let spray="" - let broadcast="" - let smoke="" - if(this.datas.facilities.alarm){ - alarm="有" - }else{ - alarm="无" + let alarm = "" + let spray = "" + let broadcast = "" + let smoke = "" + if (this.datas.facilities.system.alarm) { + alarm = "有" + } else { + alarm = "无" } - if(this.datas.facilities.spray){ - spray="有" - }else{ - spray="无" + if (this.datas.facilities.system.spray) { + spray = "有" + } else { + spray = "无" } - if(this.datas.facilities.broadcast){ - broadcast="有" - }else{ - broadcast="无" + if (this.datas.facilities.system.broadcast) { + broadcast = "有" + } else { + broadcast = "无" } - if(this.datas.facilities.smoke){ - smoke="有" - }else{ - smoke="无" + if (this.datas.facilities.system.smoke) { + smoke = "有" + } else { + smoke = "无" } - let box=` + let box = `
@@ -152,7 +164,7 @@ export class UnitDetailsComponent implements OnInit { @@ -183,7 +195,7 @@ export class UnitDetailsComponent implements OnInit { @@ -213,7 +225,7 @@ export class UnitDetailsComponent implements OnInit { @@ -255,22 +267,22 @@ export class UnitDetailsComponent implements OnInit { @@ -282,7 +294,7 @@ export class UnitDetailsComponent implements OnInit { @@ -303,7 +315,7 @@ export class UnitDetailsComponent implements OnInit { @@ -320,7 +332,7 @@ export class UnitDetailsComponent implements OnInit { @@ -362,7 +374,7 @@ export class UnitDetailsComponent implements OnInit { @@ -385,7 +397,7 @@ export class UnitDetailsComponent implements OnInit { @@ -431,7 +443,7 @@ export class UnitDetailsComponent implements OnInit { @@ -460,20 +472,20 @@ export class UnitDetailsComponent implements OnInit { style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:41.5pt">

数量:`+this.datas.facilities.pumpNumber+`

+ style="font-family:'Times New Roman'; font-size:9pt">`+ this.datas.facilities.pumpNumber + `

@@ -503,20 +515,20 @@ export class UnitDetailsComponent implements OnInit { style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:41.5pt">

数量:`+this.datas.facilities.SprayPumpNumber+`

+ style="font-family:'Times New Roman'; font-size:9pt">`+ this.datas.facilities.SprayPumpNumber + `

@@ -546,7 +558,7 @@ export class UnitDetailsComponent implements OnInit { @@ -583,7 +595,7 @@ export class UnitDetailsComponent implements OnInit { @@ -726,7 +738,7 @@ export class UnitDetailsComponent implements OnInit { @@ -774,51 +786,122 @@ export class UnitDetailsComponent implements OnInit { back() { window.history.back() } - getCompanies(){ + + edit() { + let num = 0 + let num2 = 0 + let num3 = 0 + console.log(this.validateForm.value); + for (const key in this.validateForm.value) { + if (Object.prototype.hasOwnProperty.call(this.validateForm.value, key)) { + const element = this.validateForm.value[key]; + if (element) { + num3 += 1 + } + } + } - this.http.get('/api/Companies/'+this.id).subscribe((data: any) => { + for (const key in this.datas) { + if (Object.prototype.hasOwnProperty.call(this.datas, key)) { + const element = this.datas[key]; + for (const key in element) { + if (Object.prototype.hasOwnProperty.call(element, key)) { + const element2 = element[key]; + if (element2) { + // console.log(element2); + num += 1 + } + } + } + } + } + for (const key in this.datas.KeyParts) { + if (Object.prototype.hasOwnProperty.call(this.datas.KeyParts, key)) { + const element = this.datas.KeyParts[key] + for (const key in element) { + if (Object.prototype.hasOwnProperty.call(element, key)) { + const element2 = element[key] + // console.log(element2); + if (element2) { + num2 += 1 + } + } + } + } + } + let num4=(num+num2+num3+1)/56 + this.integrity = Math.floor(num4*100)/100 + let body = { + id: this.id, + companyName: this.datas.basicInfo.name, + directorName: this.validateForm.value.directorName, + directorPhone: this.datas.basicInfo.phone, + address: this.datas.basicInfo.addr, + organizationId: this.validateForm.value.organizationId, + relatedOrganizationId: this.validateForm.value.relatedOrganizationId, + useNature: this.datas.basicInfo.nature, + buildingTypeId: this.validateForm.value.buildingTypeId, + integrity: this.integrity, + data:JSON.stringify(this.datas) + } + this.http.patch('/api/Companies/' + this.id, body).subscribe(data => { + console.log(data); + + this.message.create('success', '保存成功!'); + this.getCompanies() + + }) + } + BuildingTypes + getBuildingTypes() { + this.http.get('/api/BuildingTypes').subscribe((data: any) => { + console.log(data); + + this.BuildingTypes = data + }) + } + getCompanies() { + + this.http.get('/api/Companies/' + this.id).subscribe((data: any) => { console.log(data); - this.datas=JSON.parse(data.data) - this.datas.basicInfo.name=data.companyName - this.datas.basicInfo.addr=data.address - this.datas.basicInfo.phone=data.directorPhone - this.datas.basicInfo.nature=data.useNature + if(data.data){ + this.datas=JSON.parse(data.data) + } + this.datas.basicInfo.name = data.companyName + this.datas.basicInfo.addr = data.address + this.datas.basicInfo.phone = data.directorPhone + this.datas.basicInfo.nature = data.useNature + this.integrity = data.integrity this.validateForm.patchValue({ - companyName: [data.companyName, [Validators.required]], - directorName: [data.directorName], - directorPhone: [data.directorPhone], - address: [data.address], - organizationId: [data.organizationId], - relatedOrganizationId: [data.relatedOrganizationId], - useNature: [data.useNature], - buildingTypeId: [data.buildingTypeId]}) - + directorName: data.directorName, + organizationId: data.organizationId, + relatedOrganizationId: data.relatedOrganizationId, + buildingTypeId: data.buildingTypeId + }) + }) } nodes: any = [] - getAllOrganization(){ + getAllOrganization() { + let organizationId = JSON.parse(sessionStorage.getItem('userData')).organizationId let params = { - // OrganizationUnitId: OrganizationUnitId, - // IsContainsChildren: "true" - ContainsChildren: true, - pageSize: 9999 + OrganizationId: organizationId || '', + ContainsChildren: "true", + PageNumber: 1, + PageSize: 9999 } this.http.get('/api/Organizations', { params: params }).subscribe((data: any) => { - console.log(data); - for (let index = 0; index < data.items.length; index++) { - if(data.items[index].level==1){ - this.zhidui.push(data.items[index]) - }else if(data.items[index].level==2){ - this.dadui.push(data.items[index]) - }else{ - this.jiuyuanzhan.push(data.items[index]) + data.items.forEach(element => { + if (element.id == organizationId) { + element.parentId = null } - - } - console.log(this.dadui); - + element.key = element.id + element.title = element.name + }); + this.nodes = [...this.toTree.toTree(data.items)] + }) } } From ea62f70b157c7a63bd4b8aeadf1f41f7dcda2909 Mon Sep 17 00:00:00 2001 From: jingbowen <970029315@qq.com> Date: Thu, 11 Aug 2022 11:05:14 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=8D=95=E4=BD=8D=E5=9F=BA=E6=9C=AC?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../unit-details/unit-details.component.html | 4 +- .../unit-details/unit-details.component.scss | 4 +- .../unit-details/unit-details.component.ts | 37 +++++++++---------- 3 files changed, 22 insertions(+), 23 deletions(-) diff --git a/src/app/home/basic-info/unit-details/unit-details.component.html b/src/app/home/basic-info/unit-details/unit-details.component.html index f24854b..c5695c8 100644 --- a/src/app/home/basic-info/unit-details/unit-details.component.html +++ b/src/app/home/basic-info/unit-details/unit-details.component.html @@ -18,7 +18,7 @@
单位信息
-
+

`+this.datas.basicInfo.name+``+ this.datas.basicInfo.name + `基本情况

`+this.datas.basicInfo.name+`

+ style="font-family:宋体; font-size:9pt">`+ this.datas.basicInfo.name + `

@@ -162,7 +174,7 @@ export class UnitDetailsComponent implements OnInit {

`+this.datas.basicInfo.addr+` + style="font-family:宋体; font-size:9pt">`+ this.datas.basicInfo.addr + `

@@ -172,7 +184,7 @@ export class UnitDetailsComponent implements OnInit {

`+this.datas.basicInfo.phone+`

+ style="font-family:'Times New Roman'; font-size:9pt">`+ this.datas.basicInfo.phone + `

-

`+this.datas.basicInfo.total+`

+

`+ this.datas.basicInfo.total + `

@@ -192,7 +204,7 @@ export class UnitDetailsComponent implements OnInit { -

`+this.datas.basicInfo.height+`

+

`+ this.datas.basicInfo.height + `

@@ -201,7 +213,7 @@ export class UnitDetailsComponent implements OnInit { -

`+this.datas.basicInfo.layer+`

+

`+ this.datas.basicInfo.layer + `

`+this.datas.basicInfo.structure+`

+ style="font-family:宋体; font-size:9pt">`+ this.datas.basicInfo.structure + `

@@ -223,7 +235,7 @@ export class UnitDetailsComponent implements OnInit {

`+this.datas.basicInfo.coveredArea+`

+ style="font-family:'Times New Roman'; font-size:9pt">`+ this.datas.basicInfo.coveredArea + `

@@ -233,7 +245,7 @@ export class UnitDetailsComponent implements OnInit {

`+this.datas.basicInfo.builtUpArea+`

+ style="font-family:'Times New Roman'; font-size:9pt">`+ this.datas.basicInfo.builtUpArea + `

@@ -243,7 +255,7 @@ export class UnitDetailsComponent implements OnInit {

`+this.datas.basicInfo.nature+`

+ style="font-family:宋体; font-size:9pt">`+ this.datas.basicInfo.nature + `

东:`+this.datas.basicInfo.east+`

+ style="font-family:宋体; font-size:9pt">东:`+ this.datas.basicInfo.east + `

南:`+this.datas.basicInfo.south+`

+ style="font-family:宋体; font-size:9pt">南:`+ this.datas.basicInfo.south + `

西:`+this.datas.basicInfo.west+`

+ style="font-family:宋体; font-size:9pt">西:`+ this.datas.basicInfo.west + `

北:`+this.datas.basicInfo.north+`

+ style="font-family:宋体; font-size:9pt">北:`+ this.datas.basicInfo.north + `

`+this.datas.basicInfo.routeAndTime+`

+ style="font-family:宋体; font-size:9pt">`+ this.datas.basicInfo.routeAndTime + `

-

`+this.datas.facilities.controlPosition+`

+

`+ this.datas.facilities.controlPosition + `

`+this.datas.facilities.poolNumbe+`

+ style="font-family:'Times New Roman'; font-size:9pt">`+ this.datas.facilities.poolNumbe + `

@@ -330,7 +342,7 @@ export class UnitDetailsComponent implements OnInit {

`+this.datas.facilities.poolPosition+`

+ style="font-family:'Times New Roman'; font-size:9pt">`+ this.datas.facilities.poolPosition + `

@@ -340,7 +352,7 @@ export class UnitDetailsComponent implements OnInit {

`+this.datas.facilities.poolCapacity+`

+ style="font-family:'Times New Roman'; font-size:9pt">`+ this.datas.facilities.poolCapacity + `

@@ -350,7 +362,7 @@ export class UnitDetailsComponent implements OnInit {

+ style="font-family:'Times New Roman'; font-size:9pt"`+ this.datas.facilities.supplyMode + `

`+this.datas.facilities.waterSources+`

+ style="font-family:'Times New Roman'; font-size:9pt">`+ this.datas.facilities.waterSources + `

@@ -372,7 +384,7 @@ export class UnitDetailsComponent implements OnInit {

`+this.datas.facilities.waterSourcesPosition+`

+ style="font-family:'Times New Roman'; font-size:9pt">`+ this.datas.facilities.waterSourcesPosition + `

- `+alarm+` + `+ alarm + `

- `+spray+` + `+ spray + `

- `+broadcast+` + `+ broadcast + `

- `+smoke+` + `+ smoke + `

`+this.datas.facilities.hydrantsNumber+``+ this.datas.facilities.hydrantsNumber + `

`+this.datas.facilities.hydrantsPosition+`

+ style="font-family:宋体; font-size:9pt">`+ this.datas.facilities.hydrantsPosition + `

扬程:`+this.datas.facilities.pumpRange+``+ this.datas.facilities.pumpRange + `m

流量`+this.datas.facilities.pumpFlow+``+ this.datas.facilities.pumpFlow + `L/S

`+this.datas.facilities.pumpAdapter+`

+ style="font-family:'Times New Roman'; font-size:9pt">`+ this.datas.facilities.pumpAdapter + `

扬程:`+this.datas.facilities.SprayPumpRange+``+ this.datas.facilities.SprayPumpRange + `m

流量:`+this.datas.facilities.SprayPumpFlow+``+ this.datas.facilities.SprayPumpFlow + `L/S

`+this.datas.facilities.SprayPumpAdapter+`

+ style="font-family:'Times New Roman'; font-size:9pt">`+ this.datas.facilities.SprayPumpAdapter + `

-

`+this.datas.facilities.elevator+` +

`+ this.datas.facilities.elevator + `

`+this.datas.facilities.stairs+`

+ style="font-family:'Times New Roman'; font-size:9pt">`+ this.datas.facilities.stairs + `

@@ -571,7 +583,7 @@ export class UnitDetailsComponent implements OnInit {

`+this.datas.facilities.Export+`

+ style="font-family:'Times New Roman'; font-size:9pt">`+ this.datas.facilities.Export + `

`+this.datas.facilities.indoorHydrant+``+ this.datas.facilities.indoorHydrant + `

`+this.datas.facilities.standardIndoorHydrant+`

+ style="font-family:'Times New Roman'; font-size:9pt">`+ this.datas.facilities.standardIndoorHydrant + `

`+this.datas.tips+`

+ style="font-family:'Times New Roman'; font-size:9pt">`+ this.datas.tips + `