dianlixunjian
徐景良 1 year ago
parent 13fdc6dbdf
commit 3575c314ce

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

@ -240,6 +240,7 @@
import { storeToRefs } from 'pinia';
import ImagePreview from '@/components/Upload/src/components/image_preview.vue';
import { userFormFileStore } from '@/store/modules/formFileUrl';
import { getConfig } from '@/api/sys/layerManagement';
import {
designerDataType,
@ -413,11 +414,12 @@
let currentNode;
let currentMapNode = wfData.find((t) => t.type == 'bpmn:StartEvent');
mapConfig.value = currentMapNode.mapConfig;
console.log('MapCOnfig', mapConfig.value);
// mapConfig.value = currentMapNode.mapConfig;
if (auditNode.isInherit) {
currentNode = wfData.find((t) => t.type == 'bpmn:StartEvent');
mapConfig.value = currentNode.mapConfig;
// mapConfig.value = currentNode.mapConfig;
footerStyle.value.width = mapConfig.value?.isShowMap ? '60%' : '100%';
if (mapConfig.value?.isShowMap) {
@ -425,10 +427,15 @@
} else {
currentNode = auditNode;
let currentMapNode = wfData.find((t) => t.type == 'bpmn:StartEvent');
mapConfig.value = currentMapNode.mapConfig;
// mapConfig.value = currentMapNode.mapConfig;
footerStyle.value.width = mapConfig.value?.isShowMap ? '60%' : '100%';
}
getConfig({ code: 'mapsetting' }).then((res) => {
mapConfig.value = JSON.parse(res.codeValue);
});
if (currentNode.authFields.length > 0) {
formVisble.value = true;
} else if (currentNode.formUrl) {

@ -4,7 +4,6 @@
<div id="alertOverlay" class="alert-active" ref="alertOverlay">
<div></div>
</div>
<!-- layout -->
<div class="main-header">
<div class="title">
@ -19,22 +18,16 @@
<div class="main-bottom"></div>
<!-- map -->
<Map ref="MapboxComponent" @showMonitor="showMonitorFunction" @handlerGetDetails="handlerGetDetails" />
<!-- layer controller -->
<LayerControl @handlerLayerButtonClick="handlerLayerButtonClick"></LayerControl>
<div class="data-container">
<!-- case list -->
<CaseList @handlerLayerButtonClick="handlerLayerButtonClick" @toPosition="toPosition"></CaseList>
<!-- uav -->
<UAV @toPosition="toPosition" @handlerUpdateUavLayerData="handlerUpdateUavLayerData" @handlerLayerButtonClick="handlerLayerButtonClick"></UAV>
</div>
<!-- monitor -->
<Monitor :currentMonitor="monitorInfo" @register="registerModal" />
</div>
<a-modal
@ -75,13 +68,7 @@ import ShowInfoModal from '@/views/demo/tiankongdi/curbspotcity/MapList/ShowInfo
const MapboxComponent = ref();
function handlerLayerButtonClick(item) {
if(item.value == 'fufeilayer'){
MapboxComponent.value.handlerChangeLayerVisible("fufeiLayerLine", item.checked);
MapboxComponent.value.handlerChangeLayerVisible("fufeiLayerFill", item.checked);
}else{
MapboxComponent.value.handlerChangeLayerVisible(item.value, item.checked);
}
MapboxComponent.value.handlerChangeLayerVisible(item.value, item.checked);
}
const fireUserLoginName = ref(localStorage.getItem('fireUserLoginName'));
@ -114,7 +101,7 @@ import ShowInfoModal from '@/views/demo/tiankongdi/curbspotcity/MapList/ShowInfo
// to positon
function toPosition(lngLat){
MapboxComponent.value.handlerLocation(lngLat,18);
MapboxComponent.value.handlerLocation(lngLat,17);
}
// update uav layer data
@ -125,6 +112,7 @@ function handlerUpdateUavLayerData(uavlist){
]
}
console.log("uvalist123",uavlist)
uavlist?.forEach((item,index)=>{
let feature = {
"type": "Feature",

@ -25,7 +25,7 @@ const checked = ref<Boolean>(true);
const fufeiLayer = ref({
lable:"复飞核实",
value:"fufeilayer",
value:["fufeiLayerFill","fufeiLayerLine"],
checked:true,
})

@ -16,24 +16,24 @@ import { ref,defineEmits } from 'vue';
const layerButtons = ref([
{
lable:"航飞区域",
value:"hangfeiarea",
lable:"重点区域",
value:["hangfeiareaFill","hangfeiareaLine","hangfeiareaLable"],
checked:false,
},{
lable:"航飞规划",
value:"hangfeiplan",
value:["hangfeiplanFill","hangfeiplanLine","hangfeiplanLable"],
checked:false,
},{
lable:"视频监控",
value:"JianKong",
value:["JianKong"],
checked:false,
},{
lable:"影像图",
value:"yingxiang",
value:["yingxiang","weixing"],
checked:true,
},{
lable:"导航图",
value:"dianzi",
lable:"地名地址",
value:["dianzi"],
checked:true,
},
])

@ -80,7 +80,7 @@
minzoom: 0,
maxzoom: 18,
layout: {
visibility: 'none',
visibility: 'visible',
},
},
{
@ -339,7 +339,7 @@
},
paint: {
'fill-color': '#ffffff',
'fill-opacity': 0.8 /* 透明度 */,
'fill-opacity': 1 /* 透明度 */,
},
layout: {
visibility: 'visible',
@ -536,14 +536,16 @@
* 行政区划countyLayer
*
* */
function handlerChangeLayerVisible(layerName, checked) {
if (map.getLayer(layerName)) {
if (checked) {
map.setLayoutProperty(layerName, 'visibility', 'visible');
} else {
map.setLayoutProperty(layerName, 'visibility', 'none');
function handlerChangeLayerVisible(layers, checked) {
layers?.forEach((item,index)=>{
if (map.getLayer(item)) {
if (checked) {
map.setLayoutProperty(item, 'visibility', 'visible');
} else {
map.setLayoutProperty(item, 'visibility', 'none');
}
}
}
})
}
//
@ -655,8 +657,8 @@
handlerLoadMaskLayer();
loadMonitorLayer();
loadFuFeiLayer();
getHangFeiAreaData();
getHangFeiPlanData();
getHangFeiAreaData();
emits('onload');
map.on('click', (e) => {
var center = map.getCenter(); //
@ -779,7 +781,7 @@
source: 'uavSource',
layout: {
'icon-image': 'uavIcon',
'icon-size': 1,
'icon-size': 0.8,
'text-field': ['get', 'account'],
'text-size': 14,
'text-font': ['Open Sans Semibold', 'Arial Unicode MS Bold'],
@ -907,17 +909,48 @@
data: geojson,
});
map.addLayer({
id: 'hangfeiarea',
id: 'hangfeiareaLine',
type: 'line',
source: 'hangfeiAreaSource',
paint: {
'line-color': '#6F7FF4', // 线
'line-color': '#e37575', // 线
'line-width': 3, // 线
},
layout:{
"visibility":"none"
}
});
map.addLayer({
id: 'hangfeiareaFill',
type: 'fill',
source: 'hangfeiAreaSource',
paint: {
'fill-color': '#e37575',
'fill-opacity': 0.3
},
layout:{
"visibility":"none"
}
});
map.addLayer({
'id': 'hangfeiareaLable',
'type': 'symbol',
'source': 'hangfeiAreaSource',
'layout': {
'text-field': ['get', 'xz'],
'text-font': ['Open Sans Bold', 'Arial Unicode MS Bold'],
'text-size': 12,
'text-anchor': 'center',
"visibility":"none"
},
'paint': {
// 'text-color': '#000000'
'text-color': '#041B36',
'text-halo-color': '#fff',
'text-halo-width': 2,
}
});
}
//
@ -936,7 +969,7 @@
data: geojson,
});
map.addLayer({
id: 'hangfeiplan',
id: 'hangfeiplanLine',
type: 'line',
source: 'hangfeiPlanSource',
paint: {
@ -947,6 +980,36 @@
"visibility":"none"
}
});
map.addLayer({
id: 'hangfeiplanFill',
type: 'fill',
source: 'hangfeiPlanSource',
paint: {
'fill-color': '#6F7FF4',
'fill-opacity': 0.5
},
layout:{
"visibility":"none"
}
});
map.addLayer({
'id': 'hangfeiplanLable',
'type': 'symbol',
'source': 'hangfeiPlanSource',
'layout': {
'text-field': ['get', 'Name'],
'text-font': ['Open Sans Bold', 'Arial Unicode MS Bold'],
'text-size': 12,
'text-anchor': 'center',
"visibility":"none"
},
'paint': {
// 'text-color': '#000000'
'text-color': '#041B36',
'text-halo-color': '#fff',
'text-halo-width': 2,
}
});
}
//

@ -10,7 +10,7 @@
<div class="uav-item" v-for="(item,index) in list">
<div class="name">{{item.model}}</div>
<div class="phone">{{item.account}}</div>
<div class="play" @click="handlerPlayVideo(item)"><PlayCircleOutlined /></div>
<div class="play" @click="handlerPlayVideo(item);toPosition(item);"><PlayCircleOutlined /></div>
<div class="position" @click="toPosition(item)"><EnvironmentOutlined /></div>
</div>
<div class="uav-empty" v-if="list.length == 0">
@ -18,7 +18,7 @@
<p>暂无无人机巡航</p>
</div>
</div>
<div class="video-container" v-if="isShowPlayer">
<div class="video-container" v-show="isShowPlayer">
<div class="close-video-button" @click="closePlayer">
<CloseOutlined />
</div>
@ -32,7 +32,7 @@ import {ref,defineEmits} from 'vue';
const uavLayer = ref({
lable:"航飞区域",
value:"uavlayer",
value:["uavlayer"],
checked:true,
})
const checked = ref<Boolean>(true);
@ -115,7 +115,7 @@ const uavList = ref()
timeoutnum = setTimeout(() => {
initWebSocket();
lockReconnect = false;
}, 5000);
}, 30000);
}
async function setOnmessageMessage(event) {
// console.log(event.data, "");
@ -210,7 +210,6 @@ function isUAVHave(ip){
list.value.splice(index,1);
}
})
console.log("uavlist",list.value);
}
function isAddUav(obj){
@ -226,7 +225,9 @@ function isAddUav(obj){
}else{
list.value[idx] = obj;
}
emits("handlerUpdateUavLayerData",list.value);
if(list.value?.length>0){
emits("handlerUpdateUavLayerData",list.value);
}
}
@ -239,7 +240,7 @@ const isShowPlayer = ref<Boolean>(false);
let player = null;
function closePlayer(){
isShowPlayer.value = false;
player = null;
// player = null;
}
function handlerPlayVideo(item){
let phone = item.account;
@ -249,15 +250,14 @@ function handlerPlayVideo(item){
window.websocket.send(phone);
setTimeout(function(){
if (player) {
alert("http://live.hopetrytech.com/live/" + phone + ".flv")
player.src("http://live.hopetrytech.com/live/" + phone + ".flv");
} else {
player = TCPlayer("video", {});
player.src("http://live.hopetrytech.com/live/" + phone + ".flv");
}
},500);
},400);
}else{
alert("no");
}
}

@ -48,13 +48,14 @@
const countyList = ref<HTMLElement | null>(null);
const scrollImgLeft = ref('/statistical/left_direction_left1.png');
const scrollImgRight = ref('/statistical/left_direction_right2.png');
const scrollToElement = async (type) => {
if (countyList.value) {
if (type == 'left') {
countyList.value.scrollLeft = countyList.value.scrollLeft - countyWidth;
countyList.value.scrollLeft = countyList.value.scrollLeft - 6*countyWidth;
}
if (type == 'right') {
countyList.value.scrollLeft = countyList.value.scrollLeft + countyWidth;
countyList.value.scrollLeft = countyList.value.scrollLeft + 6*countyWidth;
}
if (countyList.value.scrollLeft == 0) {
scrollImgLeft.value = '/statistical/left_direction_left1.png';

Loading…
Cancel
Save