|
|
|
@ -17,7 +17,7 @@ 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'; |
|
|
|
|
|
|
|
|
|
import { AxMessageSystem } from 'src/app/working-area/model/axMessageSystem'; |
|
|
|
|
@Component({ |
|
|
|
|
selector: 'app-collection-tools-plan', |
|
|
|
|
templateUrl: './collection-tools.component.html', |
|
|
|
@ -83,9 +83,11 @@ export class CollectionToolsPlanComponent implements OnInit {
|
|
|
|
|
setTimeout(() => { |
|
|
|
|
obj.PropertyInfos.forEach(item => { |
|
|
|
|
if(item.PropertyType == 4){ |
|
|
|
|
this.gallery = new Viewer(document.getElementById('viewerjs'),{ |
|
|
|
|
url: 'data-original' |
|
|
|
|
}); |
|
|
|
|
if(document.getElementById('viewerjs')){ |
|
|
|
|
this.gallery = new Viewer(document.getElementById('viewerjs'),{ |
|
|
|
|
url: 'data-original' |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
}, 0); |
|
|
|
@ -408,7 +410,10 @@ export class CollectionToolsPlanComponent implements OnInit {
|
|
|
|
|
|
|
|
|
|
//素材是否高亮改变----->本地操作行为
|
|
|
|
|
assetHighLightIunput(){ |
|
|
|
|
|
|
|
|
|
// console.log(this.isHighLight,this.canvasAssetObj)
|
|
|
|
|
// let arr = []
|
|
|
|
|
// arr.push(this.canvasAssetObj.Id)
|
|
|
|
|
// this.canvas.setHighlight(arr)
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//动态属性素材input框值改变
|
|
|
|
@ -610,12 +615,70 @@ export class CollectionToolsPlanComponent implements OnInit {
|
|
|
|
|
isSixShow = true
|
|
|
|
|
isSixbtn = true //控制想定作业编辑按钮
|
|
|
|
|
isediticon = true //控制查看编辑模式的编辑模式小笔按钮
|
|
|
|
|
|
|
|
|
|
isMultipleAsset:boolean = false//框选多个素材属性显隐
|
|
|
|
|
multipleAsset:any = { |
|
|
|
|
Width:null, |
|
|
|
|
Height:null, |
|
|
|
|
Angle:null, |
|
|
|
|
Thickness:null, |
|
|
|
|
Color:null, |
|
|
|
|
PropertyInfos:[] |
|
|
|
|
}//多个素材共同属性
|
|
|
|
|
multipleAssetData:any//当前多选的素材
|
|
|
|
|
firstMultipleAssetData:any//当前多选的第一个素材
|
|
|
|
|
ngOnInit(): void { |
|
|
|
|
let _this = this |
|
|
|
|
AxMessageSystem.addListener('selectionChanged', ()=>{ |
|
|
|
|
if(this.canvas.selection.size() == 1){//如果是单选
|
|
|
|
|
this.isMultipleAsset = false |
|
|
|
|
console.log('单选',this.canvas.selection.first().assetData) |
|
|
|
|
this.setAssetsProperty(this.canvas.selection.first().assetData) |
|
|
|
|
}else if(this.canvas.selection.size()){ |
|
|
|
|
console.log('多选') |
|
|
|
|
this.multipleAssetData = this.canvas.selection.all() |
|
|
|
|
this.firstMultipleAssetData = this.canvas.selection.first() |
|
|
|
|
this.multipleAsset = { |
|
|
|
|
Width:null, |
|
|
|
|
Height:null, |
|
|
|
|
Angle:null, |
|
|
|
|
Thickness:null, |
|
|
|
|
Color:null, |
|
|
|
|
PropertyInfos:[] |
|
|
|
|
} |
|
|
|
|
this.isMultipleAsset = true |
|
|
|
|
let firstAssetData = this.canvas.selection.first().assetData;//拿出第一个素材作为例子与其他素材进行对比
|
|
|
|
|
let InteractiveMode = firstAssetData.InteractiveMode //素材连接方式
|
|
|
|
|
let isInteractiveMode = this.canvas.selection.all().every(item => item.assetData.InteractiveMode === InteractiveMode) |
|
|
|
|
if(isInteractiveMode){ |
|
|
|
|
this.multipleAsset.InteractiveMode = InteractiveMode |
|
|
|
|
} |
|
|
|
|
let isFillMode = this.canvas.selection.all().every(item => item.assetData.FillMode === 0) //素材填充方式都为0
|
|
|
|
|
if(isFillMode){ |
|
|
|
|
this.multipleAsset.FillMode = 0 |
|
|
|
|
} |
|
|
|
|
this.canvas.selection.first().assetData.PropertyInfos.forEach(i => { |
|
|
|
|
let index = 0 |
|
|
|
|
this.canvas.selection.all().forEach(item => { |
|
|
|
|
item.assetData.PropertyInfos.forEach(element => { |
|
|
|
|
if(element.PropertyName == i.PropertyName && element.PropertyType == i.PropertyType && element.PropertyType != 3 && element.PropertyType != 4){ |
|
|
|
|
index++ |
|
|
|
|
if(index == this.canvas.selection.size()){ |
|
|
|
|
let newElement = JSON.parse(JSON.stringify(element)) |
|
|
|
|
newElement.PropertyValue = '' |
|
|
|
|
this.multipleAsset.PropertyInfos.push(newElement) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
})
|
|
|
|
|
}) |
|
|
|
|
console.log(666,_this.multipleAsset.PropertyInfos) |
|
|
|
|
} |
|
|
|
|
}, this) |
|
|
|
|
|
|
|
|
|
if(this.router.url.indexOf("keyUnit/viewunitinfo") != -1 || this.router.url.indexOf("keyUnit/editplaninfo")!= -1){ |
|
|
|
|
this.isSixbtn = false |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if(!this.isSixbtn && sessionStorage.getItem("six") == "edit"){ |
|
|
|
|
this.isSixShow = true |
|
|
|
|
} |
|
|
|
@ -647,6 +710,112 @@ export class CollectionToolsPlanComponent implements OnInit {
|
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
//多选宽度共同改变
|
|
|
|
|
multipleAssetWidthInput(){ |
|
|
|
|
this.multipleAssetData.forEach(item=>{ |
|
|
|
|
item.assetData.Width = this.multipleAsset.Width |
|
|
|
|
this.canvas.refreshIcon(item.assetData.Id) |
|
|
|
|
this.canvasData.isChange = true |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
//多选高度共同改变
|
|
|
|
|
multipleAssetHeightInput(){ |
|
|
|
|
this.multipleAssetData.forEach(item=>{ |
|
|
|
|
item.assetData.Height = this.multipleAsset.Height |
|
|
|
|
this.canvas.refreshIcon(item.assetData.Id) |
|
|
|
|
this.canvasData.isChange = true |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
//多选角度共同改变
|
|
|
|
|
multipleAssetAngleInput(){ |
|
|
|
|
this.multipleAssetData.forEach(item=>{ |
|
|
|
|
item.assetData.Angle = this.multipleAsset.Angle |
|
|
|
|
this.canvas.refreshIcon(item.assetData.Id) |
|
|
|
|
this.canvasData.isChange = true |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
//多选厚度共同改变
|
|
|
|
|
multipleAssetThicknessInput(){ |
|
|
|
|
this.multipleAssetData.forEach(item=>{ |
|
|
|
|
item.assetData.Thickness = this.multipleAsset.Thickness |
|
|
|
|
this.canvas.refreshIcon(item.assetData.Id) |
|
|
|
|
this.canvasData.isChange = true |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
//多选颜色共同改变
|
|
|
|
|
multipleSelectedcolor:any |
|
|
|
|
multipleAssetSelectcolor(item,key){ |
|
|
|
|
//在当前透明度基础上改变颜色
|
|
|
|
|
this.multipleSelectedcolor = item |
|
|
|
|
this.multipleAssetData.forEach(item=>{ |
|
|
|
|
item.assetData.Color = this.multipleSelectedcolor |
|
|
|
|
this.canvasData.isChange = true |
|
|
|
|
this.canvas.refreshIcon(item.assetData.Id) |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
//多选颜色滑竿改变
|
|
|
|
|
multipleColorDivSliderChange(){ |
|
|
|
|
let colorOpacity = Math.round(255 * this.colorDivSliderValue * 0.01)
|
|
|
|
|
//根据滑竿值改变16进制颜色后两位
|
|
|
|
|
function replacepos(text,start,stop,replacetext){ |
|
|
|
|
let mystr = text.substring(0,stop-1)+replacetext+text.substring(stop+1); |
|
|
|
|
return mystr; |
|
|
|
|
} |
|
|
|
|
this.multipleAssetData.forEach(item=>{ |
|
|
|
|
this.multipleSelectedcolor = replacepos(this.multipleSelectedcolor,7,8,colorOpacity.toString(16)) |
|
|
|
|
item.assetData.Color = this.multipleSelectedcolor |
|
|
|
|
this.canvasData.isChange = true |
|
|
|
|
this.canvas.refreshIcon(item.assetData.Id) |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
//多选状态动态属性素材input框值改变
|
|
|
|
|
multipleAssetInputChange(i,e){ |
|
|
|
|
e.stopPropagation() |
|
|
|
|
this.multipleAssetData.forEach(item=>{ |
|
|
|
|
console.log(item) |
|
|
|
|
item.assetData.PropertyInfos.forEach(element => { |
|
|
|
|
if(element.PropertyName == i.PropertyName){ |
|
|
|
|
element.PropertyValue = i.PropertyValue |
|
|
|
|
this.canvas.refreshIcon(item.assetData.Id) |
|
|
|
|
this.canvasData.isChange = true |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
//多选状态动态属性素材radio框值改变
|
|
|
|
|
multipleAssetRadioChange(i,value){ |
|
|
|
|
// e.stopPropagation()
|
|
|
|
|
this.multipleAssetData.forEach(item=>{ |
|
|
|
|
console.log(item) |
|
|
|
|
item.assetData.PropertyInfos.forEach(element => { |
|
|
|
|
if(element.PropertyName == i.PropertyName){ |
|
|
|
|
element.PropertyValue = value |
|
|
|
|
this.canvas.refreshIcon(item.assetData.Id) |
|
|
|
|
this.canvasData.isChange = true |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
//多选状态动态属性素材下拉框值改变
|
|
|
|
|
multipleSupplyArea(i,e){ |
|
|
|
|
e.stopPropagation() |
|
|
|
|
this.multipleAssetData.forEach(item=>{ |
|
|
|
|
console.log(item) |
|
|
|
|
item.assetData.PropertyInfos.forEach(element => { |
|
|
|
|
if(element.PropertyName == i.PropertyName){ |
|
|
|
|
element.PropertyValue = i.PropertyValue |
|
|
|
|
this.canvas.refreshIcon(item.assetData.Id) |
|
|
|
|
this.canvasData.isChange = true |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -655,11 +824,11 @@ export class CollectionToolsPlanComponent implements OnInit {
|
|
|
|
|
if(this.router.url.indexOf("gis") == -1) { |
|
|
|
|
this.getSitePlan() |
|
|
|
|
} |
|
|
|
|
// 监听canvas组件选中素材事件
|
|
|
|
|
this.canvas.on("select",obj=>{ |
|
|
|
|
//选中素材属性注入函数
|
|
|
|
|
this.setAssetsProperty(obj.assetData) |
|
|
|
|
}) |
|
|
|
|
// // 监听canvas组件选中素材事件
|
|
|
|
|
// this.canvas.on("select",obj=>{
|
|
|
|
|
// //选中素材属性注入函数
|
|
|
|
|
// this.setAssetsProperty(obj.assetData)
|
|
|
|
|
// })
|
|
|
|
|
// 监听canvas组件取消选中素材事件
|
|
|
|
|
this.canvas.on("deselect",obj=>{ |
|
|
|
|
this.isShowProperty = false |
|
|
|
|