diff --git a/src/app/canvas-share-data.service.ts b/src/app/canvas-share-data.service.ts
index da9bb5d..4f40baa 100644
--- a/src/app/canvas-share-data.service.ts
+++ b/src/app/canvas-share-data.service.ts
@@ -28,17 +28,11 @@ export class CanvasShareDataService {
originaleveryStoreyData: any; // 总平面图/楼层/区域 楼层数据
// 总平面图/建筑 楼层
-
-
-
-
// 处置 节点
allDisposalNode: any = []; // 所有 处置节点
allNodeMarkers: any = { highlightMarkers: {}, markers: {} }; // 灾情 标签信息
selectPanelPoint: DisposalNodeData = new DisposalNodeData(); // 当前数据节点
selectPanelPointBaseData: any = { description: '', notes: '', weather: '', airTemperature: '', windDirection: '', windScale: '' }; // 当前 数据节点 对应 父级节点
-
- isInheritSky: any; //缓存 节点 天气
customizeDisposalNode: any; // 新建 自定义数据节点 底图+名称
// 处置 节点
@@ -57,7 +51,6 @@ export class CanvasShareDataService {
['地下消火栓', '室外消火栓'],
['室内消火栓', '室内消火栓'],
['供水管网', '供水管网'],
- ['湿式自动喷淋系统', '湿式自动喷淋系统'],
['水幕系统', '水幕系统'],
['消防泵房', '消防泵房'],
['水泵接合器(地上)', '水泵接合器'],
@@ -81,6 +74,25 @@ export class CanvasShareDataService {
['泡沫管网', '消防管网'],
['DCS控制室', 'DCS控制室'],
['消防控制室', '消防控制室'],
+ ['水喷淋系统', '自动喷水灭火系统'],
+ ['湿式自动喷淋系统', '自动喷水灭火系统'],
+ ['干式自动喷淋系统', '自动喷水灭火系统'],
+ ['消防电话', '消防通信'],
+ ['扶梯', '自动扶梯'],
+ ['风机房', '风机房'],
+ ['风亭', '风亭'],
+ ['防火卷帘', '防火卷帘'],
+ ['手提式BC类干粉灭火器', '灭火器'],
+ ['推车式ABC干粉灭火器', '灭火器'],
+ ['手提式泡沫灭火器', '灭火器'],
+ ['推车式BC干粉灭火器', '灭火器'],
+ ['推车式灭火器', '灭火器'],
+ ['手提式二氧化碳灭火器', '灭火器'],
+ ['手提式ABC类干粉灭火器', '灭火器'],
+ ['手提式清水灭火器', '灭火器'],
+ ['手推式泡沫灭火器', '灭火器'],
+ ['推车式泡沫灭火器', '灭火器'],
+ ['灭火器', '灭火器']
]);
/** * 向其他组件发送信息 *
diff --git a/src/app/plan-audit/wait-examineer/wait-examineer.component.html b/src/app/plan-audit/wait-examineer/wait-examineer.component.html
index 23d36ce..eba6b28 100644
--- a/src/app/plan-audit/wait-examineer/wait-examineer.component.html
+++ b/src/app/plan-audit/wait-examineer/wait-examineer.component.html
@@ -127,7 +127,7 @@
-
+
@@ -169,7 +169,7 @@
-
+
@@ -190,8 +190,8 @@
-
- {{i.displayName}} : |
+
+ {{i.path[i.path.length - 2]}}-{{i.path[i.path.length - 1]}}: |
由
{{i.oldValue | differentContentTitle}}
@@ -205,7 +205,7 @@
-
+
@@ -237,7 +237,7 @@
-
+
diff --git a/src/app/plan-audit/wait-examineer/wait-examineer.component.ts b/src/app/plan-audit/wait-examineer/wait-examineer.component.ts
index 435d9f1..2ffe814 100644
--- a/src/app/plan-audit/wait-examineer/wait-examineer.component.ts
+++ b/src/app/plan-audit/wait-examineer/wait-examineer.component.ts
@@ -62,6 +62,9 @@ export class WaitExamineerComponent implements OnInit {
}
this.getAlltabledate()
this.iframeSrc = this.sanitizer.bypassSecurityTrustResourceUrl(this.src);
+
+
+
}
planTypeIndex //平面图类型 选择是总平面图还是层平面图
@@ -168,7 +171,7 @@ export class WaitExamineerComponent implements OnInit {
differentContentOfBuildingsInfo: any//当前单位变更数据 之 建筑信息
differentContentOfFunction: any = []//当前单位变更数据 之 功能分区
differentContentOfPicture: any//当前单位变更数据 之 实景图
- bianzhi=false
+ bianzhi = false
radioClick(e, item) {
this.selectedItem = item
console.log(item)
@@ -177,28 +180,56 @@ export class WaitExamineerComponent implements OnInit {
let differentContent = JSON.parse(this.selectedItem.differentContent)
+
+ console.log('差异信息', differentContent)
+
+
// 单位信息
this.differentContentOfUnitInfo = differentContent.filter(item => item.propertyName == 'basicInfo')
// 实景图
this.differentContentOfPicture = differentContent.filter(item => item.propertyName == 'realityImageGroups')
- //建筑信息
- this.differentContentOfBuildingsInfo = JSON.parse(JSON.stringify(differentContent.filter(item => item.propertyName == 'buildings')[0]))
- this.differentContentOfBuildingsInfo.childrens.forEach(element => {
- element.childrens = element.childrens.filter(item => item.isObj == false)
- });
- //功能分区
- let differentContentOfFunction = JSON.parse(JSON.stringify(differentContent.filter(item => item.propertyName == 'buildings')[0]))
- this.differentContentOfFunction = []
- differentContentOfFunction.childrens.forEach(item => {
- item.childrens.forEach(i => {
- if (i.propertyName == "buildingFunctionalDivisions") {
- i.propertyName = item.propertyName
- this.differentContentOfFunction.push(i)
+
+ if (differentContent.filter(item => item.propertyName == 'buildings').length != 0) {
+ //建筑信息
+ this.differentContentOfBuildingsInfo = JSON.parse(JSON.stringify(differentContent.filter(item => item.propertyName == 'buildings')[0]))
+
+ function resolveDiff(list: Array, path?: Array): Array {
+ let resultList: Array = [];
+ for (let i = 0; i < list.length; i++) {
+ if (path == null) path = [];
+ let item = list[i];
+ //递归最底层
+ if (!item.childrens.length) {
+ let res = new Result();
+ res.path = path.concat([item.displayName]);
+ res.oldValue = item.oldValue;
+ res.newValue = item.newValue;
+ resultList.push(res);
+ } else {
+ !!item.displayName && path.push(item.displayName);
+ let deepList = resolveDiff(item.childrens, path)
+ resultList = resultList.concat(deepList);
+ }
}
+ return resultList;
+ }
+ this.differentContentOfBuildingsInfo.childrens.forEach(element => {
+ element.difData = resolveDiff(element.childrens)
});
- });
-
+ // console.log('建筑信息', this.differentContentOfBuildingsInfo
+ //功能分区
+ let differentContentOfFunction = JSON.parse(JSON.stringify(differentContent.filter(item => item.propertyName == 'buildings')[0]))
+ this.differentContentOfFunction = []
+ differentContentOfFunction.childrens.forEach(item => {
+ item.childrens.forEach(i => {
+ if (i.propertyName == "buildingFunctionalDivisions") {
+ i.propertyName = item.propertyName
+ this.differentContentOfFunction.push(i)
+ }
+ });
+ });
+ }
}
@@ -213,22 +244,22 @@ export class WaitExamineerComponent implements OnInit {
this.id = item.id
this.fetchUrl = ''
this.viewer = {}
-
+
if (item.contentType == 11) {
- this.bianzhi=false
+ this.bianzhi = false
window.setTimeout(() => {
this.showtype = 3
sessionStorage.setItem('companyId', item.itemId)
}, 0)
} else if (item.contentType == 12) {
- this.bianzhi=false
+ this.bianzhi = false
//水源
this.http.get(`/api/WaterSources/${item.itemId}`).subscribe((data) => {
this.waterData = data
this.showtype = 12
})
} else if (item.contentType == 13) {
- this.bianzhi=false
+ this.bianzhi = false
//消防力量
this.http.get(`/api/CustomFireForce/${item.itemId}`).subscribe((data: any) => {
if (data.forceType != 0) {//如果是其他消防力量
@@ -250,7 +281,7 @@ export class WaitExamineerComponent implements OnInit {
})
} else if (item.contentType == 14) {
- this.bianzhi=false
+ this.bianzhi = false
//联动力量
this.http.get(`/api/LinkageForces/${item.itemId}`).subscribe((data: any) => {
@@ -264,35 +295,35 @@ export class WaitExamineerComponent implements OnInit {
this.companyId = data.companyId
this.companyName = data.companyName
if (data.planType != 2 && data.planType != 1) {
- if(data.planMode==2){
- this.bianzhi=true
- this.src=`/planManagement/createplanonlinefive?navIsOpen=false&companyId=${data.companyId}&planName=${data.name}&unitName=${data.companyName}&planCategory=${data.planCategory}&planId=${data.id}&unitTypeId=${data.company.buildingTypes[0].id}&orName=${data.company.organizationName}&orId=${data.company.organizationId}&pattern=false`
+ if (data.planMode == 2) {
+ this.bianzhi = true
+ this.src = `/planManagement/createplanonlinefive?navIsOpen=false&companyId=${data.companyId}&planName=${data.name}&unitName=${data.companyName}&planCategory=${data.planCategory}&planId=${data.id}&unitTypeId=${data.company.buildingTypes[0].id}&orName=${data.company.organizationName}&orId=${data.company.organizationId}&pattern=false`
//this.src=`/keyUnit/viewunitinfoplan?id=${data.companyId}&orName=${data.company.organizationId}&orId=${data.company.organizationName}`
- }else{
- this.bianzhi=false
- this.fetchUrl = data.attachmentUrls[0]
- var index = this.fetchUrl.indexOf("\/")
- if (this.fetchUrl.substr(0, index) == 'psw') {
- this.showtype = 1
- var obj = document.getElementById('viewer')
- if (obj != null) {
- obj.innerHTML = ''
- }
- window.setTimeout(() => {
- this.viewer = new photoViewer({
- container: document.querySelector('#viewer'),
- panorama: '/api/Objects/PlanPlatform/' + this.fetchUrl,
-
- });
- })
-
} else {
- this.lookWord()
- }
+ this.bianzhi = false
+ this.fetchUrl = data.attachmentUrls[0]
+ var index = this.fetchUrl.indexOf("\/")
+ if (this.fetchUrl.substr(0, index) == 'psw') {
+ this.showtype = 1
+ var obj = document.getElementById('viewer')
+ if (obj != null) {
+ obj.innerHTML = ''
+ }
+ window.setTimeout(() => {
+ this.viewer = new photoViewer({
+ container: document.querySelector('#viewer'),
+ panorama: '/api/Objects/PlanPlatform/' + this.fetchUrl,
+
+ });
+ })
+
+ } else {
+ this.lookWord()
+ }
}
-
+
} else {
- this.bianzhi=false
+ this.bianzhi = false
this.organizationName = item.organizationName
this.planData = data
this.handleData()
@@ -322,13 +353,13 @@ export class WaitExamineerComponent implements OnInit {
//毕升
lookWord() {
this.showtype = 0
- let src
+ let src
let suffix = this.fetchUrl.split('.')[this.fetchUrl.split('.').length - 1].toLowerCase()
if (suffix == 'docx' || suffix == 'doc') {
let arr = this.fetchUrl.split('.')
arr[arr.length - 1] = 'pdf'
- src = `/api/Objects/PlanPlatform/` + arr.join('.')
- }else if (suffix == 'pdf') {
+ src = `/api/Objects/PlanPlatform/` + arr.join('.')
+ } else if (suffix == 'pdf') {
src = `/api/Objects/PlanPlatform/` + this.fetchUrl
}
this.iframeSrc = this.sanitizer.bypassSecurityTrustResourceUrl(src);
@@ -800,4 +831,19 @@ export class remark {
}
}
}
+}
+
+class DiffItem {
+ newValue: any
+ oldValue: any
+ childrens: Array
+ operation: number
+ displayName: string
+ propertyName: string
+}
+
+class Result {
+ path: string[]
+ oldValue: any
+ newValue: any
}
\ No newline at end of file
|