|  | @@ -1,566 +1,587 @@
 | 
											
												
													
														|  | -<template>
 |  | 
 | 
											
												
													
														|  | -	<CrMap ref="cmap" @onEditProperty="onEditProperty"></CrMap>
 |  | 
 | 
											
												
													
														|  | -	<view class="cr-tools-left">
 |  | 
 | 
											
												
													
														|  | -		<ToolButton v-for="(item, index) in leftTools" :id="item.id" :title="item.title" :describe="item.describe" :icon="item.icon" @onclick="onToolsClick" />
 |  | 
 | 
											
												
													
														|  | -	</view>
 |  | 
 | 
											
												
													
														|  | -	<view class="cr-tools-right">
 |  | 
 | 
											
												
													
														|  | -		<ToolButton v-for="(item, index) in rightTools" :id="item.id" :title="item.title" :describe="item.describe" :icon="item.icon" @onclick="onToolsClick" />
 |  | 
 | 
											
												
													
														|  | -	</view>
 |  | 
 | 
											
												
													
														|  | -	<jtDialog class="jt-tools-dialog" :showDialog="showDialog" title="动态标绘" height="calc(100% - 50px)" width="300px" top="0px" @closeJTDialog="closeDialog">
 |  | 
 | 
											
												
													
														|  | -		<el-row :gutter="20">
 |  | 
 | 
											
												
													
														|  | -			<el-col :span="8" v-for="(item, index) in dynamicDrawTools" @click="onDrawToolsClick(item)">
 |  | 
 | 
											
												
													
														|  | -				<el-avatar shape="circle" :size="50" style="background-color: bisque;"><i :class="item.iconName" /></el-avatar>
 |  | 
 | 
											
												
													
														|  | -				<cite>{{ item.title }}</cite>
 |  | 
 | 
											
												
													
														|  | -			</el-col>
 |  | 
 | 
											
												
													
														|  | -		</el-row>
 |  | 
 | 
											
												
													
														|  | -	</jtDialog>
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -	<!-- 墙的编辑框 -->
 |  | 
 | 
											
												
													
														|  | -	<dialogEditProperty ref="dialogEdit" :params="editParams" @submit="submit" @remove="remove" v-model:showDialog="showEditDialog"></dialogEditProperty>
 |  | 
 | 
											
												
													
														|  | -</template>
 |  | 
 | 
											
												
													
														|  | -<script setup>
 |  | 
 | 
											
												
													
														|  | -import { Dialog } from 'vant';
 |  | 
 | 
											
												
													
														|  | -/* 引入弹出对话框 */
 |  | 
 | 
											
												
													
														|  | -import jtDialog from '../components/jt-dialog/dialog.vue';
 |  | 
 | 
											
												
													
														|  | -/* 引入墙的编辑对话框 */
 |  | 
 | 
											
												
													
														|  | -import dialogEditProperty from '../components/jt-dialog/dialogEditProperty.vue';
 |  | 
 | 
											
												
													
														|  | -</script>
 |  | 
 | 
											
												
													
														|  | -<script>
 |  | 
 | 
											
												
													
														|  | -/* 引入三维地图控件 */
 |  | 
 | 
											
												
													
														|  | -import CrMap from '../components/CrMap/CrMap.vue';
 |  | 
 | 
											
												
													
														|  | -import { DrawTools } from '../components/CrMap/DrawTools.js';
 |  | 
 | 
											
												
													
														|  | -import { ref } from 'vue';
 |  | 
 | 
											
												
													
														|  | -/* 引入工具按钮 */
 |  | 
 | 
											
												
													
														|  | -import ToolButtom from '../components/ToolButton/ToolButton.vue';
 |  | 
 | 
											
												
													
														|  | -export default {
 |  | 
 | 
											
												
													
														|  | -	components: {
 |  | 
 | 
											
												
													
														|  | -		CrMap
 |  | 
 | 
											
												
													
														|  | -	},
 |  | 
 | 
											
												
													
														|  | -	/* 返回数据 */
 |  | 
 | 
											
												
													
														|  | -	data() {
 |  | 
 | 
											
												
													
														|  | -		return {
 |  | 
 | 
											
												
													
														|  | -			leftTools: [],
 |  | 
 | 
											
												
													
														|  | -			rightTools: [],
 |  | 
 | 
											
												
													
														|  | -			showOverlay: false,
 |  | 
 | 
											
												
													
														|  | -			poputNavTitle: '物体样式调整',
 |  | 
 | 
											
												
													
														|  | -			color: {
 |  | 
 | 
											
												
													
														|  | -				red: 0,
 |  | 
 | 
											
												
													
														|  | -				green: 100,
 |  | 
 | 
											
												
													
														|  | -				blue: 255,
 |  | 
 | 
											
												
													
														|  | -				alpha: 6
 |  | 
 | 
											
												
													
														|  | -			},
 |  | 
 | 
											
												
													
														|  | -			height: 120,
 |  | 
 | 
											
												
													
														|  | -			dialogVisible: false,
 |  | 
 | 
											
												
													
														|  | -			showDialog: false,
 |  | 
 | 
											
												
													
														|  | -			editParams: undefined,
 |  | 
 | 
											
												
													
														|  | -			showEditDialog: false,
 |  | 
 | 
											
												
													
														|  | -			dynamicDrawTools: []
 |  | 
 | 
											
												
													
														|  | -		};
 |  | 
 | 
											
												
													
														|  | -	},
 |  | 
 | 
											
												
													
														|  | -	/* 创建 */
 |  | 
 | 
											
												
													
														|  | -	created() {
 |  | 
 | 
											
												
													
														|  | -		let _self = this;
 |  | 
 | 
											
												
													
														|  | -		/* 工具标题初始化 */
 |  | 
 | 
											
												
													
														|  | -		this.leftTools.push({
 |  | 
 | 
											
												
													
														|  | -			title: '长度量测',
 |  | 
 | 
											
												
													
														|  | -			describe: '在地图上点击需要测量对象的特征位置,即可实时计算长度并展示',
 |  | 
 | 
											
												
													
														|  | -			icon: 'app-icon-map-measurelength',
 |  | 
 | 
											
												
													
														|  | -			id: 'length'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.leftTools.push({
 |  | 
 | 
											
												
													
														|  | -			title: '面积量测',
 |  | 
 | 
											
												
													
														|  | -			describe: '在地图上点击需要测量的对象特征位置,即可实时计算面积并展示',
 |  | 
 | 
											
												
													
														|  | -			icon: 'app-icon-map-measurearea',
 |  | 
 | 
											
												
													
														|  | -			id: 'area'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.leftTools.push({
 |  | 
 | 
											
												
													
														|  | -			title: '高度测量',
 |  | 
 | 
											
												
													
														|  | -			describe: '在地图上点击需要测量的对象特征位置,即可实时计算高度并展示',
 |  | 
 | 
											
												
													
														|  | -			icon: 'app-icon-map-measureheight',
 |  | 
 | 
											
												
													
														|  | -			id: 'height'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.leftTools.push({
 |  | 
 | 
											
												
													
														|  | -			title: '空间测量',
 |  | 
 | 
											
												
													
														|  | -			describe: '在地图上点击需要测量的对象特征位置,即可实时计算空间距离并展示',
 |  | 
 | 
											
												
													
														|  | -			icon: 'app-icon-map-measurespace',
 |  | 
 | 
											
												
													
														|  | -			id: 'space'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.leftTools.push({
 |  | 
 | 
											
												
													
														|  | -			title: '三角测量',
 |  | 
 | 
											
												
													
														|  | -			describe: '在地图上点击需要测量对象的特征位置,即可实时计算长度并展示',
 |  | 
 | 
											
												
													
														|  | -			icon: 'app-icon-map-measuretriangle',
 |  | 
 | 
											
												
													
														|  | -			id: 'triangle'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.leftTools.push({
 |  | 
 | 
											
												
													
														|  | -			title: '点击查询',
 |  | 
 | 
											
												
													
														|  | -			describe: '点击后,在需要查询的位置单击,即可查询该位置的全部可见图层数据',
 |  | 
 | 
											
												
													
														|  | -			icon: 'app-icon-map-query-point',
 |  | 
 | 
											
												
													
														|  | -			id: 'queryByPoint'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.leftTools.push({
 |  | 
 | 
											
												
													
														|  | -			title: '多点查询',
 |  | 
 | 
											
												
													
														|  | -			describe: '点击后,在需要查询的位置单击,即可查询该位置的全部可见图层数据',
 |  | 
 | 
											
												
													
														|  | -			icon: 'app-icon-map-query-multiple-point',
 |  | 
 | 
											
												
													
														|  | -			id: 'queryByMultiplePoint'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.leftTools.push({
 |  | 
 | 
											
												
													
														|  | -			title: '线查询',
 |  | 
 | 
											
												
													
														|  | -			describe: '点击后,在需要查询的位置单击,即可查询该位置的全部可见图层数据',
 |  | 
 | 
											
												
													
														|  | -			icon: 'app-icon-map-query-point',
 |  | 
 | 
											
												
													
														|  | -			id: 'queryByLine'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.leftTools.push({
 |  | 
 | 
											
												
													
														|  | -			title: '圆查询',
 |  | 
 | 
											
												
													
														|  | -			describe: '点击后,在需要查询的位置单击,即可查询该位置的全部可见图层数据',
 |  | 
 | 
											
												
													
														|  | -			icon: 'app-icon-map-query-point',
 |  | 
 | 
											
												
													
														|  | -			id: 'queryByCircle'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.leftTools.push({
 |  | 
 | 
											
												
													
														|  | -			title: '矩形查询',
 |  | 
 | 
											
												
													
														|  | -			describe: '点击后,在需要查询的位置单击,即可查询该位置的全部可见图层数据',
 |  | 
 | 
											
												
													
														|  | -			icon: 'app-icon-map-query-point',
 |  | 
 | 
											
												
													
														|  | -			id: 'queryByRectangle'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.leftTools.push({
 |  | 
 | 
											
												
													
														|  | -			title: '区域查询',
 |  | 
 | 
											
												
													
														|  | -			describe: '点击后,在地图上绘制查询区域,单击开始查询,即可查询该区域内的全部可见图层数据',
 |  | 
 | 
											
												
													
														|  | -			icon: 'app-icon-map-query-polygon',
 |  | 
 | 
											
												
													
														|  | -			id: 'queryByPolygon'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.leftTools.push({
 |  | 
 | 
											
												
													
														|  | -			title: '清理绘制',
 |  | 
 | 
											
												
													
														|  | -			describe: '在地图上单击绘制底部,右键结束绘制拉伸',
 |  | 
 | 
											
												
													
														|  | -			icon: 'app-icon-map-clean',
 |  | 
 | 
											
												
													
														|  | -			id: 'toolsClear'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -		this.rightTools.push({
 |  | 
 | 
											
												
													
														|  | -			title: '图层管理',
 |  | 
 | 
											
												
													
														|  | -			describe: '点击即可打开图层控制窗口,进行图层及标注的显示/隐藏',
 |  | 
 | 
											
												
													
														|  | -			icon: 'app-icon-map-layer',
 |  | 
 | 
											
												
													
														|  | -			id: 'layerControl'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.rightTools.push({
 |  | 
 | 
											
												
													
														|  | -			title: '动态标绘',
 |  | 
 | 
											
												
													
														|  | -			describe: '点击即可打开图层控制窗口,进行图层及标注的显示/隐藏',
 |  | 
 | 
											
												
													
														|  | -			icon: 'app-icon-tools-draw',
 |  | 
 | 
											
												
													
														|  | -			id: 'dynamicDraw'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.rightTools.push({
 |  | 
 | 
											
												
													
														|  | -			title: '重置地图',
 |  | 
 | 
											
												
													
														|  | -			describe: '点击即可重置地图范围为初始显示范围',
 |  | 
 | 
											
												
													
														|  | -			icon: 'app-icon-map-initlocation',
 |  | 
 | 
											
												
													
														|  | -			id: 'initMapExtent'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.rightTools.push({
 |  | 
 | 
											
												
													
														|  | -			title: '坐标查询',
 |  | 
 | 
											
												
													
														|  | -			describe: '在地图上需要查询坐标的位置上点击,即可查询该位置的地理坐标',
 |  | 
 | 
											
												
													
														|  | -			icon: 'app-icon-map-querycoord',
 |  | 
 | 
											
												
													
														|  | -			id: 'coordQuery'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.rightTools.push({
 |  | 
 | 
											
												
													
														|  | -			title: '坐标定位',
 |  | 
 | 
											
												
													
														|  | -			describe: '点击后,弹出坐标输入框,输入正确的位置坐标后点击定位,即可在地图上展示坐标位置',
 |  | 
 | 
											
												
													
														|  | -			icon: 'app-icon-map-inputcoord-location',
 |  | 
 | 
											
												
													
														|  | -			id: 'inputLocation'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.rightTools.push({
 |  | 
 | 
											
												
													
														|  | -			title: '相机视角',
 |  | 
 | 
											
												
													
														|  | -			describe: '点击后,弹出坐标输入框,输入正确的位置坐标后点击定位,即可在地图上展示坐标位置',
 |  | 
 | 
											
												
													
														|  | -			icon: 'app-icon-map-camera-view',
 |  | 
 | 
											
												
													
														|  | -			id: 'cameraView'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.rightTools.push({
 |  | 
 | 
											
												
													
														|  | -			title: '物体拾取',
 |  | 
 | 
											
												
													
														|  | -			describe: '点击后,在地图上的实体上单击,即可拾取该实体',
 |  | 
 | 
											
												
													
														|  | -			icon: 'app-icon-map-pick',
 |  | 
 | 
											
												
													
														|  | -			id: 'pick'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.rightTools.push({
 |  | 
 | 
											
												
													
														|  | -			title: '清扫工具',
 |  | 
 | 
											
												
													
														|  | -			describe: '清除地图上的各类绘制内容',
 |  | 
 | 
											
												
													
														|  | -			icon: 'app-icon-map-clean',
 |  | 
 | 
											
												
													
														|  | -			id: 'clear'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		/* 动态标绘工具 */
 |  | 
 | 
											
												
													
														|  | -		this.dynamicDrawTools.push({
 |  | 
 | 
											
												
													
														|  | -			iconName: 'app-icon app-icon-draw-line',
 |  | 
 | 
											
												
													
														|  | -			title: '贴地线',
 |  | 
 | 
											
												
													
														|  | -			id: 'layLine',
 |  | 
 | 
											
												
													
														|  | -			message: '绘制贴地线'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.dynamicDrawTools.push({
 |  | 
 | 
											
												
													
														|  | -			iconName: 'app-icon app-icon-draw-arrow-line',
 |  | 
 | 
											
												
													
														|  | -			title: '箭头线',
 |  | 
 | 
											
												
													
														|  | -			id: 'arrowLine',
 |  | 
 | 
											
												
													
														|  | -			message: '绘制箭头线'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.dynamicDrawTools.push({
 |  | 
 | 
											
												
													
														|  | -			iconName: 'app-icon app-icon-draw-dynamic-line',
 |  | 
 | 
											
												
													
														|  | -			title: '流动线',
 |  | 
 | 
											
												
													
														|  | -			id: 'dynamicLine',
 |  | 
 | 
											
												
													
														|  | -			message: '绘制流动线'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.dynamicDrawTools.push({
 |  | 
 | 
											
												
													
														|  | -			iconName: 'app-icon app-icon-draw-grow-line',
 |  | 
 | 
											
												
													
														|  | -			title: '发光线',
 |  | 
 | 
											
												
													
														|  | -			id: 'glowLine',
 |  | 
 | 
											
												
													
														|  | -			message: '绘制发光线'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.dynamicDrawTools.push({
 |  | 
 | 
											
												
													
														|  | -			iconName: 'app-icon app-icon-draw-outline-line',
 |  | 
 | 
											
												
													
														|  | -			title: '描边线',
 |  | 
 | 
											
												
													
														|  | -			id: 'outlineLine',
 |  | 
 | 
											
												
													
														|  | -			message: '绘制描边线'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.dynamicDrawTools.push({
 |  | 
 | 
											
												
													
														|  | -			iconName: 'app-icon app-icon-draw-sline',
 |  | 
 | 
											
												
													
														|  | -			title: '空间线',
 |  | 
 | 
											
												
													
														|  | -			id: 'spatialLine',
 |  | 
 | 
											
												
													
														|  | -			message: '绘制空间线'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.dynamicDrawTools.push({
 |  | 
 | 
											
												
													
														|  | -			iconName: 'app-icon app-icon-draw-polygon',
 |  | 
 | 
											
												
													
														|  | -			title: '贴地面',
 |  | 
 | 
											
												
													
														|  | -			id: 'layPolygon',
 |  | 
 | 
											
												
													
														|  | -			message: '绘制贴地面'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.dynamicDrawTools.push({
 |  | 
 | 
											
												
													
														|  | -			iconName: 'app-icon app-icon-draw-rectangle',
 |  | 
 | 
											
												
													
														|  | -			title: '贴地矩形',
 |  | 
 | 
											
												
													
														|  | -			id: 'layRectangle',
 |  | 
 | 
											
												
													
														|  | -			message: '绘制贴地矩形'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.dynamicDrawTools.push({
 |  | 
 | 
											
												
													
														|  | -			iconName: 'app-icon app-icon-draw-circle',
 |  | 
 | 
											
												
													
														|  | -			title: '贴地圆',
 |  | 
 | 
											
												
													
														|  | -			id: 'layCircle',
 |  | 
 | 
											
												
													
														|  | -			message: '绘制贴地圆'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.dynamicDrawTools.push({
 |  | 
 | 
											
												
													
														|  | -			iconName: 'app-icon app-icon-draw-dynamic-circle',
 |  | 
 | 
											
												
													
														|  | -			title: '扩散圆',
 |  | 
 | 
											
												
													
														|  | -			id: 'dynamicCircle',
 |  | 
 | 
											
												
													
														|  | -			message: '绘制扩散圆'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.dynamicDrawTools.push({
 |  | 
 | 
											
												
													
														|  | -			iconName: 'app-icon app-icon-draw-dwall',
 |  | 
 | 
											
												
													
														|  | -			title: '动态围栏',
 |  | 
 | 
											
												
													
														|  | -			id: 'dynamicWall',
 |  | 
 | 
											
												
													
														|  | -			message: '绘制动态围栏'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.dynamicDrawTools.push({
 |  | 
 | 
											
												
													
														|  | -			iconName: 'app-icon app-icon-draw-wall',
 |  | 
 | 
											
												
													
														|  | -			title: '普通围栏',
 |  | 
 | 
											
												
													
														|  | -			id: 'normalWall',
 |  | 
 | 
											
												
													
														|  | -			message: '绘制普通围栏'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.dynamicDrawTools.push({
 |  | 
 | 
											
												
													
														|  | -			iconName: 'app-icon app-icon-draw-text',
 |  | 
 | 
											
												
													
														|  | -			title: '立体广告',
 |  | 
 | 
											
												
													
														|  | -			id: 'textBoard',
 |  | 
 | 
											
												
													
														|  | -			message: '绘制立体广告文字'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.dynamicDrawTools.push({
 |  | 
 | 
											
												
													
														|  | -			iconName: 'app-icon app-icon-draw-house',
 |  | 
 | 
											
												
													
														|  | -			title: '房屋',
 |  | 
 | 
											
												
													
														|  | -			id: 'house',
 |  | 
 | 
											
												
													
														|  | -			message: '绘制房屋'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.dynamicDrawTools.push({
 |  | 
 | 
											
												
													
														|  | -			iconName: 'app-icon app-icon-draw-video',
 |  | 
 | 
											
												
													
														|  | -			title: '视频墙',
 |  | 
 | 
											
												
													
														|  | -			id: 'videoWall',
 |  | 
 | 
											
												
													
														|  | -			message: '绘制视频墙'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.dynamicDrawTools.push({
 |  | 
 | 
											
												
													
														|  | -			iconName: 'app-icon app-icon-draw-odline',
 |  | 
 | 
											
												
													
														|  | -			title: 'OD线',
 |  | 
 | 
											
												
													
														|  | -			id: 'odLine',
 |  | 
 | 
											
												
													
														|  | -			message: '绘制OD线'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.dynamicDrawTools.push({
 |  | 
 | 
											
												
													
														|  | -			iconName: 'app-icon app-icon-map-clean',
 |  | 
 | 
											
												
													
														|  | -			title: '清除标绘',
 |  | 
 | 
											
												
													
														|  | -			id: 'clear',
 |  | 
 | 
											
												
													
														|  | -			message: '清除标绘'
 |  | 
 | 
											
												
													
														|  | -		});
 |  | 
 | 
											
												
													
														|  | -		this.editParams = DrawTools.initEditPropertyParams();
 |  | 
 | 
											
												
													
														|  | -	},
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -	methods: {
 |  | 
 | 
											
												
													
														|  | -		/**
 |  | 
 | 
											
												
													
														|  | -		 * 工具点击事件
 |  | 
 | 
											
												
													
														|  | -		 * @param {String} toolsId 工具Id
 |  | 
 | 
											
												
													
														|  | -		 */
 |  | 
 | 
											
												
													
														|  | -		onToolsClick(toolsId) {
 |  | 
 | 
											
												
													
														|  | -			let _self = this;
 |  | 
 | 
											
												
													
														|  | -			switch (toolsId) {
 |  | 
 | 
											
												
													
														|  | -				case 'length':
 |  | 
 | 
											
												
													
														|  | -					_self.$refs['cmap'].onMeasureLength();
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'area':
 |  | 
 | 
											
												
													
														|  | -					_self.$refs['cmap'].onMeasureArea();
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'height':
 |  | 
 | 
											
												
													
														|  | -					_self.$refs['cmap'].onMeasureHeight();
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'space':
 |  | 
 | 
											
												
													
														|  | -					_self.$refs['cmap'].onMeasureSpatialLength();
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'triangle':
 |  | 
 | 
											
												
													
														|  | -					_self.$refs['cmap'].onMeasureTriangle();
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'toolsClear':
 |  | 
 | 
											
												
													
														|  | -					_self.$refs['cmap'].onToolsClear();
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'queryByPolygon':
 |  | 
 | 
											
												
													
														|  | -					_self.$refs['cmap'].onQueryByPolygon();
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'queryByPoint':
 |  | 
 | 
											
												
													
														|  | -					_self.$refs['cmap'].onQueryByPoint();
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'queryByMultiplePoint':
 |  | 
 | 
											
												
													
														|  | -					_self.$refs['cmap'].onQueryByMultiplePoint();
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'queryByLine':
 |  | 
 | 
											
												
													
														|  | -					_self.$refs['cmap'].onQueryByLine();
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'queryByCircle':
 |  | 
 | 
											
												
													
														|  | -					_self.$refs['cmap'].onQueryByCircle();
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'queryByRectangle':
 |  | 
 | 
											
												
													
														|  | -					_self.$refs['cmap'].onQueryByRectangle();
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'layerControl':
 |  | 
 | 
											
												
													
														|  | -					// _self.$refs['cmap'].onTestDemo();
 |  | 
 | 
											
												
													
														|  | -					// this.showDialog = true;
 |  | 
 | 
											
												
													
														|  | -					this.showEditDialog = true;
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'dynamicDraw':
 |  | 
 | 
											
												
													
														|  | -					// _self.$refs['cmap'].onTestDemo();
 |  | 
 | 
											
												
													
														|  | -					this.showDialog = true;
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'cameraView':
 |  | 
 | 
											
												
													
														|  | -					_self.$refs['cmap'].onGetCameraViewer();
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'pick':
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'inputLocation':
 |  | 
 | 
											
												
													
														|  | -					let points = [118.163976, 35.01653, 118.164976, 35.01453, 118.162976, 35.01453];
 |  | 
 | 
											
												
													
														|  | -					_self.$refs['cmap'].onDrawFeacture(points);
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				default:
 |  | 
 | 
											
												
													
														|  | -					// Dialog.alert({
 |  | 
 | 
											
												
													
														|  | -					// 	title: '点击了',
 |  | 
 | 
											
												
													
														|  | -					// 	message: toolsId
 |  | 
 | 
											
												
													
														|  | -					// });
 |  | 
 | 
											
												
													
														|  | -					this.dialogVisible = true;
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -			}
 |  | 
 | 
											
												
													
														|  | -		},
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -		closeDialog() {
 |  | 
 | 
											
												
													
														|  | -			this.showDialog = false;
 |  | 
 | 
											
												
													
														|  | -		},
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -		/**
 |  | 
 | 
											
												
													
														|  | -		 * 标绘工具点击事件
 |  | 
 | 
											
												
													
														|  | -		 * @param {Object} item 工具项
 |  | 
 | 
											
												
													
														|  | -		 */
 |  | 
 | 
											
												
													
														|  | -		onDrawToolsClick(item) {
 |  | 
 | 
											
												
													
														|  | -			this.$message(item.message);
 |  | 
 | 
											
												
													
														|  | -			switch (item.id) {
 |  | 
 | 
											
												
													
														|  | -				case 'layLine':
 |  | 
 | 
											
												
													
														|  | -					this.$refs['cmap'].onMouseDrawEditLine();
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'arrowLine':
 |  | 
 | 
											
												
													
														|  | -					this.$refs['cmap'].onMouseDrawEditArrowLine();
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'dynamicLine':
 |  | 
 | 
											
												
													
														|  | -					this.$refs['cmap'].onMouseDrawEditDynamicLine();
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'glowLine':
 |  | 
 | 
											
												
													
														|  | -					this.$refs['cmap'].onMouseDrawEditGrawLine();
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'outlineLine':
 |  | 
 | 
											
												
													
														|  | -					this.$refs['cmap'].onMouseDrawEditOutlineLine();
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'layPolygon':
 |  | 
 | 
											
												
													
														|  | -					this.$refs['cmap'].onMouseDrawEditPolygon();
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'spatialLine':
 |  | 
 | 
											
												
													
														|  | -					this.$refs['cmap'].onMouseDrawEditSpatialPolyline();
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'layRectangle':
 |  | 
 | 
											
												
													
														|  | -					this.$refs['cmap'].onMouseDrawEditRectangle();
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'layCircle':
 |  | 
 | 
											
												
													
														|  | -					this.$refs['cmap'].onMouseDrawEditCircle();
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'dynamicCircle':
 |  | 
 | 
											
												
													
														|  | -					this.$refs['cmap'].onMouseDrawDynamicCircle();
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'dynamicWall':
 |  | 
 | 
											
												
													
														|  | -					this.$refs['cmap'].onMouseDrawDynamicEditWall();
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'normalWall':
 |  | 
 | 
											
												
													
														|  | -					this.$refs['cmap'].onMouseDrawColorEditWall();
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'textBoard':
 |  | 
 | 
											
												
													
														|  | -					this.$refs['cmap'].onMouseDrawEditText();
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'house':
 |  | 
 | 
											
												
													
														|  | -					this.$refs['cmap'].onMoouseDrawPolygonBody();
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'videoWall':
 |  | 
 | 
											
												
													
														|  | -					this.$refs['cmap'].onMouseDrawEditVideoWall();
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'odLine':
 |  | 
 | 
											
												
													
														|  | -					this.$refs['cmap'].onMouseDrawEditOdline();
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -				case 'clear':
 |  | 
 | 
											
												
													
														|  | -					this.$refs['cmap'].onClearDraw();
 |  | 
 | 
											
												
													
														|  | -					break;
 |  | 
 | 
											
												
													
														|  | -			}
 |  | 
 | 
											
												
													
														|  | -			this.showDialog = false;
 |  | 
 | 
											
												
													
														|  | -		},
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -		/**
 |  | 
 | 
											
												
													
														|  | -		 * 属性编辑调用
 |  | 
 | 
											
												
													
														|  | -		 * @param {JSON} param 传递的编辑参数
 |  | 
 | 
											
												
													
														|  | -		 */
 |  | 
 | 
											
												
													
														|  | -		onEditProperty(param) {
 |  | 
 | 
											
												
													
														|  | -			// console.log('===传递参数,打开编辑框>>>', param);
 |  | 
 | 
											
												
													
														|  | -			/* 打开对话框 */
 |  | 
 | 
											
												
													
														|  | -			this.showEditDialog = true;
 |  | 
 | 
											
												
													
														|  | -			/* 赋值参数 */
 |  | 
 | 
											
												
													
														|  | -			for (let key in this.editParams) {
 |  | 
 | 
											
												
													
														|  | -				this.editParams[key] = param[key];
 |  | 
 | 
											
												
													
														|  | -			}
 |  | 
 | 
											
												
													
														|  | -			this.$refs['dialogEdit'].updateParams(this.editParams);
 |  | 
 | 
											
												
													
														|  | -		},
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -		/**
 |  | 
 | 
											
												
													
														|  | -		 * 实体属性提交更改
 |  | 
 | 
											
												
													
														|  | -		 * @param {JSON} param 参数
 |  | 
 | 
											
												
													
														|  | -		 */
 |  | 
 | 
											
												
													
														|  | -		submit(param) {
 |  | 
 | 
											
												
													
														|  | -			// console.log('===>>>对话框提交的参数', param);
 |  | 
 | 
											
												
													
														|  | -			this.$refs['cmap'].onSubmitEditProperty(param);
 |  | 
 | 
											
												
													
														|  | -		},
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -		/**
 |  | 
 | 
											
												
													
														|  | -		 * 移除实体
 |  | 
 | 
											
												
													
														|  | -		 */
 |  | 
 | 
											
												
													
														|  | -		remove() {
 |  | 
 | 
											
												
													
														|  | -			this.$refs['cmap'].onRemoveEditEntity();
 |  | 
 | 
											
												
													
														|  | -		}
 |  | 
 | 
											
												
													
														|  | -	}
 |  | 
 | 
											
												
													
														|  | -};
 |  | 
 | 
											
												
													
														|  | -</script>
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -<style lang="scss" scoped>
 |  | 
 | 
											
												
													
														|  | -.cr-color-label {
 |  | 
 | 
											
												
													
														|  | -	padding-left: 15px;
 |  | 
 | 
											
												
													
														|  | -	height: 30px;
 |  | 
 | 
											
												
													
														|  | -	line-height: 30px;
 |  | 
 | 
											
												
													
														|  | -	color: rgb(144, 225, 255);
 |  | 
 | 
											
												
													
														|  | -	font-weight: bold;
 |  | 
 | 
											
												
													
														|  | -	text-align: left;
 |  | 
 | 
											
												
													
														|  | -	background-color: rgb(29, 99, 248);
 |  | 
 | 
											
												
													
														|  | -}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -/* 弹框子内容容器样式 */
 |  | 
 | 
											
												
													
														|  | -.cr-popup-content .cr-popup-child-content {
 |  | 
 | 
											
												
													
														|  | -	padding: 10px;
 |  | 
 | 
											
												
													
														|  | -	display: flex;
 |  | 
 | 
											
												
													
														|  | -	flex-direction: column;
 |  | 
 | 
											
												
													
														|  | -	width: calc(100% - 20px);
 |  | 
 | 
											
												
													
														|  | -}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -/* 弹出框 主要内容 子内容子项通用样式 */
 |  | 
 | 
											
												
													
														|  | -.cr-popup-content .cr-popup-child-content > * {
 |  | 
 | 
											
												
													
														|  | -	margin: 10px 0px;
 |  | 
 | 
											
												
													
														|  | -	font-family: 'Alimama_ShuHeiTi_Bold' !important;
 |  | 
 | 
											
												
													
														|  | -}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -/* 临时设置帧率位置 */
 |  | 
 | 
											
												
													
														|  | -.cesium-performanceDisplay-defaultContainer {
 |  | 
 | 
											
												
													
														|  | -	top: unset;
 |  | 
 | 
											
												
													
														|  | -	bottom: 80px;
 |  | 
 | 
											
												
													
														|  | -	right: unset;
 |  | 
 | 
											
												
													
														|  | -	left: 10px;
 |  | 
 | 
											
												
													
														|  | -}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -.jt-slider-button {
 |  | 
 | 
											
												
													
														|  | -	width: 20px;
 |  | 
 | 
											
												
													
														|  | -	height: 18px;
 |  | 
 | 
											
												
													
														|  | -	color: rgb(202, 94, 92);
 |  | 
 | 
											
												
													
														|  | -	font-size: 10px;
 |  | 
 | 
											
												
													
														|  | -	line-height: 18px;
 |  | 
 | 
											
												
													
														|  | -	text-align: center;
 |  | 
 | 
											
												
													
														|  | -	background-color: rgb(202, 94, 92);
 |  | 
 | 
											
												
													
														|  | -	border-radius: 100px;
 |  | 
 | 
											
												
													
														|  | -}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -.van-slider {
 |  | 
 | 
											
												
													
														|  | -	margin: 10px !important;
 |  | 
 | 
											
												
													
														|  | -	width: calc(100% - 20px) !important;
 |  | 
 | 
											
												
													
														|  | -}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -.cr-edit-buttons {
 |  | 
 | 
											
												
													
														|  | -	display: flex;
 |  | 
 | 
											
												
													
														|  | -	flex-direction: row;
 |  | 
 | 
											
												
													
														|  | -}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -.cr-edit-buttons > * {
 |  | 
 | 
											
												
													
														|  | -	flex: 1;
 |  | 
 | 
											
												
													
														|  | -	margin-left: 8px !important;
 |  | 
 | 
											
												
													
														|  | -	height: 34px !important;
 |  | 
 | 
											
												
													
														|  | -}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -.cr-edit-buttons > :first-child {
 |  | 
 | 
											
												
													
														|  | -	margin-left: 0px !important;
 |  | 
 | 
											
												
													
														|  | -}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -/* 工具框样式 */
 |  | 
 | 
											
												
													
														|  | -.jt-tools-dialog {
 |  | 
 | 
											
												
													
														|  | -	top: 0px;
 |  | 
 | 
											
												
													
														|  | -	.el-col {
 |  | 
 | 
											
												
													
														|  | -		padding: 10px;
 |  | 
 | 
											
												
													
														|  | -	}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -	.el-col:hover {
 |  | 
 | 
											
												
													
														|  | -		cursor: pointer;
 |  | 
 | 
											
												
													
														|  | -		background-color: rgba(0, 0, 0, 0.5);
 |  | 
 | 
											
												
													
														|  | -	}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -	i {
 |  | 
 | 
											
												
													
														|  | -		display: inline-block;
 |  | 
 | 
											
												
													
														|  | -		width: 100%;
 |  | 
 | 
											
												
													
														|  | -		height: 36px;
 |  | 
 | 
											
												
													
														|  | -		line-height: 36px;
 |  | 
 | 
											
												
													
														|  | -		text-align: center;
 |  | 
 | 
											
												
													
														|  | -		border-radius: 5px;
 |  | 
 | 
											
												
													
														|  | -		font-size: 30px;
 |  | 
 | 
											
												
													
														|  | -		color: rgba(252, 152, 0, 1);
 |  | 
 | 
											
												
													
														|  | -		transition: all 0.3s;
 |  | 
 | 
											
												
													
														|  | -		-webkit-transition: all 0.3s;
 |  | 
 | 
											
												
													
														|  | -	}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -	cite {
 |  | 
 | 
											
												
													
														|  | -		position: relative;
 |  | 
 | 
											
												
													
														|  | -		top: 5px;
 |  | 
 | 
											
												
													
														|  | -		display: block;
 |  | 
 | 
											
												
													
														|  | -		color: rgba(255, 255, 255, 1);
 |  | 
 | 
											
												
													
														|  | -		text-overflow: ellipsis;
 |  | 
 | 
											
												
													
														|  | -		overflow: hidden;
 |  | 
 | 
											
												
													
														|  | -		white-space: nowrap;
 |  | 
 | 
											
												
													
														|  | -		font-size: 14px;
 |  | 
 | 
											
												
													
														|  | -		font-style: normal;
 |  | 
 | 
											
												
													
														|  | -		text-align: center;
 |  | 
 | 
											
												
													
														|  | -		font-family: 'Alimama_ShuHeiTi_Bold';
 |  | 
 | 
											
												
													
														|  | -	}
 |  | 
 | 
											
												
													
														|  | -}
 |  | 
 | 
											
												
													
														|  | -</style>
 |  | 
 | 
											
												
													
														|  | 
 |  | +<template>
 | 
											
												
													
														|  | 
 |  | +	<CrMap ref="cmap" @onEditProperty="onEditProperty"></CrMap>
 | 
											
												
													
														|  | 
 |  | +	<view class="cr-tools-left">
 | 
											
												
													
														|  | 
 |  | +		<ToolButton v-for="(item, index) in leftTools" :id="item.id" :title="item.title" :describe="item.describe"
 | 
											
												
													
														|  | 
 |  | +			:icon="item.icon" @onclick="onToolsClick" />
 | 
											
												
													
														|  | 
 |  | +	</view>
 | 
											
												
													
														|  | 
 |  | +	<view class="cr-tools-right">
 | 
											
												
													
														|  | 
 |  | +		<ToolButton v-for="(item, index) in rightTools" :id="item.id" :title="item.title" :describe="item.describe"
 | 
											
												
													
														|  | 
 |  | +			:icon="item.icon" @onclick="onToolsClick" />
 | 
											
												
													
														|  | 
 |  | +	</view>
 | 
											
												
													
														|  | 
 |  | +	<jtDialog class="jt-tools-dialog" :showDialog="showDialog" title="动态标绘" height="calc(100% - 50px)" width="300px"
 | 
											
												
													
														|  | 
 |  | +		top="0px" @closeJTDialog="closeDialog">
 | 
											
												
													
														|  | 
 |  | +		<el-row :gutter="20">
 | 
											
												
													
														|  | 
 |  | +			<el-col :span="8" v-for="(item, index) in dynamicDrawTools" @click="onDrawToolsClick(item)">
 | 
											
												
													
														|  | 
 |  | +				<el-avatar shape="circle" :size="50" style="background-color: bisque;"><i
 | 
											
												
													
														|  | 
 |  | +						:class="item.iconName" /></el-avatar>
 | 
											
												
													
														|  | 
 |  | +				<cite>{{ item.title }}</cite>
 | 
											
												
													
														|  | 
 |  | +			</el-col>
 | 
											
												
													
														|  | 
 |  | +		</el-row>
 | 
											
												
													
														|  | 
 |  | +	</jtDialog>
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +	<!-- 墙的编辑框 -->
 | 
											
												
													
														|  | 
 |  | +	<dialogEditProperty ref="dialogEdit" :params="editParams" @submit="submit" @remove="remove"
 | 
											
												
													
														|  | 
 |  | +		v-model:showDialog="showEditDialog"></dialogEditProperty>
 | 
											
												
													
														|  | 
 |  | +</template>
 | 
											
												
													
														|  | 
 |  | +<script setup>
 | 
											
												
													
														|  | 
 |  | +	import {
 | 
											
												
													
														|  | 
 |  | +		Dialog
 | 
											
												
													
														|  | 
 |  | +	} from 'vant';
 | 
											
												
													
														|  | 
 |  | +	/* 引入弹出对话框 */
 | 
											
												
													
														|  | 
 |  | +	import jtDialog from '../components/jt-dialog/dialog.vue';
 | 
											
												
													
														|  | 
 |  | +	/* 引入墙的编辑对话框 */
 | 
											
												
													
														|  | 
 |  | +	import dialogEditProperty from '../components/jt-dialog/dialogEditProperty.vue';
 | 
											
												
													
														|  | 
 |  | +</script>
 | 
											
												
													
														|  | 
 |  | +<script>
 | 
											
												
													
														|  | 
 |  | +	/* 引入三维地图控件 */
 | 
											
												
													
														|  | 
 |  | +	import CrMap from '../components/CrMap/CrMap.vue';
 | 
											
												
													
														|  | 
 |  | +	import {
 | 
											
												
													
														|  | 
 |  | +		DrawTools
 | 
											
												
													
														|  | 
 |  | +	} from '../components/CrMap/DrawTools.js';
 | 
											
												
													
														|  | 
 |  | +	import {
 | 
											
												
													
														|  | 
 |  | +		ref
 | 
											
												
													
														|  | 
 |  | +	} from 'vue';
 | 
											
												
													
														|  | 
 |  | +	/* 引入工具按钮 */
 | 
											
												
													
														|  | 
 |  | +	import ToolButtom from '../components/ToolButton/ToolButton.vue';
 | 
											
												
													
														|  | 
 |  | +	export default {
 | 
											
												
													
														|  | 
 |  | +		components: {
 | 
											
												
													
														|  | 
 |  | +			CrMap
 | 
											
												
													
														|  | 
 |  | +		},
 | 
											
												
													
														|  | 
 |  | +		/* 返回数据 */
 | 
											
												
													
														|  | 
 |  | +		data() {
 | 
											
												
													
														|  | 
 |  | +			return {
 | 
											
												
													
														|  | 
 |  | +				leftTools: [],
 | 
											
												
													
														|  | 
 |  | +				rightTools: [],
 | 
											
												
													
														|  | 
 |  | +				showOverlay: false,
 | 
											
												
													
														|  | 
 |  | +				poputNavTitle: '物体样式调整',
 | 
											
												
													
														|  | 
 |  | +				color: {
 | 
											
												
													
														|  | 
 |  | +					red: 0,
 | 
											
												
													
														|  | 
 |  | +					green: 100,
 | 
											
												
													
														|  | 
 |  | +					blue: 255,
 | 
											
												
													
														|  | 
 |  | +					alpha: 6
 | 
											
												
													
														|  | 
 |  | +				},
 | 
											
												
													
														|  | 
 |  | +				height: 120,
 | 
											
												
													
														|  | 
 |  | +				dialogVisible: false,
 | 
											
												
													
														|  | 
 |  | +				showDialog: false,
 | 
											
												
													
														|  | 
 |  | +				editParams: undefined,
 | 
											
												
													
														|  | 
 |  | +				showEditDialog: false,
 | 
											
												
													
														|  | 
 |  | +				dynamicDrawTools: []
 | 
											
												
													
														|  | 
 |  | +			};
 | 
											
												
													
														|  | 
 |  | +		},
 | 
											
												
													
														|  | 
 |  | +		/* 创建 */
 | 
											
												
													
														|  | 
 |  | +		created() {
 | 
											
												
													
														|  | 
 |  | +			let _self = this;
 | 
											
												
													
														|  | 
 |  | +			/* 工具标题初始化 */
 | 
											
												
													
														|  | 
 |  | +			this.leftTools.push({
 | 
											
												
													
														|  | 
 |  | +				title: '长度量测',
 | 
											
												
													
														|  | 
 |  | +				describe: '在地图上点击需要测量对象的特征位置,即可实时计算长度并展示',
 | 
											
												
													
														|  | 
 |  | +				icon: 'app-icon-map-measurelength',
 | 
											
												
													
														|  | 
 |  | +				id: 'length'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.leftTools.push({
 | 
											
												
													
														|  | 
 |  | +				title: '面积量测',
 | 
											
												
													
														|  | 
 |  | +				describe: '在地图上点击需要测量的对象特征位置,即可实时计算面积并展示',
 | 
											
												
													
														|  | 
 |  | +				icon: 'app-icon-map-measurearea',
 | 
											
												
													
														|  | 
 |  | +				id: 'area'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.leftTools.push({
 | 
											
												
													
														|  | 
 |  | +				title: '高度测量',
 | 
											
												
													
														|  | 
 |  | +				describe: '在地图上点击需要测量的对象特征位置,即可实时计算高度并展示',
 | 
											
												
													
														|  | 
 |  | +				icon: 'app-icon-map-measureheight',
 | 
											
												
													
														|  | 
 |  | +				id: 'height'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.leftTools.push({
 | 
											
												
													
														|  | 
 |  | +				title: '空间测量',
 | 
											
												
													
														|  | 
 |  | +				describe: '在地图上点击需要测量的对象特征位置,即可实时计算空间距离并展示',
 | 
											
												
													
														|  | 
 |  | +				icon: 'app-icon-map-measurespace',
 | 
											
												
													
														|  | 
 |  | +				id: 'space'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.leftTools.push({
 | 
											
												
													
														|  | 
 |  | +				title: '三角测量',
 | 
											
												
													
														|  | 
 |  | +				describe: '在地图上点击需要测量对象的特征位置,即可实时计算长度并展示',
 | 
											
												
													
														|  | 
 |  | +				icon: 'app-icon-map-measuretriangle',
 | 
											
												
													
														|  | 
 |  | +				id: 'triangle'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.leftTools.push({
 | 
											
												
													
														|  | 
 |  | +				title: '点击查询',
 | 
											
												
													
														|  | 
 |  | +				describe: '点击后,在需要查询的位置单击,即可查询该位置的全部可见图层数据',
 | 
											
												
													
														|  | 
 |  | +				icon: 'app-icon-map-query-point',
 | 
											
												
													
														|  | 
 |  | +				id: 'queryByPoint'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.leftTools.push({
 | 
											
												
													
														|  | 
 |  | +				title: '多点查询',
 | 
											
												
													
														|  | 
 |  | +				describe: '点击后,在需要查询的位置单击,即可查询该位置的全部可见图层数据',
 | 
											
												
													
														|  | 
 |  | +				icon: 'app-icon-map-query-multiple-point',
 | 
											
												
													
														|  | 
 |  | +				id: 'queryByMultiplePoint'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.leftTools.push({
 | 
											
												
													
														|  | 
 |  | +				title: '线查询',
 | 
											
												
													
														|  | 
 |  | +				describe: '点击后,在需要查询的位置单击,即可查询该位置的全部可见图层数据',
 | 
											
												
													
														|  | 
 |  | +				icon: 'app-icon-map-query-point',
 | 
											
												
													
														|  | 
 |  | +				id: 'queryByLine'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.leftTools.push({
 | 
											
												
													
														|  | 
 |  | +				title: '圆查询',
 | 
											
												
													
														|  | 
 |  | +				describe: '点击后,在需要查询的位置单击,即可查询该位置的全部可见图层数据',
 | 
											
												
													
														|  | 
 |  | +				icon: 'app-icon-map-query-point',
 | 
											
												
													
														|  | 
 |  | +				id: 'queryByCircle'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.leftTools.push({
 | 
											
												
													
														|  | 
 |  | +				title: '矩形查询',
 | 
											
												
													
														|  | 
 |  | +				describe: '点击后,在需要查询的位置单击,即可查询该位置的全部可见图层数据',
 | 
											
												
													
														|  | 
 |  | +				icon: 'app-icon-map-query-point',
 | 
											
												
													
														|  | 
 |  | +				id: 'queryByRectangle'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.leftTools.push({
 | 
											
												
													
														|  | 
 |  | +				title: '区域查询',
 | 
											
												
													
														|  | 
 |  | +				describe: '点击后,在地图上绘制查询区域,单击开始查询,即可查询该区域内的全部可见图层数据',
 | 
											
												
													
														|  | 
 |  | +				icon: 'app-icon-map-query-polygon',
 | 
											
												
													
														|  | 
 |  | +				id: 'queryByPolygon'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.leftTools.push({
 | 
											
												
													
														|  | 
 |  | +				title: '清理绘制',
 | 
											
												
													
														|  | 
 |  | +				describe: '在地图上单击绘制底部,右键结束绘制拉伸',
 | 
											
												
													
														|  | 
 |  | +				icon: 'app-icon-map-clean',
 | 
											
												
													
														|  | 
 |  | +				id: 'toolsClear'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +			this.rightTools.push({
 | 
											
												
													
														|  | 
 |  | +				title: '图层管理',
 | 
											
												
													
														|  | 
 |  | +				describe: '点击即可打开图层控制窗口,进行图层及标注的显示/隐藏',
 | 
											
												
													
														|  | 
 |  | +				icon: 'app-icon-map-layer',
 | 
											
												
													
														|  | 
 |  | +				id: 'layerControl'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.rightTools.push({
 | 
											
												
													
														|  | 
 |  | +				title: '动态标绘',
 | 
											
												
													
														|  | 
 |  | +				describe: '点击即可打开图层控制窗口,进行图层及标注的显示/隐藏',
 | 
											
												
													
														|  | 
 |  | +				icon: 'app-icon-tools-draw',
 | 
											
												
													
														|  | 
 |  | +				id: 'dynamicDraw'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.rightTools.push({
 | 
											
												
													
														|  | 
 |  | +				title: '重置地图',
 | 
											
												
													
														|  | 
 |  | +				describe: '点击即可重置地图范围为初始显示范围',
 | 
											
												
													
														|  | 
 |  | +				icon: 'app-icon-map-initlocation',
 | 
											
												
													
														|  | 
 |  | +				id: 'initMapExtent'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.rightTools.push({
 | 
											
												
													
														|  | 
 |  | +				title: '坐标查询',
 | 
											
												
													
														|  | 
 |  | +				describe: '在地图上需要查询坐标的位置上点击,即可查询该位置的地理坐标',
 | 
											
												
													
														|  | 
 |  | +				icon: 'app-icon-map-querycoord',
 | 
											
												
													
														|  | 
 |  | +				id: 'coordQuery'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.rightTools.push({
 | 
											
												
													
														|  | 
 |  | +				title: '坐标定位',
 | 
											
												
													
														|  | 
 |  | +				describe: '点击后,弹出坐标输入框,输入正确的位置坐标后点击定位,即可在地图上展示坐标位置',
 | 
											
												
													
														|  | 
 |  | +				icon: 'app-icon-map-inputcoord-location',
 | 
											
												
													
														|  | 
 |  | +				id: 'inputLocation'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.rightTools.push({
 | 
											
												
													
														|  | 
 |  | +				title: '相机视角',
 | 
											
												
													
														|  | 
 |  | +				describe: '点击后,弹出坐标输入框,输入正确的位置坐标后点击定位,即可在地图上展示坐标位置',
 | 
											
												
													
														|  | 
 |  | +				icon: 'app-icon-map-camera-view',
 | 
											
												
													
														|  | 
 |  | +				id: 'cameraView'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.rightTools.push({
 | 
											
												
													
														|  | 
 |  | +				title: '物体拾取',
 | 
											
												
													
														|  | 
 |  | +				describe: '点击后,在地图上的实体上单击,即可拾取该实体',
 | 
											
												
													
														|  | 
 |  | +				icon: 'app-icon-map-pick',
 | 
											
												
													
														|  | 
 |  | +				id: 'pick'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.rightTools.push({
 | 
											
												
													
														|  | 
 |  | +				title: '清扫工具',
 | 
											
												
													
														|  | 
 |  | +				describe: '清除地图上的各类绘制内容',
 | 
											
												
													
														|  | 
 |  | +				icon: 'app-icon-map-clean',
 | 
											
												
													
														|  | 
 |  | +				id: 'clear'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			/* 动态标绘工具 */
 | 
											
												
													
														|  | 
 |  | +			this.dynamicDrawTools.push({
 | 
											
												
													
														|  | 
 |  | +				iconName: 'app-icon app-icon-draw-line',
 | 
											
												
													
														|  | 
 |  | +				title: '贴地线',
 | 
											
												
													
														|  | 
 |  | +				id: 'layLine',
 | 
											
												
													
														|  | 
 |  | +				message: '绘制贴地线'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.dynamicDrawTools.push({
 | 
											
												
													
														|  | 
 |  | +				iconName: 'app-icon app-icon-draw-arrow-line',
 | 
											
												
													
														|  | 
 |  | +				title: '箭头线',
 | 
											
												
													
														|  | 
 |  | +				id: 'arrowLine',
 | 
											
												
													
														|  | 
 |  | +				message: '绘制箭头线'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.dynamicDrawTools.push({
 | 
											
												
													
														|  | 
 |  | +				iconName: 'app-icon app-icon-draw-dynamic-line',
 | 
											
												
													
														|  | 
 |  | +				title: '流动线',
 | 
											
												
													
														|  | 
 |  | +				id: 'dynamicLine',
 | 
											
												
													
														|  | 
 |  | +				message: '绘制流动线'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.dynamicDrawTools.push({
 | 
											
												
													
														|  | 
 |  | +				iconName: 'app-icon app-icon-draw-grow-line',
 | 
											
												
													
														|  | 
 |  | +				title: '发光线',
 | 
											
												
													
														|  | 
 |  | +				id: 'glowLine',
 | 
											
												
													
														|  | 
 |  | +				message: '绘制发光线'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.dynamicDrawTools.push({
 | 
											
												
													
														|  | 
 |  | +				iconName: 'app-icon app-icon-draw-outline-line',
 | 
											
												
													
														|  | 
 |  | +				title: '描边线',
 | 
											
												
													
														|  | 
 |  | +				id: 'outlineLine',
 | 
											
												
													
														|  | 
 |  | +				message: '绘制描边线'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.dynamicDrawTools.push({
 | 
											
												
													
														|  | 
 |  | +				iconName: 'app-icon app-icon-draw-sline',
 | 
											
												
													
														|  | 
 |  | +				title: '空间线',
 | 
											
												
													
														|  | 
 |  | +				id: 'spatialLine',
 | 
											
												
													
														|  | 
 |  | +				message: '绘制空间线'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.dynamicDrawTools.push({
 | 
											
												
													
														|  | 
 |  | +				iconName: 'app-icon app-icon-draw-polygon',
 | 
											
												
													
														|  | 
 |  | +				title: '贴地面',
 | 
											
												
													
														|  | 
 |  | +				id: 'layPolygon',
 | 
											
												
													
														|  | 
 |  | +				message: '绘制贴地面'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.dynamicDrawTools.push({
 | 
											
												
													
														|  | 
 |  | +				iconName: 'app-icon app-icon-draw-rectangle',
 | 
											
												
													
														|  | 
 |  | +				title: '贴地矩形',
 | 
											
												
													
														|  | 
 |  | +				id: 'layRectangle',
 | 
											
												
													
														|  | 
 |  | +				message: '绘制贴地矩形'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.dynamicDrawTools.push({
 | 
											
												
													
														|  | 
 |  | +				iconName: 'app-icon app-icon-draw-circle',
 | 
											
												
													
														|  | 
 |  | +				title: '贴地圆',
 | 
											
												
													
														|  | 
 |  | +				id: 'layCircle',
 | 
											
												
													
														|  | 
 |  | +				message: '绘制贴地圆'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.dynamicDrawTools.push({
 | 
											
												
													
														|  | 
 |  | +				iconName: 'app-icon app-icon-draw-dynamic-circle',
 | 
											
												
													
														|  | 
 |  | +				title: '扩散圆',
 | 
											
												
													
														|  | 
 |  | +				id: 'dynamicCircle',
 | 
											
												
													
														|  | 
 |  | +				message: '绘制扩散圆'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.dynamicDrawTools.push({
 | 
											
												
													
														|  | 
 |  | +				iconName: 'app-icon app-icon-draw-dwall',
 | 
											
												
													
														|  | 
 |  | +				title: '动态围栏',
 | 
											
												
													
														|  | 
 |  | +				id: 'dynamicWall',
 | 
											
												
													
														|  | 
 |  | +				message: '绘制动态围栏'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.dynamicDrawTools.push({
 | 
											
												
													
														|  | 
 |  | +				iconName: 'app-icon app-icon-draw-wall',
 | 
											
												
													
														|  | 
 |  | +				title: '普通围栏',
 | 
											
												
													
														|  | 
 |  | +				id: 'normalWall',
 | 
											
												
													
														|  | 
 |  | +				message: '绘制普通围栏'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.dynamicDrawTools.push({
 | 
											
												
													
														|  | 
 |  | +				iconName: 'app-icon app-icon-draw-text',
 | 
											
												
													
														|  | 
 |  | +				title: '立体广告',
 | 
											
												
													
														|  | 
 |  | +				id: 'textBoard',
 | 
											
												
													
														|  | 
 |  | +				message: '绘制立体广告文字'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.dynamicDrawTools.push({
 | 
											
												
													
														|  | 
 |  | +				iconName: 'app-icon app-icon-draw-house',
 | 
											
												
													
														|  | 
 |  | +				title: '房屋',
 | 
											
												
													
														|  | 
 |  | +				id: 'house',
 | 
											
												
													
														|  | 
 |  | +				message: '绘制房屋'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.dynamicDrawTools.push({
 | 
											
												
													
														|  | 
 |  | +				iconName: 'app-icon app-icon-draw-video',
 | 
											
												
													
														|  | 
 |  | +				title: '视频墙',
 | 
											
												
													
														|  | 
 |  | +				id: 'videoWall',
 | 
											
												
													
														|  | 
 |  | +				message: '绘制视频墙'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.dynamicDrawTools.push({
 | 
											
												
													
														|  | 
 |  | +				iconName: 'app-icon app-icon-draw-odline',
 | 
											
												
													
														|  | 
 |  | +				title: 'OD线',
 | 
											
												
													
														|  | 
 |  | +				id: 'odLine',
 | 
											
												
													
														|  | 
 |  | +				message: '绘制OD线'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.dynamicDrawTools.push({
 | 
											
												
													
														|  | 
 |  | +				iconName: 'app-icon app-icon-tools-doodle',
 | 
											
												
													
														|  | 
 |  | +				title: '涂鸦',
 | 
											
												
													
														|  | 
 |  | +				id: 'doodle',
 | 
											
												
													
														|  | 
 |  | +				message: '绘制涂鸦'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.dynamicDrawTools.push({
 | 
											
												
													
														|  | 
 |  | +				iconName: 'app-icon app-icon-map-clean',
 | 
											
												
													
														|  | 
 |  | +				title: '清除标绘',
 | 
											
												
													
														|  | 
 |  | +				id: 'clear',
 | 
											
												
													
														|  | 
 |  | +				message: '清除标绘'
 | 
											
												
													
														|  | 
 |  | +			});
 | 
											
												
													
														|  | 
 |  | +			this.editParams = DrawTools.initEditPropertyParams();
 | 
											
												
													
														|  | 
 |  | +		},
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +		methods: {
 | 
											
												
													
														|  | 
 |  | +			/**
 | 
											
												
													
														|  | 
 |  | +			 * 工具点击事件
 | 
											
												
													
														|  | 
 |  | +			 * @param {String} toolsId 工具Id
 | 
											
												
													
														|  | 
 |  | +			 */
 | 
											
												
													
														|  | 
 |  | +			onToolsClick(toolsId) {
 | 
											
												
													
														|  | 
 |  | +				let _self = this;
 | 
											
												
													
														|  | 
 |  | +				switch (toolsId) {
 | 
											
												
													
														|  | 
 |  | +					case 'length':
 | 
											
												
													
														|  | 
 |  | +						_self.$refs['cmap'].onMeasureLength();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'area':
 | 
											
												
													
														|  | 
 |  | +						_self.$refs['cmap'].onMeasureArea();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'height':
 | 
											
												
													
														|  | 
 |  | +						_self.$refs['cmap'].onMeasureHeight();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'space':
 | 
											
												
													
														|  | 
 |  | +						_self.$refs['cmap'].onMeasureSpatialLength();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'triangle':
 | 
											
												
													
														|  | 
 |  | +						_self.$refs['cmap'].onMeasureTriangle();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'toolsClear':
 | 
											
												
													
														|  | 
 |  | +						_self.$refs['cmap'].onToolsClear();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'queryByPolygon':
 | 
											
												
													
														|  | 
 |  | +						_self.$refs['cmap'].onQueryByPolygon();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'queryByPoint':
 | 
											
												
													
														|  | 
 |  | +						_self.$refs['cmap'].onQueryByPoint();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'queryByMultiplePoint':
 | 
											
												
													
														|  | 
 |  | +						_self.$refs['cmap'].onQueryByMultiplePoint();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'queryByLine':
 | 
											
												
													
														|  | 
 |  | +						_self.$refs['cmap'].onQueryByLine();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'queryByCircle':
 | 
											
												
													
														|  | 
 |  | +						_self.$refs['cmap'].onQueryByCircle();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'queryByRectangle':
 | 
											
												
													
														|  | 
 |  | +						_self.$refs['cmap'].onQueryByRectangle();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'layerControl':
 | 
											
												
													
														|  | 
 |  | +						// _self.$refs['cmap'].onTestDemo();
 | 
											
												
													
														|  | 
 |  | +						// this.showDialog = true;
 | 
											
												
													
														|  | 
 |  | +						this.showEditDialog = true;
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'dynamicDraw':
 | 
											
												
													
														|  | 
 |  | +						// _self.$refs['cmap'].onTestDemo();
 | 
											
												
													
														|  | 
 |  | +						this.showDialog = true;
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'cameraView':
 | 
											
												
													
														|  | 
 |  | +						_self.$refs['cmap'].onGetCameraViewer();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'pick':
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'inputLocation':
 | 
											
												
													
														|  | 
 |  | +						let points = [118.163976, 35.01653, 118.164976, 35.01453, 118.162976, 35.01453];
 | 
											
												
													
														|  | 
 |  | +						_self.$refs['cmap'].onDrawFeacture(points);
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					default:
 | 
											
												
													
														|  | 
 |  | +						// Dialog.alert({
 | 
											
												
													
														|  | 
 |  | +						// 	title: '点击了',
 | 
											
												
													
														|  | 
 |  | +						// 	message: toolsId
 | 
											
												
													
														|  | 
 |  | +						// });
 | 
											
												
													
														|  | 
 |  | +						this.dialogVisible = true;
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +				}
 | 
											
												
													
														|  | 
 |  | +			},
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +			closeDialog() {
 | 
											
												
													
														|  | 
 |  | +				this.showDialog = false;
 | 
											
												
													
														|  | 
 |  | +			},
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +			/**
 | 
											
												
													
														|  | 
 |  | +			 * 标绘工具点击事件
 | 
											
												
													
														|  | 
 |  | +			 * @param {Object} item 工具项
 | 
											
												
													
														|  | 
 |  | +			 */
 | 
											
												
													
														|  | 
 |  | +			onDrawToolsClick(item) {
 | 
											
												
													
														|  | 
 |  | +				this.$message(item.message);
 | 
											
												
													
														|  | 
 |  | +				switch (item.id) {
 | 
											
												
													
														|  | 
 |  | +					case 'layLine':
 | 
											
												
													
														|  | 
 |  | +						this.$refs['cmap'].onMouseDrawEditLine();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'arrowLine':
 | 
											
												
													
														|  | 
 |  | +						this.$refs['cmap'].onMouseDrawEditArrowLine();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'dynamicLine':
 | 
											
												
													
														|  | 
 |  | +						this.$refs['cmap'].onMouseDrawEditDynamicLine();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'glowLine':
 | 
											
												
													
														|  | 
 |  | +						this.$refs['cmap'].onMouseDrawEditGrawLine();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'outlineLine':
 | 
											
												
													
														|  | 
 |  | +						this.$refs['cmap'].onMouseDrawEditOutlineLine();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'layPolygon':
 | 
											
												
													
														|  | 
 |  | +						this.$refs['cmap'].onMouseDrawEditPolygon();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'spatialLine':
 | 
											
												
													
														|  | 
 |  | +						this.$refs['cmap'].onMouseDrawEditSpatialPolyline();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'layRectangle':
 | 
											
												
													
														|  | 
 |  | +						this.$refs['cmap'].onMouseDrawEditRectangle();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'layCircle':
 | 
											
												
													
														|  | 
 |  | +						this.$refs['cmap'].onMouseDrawEditCircle();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'dynamicCircle':
 | 
											
												
													
														|  | 
 |  | +						this.$refs['cmap'].onMouseDrawDynamicCircle();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'dynamicWall':
 | 
											
												
													
														|  | 
 |  | +						this.$refs['cmap'].onMouseDrawDynamicEditWall();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'normalWall':
 | 
											
												
													
														|  | 
 |  | +						this.$refs['cmap'].onMouseDrawColorEditWall();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'textBoard':
 | 
											
												
													
														|  | 
 |  | +						this.$refs['cmap'].onMouseDrawEditText();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'house':
 | 
											
												
													
														|  | 
 |  | +						this.$refs['cmap'].onMoouseDrawPolygonBody();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'videoWall':
 | 
											
												
													
														|  | 
 |  | +						this.$refs['cmap'].onMouseDrawEditVideoWall();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'odLine':
 | 
											
												
													
														|  | 
 |  | +						this.$refs['cmap'].onMouseDrawEditOdline();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'doodle':
 | 
											
												
													
														|  | 
 |  | +						this.$refs['cmap'].onMouseDrawDoodle();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +					case 'clear':
 | 
											
												
													
														|  | 
 |  | +						this.$refs['cmap'].onClearDraw();
 | 
											
												
													
														|  | 
 |  | +						break;
 | 
											
												
													
														|  | 
 |  | +				}
 | 
											
												
													
														|  | 
 |  | +				this.showDialog = false;
 | 
											
												
													
														|  | 
 |  | +			},
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +			/**
 | 
											
												
													
														|  | 
 |  | +			 * 属性编辑调用
 | 
											
												
													
														|  | 
 |  | +			 * @param {JSON} param 传递的编辑参数
 | 
											
												
													
														|  | 
 |  | +			 */
 | 
											
												
													
														|  | 
 |  | +			onEditProperty(param) {
 | 
											
												
													
														|  | 
 |  | +				// console.log('===传递参数,打开编辑框>>>', param);
 | 
											
												
													
														|  | 
 |  | +				/* 打开对话框 */
 | 
											
												
													
														|  | 
 |  | +				this.showEditDialog = true;
 | 
											
												
													
														|  | 
 |  | +				/* 赋值参数 */
 | 
											
												
													
														|  | 
 |  | +				for (let key in this.editParams) {
 | 
											
												
													
														|  | 
 |  | +					this.editParams[key] = param[key];
 | 
											
												
													
														|  | 
 |  | +				}
 | 
											
												
													
														|  | 
 |  | +				this.$refs['dialogEdit'].updateParams(this.editParams);
 | 
											
												
													
														|  | 
 |  | +			},
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +			/**
 | 
											
												
													
														|  | 
 |  | +			 * 实体属性提交更改
 | 
											
												
													
														|  | 
 |  | +			 * @param {JSON} param 参数
 | 
											
												
													
														|  | 
 |  | +			 */
 | 
											
												
													
														|  | 
 |  | +			submit(param) {
 | 
											
												
													
														|  | 
 |  | +				// console.log('===>>>对话框提交的参数', param);
 | 
											
												
													
														|  | 
 |  | +				this.$refs['cmap'].onSubmitEditProperty(param);
 | 
											
												
													
														|  | 
 |  | +			},
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +			/**
 | 
											
												
													
														|  | 
 |  | +			 * 移除实体
 | 
											
												
													
														|  | 
 |  | +			 */
 | 
											
												
													
														|  | 
 |  | +			remove() {
 | 
											
												
													
														|  | 
 |  | +				this.$refs['cmap'].onRemoveEditEntity();
 | 
											
												
													
														|  | 
 |  | +			}
 | 
											
												
													
														|  | 
 |  | +		}
 | 
											
												
													
														|  | 
 |  | +	};
 | 
											
												
													
														|  | 
 |  | +</script>
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +<style lang="scss" scoped>
 | 
											
												
													
														|  | 
 |  | +	.cr-color-label {
 | 
											
												
													
														|  | 
 |  | +		padding-left: 15px;
 | 
											
												
													
														|  | 
 |  | +		height: 30px;
 | 
											
												
													
														|  | 
 |  | +		line-height: 30px;
 | 
											
												
													
														|  | 
 |  | +		color: rgb(144, 225, 255);
 | 
											
												
													
														|  | 
 |  | +		font-weight: bold;
 | 
											
												
													
														|  | 
 |  | +		text-align: left;
 | 
											
												
													
														|  | 
 |  | +		background-color: rgb(29, 99, 248);
 | 
											
												
													
														|  | 
 |  | +	}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +	/* 弹框子内容容器样式 */
 | 
											
												
													
														|  | 
 |  | +	.cr-popup-content .cr-popup-child-content {
 | 
											
												
													
														|  | 
 |  | +		padding: 10px;
 | 
											
												
													
														|  | 
 |  | +		display: flex;
 | 
											
												
													
														|  | 
 |  | +		flex-direction: column;
 | 
											
												
													
														|  | 
 |  | +		width: calc(100% - 20px);
 | 
											
												
													
														|  | 
 |  | +	}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +	/* 弹出框 主要内容 子内容子项通用样式 */
 | 
											
												
													
														|  | 
 |  | +	.cr-popup-content .cr-popup-child-content>* {
 | 
											
												
													
														|  | 
 |  | +		margin: 10px 0px;
 | 
											
												
													
														|  | 
 |  | +		font-family: 'Alimama_ShuHeiTi_Bold' !important;
 | 
											
												
													
														|  | 
 |  | +	}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +	/* 临时设置帧率位置 */
 | 
											
												
													
														|  | 
 |  | +	.cesium-performanceDisplay-defaultContainer {
 | 
											
												
													
														|  | 
 |  | +		top: unset;
 | 
											
												
													
														|  | 
 |  | +		bottom: 80px;
 | 
											
												
													
														|  | 
 |  | +		right: unset;
 | 
											
												
													
														|  | 
 |  | +		left: 10px;
 | 
											
												
													
														|  | 
 |  | +	}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +	.jt-slider-button {
 | 
											
												
													
														|  | 
 |  | +		width: 20px;
 | 
											
												
													
														|  | 
 |  | +		height: 18px;
 | 
											
												
													
														|  | 
 |  | +		color: rgb(202, 94, 92);
 | 
											
												
													
														|  | 
 |  | +		font-size: 10px;
 | 
											
												
													
														|  | 
 |  | +		line-height: 18px;
 | 
											
												
													
														|  | 
 |  | +		text-align: center;
 | 
											
												
													
														|  | 
 |  | +		background-color: rgb(202, 94, 92);
 | 
											
												
													
														|  | 
 |  | +		border-radius: 100px;
 | 
											
												
													
														|  | 
 |  | +	}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +	.van-slider {
 | 
											
												
													
														|  | 
 |  | +		margin: 10px !important;
 | 
											
												
													
														|  | 
 |  | +		width: calc(100% - 20px) !important;
 | 
											
												
													
														|  | 
 |  | +	}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +	.cr-edit-buttons {
 | 
											
												
													
														|  | 
 |  | +		display: flex;
 | 
											
												
													
														|  | 
 |  | +		flex-direction: row;
 | 
											
												
													
														|  | 
 |  | +	}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +	.cr-edit-buttons>* {
 | 
											
												
													
														|  | 
 |  | +		flex: 1;
 | 
											
												
													
														|  | 
 |  | +		margin-left: 8px !important;
 | 
											
												
													
														|  | 
 |  | +		height: 34px !important;
 | 
											
												
													
														|  | 
 |  | +	}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +	.cr-edit-buttons> :first-child {
 | 
											
												
													
														|  | 
 |  | +		margin-left: 0px !important;
 | 
											
												
													
														|  | 
 |  | +	}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +	/* 工具框样式 */
 | 
											
												
													
														|  | 
 |  | +	.jt-tools-dialog {
 | 
											
												
													
														|  | 
 |  | +		top: 0px;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +		.el-col {
 | 
											
												
													
														|  | 
 |  | +			padding: 10px;
 | 
											
												
													
														|  | 
 |  | +		}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +		.el-col:hover {
 | 
											
												
													
														|  | 
 |  | +			cursor: pointer;
 | 
											
												
													
														|  | 
 |  | +			background-color: rgba(0, 0, 0, 0.5);
 | 
											
												
													
														|  | 
 |  | +		}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +		i {
 | 
											
												
													
														|  | 
 |  | +			display: inline-block;
 | 
											
												
													
														|  | 
 |  | +			width: 100%;
 | 
											
												
													
														|  | 
 |  | +			height: 36px;
 | 
											
												
													
														|  | 
 |  | +			line-height: 36px;
 | 
											
												
													
														|  | 
 |  | +			text-align: center;
 | 
											
												
													
														|  | 
 |  | +			border-radius: 5px;
 | 
											
												
													
														|  | 
 |  | +			font-size: 30px;
 | 
											
												
													
														|  | 
 |  | +			color: rgba(252, 152, 0, 1);
 | 
											
												
													
														|  | 
 |  | +			transition: all 0.3s;
 | 
											
												
													
														|  | 
 |  | +			-webkit-transition: all 0.3s;
 | 
											
												
													
														|  | 
 |  | +		}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +		cite {
 | 
											
												
													
														|  | 
 |  | +			position: relative;
 | 
											
												
													
														|  | 
 |  | +			top: 5px;
 | 
											
												
													
														|  | 
 |  | +			display: block;
 | 
											
												
													
														|  | 
 |  | +			color: rgba(255, 255, 255, 1);
 | 
											
												
													
														|  | 
 |  | +			text-overflow: ellipsis;
 | 
											
												
													
														|  | 
 |  | +			overflow: hidden;
 | 
											
												
													
														|  | 
 |  | +			white-space: nowrap;
 | 
											
												
													
														|  | 
 |  | +			font-size: 14px;
 | 
											
												
													
														|  | 
 |  | +			font-style: normal;
 | 
											
												
													
														|  | 
 |  | +			text-align: center;
 | 
											
												
													
														|  | 
 |  | +			font-family: 'Alimama_ShuHeiTi_Bold';
 | 
											
												
													
														|  | 
 |  | +		}
 | 
											
												
													
														|  | 
 |  | +	}
 | 
											
												
													
														|  | 
 |  | +</style>
 |