石超 2023-09-18 16:03:35 +08:00
commit bcf670aaca
16 changed files with 179 additions and 22 deletions

View File

@ -76,9 +76,9 @@
"autoCenter": true,
"windowOptions": {
"position": {
"top": 50,
"bottom": 30,
"right": 10
"top": 220,
"bottom": 50,
"left": 452
}
},
"css": {

BIN
public/img/clear-draw.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
public/img/history-draw.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

BIN
public/img/qizhi.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@ -80,10 +80,20 @@ export default {
if (item.children && item.children.length > 0) {
item.children.forEach((it, idx) => {
let attribute = JSON.parse(it.attribute);
if(attribute.symbol && attribute.symbol.styleOptions && attribute.symbol.styleOptions.label){
attribute.symbol.styleOptions.label.pixelOffsetY = -40
}
attribute.pid = group.id;
configLayers.push(attribute);
});
}
// if (item.children && item.children.length > 0) {
// item.children.forEach((it, idx) => {
// let attribute = JSON.parse(it.attribute);
// attribute.pid = group.id;
// configLayers.push(attribute);
// });
// }
});
data.map3d.layers = configLayers

View File

@ -57,7 +57,7 @@
<!-- 图上测量 -->
<div class="tools-boxs" v-if="toolsShow && appTools['toolsbox'] && finishLoadMap">
<toolbox @drawLable="drawLable"></toolbox>
<toolbox @historyShow="showHistoryLabel" @drawLable="drawLable"></toolbox>
</div>
<!-- 线索合并 -->
@ -446,6 +446,10 @@ export default {
}
},
methods: {
showHistoryLabel(){
this.rightType = 4;
this.setVisibleShow = true;
},
drawLable(val) {
this.setDatas = {
title: "",
@ -1258,7 +1262,7 @@ export default {
.tools {
min-width: 250px;
height: calc(100vh - 440px);
height: 10px;
position: absolute;
top: 130px;
left: 25px;

View File

@ -0,0 +1,107 @@
<template>
<div>
<div class="marklistbox marklistboxhistory">
<div class="flex jc-sb ai-c">
<div class="title">历史标注</div>
</div>
<div class="mark-content">
<div
v-for="(item, index) in allHistoryMarkList"
:key="index"
class="table-li-history"
>
<div class="flex jc-sb ai-c max-h max-w">
<div class="flex-1 flex column mr-2">
<div class="flex ai-c jc-sb max-w">
<span>{{ item.title }}</span>
<span>{{ item.createTime }}</span>
</div>
<div>
<span>{{ item.remark }}</span>
</div>
</div>
<div>
<el-button
size="mini"
type="danger"
@click="delOneHistoryMark(item)"
>删除</el-button
>
</div>
</div>
</div>
</div>
<div class="markfooter flex ai-c jc-e">
<el-button @click="historyMarkBack"> </el-button>
</div>
</div>
</div>
</template>
<script>
import { getMethodCommon } from '../../../api/common';
export default {
name: 'hitorylabelbox',
data(){
return {
allHistoryMarkList:[],
historyMarkGraphicLayer:null,
}
},
mounted(){
this.getHistoryMarkList();
},
methods:{
//
getHistoryMarkList() {
let param = {
pageIndex: 1,
pageSize: 99999,
};
getMethodCommon("/FireCodePC/MarkerList", param).then((res) => {
this.allHistoryMarkList = res.data;
if (this.historyMarkGraphicLayer == null) {
this.historyMarkGraphicLayer = new mars3d.layer.GraphicLayer();
window.globalmap.addLayer(this.historyMarkGraphicLayer);
}
this.historyMarkGraphicLayerArr = [];
this.allHistoryMarkList.forEach((item, index) => {
let horizontalOrigin = Cesium.HorizontalOrigin.CENTER;
let verticalOrigin = Cesium.VerticalOrigin.MIDDLE;
if (item.iconUrl == "箭头") {
horizontalOrigin = Cesium.HorizontalOrigin.RIGHT;
verticalOrigin = Cesium.VerticalOrigin.TOP;
}
let graphic = new mars3d.graphic.BillboardEntity({
position: [item.lng, item.lat],
style: {
// image: "img/jiuyuanrenyuan.png",
image: item.createUser,
scale: 0.8,
horizontalOrigin: horizontalOrigin,
verticalOrigin: verticalOrigin,
distanceDisplayCondition: new Cesium.DistanceDisplayCondition(
0,
200000
), //
scaleByDistance: new Cesium.NearFarScalar(1000, 1.0, 200000, 0.2),
clampToGround: true,
},
attr: { remark: "示例11" },
pointerEvents: true,
});
this.historyMarkGraphicLayerArr.push(graphic);
this.historyMarkGraphicLayer.addGraphic(graphic);
});
});
},
}
}
</script>
<style scoped>
</style>

View File

@ -177,7 +177,7 @@ import { getMethodCommon, postMethodCommon } from '../../../api/common';
horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
clampToGround: true,
scale: 0.4,
scale: 0.6,
label: {
text: "",
font_size: 14,

View File

@ -10,7 +10,8 @@
<div class="flex-1">
<el-checkbox-group v-model="checkList" @change="checkChange">
<el-checkbox label="护林员" value="1" style="margin-right:10px;"></el-checkbox>
<el-checkbox label="消防员" value="2"></el-checkbox>
<el-checkbox label="消防员" value="2" style="margin-right:10px;"></el-checkbox>
<el-checkbox label="网格员" value="3"></el-checkbox>
</el-checkbox-group>
</div>
</div>
@ -18,10 +19,9 @@
<span class="titlebox">距离</span>
<div>
<el-radio-group v-model="distanceradio" @input="radioChange">
<el-radio :label="1" class="mr-1">小于1km</el-radio>
<el-radio :label="2" class="mr-1">1~5km</el-radio>
<el-radio :label="3" class="mr-1">5~10km</el-radio>
<el-radio :label="4" class="mr-1">大于10km</el-radio>
<el-radio :label="1" class="mr-1">1km内</el-radio>
<el-radio :label="2" class="mr-1">5Km内</el-radio>
<el-radio :label="3" class="mr-1">10km内</el-radio>
<el-radio :label="5">全部</el-radio>
</el-radio-group>
</div>
@ -82,7 +82,7 @@ export default {
props: ['fireData'],
data() {
return {
checkList: ['护林员', '消防员'],
checkList: ['护林员', '消防员','网格员'],
listData: [],
allData: [],
fireLngLat: '',
@ -163,7 +163,7 @@ export default {
}
if (this.distanceradio == 2) {
arr.forEach(item => {
if (item.distance >= 1 && item.distance < 5) {
if (item.distance < 5) {
newArr.push(item)
}
})
@ -171,7 +171,7 @@ export default {
}
if (this.distanceradio == 3) {
arr.forEach(item => {
if (item.distance >= 5 && item.distance < 10) {
if (item.distance < 10) {
newArr.push(item)
}
})

View File

@ -84,7 +84,7 @@
</div>
</el-dialog>
<!-- 标注列表 -->
<div v-if="markListDialogFormVisible" class="marklistbox">
<div v-if="markListDialogFormVisible" class="marklistbox" v-drag>
<div class="flex jc-sb ai-c">
<div class="title">标注</div>
<span class="fz-18 fc-w mr-2 cursor" @click="viewHistoryMark"
@ -165,6 +165,7 @@
<script>
import { postMethodCommon, getMethodCommon } from "@/api/common.js";
import drag from "../../../utils/draged";
export default {
name: "setting",
props: [ "type", "clickdata"],
@ -188,7 +189,7 @@ export default {
firedialogFormVisible: false,
taskdialogFormVisible: false,
markdialogFormVisible: false,
markListDialogFormVisible: false,
markListDialogFormVisible: true,
historyMarkVisible: false,
addfireDetailReqLock: false,
};
@ -205,6 +206,12 @@ export default {
if (newVal == 3) {
this.markdialogFormVisible = true;
}
if(newVal == 4){
this.firedialogFormVisible = false;
this.taskdialogFormVisible = false;
this.markdialogFormVisible = false;
this.markListDialogFormVisible = true;
}
},
},
clickdata: {
@ -375,12 +382,16 @@ export default {
getMethodCommon("/FireCodePC/MarkerList", param).then((res) => {
this.allHistoryMarkList = res.data;
if (this.historyMarkGraphicLayer == null) {
this.historyMarkGraphicLayer = new mars3d.layer.GraphicLayer();
window.globalmap.addLayer(this.historyMarkGraphicLayer);
}else{
this.historyMarkGraphicLayer.clear();
}
this.historyMarkGraphicLayerArr = [];
this.allHistoryMarkList.forEach((item, index) => {
let horizontalOrigin = Cesium.HorizontalOrigin.CENTER;
let verticalOrigin = Cesium.VerticalOrigin.MIDDLE;

View File

@ -8,7 +8,7 @@
</div>
<div class="inputer">
<span>任务详情</span>
<el-input type="textarea" :rows="6" style="width:300px;" placeholder="请输入内容" v-model="content">
<el-input type="textarea" :rows="4" style="width:300px;" placeholder="请输入内容" v-model="content">
</el-input>
</div>
<div class="inputer">
@ -120,7 +120,7 @@ export default {
<style scoped>
.box {
width: 100%;
height: 100%;
/* height: 100%; */
background-image: url(/img/huoqing-bg.png);
background-size: 100% 100%;
}
@ -128,7 +128,7 @@ export default {
.box-container {
width: calc(100% - 0px);
padding: 0px 12px;
height: calc(100% - 100px);
height: calc(100% - 150px)!important;
}
.box-title {

View File

@ -2,6 +2,8 @@
<div class="box">
<div class="tab-container">
<div class="tab-button">常用工具</div>
<div class="clear-draw" @click="measureClear"></div>
<div class="history-draw" @click="$emit('historyShow')"></div>
<!-- <div class="tab-button" :style="{'border-bottom':active == 1 ? '3px solid #01D6D5': '0px'}" @click="active = 1;">图上量算</div> -->
<!-- <div class="tab-button" :style="{'border-bottom':active == 2 ? '3px solid #01D6D5': '0px'}" @click="active = 2;initDrawLayer();">图上绘标</div> -->
</div>
@ -238,7 +240,9 @@
this.measure.heightTriangle()
},
measureClear(){ //
this.measure.clear();
if(this.measure){
this.measure.clear();
}
},
drawClear(){
this.graphicLayerbiaohui.clear()
@ -536,6 +540,27 @@
color: #fff;
padding-top: 4px;
}
.clear-draw{
width:60px;
height:22px;
background:url(/img/clear-draw.png);
background-size:100% 100%;
position:absolute;
right:92px;
top:12px;
cursor:pointer;
}
.history-draw{
width:60px;
height:22px;
background:url(/img/history-draw.png);
background-size:100% 100%;
position:absolute;
right:20px;
top:12px;
cursor:pointer;
}
.box-container{
margin:15px;

View File

@ -222,7 +222,7 @@ export default {
<style scoped>
.box {
width: 100%;
height: calc(100% - 5px);
height:100%;
overflow: hidden;
text-align: left;
z-index: 99;