From bb024c6ae71683f054424e27d4ec59b067fd6d17 Mon Sep 17 00:00:00 2001
From: SHAOJIAHAO <55341701@qq.com>
Date: Mon, 18 Jan 2021 14:19:46 +0800
Subject: [PATCH 1/4] =?UTF-8?q?[=E6=96=B0=E5=A2=9E]=E5=AE=8C=E5=96=84?=
=?UTF-8?q?=E6=B6=88=E9=98=B2=E5=8A=9B=E9=87=8F=E8=AF=A6=E6=83=85=E4=BF=9D?=
=?UTF-8?q?=E5=AD=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../fire-force/fire-force.component.html | 16 +-
.../fire-force/fire-force.component.scss | 17 ++
.../fire-force/fire-force.component.ts | 174 ++++++++++--------
3 files changed, 129 insertions(+), 78 deletions(-)
diff --git a/src/app/data-collection/fire-force/fire-force.component.html b/src/app/data-collection/fire-force/fire-force.component.html
index 70d1cde..2a96222 100644
--- a/src/app/data-collection/fire-force/fire-force.component.html
+++ b/src/app/data-collection/fire-force/fire-force.component.html
@@ -46,7 +46,7 @@
+
相关资料
diff --git a/src/app/data-collection/fire-force/fire-force.component.scss b/src/app/data-collection/fire-force/fire-force.component.scss
index 4463fe4..5029bf4 100644
--- a/src/app/data-collection/fire-force/fire-force.component.scss
+++ b/src/app/data-collection/fire-force/fire-force.component.scss
@@ -233,6 +233,22 @@
.submitAudit{
margin: 0 30px;
}
+ .uploadAttachment{
+ margin-right: 20px;
+ width: 120px;
+ text-align: center;
+ height: 28px;
+ line-height: 28px;
+ mat-icon{
+ transform: rotate(25deg);
+ font-size: 20px;
+ width: 20px;
+ height: 20px;
+ }
+ mat-icon{
+ padding: 0 8px;
+ }
+ }
}
}
.contant{
@@ -294,6 +310,7 @@
}
}
+
.addWaterBox{
width: 260px;
height: 284px;
diff --git a/src/app/data-collection/fire-force/fire-force.component.ts b/src/app/data-collection/fire-force/fire-force.component.ts
index 2e2b582..799587a 100644
--- a/src/app/data-collection/fire-force/fire-force.component.ts
+++ b/src/app/data-collection/fire-force/fire-force.component.ts
@@ -50,28 +50,34 @@ export class FireForceComponent implements OnInit {
}, 0);
}
//获得所有消防力量
+ newdata:any
getAllFireForce(){
this.http.get('/api/CustomFireForce').subscribe((data:any) => {
- this.dataSource.data = this.tree.toTree(data)
- const nodes = this.treeControl.dataNodes;
- const expandNodes = [];
- nodes.forEach((item) => {
- if(item.expandable && this.treeControl.isExpanded(item)){
- expandNodes.push(item.id);
- }
- });
- // this.dataSource.data = this.newdata;
- let newNodes = this.treeControl.dataNodes;
- newNodes = newNodes.filter(n => {
- return expandNodes.indexOf(n.id) >= 0;
- });
- console.log(newNodes)
- newNodes.forEach(item => {
- this.treeControl.expand(item);
- });
- console.log('所有消防力量',data)
+ this.dataSource.data = this.tree.toTree(data)
})
}
+ upDateAllFireForce = ():void=>{
+ this.http.get('/api/CustomFireForce').subscribe((data:any) => {
+ this.newdata = this.tree.toTree(data)
+ const nodes = this.treeControl.dataNodes;
+ const expandNodes = [];
+ nodes.forEach((item) => {
+ if(item.expandable && this.treeControl.isExpanded(item)){
+ expandNodes.push(item.id);
+ }
+ });
+ this.dataSource.data = this.newdata;
+ let newNodes = this.treeControl.dataNodes;
+ newNodes = newNodes.filter(n => {
+ return expandNodes.indexOf(n.id) >= 0;
+ });
+ console.log(newNodes)
+ newNodes.forEach(item => {
+ this.treeControl.expand(item);
+ });
+ console.log('所有消防力量',data)
+ })
+ }
private _transformer = (node, level: number) => {//要给渲染节点传那些属性参数
return {
expandable: !!node.children && node.children.length > 0,
@@ -96,19 +102,28 @@ export class FireForceComponent implements OnInit {
selectedFireForceLevel:any
selectedFireForce:any
//选择要显示的消防力量
+ superior:any = { //上级单位
+ name:'',
+ code:''
+ }
selectTreeNode(node){
console.log(node)
+ this.isGisTopBox = false
if(this.selectedFireForceId != node.id){
this.clearData()
this.selectedFireForce = node
this.selectedFireForceId = node.id
- this.selectedFireForceLevel = node.level
+ if(node.forceType != 0){//如果是其他消防力量
+ this.selectedFireForceLevel = 4
+ }else{
+ this.selectedFireForceLevel = node.level
+ }
this.FireForceDetailInfo.stationName = node.name
if(this.newPositionMarker){
this.map.remove(this.newPositionMarker);
}
- if(node.fireForceDetailId ){
+ if(node.fireForceDetailId){
this.isPost = false//是否走post创建接口
let type
if(node.forceType == 0){
@@ -117,9 +132,7 @@ export class FireForceComponent implements OnInit {
type = 1
}
this.http.get(`/api/FireForceDetail/${type}/${node.id}`).subscribe((data:any) => {
- console.log('当前详情',data)
this.FireForceDetailInfo = data
-
if(data.location && data.location.x){//如果已经标注单位坐标
console.log('开始标注')
this.positionLngLat = data.location
@@ -131,13 +144,29 @@ export class FireForceComponent implements OnInit {
})
// 将 markers 添加到地图
this.map.add(this.newPositionMarker);
+ }else{
+ this.map.setCity('上海市');
}
- if(this.selectedFireForceLevel == 0){
+ if(node.forceType == 0 && node.level == 0){
this.ZongpersonCountData = JSON.parse(data.personCountData)
this.ZongcontactData = JSON.parse(data.contactData)
}
+ if(node.forceType == 0 && node.level == 1){
+ this.ZongpersonCountData = JSON.parse(data.personCountData)
+ this.ZhicontactData = JSON.parse(data.contactData)
+ }
+ if(node.forceType == 0 && (node.level == 2 || node.level == 3)){
+ this.DaZhongpersonCountData = JSON.parse(data.personCountData)
+ this.DaZhongcontactData = JSON.parse(data.contactData)
+ }
+ if(node.forceType != 0){
+ this.otherpersonCountData = JSON.parse(data.personCountData)
+ this.othercontactData = JSON.parse(data.contactData)
+
+ }
})
}else{
+ this.map.setCity('上海市');
}
}
}
@@ -164,36 +193,6 @@ export class FireForceComponent implements OnInit {
return (arg1*arg2).toFixed(fix).toString();
}
}
- //点击水源列表
- selectedLiIndex:any
- clickWaterLi(item,index){
- // console.log(item)
- // if(this.selectedLiIndex != index){
- // this.selectedLiIndex = index
- // this.clearData()
- // // this.selectedWaterTypeIndex = item.waterSourceType//点击的水源类型
- // this.waterData = item
- // item.waterSourceType == 0 && item.detailData ? this.fireCockData = JSON.parse(item.detailData) : null
- // item.waterSourceType == 1 && item.detailData ? this.poolData = JSON.parse(item.detailData) : null
- // item.waterSourceType == 2 && item.detailData ? this.naturalWaterData = JSON.parse(item.detailData) : null
- // this.positionLngLat = item.location
- // if(this.newPositionMarker){
- // this.map.remove(this.newPositionMarker);
- // }
- // if(item.location.x){//如果已经标注单位坐标
- // console.log('开始标注')
-
- // this.map.setCenter([item.location.x,item.location.y]);
- // this.newPositionMarker = new AMap.Marker({
- // position: [item.location.x,item.location.y],
- // content: this.newPositionMarkerContent,
- // offset: new AMap.Pixel(-15, -18)
- // })
- // // 将 markers 添加到地图
- // this.map.add(this.newPositionMarker);
- // }
- // }
- }
//完整度颜色
integrity(width){
let _this = this
@@ -211,16 +210,20 @@ export class FireForceComponent implements OnInit {
return style
}
//删除某条消防队
- deleteWater(item,e){
+ deleteFireForce(item,e){
e.stopPropagation()
let isDelete = window.confirm(`确定要删除${item.name}吗`)
if(isDelete){
- // this.http.delete(`/api/WaterSources/${item.id}`).subscribe(data => {
- // const config = new MatSnackBarConfig();
- // config.verticalPosition = 'top';
- // config.duration = 3000
- // this.snackBar.open('删除成功','确定',config);
- // })
+ this.http.delete(`/api/CustomFireForce/${item.id}`).subscribe(data => {
+ const config = new MatSnackBarConfig();
+ config.verticalPosition = 'top';
+ config.duration = 3000
+ this.snackBar.open('删除成功','确定',config);
+ this.upDateAllFireForce()
+ if(item.id == this.selectedFireForce.id){
+ this.selectedFireForceLevel = null
+ }
+ })
}
}
//当前点击tab页面第几个
@@ -239,7 +242,10 @@ export class FireForceComponent implements OnInit {
jurisdictionArea:null,//辖区面积
remark:'',//备注
address:'',//地址
- location:null,
+ location:{
+ x:'',
+ y:''
+ },
personCountData:[],//人员数量自定义
contactData:[],//联系方式自定义
dutyForceData:[]//执勤力量自定义
@@ -299,6 +305,10 @@ export class FireForceComponent implements OnInit {
]
//清空表单数据
clearData(){
+ this.superior = {
+ name:'',
+ code:''
+ }
this.positionLngLat = {x:'',y:''}
this.FireForceDetailInfo = {
// id:'',//编号
@@ -309,7 +319,10 @@ export class FireForceComponent implements OnInit {
jurisdictionArea:null,//辖区面积
remark:'',//备注
address:'',//地址
- location:null,
+ location:{
+ x:'',
+ y:''
+ },
personCountData:[],//人员数量自定义
contactData:[],//联系方式自定义
dutyForceData:[]//执勤力量自定义
@@ -393,19 +406,26 @@ export class FireForceComponent implements OnInit {
}
//保存
isPost:boolean = false//是否走post创建接口
+ newselectedFireForceId:any //创建成功其他消防力量后保存一下创建出来的id
save(){
if(!this.FireForceDetailInfo.stationName){
alert('名称必填')
return
}
+ console.log(777,this.atLastPositionLngLat)
this.FireForceDetailInfo.jurisdictionArea = Number(this.FireForceDetailInfo.jurisdictionArea)
//如果是总支大中
+ // console.log(8888, this.FireForceDetailInfo)
+ this.FireForceDetailInfo.location = {x:'',y:''}
+ if(this.atLastPositionLngLat.x){
+ this.FireForceDetailInfo.location.x = this.atLastPositionLngLat.x
+ this.FireForceDetailInfo.location.y = this.atLastPositionLngLat.y
+ }else{
+ this.FireForceDetailInfo.location = null
+ }
if(this.selectedFireForce.forceType == 0&&(this.selectedFireForceLevel == 0 || this.selectedFireForceLevel == 1 || this.selectedFireForceLevel == 2 || this.selectedFireForceLevel == 3)){//如果是总队
let body = this.FireForceDetailInfo
- if(this.atLastPositionLngLat.x){
- this.FireForceDetailInfo.location.x = this.atLastPositionLngLat.x
- this.FireForceDetailInfo.location.y = this.atLastPositionLngLat.y
- }
+
if(this.selectedFireForceLevel == 0){//总队
this.FireForceDetailInfo.personCountData = JSON.stringify(this.ZongpersonCountData)
this.FireForceDetailInfo.contactData = JSON.stringify(this.ZongcontactData)
@@ -426,6 +446,7 @@ export class FireForceComponent implements OnInit {
config.verticalPosition = 'top';
config.duration = 3000
this.snackBar.open('保存成功','确定',config);
+ this.upDateAllFireForce()
console.log(123,data)
})
}
@@ -436,12 +457,18 @@ export class FireForceComponent implements OnInit {
body.personCountData = JSON.stringify(this.otherpersonCountData)
body.contactData = JSON.stringify(this.othercontactData)
body.dutyForceData = null
- this.http.put(`/api/FireForceDetail/1/${this.selectedFireForce.id}`,body).subscribe(data => {
+ let id
+ if(this.selectedFireForce.forceType == 0){
+ id = this.newselectedFireForceId
+ }else{
+ id = this.selectedFireForce.id
+ }
+ this.http.put(`/api/FireForceDetail/1/${id}`,body).subscribe(data => {
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.snackBar.open('保存成功','确定',config);
- console.log(123,data)
+ // console.log(123,data)
})
}else{
let forceType
@@ -459,18 +486,21 @@ export class FireForceComponent implements OnInit {
}
this.http.post('/api/CustomFireForce',body,{params:params}).subscribe((data:any) => {
console.log('创建其他消防力量成功',data)
- this.getAllFireForce()
+ this.newselectedFireForceId = data.id
+ this.selectedFireForce = data
let body = this.FireForceDetailInfo
body.personCountData = JSON.stringify(this.otherpersonCountData)
body.contactData = JSON.stringify(this.othercontactData)
body.dutyForceData = null
- this.http.put(`/api/FireForceDetail/1/${data.id}`,body).subscribe(data => {
+ this.http.put(`/api/FireForceDetail/1/${data.id}`,body).subscribe(data2 => {
+ this.upDateAllFireForce()
+ this.selectedFireForceId = data.id
this.isPost = false
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.snackBar.open('保存成功','确定',config);
- console.log(123,data)
+ console.log(123,data2)
})
})
}
@@ -535,7 +565,7 @@ export class FireForceComponent implements OnInit {
searchTitle:any = ''//
positionLngLat:any = {}//临时坐标点
- atLastPositionLngLat:any = {}//最终坐标点
+ atLastPositionLngLat:any = {x:null,y:null}//最终坐标点
setPosition(){
if(!this.isGisTopBox){
this.isGisTopBox = true
From 063ee215ed403481039627734c4bc85bba4fff27 Mon Sep 17 00:00:00 2001
From: cpf <1105965053@qq.com>
Date: Tue, 19 Jan 2021 10:07:55 +0800
Subject: [PATCH 2/4] =?UTF-8?q?[=E5=AE=8C=E5=96=84]=20H5=E5=B7=A5=E5=85=B7?=
=?UTF-8?q?=E4=BF=9D=E5=AD=98=E6=B7=BB=E5=8A=A0=E9=81=AE=E7=BD=A9=E5=B1=82?=
=?UTF-8?q?,=20=E5=B9=BF=E8=A5=BF=E7=89=88=E6=9C=ACBUG=E8=BF=81=E7=A7=BB?=
=?UTF-8?q?=E4=B8=8A=E6=B5=B7=E7=89=88=E6=9C=ACH5=E5=B7=A5=E5=85=B7?=
=?UTF-8?q?=E4=BF=AE=E6=AD=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/app/app.component.html | 5 +-
src/app/app.component.scss | 12 ++
src/app/app.component.ts | 10 +-
src/app/app.module.ts | 4 +-
src/app/mask-layer.service.ts | 18 ++
.../collection-tools.component.html | 17 +-
.../collection-tools.component.ts | 115 +++++++++----
src/app/ui/collection-tools-plan/save.ts | 7 +-
.../collection-tools.component.html | 17 +-
.../collection-tools.component.ts | 159 ++++++++++++------
src/app/ui/collection-tools/save.ts | 19 ++-
11 files changed, 260 insertions(+), 123 deletions(-)
create mode 100644 src/app/mask-layer.service.ts
diff --git a/src/app/app.component.html b/src/app/app.component.html
index 90c6b64..55e8a3b 100644
--- a/src/app/app.component.html
+++ b/src/app/app.component.html
@@ -1 +1,4 @@
-
\ No newline at end of file
+
+
+
+
\ No newline at end of file
diff --git a/src/app/app.component.scss b/src/app/app.component.scss
index e69de29..6c27e1f 100644
--- a/src/app/app.component.scss
+++ b/src/app/app.component.scss
@@ -0,0 +1,12 @@
+.maskLayer{
+ position: absolute;
+ left: 0;
+ top: 0;
+ z-index: 2000;
+ width: 100%;
+ height: 100%;
+ background: rgba(0,0,0,0.2);
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
\ No newline at end of file
diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index 13a5c02..254bcde 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -3,6 +3,7 @@ import { HttpClient } from '@angular/common/http'
import { Data } from './interface'
import { Router,ActivatedRoute } from '@angular/router'
import {CacheTokenService} from './http-interceptors/cache-token.service'//引入服务
+import { MaskLayerService } from './mask-layer.service';
@@ -13,9 +14,16 @@ import {CacheTokenService} from './http-interceptors/cache-token.service'//引
})
export class AppComponent {
- constructor(private http:HttpClient,private router:Router,public token:CacheTokenService) { }
+ constructor(private maskLayerService:MaskLayerService,private http:HttpClient,private router:Router,public token:CacheTokenService) { }
+
+ isMaskLayerShow:boolean = false
ngOnInit(): void {
+
+ //监听遮罩层
+ this.maskLayerService.getMessage().subscribe((message: any)=>{
+ this.isMaskLayerShow = message
+ });
var token = sessionStorage.getItem("token");
var refreshToken = sessionStorage.getItem("refreshToken");
if(token && refreshToken) {
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 257e099..acf3ce5 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -21,6 +21,7 @@ import { MTokenK1Component } from './m-token-k1/m-token-k1.component' //K1秘钥
import { CountdownModule } from 'ngx-countdown'; //倒计时插件
import { GISManagementModule } from './gis-management/gis-management.module';
import { DataCollectionModule } from './data-collection/data-collection.module';
+import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
@NgModule({
declarations: [
@@ -42,7 +43,8 @@ import { DataCollectionModule } from './data-collection/data-collection.module';
HttpClientModule,
CountdownModule,
GISManagementModule,
- DataCollectionModule
+ DataCollectionModule,
+ MatProgressSpinnerModule
],
providers: [httpInterceptorProviders, CacheTokenService,TreeService],
bootstrap: [AppComponent]
diff --git a/src/app/mask-layer.service.ts b/src/app/mask-layer.service.ts
new file mode 100644
index 0000000..c0a8988
--- /dev/null
+++ b/src/app/mask-layer.service.ts
@@ -0,0 +1,18 @@
+import { Injectable } from '@angular/core';
+import {ReplaySubject} from "rxjs";
+import { Observable } from "rxjs";
+@Injectable({
+ providedIn: 'root'
+})
+export class MaskLayerService {
+ private _sendMessage: ReplaySubject
= new ReplaySubject(1);
+ /** * 向其他组件发送信息 *
+ * @param message 需要发送的信息 * @returns {Observavle} */
+ public sendMessage(message: any) {
+ this._sendMessage.next(message);
+ }
+ public getMessage(): Observable {
+ return this._sendMessage.asObservable();
+ }
+ constructor() { }
+}
diff --git a/src/app/ui/collection-tools-plan/collection-tools.component.html b/src/app/ui/collection-tools-plan/collection-tools.component.html
index 7a27875..e461b35 100644
--- a/src/app/ui/collection-tools-plan/collection-tools.component.html
+++ b/src/app/ui/collection-tools-plan/collection-tools.component.html
@@ -7,14 +7,6 @@
- 图标大小
-
-
- 正常
- 放大2倍
- 放大4倍
-
-
@@ -35,9 +27,6 @@
基本信息编辑
-
tv
@@ -269,7 +258,7 @@
-
+
diff --git a/src/app/ui/collection-tools-plan/collection-tools.component.ts b/src/app/ui/collection-tools-plan/collection-tools.component.ts
index 2c930c5..b776406 100644
--- a/src/app/ui/collection-tools-plan/collection-tools.component.ts
+++ b/src/app/ui/collection-tools-plan/collection-tools.component.ts
@@ -12,12 +12,11 @@ import Swiper from 'swiper';
import { saveOneDialogPlan } from './save';
import { NzFormatBeforeDropEvent, NzFormatEmitEvent,NzTreeComponent } from 'ng-zorro-antd/tree';
import { Observable, of } from 'rxjs';
-import { delay } from 'rxjs/operators';
-import { windows } from 'src/app/interface';
import { GameMode } from 'src/app/working-area/model/gameMode';
import { ActivatedRoute, Router } from '@angular/router';
-
-
+import { TabbarAndScoreService } from 'src/app/http-interceptors/tabbar-and-score.service';
+import { MaskLayerService } from 'src/app/mask-layer.service';
+import * as ObjectID from 'bson-objectid';
@Component({
selector: 'app-collection-tools-plan',
@@ -28,7 +27,7 @@ export class CollectionToolsPlanComponent implements OnInit {
@ViewChild('canvas',{static: true}) canvas:WorkingAreaComponent; //父组件中获得子组件的引用
- constructor(private http:HttpClient,public dialog: MatDialog,public snackBar: MatSnackBar,private element: ElementRef,public canvasData: CanvasShareDataService,private router:Router,private route:ActivatedRoute) { }
+ constructor(private maskLayerService:MaskLayerService,private tabbarService: TabbarAndScoreService,private http:HttpClient,public dialog: MatDialog,public snackBar: MatSnackBar,private element: ElementRef,public canvasData: CanvasShareDataService,private router:Router,private route:ActivatedRoute) { }
@ViewChild('nzTreeComponent', { static: false }) nzTreeComponent!: NzTreeComponent;
// tree配置
private _transformer = (node, level: number) => {//要给渲染节点传那些属性参数
@@ -667,14 +666,11 @@ export class CollectionToolsPlanComponent implements OnInit {
this.canvas.on("deselect",obj=>{
this.isShowProperty = false
})
- // 监听canvas组件新增素材事件
- this.canvas.on("createIcon",obj=>{
- this.renovateTreeData(false)
- })
- // 监听canvas组件删除素材事件
- this.canvas.on("deleteIcon",obj=>{
+ //监听数据变化后
+ this.canvas.on('canvasDataChanged',()=>{
+ // 收到数据表示共享数据发生变化
this.renovateTreeData(false)
- })
+ });
}
copyAssetData:any //存储用于复制的素材
@@ -688,6 +684,7 @@ export class CollectionToolsPlanComponent implements OnInit {
let buildingId = this.beforeOneCheckedBuilding.id
let floorId = this.selectingSitePlan.id
this.canvas.paste(companyId,buildingId,floorId)
+ this.renovateTreeData(false)
}
basicInfo:boolean = true //基本信息名称显隐
@@ -726,12 +723,13 @@ export class CollectionToolsPlanComponent implements OnInit {
//保存平面图
saveNum :any = []
saveSite(){
-
//更新用于统计的数据
this.canvasData.updateBuildingData()
+
if (this.selectingSitePlan && this.selectingSitePlan.id) {
-
+ //打开遮罩层
+ this.maskLayerService.sendMessage(true)
this.saveNum = []
let SitePlanData = JSON.parse(JSON.stringify(this.canvasData.originaleveryStoreyData));
SitePlanData.data = JSON.stringify(SitePlanData.data)
@@ -754,6 +752,7 @@ export class CollectionToolsPlanComponent implements OnInit {
}
if((new Set(adjoinArr)).size != adjoinArr.length){
+ this.maskLayerService.sendMessage(false)
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
@@ -762,6 +761,7 @@ export class CollectionToolsPlanComponent implements OnInit {
}else{
//如果是单位 总平面图
if(this.checkedBuildingIndex==-1){
+ // console.log(111,SitePlanData)
//保存平面图数据
this.http.post("/api/SitePlanData",SitePlanData,{
params:{
@@ -770,13 +770,16 @@ export class CollectionToolsPlanComponent implements OnInit {
}).subscribe(data => {
this.saveNum.push("1")
if(this.saveNum.length == 5){
+ this.maskLayerService.sendMessage(false)
this.canvasData.isChange = false
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.snackBar.open('保存成功','确定',config);
+ this.tabbarService.sendMessage('changeScore');
}
},err=>{
+ this.maskLayerService.sendMessage(false)
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
@@ -792,13 +795,16 @@ export class CollectionToolsPlanComponent implements OnInit {
}).subscribe(data => {
this.saveNum.push("1")
if(this.saveNum.length == 5){
+ this.maskLayerService.sendMessage(false)
this.canvasData.isChange = false
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.snackBar.open('保存成功','确定',config);
+ this.tabbarService.sendMessage('changeScore');
}
},err=>{
+ this.maskLayerService.sendMessage(false)
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
@@ -815,18 +821,25 @@ export class CollectionToolsPlanComponent implements OnInit {
}).subscribe(data => {
this.saveNum.push("1")
if(this.saveNum.length == 5){
+ this.maskLayerService.sendMessage(false)
this.canvasData.isChange = false
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.snackBar.open('保存成功','确定',config);
+ this.tabbarService.sendMessage('changeScore');
}
},err=>{
+ this.maskLayerService.sendMessage(false)
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.canvasData.isChange = true
- this.snackBar.open('单位毗邻保存失败','确定',config);
+ if(err == 'infos 有重复方向!'){
+ this.snackBar.open('单位毗邻同步失败,存在相同方向','确定',config);
+ }else{
+ this.snackBar.open('单位毗邻同步失败','确定',config);
+ }
})
//批量保存单位重点部位
@@ -838,18 +851,21 @@ export class CollectionToolsPlanComponent implements OnInit {
}).subscribe(data => {
this.saveNum.push("1")
if(this.saveNum.length == 5){
+ this.maskLayerService.sendMessage(false)
this.canvasData.isChange = false
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.snackBar.open('保存成功','确定',config);
+ this.tabbarService.sendMessage('changeScore');
}
},err=>{
+ this.maskLayerService.sendMessage(false)
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.canvasData.isChange = true
- this.snackBar.open('单位重点部位保存失败','确定',config);
+ this.snackBar.open('单位重点部位同步失败','确定',config);
})
//批量保存单位消防设施素材
@@ -861,18 +877,22 @@ export class CollectionToolsPlanComponent implements OnInit {
}).subscribe(data => {
this.saveNum.push("1")
if(this.saveNum.length == 5){
+ this.maskLayerService.sendMessage(false)
+ this.maskLayerService.sendMessage(false)
this.canvasData.isChange = false
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.snackBar.open('保存成功','确定',config);
+ this.tabbarService.sendMessage('changeScore');
}
},err=>{
+ this.maskLayerService.sendMessage(false)
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.canvasData.isChange = true
- this.snackBar.open('单位消防设施素材保存失败','确定',config);
+ this.snackBar.open('单位消防设施素材同步失败','确定',config);
})
}else{ //如果是建筑
@@ -885,13 +905,17 @@ export class CollectionToolsPlanComponent implements OnInit {
}).subscribe(data => {
this.saveNum.push("1")
if(this.saveNum.length == 5){
+ this.maskLayerService.sendMessage(false)
+ this.maskLayerService.sendMessage(false)
this.canvasData.isChange = false
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.snackBar.open('保存成功','确定',config);
+ this.tabbarService.sendMessage('changeScore');
}
},err=>{
+ this.maskLayerService.sendMessage(false)
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
@@ -907,13 +931,17 @@ export class CollectionToolsPlanComponent implements OnInit {
}).subscribe(data => {
this.saveNum.push("1")
if(this.saveNum.length == 5){
+ this.maskLayerService.sendMessage(false)
this.canvasData.isChange = false
+ this.maskLayerService.sendMessage(false)
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.snackBar.open('保存成功','确定',config);
+ this.tabbarService.sendMessage('changeScore');
}
},err=>{
+ this.maskLayerService.sendMessage(false)
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
@@ -926,18 +954,25 @@ export class CollectionToolsPlanComponent implements OnInit {
this.http.post(`/api/BuildingAdjoins/Batch?companyId=${this.params.companyId}&buildingId=${this.canvasData.selectStorey.buildingId}`,buildingAdjoins).subscribe(data => {
this.saveNum.push("1")
if(this.saveNum.length == 5){
+ this.maskLayerService.sendMessage(false)
this.canvasData.isChange = false
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.snackBar.open('保存成功','确定',config);
+ this.tabbarService.sendMessage('changeScore');
}
},err=>{
+ this.maskLayerService.sendMessage(false)
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.canvasData.isChange = true
- this.snackBar.open('建筑毗邻保存失败','确定',config);
+ if(err == 'infos 有重复方向!'){
+ this.snackBar.open('建筑毗邻同步失败,存在相同方向','确定',config);
+ }else{
+ this.snackBar.open('建筑毗邻同步失败','确定',config);
+ }
})
//批量保存建筑重点部位
@@ -945,18 +980,21 @@ export class CollectionToolsPlanComponent implements OnInit {
this.http.post(`/api/BuildingImportantLocations/Batch?companyId=${this.params.companyId}&buildingId=${this.canvasData.selectStorey.buildingId}`,buildingImportantLocations).subscribe(data => {
this.saveNum.push("1")
if(this.saveNum.length == 5){
+ this.maskLayerService.sendMessage(false)
this.canvasData.isChange = false
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.snackBar.open('保存成功','确定',config);
+ this.tabbarService.sendMessage('changeScore');
}
},err=>{
+ this.maskLayerService.sendMessage(false)
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.canvasData.isChange = true
- this.snackBar.open('建筑重点部位保存失败','确定',config);
+ this.snackBar.open('建筑重点部位同步失败','确定',config);
})
//批量保存建筑消防设施素材
@@ -964,18 +1002,21 @@ export class CollectionToolsPlanComponent implements OnInit {
this.http.post(`/api/BuildingFacilityAssets/Batch?companyId=${this.params.companyId}&buildingId=${this.canvasData.selectStorey.buildingId}`,buildingFacilityAssets).subscribe(data => {
this.saveNum.push("1")
if(this.saveNum.length == 5){
+ this.maskLayerService.sendMessage(false)
this.canvasData.isChange = false
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.snackBar.open('保存成功','确定',config);
+ this.tabbarService.sendMessage('changeScore');
}
},err=>{
+ this.maskLayerService.sendMessage(false)
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.canvasData.isChange = true
- this.snackBar.open('建筑消防设施素材保存失败','确定',config);
+ this.snackBar.open('建筑消防设施素材同步失败','确定',config);
})
}
@@ -991,7 +1032,7 @@ export class CollectionToolsPlanComponent implements OnInit {
});
dialogRef.afterClosed().subscribe(result => {
- console.log('The dialog was closed');
+ // console.log('The dialog was closed');
});
}
@@ -1016,10 +1057,10 @@ export class CollectionToolsPlanComponent implements OnInit {
//拖拽tree
drop(e){
- console.log(1111,e)
+ // console.log(1111,e)
}
drop2(e){
- console.log(222,e)
+ // console.log(222,e)
}
//创建建筑
@@ -1443,7 +1484,7 @@ export class CollectionToolsPlanComponent implements OnInit {
this.http.get('/api/CompanyData',{params:this.params}).subscribe((data:any)=>{
this.canvasData.originalcompanyBuildingData = data || {} // 单位原数据
this.canvasData.originalcompanyBuildingData.data? this.canvasData.originalcompanyBuildingData.data = JSON.parse(this.canvasData.originalcompanyBuildingData.data) : this.canvasData.originalcompanyBuildingData.data = {}
- this.canvasData.originalcompanyBuildingData.version? null : this.canvasData.originalcompanyBuildingData.version = "2.0"
+ this.canvasData.originalcompanyBuildingData.version = "2.0"
this.canvasData.originalcompanyBuildingData.companyId? null : this.canvasData.originalcompanyBuildingData.companyId = sessionStorage.getItem('companyId')
resolve('success')
})
@@ -1456,7 +1497,7 @@ export class CollectionToolsPlanComponent implements OnInit {
this.http.get(`/api/SitePlanData`,{params}).subscribe((data:any)=>{
this.canvasData.originaleveryStoreyData = data || {} // 楼层原数据
this.canvasData.originaleveryStoreyData.data? this.canvasData.originaleveryStoreyData.data = JSON.parse(this.canvasData.originaleveryStoreyData.data) : this.canvasData.originaleveryStoreyData.data = {}
- this.canvasData.originaleveryStoreyData.version? null : this.canvasData.originaleveryStoreyData.version = "2.0"
+ this.canvasData.originaleveryStoreyData.version = "2.0"
this.canvasData.originaleveryStoreyData.sitePlanId? null : this.canvasData.originaleveryStoreyData.sitePlanId = e.id || null
this.renovateTreeData()
})
@@ -1468,7 +1509,7 @@ export class CollectionToolsPlanComponent implements OnInit {
this.http.get(`/api/BuildingData`,{params:e}).subscribe((data:any)=>{
this.canvasData.originalcompanyBuildingData = data || {} // 建筑原数据
this.canvasData.originalcompanyBuildingData.data? this.canvasData.originalcompanyBuildingData.data = JSON.parse(this.canvasData.originalcompanyBuildingData.data) : this.canvasData.originalcompanyBuildingData.data = {}
- this.canvasData.originalcompanyBuildingData.version? null : this.canvasData.originalcompanyBuildingData.version = "2.0"
+ this.canvasData.originalcompanyBuildingData.version = "2.0"
this.canvasData.originalcompanyBuildingData.buildingId? null : this.canvasData.originalcompanyBuildingData.buildingId = e.buildingId
resolve('success')
})
@@ -1481,7 +1522,7 @@ export class CollectionToolsPlanComponent implements OnInit {
this.http.get(`/api/BuildingAreaData`,{params}).subscribe((data:any)=>{
this.canvasData.originaleveryStoreyData = data || {} // 楼层原数据
this.canvasData.originaleveryStoreyData.data? this.canvasData.originaleveryStoreyData.data = JSON.parse(this.canvasData.originaleveryStoreyData.data) : this.canvasData.originaleveryStoreyData.data = {}
- this.canvasData.originaleveryStoreyData.version? null : this.canvasData.originaleveryStoreyData.version = "2.0"
+ this.canvasData.originaleveryStoreyData.version = "2.0"
this.canvasData.originaleveryStoreyData.buildingAreaId? null : this.canvasData.originaleveryStoreyData.buildingAreaId = e.id || null
this.renovateTreeData()
})
@@ -1489,7 +1530,6 @@ export class CollectionToolsPlanComponent implements OnInit {
//点击选中 平面图 楼层/区域 时
selectSitePlan (item,index) {
-
if (this.selectSitePlanIndex != index) {
this.canvasData.selectPanelPoint = new DisposalNodeData();
if (this.canvasData.isChange) { //true 数据被改动
@@ -1703,6 +1743,15 @@ export class CollectionToolsPlanComponent implements OnInit {
//复制图层 平面图 楼层/区域
duplicateLayer (item) {
+ let paramsData = JSON.parse(JSON.stringify( this.canvasData.originaleveryStoreyData.data || {} ))
+ Object.keys(paramsData).forEach((key)=>{
+ if (key != '图例') {
+ let ID = ObjectID.default.generate()
+ paramsData[key].Id = ID
+ paramsData[ID] = paramsData[key]
+ delete paramsData[key]
+ }
+ }) //图标Id重新赋值
if (this.checkedBuildingIndex==-1) { //总平面图
item.id = ""
item.modifiedTime = new Date()
@@ -1710,9 +1759,9 @@ export class CollectionToolsPlanComponent implements OnInit {
item.order = this.sitePlanData[this.sitePlanData.length-1].order+1
this.http.post('/api/SitePlans',item).subscribe((data:any)=>{
let newData = {
- version: this.canvasData.originaleveryStoreyData.version || "2.0",
+ version: "2.0",
id: "",
- data: JSON.stringify( JSON.parse(JSON.stringify(this.canvasData.originaleveryStoreyData.data)) ) || null,
+ data: JSON.stringify( paramsData ) || null,
sitePlanId: data.id
}
this.http.post('/api/SitePlanData',newData,{params:this.params}).subscribe(data=>{
@@ -1727,9 +1776,9 @@ export class CollectionToolsPlanComponent implements OnInit {
item.order = this.sitePlanData[this.sitePlanData.length-1].order+1
this.http.post('/api/BuildingAreas',item,{params:this.params}).subscribe((data:any)=>{
let newData = {
- version: this.canvasData.originaleveryStoreyData.version || "2.0",
+ version: "2.0",
id: "",
- data: JSON.stringify( JSON.parse(JSON.stringify(this.canvasData.originaleveryStoreyData.data)) ) || null,
+ data: JSON.stringify( paramsData ) || null,
buildingAreaId: data.id
}
this.http.post('/api/BuildingAreaData',newData,{params:this.params}).subscribe(data=>{
@@ -1839,7 +1888,6 @@ export class CollectionToolsPlanComponent implements OnInit {
});
this.allLibrary = data
this.selectImageIndex = -1
- // this.canvas.cancelPaint()
})
}
@@ -2024,6 +2072,7 @@ export class CollectionToolsPlanComponent implements OnInit {
// 切换 基本信息时 刷新 删除 建筑楼层 自定义属性
mateDeleteCustomize () {
+ this.canvasData.selectPanelPointBaseData = {description: '', notes: '', weather: '', airTemperature: '', windDirection: '', windScale: ''}
this.defaultExpandedKeys = []
this.sitePlanIcon = {fire:0,force:0}
this.sitePlanData.forEach(element => { //楼层
diff --git a/src/app/ui/collection-tools-plan/save.ts b/src/app/ui/collection-tools-plan/save.ts
index 644deab..df7489c 100644
--- a/src/app/ui/collection-tools-plan/save.ts
+++ b/src/app/ui/collection-tools-plan/save.ts
@@ -90,7 +90,7 @@ export class saveTwoDialogPlan {
nodeItem
itemChildNum = 0 //点击处置节点子数据节点的数量
clickNode(item){
- console.log(item)
+ // console.log(item)
this.nodeItem = item
this.allDisposalNodeChild.forEach(item => {
if(item.id == this.nodeItem.id){
@@ -168,14 +168,14 @@ export class saveTwoDialogPlan {
resolve("更新处置节点成功,将天气 节点详情等信息保存到点击的节点")
})
}).then((values)=>{
- console.log(values)
+ // console.log(values)
postdata.level = putdata.level + 1
new Promise((resolve,reject) => {
this.http.post(`/api/DisposalNodes`,postdata).subscribe(data => {
resolve(data)
})
}).then((data:any)=>{
- console.log(7788,data)
+ // console.log(7788,data)
let objData = {
id: "",
data: JSON.stringify(this.canvasData.selectPanelPoint.Data) || null,
@@ -260,7 +260,6 @@ export class saveTwoDialogPlan {
})
}).then((id) => {
let dataNodeData
- console.log("qnm",id)
new Promise((resolve,reject) => {
postdata.parentId = id
postdata.level = dispositionNodeData.level + 1
diff --git a/src/app/ui/collection-tools/collection-tools.component.html b/src/app/ui/collection-tools/collection-tools.component.html
index 63297bf..3575416 100644
--- a/src/app/ui/collection-tools/collection-tools.component.html
+++ b/src/app/ui/collection-tools/collection-tools.component.html
@@ -7,14 +7,6 @@
-
图标大小
-
-
- 正常
- 放大2倍
- 放大4倍
-
-
@@ -74,7 +66,6 @@
style="font-size: 23px;vertical-align:sub;color: rgb(224, 51, 51);">delete
-
@@ -135,7 +126,7 @@
+
diff --git a/src/app/ui/collection-tools/collection-tools.component.ts b/src/app/ui/collection-tools/collection-tools.component.ts
index 1466b1d..b101e13 100644
--- a/src/app/ui/collection-tools/collection-tools.component.ts
+++ b/src/app/ui/collection-tools/collection-tools.component.ts
@@ -12,12 +12,10 @@ import Swiper from 'swiper';
import { saveOneDialog } from './save';
import { NzFormatBeforeDropEvent, NzFormatEmitEvent,NzTreeComponent } from 'ng-zorro-antd/tree';
import { Observable, of } from 'rxjs';
-import { delay } from 'rxjs/operators';
-import { windows } from 'src/app/interface';
import { GameMode } from 'src/app/working-area/model/gameMode';
import { ActivatedRoute, Router } from '@angular/router';
-
-
+import { MaskLayerService } from 'src/app/mask-layer.service';
+import * as ObjectID from 'bson-objectid';
@Component({
selector: 'app-collection-tools',
@@ -28,7 +26,7 @@ export class CollectionToolsComponent implements OnInit {
@ViewChild('canvas',{static: true}) canvas:WorkingAreaComponent; //父组件中获得子组件的引用
- constructor(private http:HttpClient,public dialog: MatDialog,public snackBar: MatSnackBar,private element: ElementRef,public canvasData: CanvasShareDataService,private router:Router,private route:ActivatedRoute) { }
+ constructor(private maskLayerService:MaskLayerService,private http:HttpClient,public dialog: MatDialog,public snackBar: MatSnackBar,private element: ElementRef,public canvasData: CanvasShareDataService,private router:Router,private route:ActivatedRoute) { }
@ViewChild('nzTreeComponent', { static: false }) nzTreeComponent!: NzTreeComponent;
// tree配置
private _transformer = (node, level: number) => {//要给渲染节点传那些属性参数
@@ -150,9 +148,6 @@ export class CollectionToolsComponent implements OnInit {
pattern:boolean = true//默认为基本信息编辑
- yyy(){
- console.log(this.canvasData.selectPanelPoint)
- }
//基本信息编辑模式
baseInfo(){
if (!this.pattern) {
@@ -230,14 +225,13 @@ export class CollectionToolsComponent implements OnInit {
targetNodeData.forEach(i => {
idArr.push(i.id)
})
- console.log(6666666666666,event);
if(this.pos == 0 && event.node.origin.children.length == 1){
- console.log("移入,没有兄弟")
+ // console.log("移入,没有兄弟")
let key = event.dragNode.key
orders[key] = 0
parentId = event.node.key
}else{
- console.log("移入,多个兄弟")
+ // console.log("移入,多个兄弟")
let array = []
targetNodeData.forEach(item => {
if(item.id != event.dragNode.key){ //将拖动项先移除掉
@@ -245,13 +239,13 @@ export class CollectionToolsComponent implements OnInit {
}
})
if(event.dragNode.isEnd[event.dragNode.isEnd.length - 1]){ //如果移入到最后一个
- console.log("最后")
+ // console.log("最后")
array.push(event.dragNode.origin)
}else if(event.dragNode.isStart[event.dragNode.isStart.length - 1]){//如果移入到第一个
- console.log("第一")
+ // console.log("第一")
array.unshift(event.dragNode.origin)
}else{//如果移入中间位置
- console.log("中间")
+ // console.log("中间")
array.splice(event.node.origin.order, 0, event.dragNode.origin)
}
array.forEach((item,key) => {
@@ -274,7 +268,7 @@ export class CollectionToolsComponent implements OnInit {
})
}
}
-
+
isDrag //是否可以拖动
pos//放置位置
beforeDrop = (arg: NzFormatBeforeDropEvent) => {
@@ -683,15 +677,11 @@ export class CollectionToolsComponent implements OnInit {
this.canvas.on("deselect",obj=>{
this.isShowProperty = false
})
- // 监听canvas组件新增素材事件
- this.canvas.on("createIcon",obj=>{
+ //监听数据变化后
+ this.canvas.on('canvasDataChanged',()=>{
+ // 收到数据表示共享数据发生变化
this.renovateTreeData(false)
- })
- // 监听canvas组件删除素材事件
- this.canvas.on("deleteIcon",obj=>{
- this.renovateTreeData(false)
- })
-
+ });
}
copyAssetData:any //存储用于复制的素材
@@ -705,6 +695,7 @@ export class CollectionToolsComponent implements OnInit {
let buildingId = this.beforeOneCheckedBuilding.id
let floorId = this.selectingSitePlan.id
this.canvas.paste(companyId,buildingId,floorId)
+ this.renovateTreeData(false)
}
basicInfo:boolean = true //基本信息名称显隐
@@ -743,6 +734,9 @@ export class CollectionToolsComponent implements OnInit {
//保存平面图
saveNum :any = []
saveSite(){
+ //更新用于统计的数据
+ this.canvasData.updateBuildingData()
+
if (this.selectingSitePlan && this.selectingSitePlan.id) {
this.saveNum = []
let SitePlanData = JSON.parse(JSON.stringify(this.canvasData.originaleveryStoreyData));
@@ -754,8 +748,7 @@ export class CollectionToolsComponent implements OnInit {
let adjoinArr = [] //毗邻数组
if(this.pattern){//如果是基本信息编辑模式
- //更新用于统计的数据
- this.canvasData.updateBuildingData()
+ this.maskLayerService.sendMessage(true)
for (const key in object) {
if (object[key].Name == "毗邻") {//如果是相同楼层,则筛选出毗邻
@@ -772,6 +765,7 @@ export class CollectionToolsComponent implements OnInit {
config.verticalPosition = 'top';
config.duration = 3000
this.snackBar.open('保存失败,毗邻存在相同方向','确定',config);
+ this.maskLayerService.sendMessage(false)
return false
}else{
//如果是单位 总平面图
@@ -784,6 +778,7 @@ export class CollectionToolsComponent implements OnInit {
}).subscribe(data => {
this.saveNum.push("1")
if(this.saveNum.length == 5){
+ this.maskLayerService.sendMessage(false)
this.canvasData.isChange = false
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
@@ -791,6 +786,7 @@ export class CollectionToolsComponent implements OnInit {
this.snackBar.open('保存成功','确定',config);
}
},err=>{
+ this.maskLayerService.sendMessage(false)
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
@@ -806,6 +802,7 @@ export class CollectionToolsComponent implements OnInit {
}).subscribe(data => {
this.saveNum.push("1")
if(this.saveNum.length == 5){
+ this.maskLayerService.sendMessage(false)
this.canvasData.isChange = false
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
@@ -813,6 +810,7 @@ export class CollectionToolsComponent implements OnInit {
this.snackBar.open('保存成功','确定',config);
}
},err=>{
+ this.maskLayerService.sendMessage(false)
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
@@ -829,6 +827,7 @@ export class CollectionToolsComponent implements OnInit {
}).subscribe(data => {
this.saveNum.push("1")
if(this.saveNum.length == 5){
+ this.maskLayerService.sendMessage(false)
this.canvasData.isChange = false
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
@@ -836,11 +835,16 @@ export class CollectionToolsComponent implements OnInit {
this.snackBar.open('保存成功','确定',config);
}
},err=>{
+ this.maskLayerService.sendMessage(false)
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.canvasData.isChange = true
- this.snackBar.open('单位毗邻保存失败','确定',config);
+ if(err == 'infos 有重复方向!'){
+ this.snackBar.open('单位毗邻同步失败,存在相同方向','确定',config);
+ }else{
+ this.snackBar.open('单位毗邻同步失败','确定',config);
+ }
})
//批量保存单位重点部位
@@ -852,6 +856,7 @@ export class CollectionToolsComponent implements OnInit {
}).subscribe(data => {
this.saveNum.push("1")
if(this.saveNum.length == 5){
+ this.maskLayerService.sendMessage(false)
this.canvasData.isChange = false
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
@@ -859,11 +864,12 @@ export class CollectionToolsComponent implements OnInit {
this.snackBar.open('保存成功','确定',config);
}
},err=>{
+ this.maskLayerService.sendMessage(false)
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.canvasData.isChange = true
- this.snackBar.open('单位重点部位保存失败','确定',config);
+ this.snackBar.open('单位重点部位同步失败','确定',config);
})
//批量保存单位消防设施素材
@@ -875,6 +881,7 @@ export class CollectionToolsComponent implements OnInit {
}).subscribe(data => {
this.saveNum.push("1")
if(this.saveNum.length == 5){
+ this.maskLayerService.sendMessage(false)
this.canvasData.isChange = false
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
@@ -882,11 +889,12 @@ export class CollectionToolsComponent implements OnInit {
this.snackBar.open('保存成功','确定',config);
}
},err=>{
+ this.maskLayerService.sendMessage(false)
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.canvasData.isChange = true
- this.snackBar.open('单位消防设施素材保存失败','确定',config);
+ this.snackBar.open('单位消防设施素材同步失败','确定',config);
})
}else{ //如果是建筑
@@ -899,6 +907,7 @@ export class CollectionToolsComponent implements OnInit {
}).subscribe(data => {
this.saveNum.push("1")
if(this.saveNum.length == 5){
+ this.maskLayerService.sendMessage(false)
this.canvasData.isChange = false
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
@@ -906,6 +915,7 @@ export class CollectionToolsComponent implements OnInit {
this.snackBar.open('保存成功','确定',config);
}
},err=>{
+ this.maskLayerService.sendMessage(false)
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
@@ -921,6 +931,7 @@ export class CollectionToolsComponent implements OnInit {
}).subscribe(data => {
this.saveNum.push("1")
if(this.saveNum.length == 5){
+ this.maskLayerService.sendMessage(false)
this.canvasData.isChange = false
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
@@ -928,6 +939,7 @@ export class CollectionToolsComponent implements OnInit {
this.snackBar.open('保存成功','确定',config);
}
},err=>{
+ this.maskLayerService.sendMessage(false)
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
@@ -940,6 +952,7 @@ export class CollectionToolsComponent implements OnInit {
this.http.post(`/api/BuildingAdjoins/Batch?companyId=${this.params.companyId}&buildingId=${this.canvasData.selectStorey.buildingId}`,buildingAdjoins).subscribe(data => {
this.saveNum.push("1")
if(this.saveNum.length == 5){
+ this.maskLayerService.sendMessage(false)
this.canvasData.isChange = false
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
@@ -947,11 +960,16 @@ export class CollectionToolsComponent implements OnInit {
this.snackBar.open('保存成功','确定',config);
}
},err=>{
+ this.maskLayerService.sendMessage(false)
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.canvasData.isChange = true
- this.snackBar.open('建筑毗邻保存失败','确定',config);
+ if(err == 'infos 有重复方向!'){
+ this.snackBar.open('建筑毗邻同步失败,存在相同方向','确定',config);
+ }else{
+ this.snackBar.open('建筑毗邻同步失败','确定',config);
+ }
})
//批量保存建筑重点部位
@@ -959,6 +977,7 @@ export class CollectionToolsComponent implements OnInit {
this.http.post(`/api/BuildingImportantLocations/Batch?companyId=${this.params.companyId}&buildingId=${this.canvasData.selectStorey.buildingId}`,buildingImportantLocations).subscribe(data => {
this.saveNum.push("1")
if(this.saveNum.length == 5){
+ this.maskLayerService.sendMessage(false)
this.canvasData.isChange = false
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
@@ -966,11 +985,12 @@ export class CollectionToolsComponent implements OnInit {
this.snackBar.open('保存成功','确定',config);
}
},err=>{
+ this.maskLayerService.sendMessage(false)
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.canvasData.isChange = true
- this.snackBar.open('建筑重点部位保存失败','确定',config);
+ this.snackBar.open('建筑重点部位同步失败','确定',config);
})
//批量保存建筑消防设施素材
@@ -978,6 +998,7 @@ export class CollectionToolsComponent implements OnInit {
this.http.post(`/api/BuildingFacilityAssets/Batch?companyId=${this.params.companyId}&buildingId=${this.canvasData.selectStorey.buildingId}`,buildingFacilityAssets).subscribe(data => {
this.saveNum.push("1")
if(this.saveNum.length == 5){
+ this.maskLayerService.sendMessage(false)
this.canvasData.isChange = false
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
@@ -985,11 +1006,12 @@ export class CollectionToolsComponent implements OnInit {
this.snackBar.open('保存成功','确定',config);
}
},err=>{
+ this.maskLayerService.sendMessage(false)
let config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.canvasData.isChange = true
- this.snackBar.open('建筑消防设施素材保存失败','确定',config);
+ this.snackBar.open('建筑消防设施素材同步失败','确定',config);
})
}
@@ -1005,7 +1027,7 @@ export class CollectionToolsComponent implements OnInit {
});
dialogRef.afterClosed().subscribe(result => {
- console.log('The dialog was closed');
+ // console.log('The dialog was closed');
});
}
@@ -1030,10 +1052,10 @@ export class CollectionToolsComponent implements OnInit {
//拖拽tree
drop(e){
- console.log(1111,e)
+ // console.log(1111,e)
}
drop2(e){
- console.log(222,e)
+ // console.log(222,e)
}
//创建建筑
@@ -1156,11 +1178,11 @@ export class CollectionToolsComponent implements OnInit {
}
storeyData //将建筑素材和当前楼层素材合二为一
-
+ selectPanelPoint //传过来的处置素材
//处理 tree 数据结构
- handleTreeData (storeyData) {
-
+ handleTreeData (storeyData,selectPanelPoint) {
this.storeyData = storeyData
+ this.selectPanelPoint = selectPanelPoint
let data = this.allFireElements //所有消防要素模板
let treeData = [] //tree型 处理完成后的数据
data.forEach(element => {
@@ -1192,6 +1214,30 @@ export class CollectionToolsComponent implements OnInit {
}
}
}
+ if(selectPanelPoint.Data){
+ for(let key in selectPanelPoint.Data.Stock){
+ selectPanelPoint.Data.Stock[key].isLookPattern = true
+ if(element.id == selectPanelPoint.Data.Stock[key].FireElementId){
+ selectPanelPoint.Data.Stock[key].isTemplate = false
+ selectPanelPoint.Data.Stock[key].isLook = true
+
+ element.isNewElement = true //该节点children是否存在新添加的真实素材 标识
+
+ //定义查看模式下能看到的元素
+ element.isLookPattern = true
+ if(element.parentId){
+ data.forEach(i => {
+ if(i.id == element.parentId){
+ i.isLookPattern = true
+ }
+ })
+ }
+ //
+
+ element.children.push(selectPanelPoint.Data.Stock[key])
+ }
+ }
+ }
data.forEach(item => { if (item.parentId == element.id) {element.children.push(item)} });
});
data.forEach(element => {
@@ -1349,7 +1395,16 @@ export class CollectionToolsComponent implements OnInit {
this.allFireElements[this.allFireElements.length-1].children.push(storeyData.data[key])
}
}
- this.handleTreeData(storeyData) //处理tree数据结构
+ let selectPanelPoint = JSON.parse(JSON.stringify(this.canvasData.selectPanelPoint || {} )) //当前 节点 数据
+ if(selectPanelPoint.Data){
+ for(let key in selectPanelPoint.Data.Stock){ //筛选数据 没有匹配全部放入到 其他 数组
+ let noMatch = this.allFireElements.find( every=> every.id===selectPanelPoint.Data.Stock[key].FireElementId )
+ if (!noMatch) {
+ this.allFireElements[this.allFireElements.length-1].children.push(selectPanelPoint.Data.Stock[key])
+ }
+ }
+ }
+ this.handleTreeData(storeyData,selectPanelPoint) //处理tree数据结构
}
@@ -1456,7 +1511,7 @@ export class CollectionToolsComponent implements OnInit {
this.http.get('/api/CompanyData',{params:this.params}).subscribe((data:any)=>{
this.canvasData.originalcompanyBuildingData = data || {} // 单位原数据
this.canvasData.originalcompanyBuildingData.data? this.canvasData.originalcompanyBuildingData.data = JSON.parse(this.canvasData.originalcompanyBuildingData.data) : this.canvasData.originalcompanyBuildingData.data = {}
- this.canvasData.originalcompanyBuildingData.version? null : this.canvasData.originalcompanyBuildingData.version = "2.0"
+ this.canvasData.originalcompanyBuildingData.version = "2.0"
this.canvasData.originalcompanyBuildingData.companyId? null : this.canvasData.originalcompanyBuildingData.companyId = sessionStorage.getItem('companyId')
resolve('success')
})
@@ -1469,7 +1524,7 @@ export class CollectionToolsComponent implements OnInit {
this.http.get(`/api/SitePlanData`,{params}).subscribe((data:any)=>{
this.canvasData.originaleveryStoreyData = data || {} // 楼层原数据
this.canvasData.originaleveryStoreyData.data? this.canvasData.originaleveryStoreyData.data = JSON.parse(this.canvasData.originaleveryStoreyData.data) : this.canvasData.originaleveryStoreyData.data = {}
- this.canvasData.originaleveryStoreyData.version? null : this.canvasData.originaleveryStoreyData.version = "2.0"
+ this.canvasData.originaleveryStoreyData.version = "2.0"
this.canvasData.originaleveryStoreyData.sitePlanId? null : this.canvasData.originaleveryStoreyData.sitePlanId = e.id || null
this.renovateTreeData()
})
@@ -1481,7 +1536,7 @@ export class CollectionToolsComponent implements OnInit {
this.http.get(`/api/BuildingData`,{params:e}).subscribe((data:any)=>{
this.canvasData.originalcompanyBuildingData = data || {} // 建筑原数据
this.canvasData.originalcompanyBuildingData.data? this.canvasData.originalcompanyBuildingData.data = JSON.parse(this.canvasData.originalcompanyBuildingData.data) : this.canvasData.originalcompanyBuildingData.data = {}
- this.canvasData.originalcompanyBuildingData.version? null : this.canvasData.originalcompanyBuildingData.version = "2.0"
+ this.canvasData.originalcompanyBuildingData.version = "2.0"
this.canvasData.originalcompanyBuildingData.buildingId? null : this.canvasData.originalcompanyBuildingData.buildingId = e.buildingId
resolve('success')
})
@@ -1494,7 +1549,7 @@ export class CollectionToolsComponent implements OnInit {
this.http.get(`/api/BuildingAreaData`,{params}).subscribe((data:any)=>{
this.canvasData.originaleveryStoreyData = data || {} // 楼层原数据
this.canvasData.originaleveryStoreyData.data? this.canvasData.originaleveryStoreyData.data = JSON.parse(this.canvasData.originaleveryStoreyData.data) : this.canvasData.originaleveryStoreyData.data = {}
- this.canvasData.originaleveryStoreyData.version? null : this.canvasData.originaleveryStoreyData.version = "2.0"
+ this.canvasData.originaleveryStoreyData.version = "2.0"
this.canvasData.originaleveryStoreyData.buildingAreaId? null : this.canvasData.originaleveryStoreyData.buildingAreaId = e.id || null
this.renovateTreeData()
})
@@ -1502,7 +1557,6 @@ export class CollectionToolsComponent implements OnInit {
//点击选中 平面图 楼层/区域 时
selectSitePlan (item,index) {
-
if (this.selectSitePlanIndex != index) {
this.canvasData.selectPanelPoint = new DisposalNodeData();
if (this.canvasData.isChange) { //true 数据被改动
@@ -1716,6 +1770,15 @@ export class CollectionToolsComponent implements OnInit {
//复制图层 平面图 楼层/区域
duplicateLayer (item) {
+ let paramsData = JSON.parse(JSON.stringify( this.canvasData.originaleveryStoreyData.data || {} ))
+ Object.keys(paramsData).forEach((key)=>{
+ if (key != '图例') {
+ let ID = ObjectID.default.generate()
+ paramsData[key].Id = ID
+ paramsData[ID] = paramsData[key]
+ delete paramsData[key]
+ }
+ }) //图标Id重新赋值
if (this.checkedBuildingIndex==-1) { //总平面图
item.id = ""
item.modifiedTime = new Date()
@@ -1723,9 +1786,9 @@ export class CollectionToolsComponent implements OnInit {
item.order = this.sitePlanData[this.sitePlanData.length-1].order+1
this.http.post('/api/SitePlans',item).subscribe((data:any)=>{
let newData = {
- version: this.canvasData.originaleveryStoreyData.version || "2.0",
+ version: "2.0",
id: "",
- data: JSON.stringify( JSON.parse(JSON.stringify(this.canvasData.originaleveryStoreyData.data)) ) || null,
+ data: JSON.stringify( paramsData ) || null,
sitePlanId: data.id
}
this.http.post('/api/SitePlanData',newData,{params:this.params}).subscribe(data=>{
@@ -1740,9 +1803,9 @@ export class CollectionToolsComponent implements OnInit {
item.order = this.sitePlanData[this.sitePlanData.length-1].order+1
this.http.post('/api/BuildingAreas',item,{params:this.params}).subscribe((data:any)=>{
let newData = {
- version: this.canvasData.originaleveryStoreyData.version || "2.0",
+ version: "2.0",
id: "",
- data: JSON.stringify( JSON.parse(JSON.stringify(this.canvasData.originaleveryStoreyData.data)) ) || null,
+ data: JSON.stringify( paramsData ) || null,
buildingAreaId: data.id
}
this.http.post('/api/BuildingAreaData',newData,{params:this.params}).subscribe(data=>{
@@ -1852,7 +1915,6 @@ export class CollectionToolsComponent implements OnInit {
});
this.allLibrary = data
this.selectImageIndex = -1
- // this.canvas.cancelPaint()
})
}
@@ -2037,6 +2099,7 @@ export class CollectionToolsComponent implements OnInit {
// 切换 基本信息时 刷新 删除 建筑楼层 自定义属性
mateDeleteCustomize () {
+ this.canvasData.selectPanelPointBaseData = {description: '', notes: '', weather: '', airTemperature: '', windDirection: '', windScale: ''}
this.defaultExpandedKeys = []
this.sitePlanIcon = {fire:0,force:0}
this.sitePlanData.forEach(element => { //楼层
diff --git a/src/app/ui/collection-tools/save.ts b/src/app/ui/collection-tools/save.ts
index 69d707c..1657b66 100644
--- a/src/app/ui/collection-tools/save.ts
+++ b/src/app/ui/collection-tools/save.ts
@@ -3,6 +3,7 @@ import { HttpClient, HttpHeaders } from '@angular/common/http';
import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
import { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar';
import {CanvasShareDataService,DisposalNodeData} from '../../canvas-share-data.service' //引入服务
+import { MaskLayerService } from 'src/app/mask-layer.service';
// 保存想定作业第一个弹窗
@Component({
selector: 'dialog-overview-example-dialog',
@@ -48,6 +49,7 @@ export class saveOneDialog {
export class saveTwoDialog {
constructor(
+ private maskLayerService:MaskLayerService,
private http:HttpClient,
public dialogRef: MatDialogRef
,
public canvasData: CanvasShareDataService,
@@ -90,7 +92,7 @@ export class saveOneDialog {
nodeItem
itemChildNum = 0 //点击处置节点子数据节点的数量
clickNode(item){
- console.log(item)
+ // console.log(item)
this.nodeItem = item
this.allDisposalNodeChild.forEach(item => {
if(item.id == this.nodeItem.id){
@@ -102,6 +104,8 @@ export class saveOneDialog {
selectedBuildingData = this.data.selectedBuildingData
selectedSiteData = this.data.selectedSiteData
onSubmit(value,type){
+ this.maskLayerService.sendMessage(true)
+
let name = this.selectedBuildingData.name + '-' + this.selectedSiteData.name
//如果保存到已有节点
var postdata = {
@@ -146,14 +150,14 @@ export class saveOneDialog {
// 保存平面图数据到当前节点
let postdata =JSON.parse(JSON.stringify(this.canvasData.selectPanelPoint))
postdata.Data = JSON.stringify(postdata.Data)
- postdata.DisposalNodeId = istrue.id
- // console.log(111,istrue)
this.http.post(`/api/DisposalNodeData`,postdata).subscribe(data => {
+ this.maskLayerService.sendMessage(false)
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.snackBar.open('保存成功','确定',config)
},err=>{
+ this.maskLayerService.sendMessage(false)
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
@@ -176,7 +180,6 @@ export class saveOneDialog {
resolve(data)
})
}).then((data:any)=>{
- // console.log(7788,data)
let objData = {
id: "",
data: JSON.stringify(this.canvasData.selectPanelPoint.Data) || null,
@@ -185,11 +188,13 @@ export class saveOneDialog {
planComponentId: sessionStorage.getItem("planId"),
}
this.http.post(`/api/DisposalNodeData`,objData).subscribe(data => {
+ this.maskLayerService.sendMessage(false)
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.snackBar.open('保存成功','确定',config)
},err=>{
+ this.maskLayerService.sendMessage(false)
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
@@ -261,7 +266,6 @@ export class saveOneDialog {
})
}).then((id) => {
let dataNodeData
- // console.log("qnm",id)
new Promise((resolve,reject) => {
postdata.parentId = id
postdata.level = dispositionNodeData.level + 1
@@ -270,9 +274,6 @@ export class saveOneDialog {
})
}).then((data:any) => {
// 保存平面图数据到当前节点
- // console.log(6666,data)
- // let postdata =JSON.parse(JSON.stringify(this.canvasData.selectPanelPoint))
- // postdata.Data = JSON.stringify(postdata.Data)
let objData = {
id: "",
data: JSON.stringify(this.canvasData.selectPanelPoint.Data) || null,
@@ -282,12 +283,14 @@ export class saveOneDialog {
}
this.http.post(`/api/DisposalNodeData`,objData).subscribe(data => {
+ this.maskLayerService.sendMessage(false)
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.snackBar.open('保存成功','确定',config)
},err=>{
+ this.maskLayerService.sendMessage(false)
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
From 4f37b272ce04e3296a47982cecbd2b21498a78dd Mon Sep 17 00:00:00 2001
From: cpf <1105965053@qq.com>
Date: Tue, 19 Jan 2021 11:36:49 +0800
Subject: [PATCH 3/4] =?UTF-8?q?[=E5=AE=8C=E5=96=84]=20=E5=BC=95=E5=85=A5?=
=?UTF-8?q?=E8=B7=AF=E7=BA=BF=E8=A7=84=E5=88=92,=E5=91=A8=E8=BE=B9?=
=?UTF-8?q?=E6=B0=B4=E6=BA=90=E6=A8=A1=E5=9D=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../gis-labeling/gis-labeling.component.ts | 2 +-
.../edit-plan-info.component.html | 16 +-
.../edit-unit-info.component.html | 18 +-
.../router-gis/router-gis.component.html | 64 ++++++-
.../router-gis/router-gis.component.scss | 123 +++++++++---
.../router-gis/router-gis.component.ts | 176 ++++++++++++++----
.../view-unit-details-plan.component.html | 18 +-
.../view-unit-details.component.html | 16 +-
.../water-road/water-road.component.html | 17 +-
.../water-road/water-road.component.ts | 2 +-
10 files changed, 358 insertions(+), 94 deletions(-)
diff --git a/src/app/gis-management/gis-labeling/gis-labeling.component.ts b/src/app/gis-management/gis-labeling/gis-labeling.component.ts
index faa2a67..819a3ff 100644
--- a/src/app/gis-management/gis-labeling/gis-labeling.component.ts
+++ b/src/app/gis-management/gis-labeling/gis-labeling.component.ts
@@ -387,7 +387,7 @@ export class GisLabelingComponent implements OnInit {
// 创建一个 Icon
let startIcon = new AMap.Icon({
image: '../../../assets/images/fireHydrant.png',
- imageSize: new AMap.Size(32, 32),
+ imageSize: new AMap.Size(20, 20),
});
positonList.forEach((item,index)=>{
let marker = new AMap.Marker({
diff --git a/src/app/key-unit/edit-plan-info/edit-plan-info.component.html b/src/app/key-unit/edit-plan-info/edit-plan-info.component.html
index 53f811f..c46fef7 100644
--- a/src/app/key-unit/edit-plan-info/edit-plan-info.component.html
+++ b/src/app/key-unit/edit-plan-info/edit-plan-info.component.html
@@ -32,17 +32,27 @@
-
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.road? item.road + '>' : null}}
+
+
+
+
←
+
↑
+
→
+
↓
+
↖
+
↙
+
↗
+
↘
+
+
+
+
+
+
diff --git a/src/app/key-unit/router-gis/router-gis.component.scss b/src/app/key-unit/router-gis/router-gis.component.scss
index 744b8dd..854f398 100644
--- a/src/app/key-unit/router-gis/router-gis.component.scss
+++ b/src/app/key-unit/router-gis/router-gis.component.scss
@@ -2,34 +2,111 @@
width: 100%;
height: 100%;
box-sizing: border-box;
- padding: 3px;
+ padding: 1px;
overflow: hidden;
position: relative;
- .center {
+ .map { width: 100%; height: 100%; }
+}
+
+//文本溢出
+.overflowText {
+ overflow: hidden;
+ text-overflow:ellipsis;
+ white-space: nowrap;
+}
+.mat-icon, label, button, p, span {cursor:pointer;}
+//左侧导航路线
+.routeGIS {
+ width: 340px;
+ max-height: 700px;
+ overflow: hidden;
+ position: absolute;
+ border-radius: 10px;
+ background-color: #0080FF;
+ left: 30px;
+ top: 15px;
+ z-index: 6;
+ display: flex;
+ flex-direction: column;
+ .routeHeader {
width: 100%;
- height: 740px;
- }
- .btnbox{
- position: absolute;
- left: 50%;
- bottom: 7%;;
- transform: translateX(-50%);
+ height: 130px;
+ min-height: 130px;
+ position: relative;
display: flex;
- div{
+ align-items: center;
+ justify-content: center;
+ .routeLeft {
+ width: 26px;
text-align: center;
- width:130px;
- height: 48px;
- line-height: 48px;
- opacity: 1;
- border-radius: 30px;
- font-size: 16px;
- margin: 0 12px;
- background: #E9EAF3;
- cursor: pointer;
+ margin: 0 5px;
+ box-sizing: border-box;
+ .mat-icon { font-size: 24px; color: #fff; }
+ }
+ .routeContent {
+ flex: 1;
+ //起点终点 input
+ .routeEveryRow {
+ position: relative;
+ height: 30px;
+ margin: 3px 0;
+ label { position: absolute; color: #fff; }
+ .routeText {
+ font-size: 14px;
+ top: 5.5px;
+ left: 5px;
+ }
+ .routeClear {
+ top: 0px;
+ right: 18px;
+ font-size: 20px;
+ }
+ input {
+ width: 80%;
+ padding-left: 25px;
+ height: 30px;
+ border-radius: 5px;
+ border: none;
+ outline: none;
+ color: #fff;
+ background-color: #0874DE;
+ }
+ }
}
- .btn{
- background: linear-gradient(337deg, #FC7045 0%, #FF4923 100%);
- color: #fff;
+ }
+
+//导航内容区
+.routeCenter::-webkit-scrollbar {
+ display: none; /* Chrome Safari */
+}
+.routeCenter {
+ width: 100%;
+ overflow-y: auto;
+ scrollbar-width: none; /* Firefox */
+ box-sizing: border-box;
+ background-color: #fff;
+ border-radius: 0 0 10px 10px;
+ border: 1px solid rgb(201, 197, 197);
+ >div {
+ width: 100%;
+ height: 30px;
+ line-height: 30px;
+ box-sizing: border-box;
+ margin: 5px 0;
+ font-size: 12px;
+ overflow: hidden;
+ text-overflow:ellipsis;
+ white-space: nowrap;
+ } //div
+ >div:not(:first-child){ padding: 0 10px; box-sizing: border-box; }
+ .routeTypeExplain label { margin: 0 10px; }
+ .routeCenterTB {
+ p { display: inline-block; margin-right: 10px; width: 30px; height: 30px; border-radius: 50%; color: #fff; text-align: center; font-size: 14px; }
+ .orientation { color: #0080FF; }
}
}
-}
\ No newline at end of file
+}
+.routeGISPublicIcon { position: absolute; color: #fff; font-size: 14px; } //导航 定位部分公共样式
+//选择路线 方案 button
+.routeType { margin: 0 10px; outline: none; border: none; background-color: transparent; font-size: 14px; font-weight: 550; color: rgb(122, 116, 116); }
+.selectRouteType { color: #0080FF; }
\ No newline at end of file
diff --git a/src/app/key-unit/router-gis/router-gis.component.ts b/src/app/key-unit/router-gis/router-gis.component.ts
index b797115..3c50e52 100644
--- a/src/app/key-unit/router-gis/router-gis.component.ts
+++ b/src/app/key-unit/router-gis/router-gis.component.ts
@@ -1,4 +1,5 @@
-import { Component, EventEmitter, OnInit, Output } from '@angular/core';
+import { Component, EventEmitter, NgZone, OnInit, Output } from '@angular/core';
+import { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar';
declare var AMap: any;
@Component({
@@ -8,53 +9,158 @@ declare var AMap: any;
})
export class RouterGISComponent implements OnInit {
@Output() onCustomEvent: EventEmitter