From d54e0b172d77e2bd42b0866e6e80d5f414da3914 Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Sat, 31 Jan 2026 14:24:44 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
applications/task-work-order/src/views/orderView/flyingHand/FlyingHandDialog.vue | 16 ++------
applications/drone-command/src/page/index/top/index.vue | 4 +-
applications/drone-command/src/views/areaManage/areaStatistics/index.vue | 10 ++--
applications/drone-command/src/views/areaManage/sceneManage/FormDiaLog.vue | 40 ++++++++++++++++++-
applications/drone-command/src/views/areaManage/precinctInfo/FormDiaLog.vue | 43 +++++++++++++++++++++
applications/task-work-order/src/views/orderView/orderManage/clueEvents/ViewDiaLog.vue | 4 +-
6 files changed, 92 insertions(+), 25 deletions(-)
diff --git a/applications/drone-command/src/page/index/top/index.vue b/applications/drone-command/src/page/index/top/index.vue
index 814e02e..22d4a43 100644
--- a/applications/drone-command/src/page/index/top/index.vue
+++ b/applications/drone-command/src/page/index/top/index.vue
@@ -100,8 +100,8 @@
})
},
jumpMH () {
- const adminUrl = import.meta.env.VITE_APP_DASHBOARD_URL
- window.location.href = `${adminUrl}#/gatewayPage`
+ // const adminUrl = import.meta.env.VITE_APP_DASHBOARD_URL
+ // window.location.href = `${adminUrl}#/gatewayPage`
},
},
}
diff --git a/applications/drone-command/src/views/areaManage/areaStatistics/index.vue b/applications/drone-command/src/views/areaManage/areaStatistics/index.vue
index 79bfc7d..e493c7b 100644
--- a/applications/drone-command/src/views/areaManage/areaStatistics/index.vue
+++ b/applications/drone-command/src/views/areaManage/areaStatistics/index.vue
@@ -6,9 +6,9 @@
clearable @clear="handleSearch" />
</el-form-item>
- <el-form-item label="区域类型" prop="areaType">
+ <el-form-item label="区域类型" prop="areaTypeKeys">
<el-select class="command-select" popper-class="command-select-popper"
- v-model="searchParams.areaType" placeholder="请选择" clearable @change="handleSearch">
+ v-model="searchParams.areaTypeKeys" placeholder="请选择" clearable @change="handleSearch">
<el-option v-for="item in dictObj.areaType" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey" />
</el-select>
@@ -33,9 +33,9 @@
<el-table class="command-table" :data="list">
<el-table-column type="index" show-overflow-tooltip width="64" label="序号" />
<el-table-column prop="areaName" show-overflow-tooltip label="区域名称" />
- <el-table-column prop="areaType" show-overflow-tooltip label="区域类型">
+ <el-table-column prop="areaTypeKeys" show-overflow-tooltip label="区域类型">
<template v-slot="{ row }">
- {{ getDictLabel(row.areaType, dictObj.areaType) }}
+ {{ getDictLabel(row.areaTypeKeys, dictObj.areaType) }}
</template>
</el-table-column>
<el-table-column prop="sceneName" show-overflow-tooltip label="关联场景" />
@@ -79,7 +79,7 @@
// 初始化查询参数
const initSearchParams = () => ({
areaName: '', // 区域名称
- areaType: '', // 区域类型
+ areaTypeKeys: '', // 区域类型
sceneType: '', // 场景类型
current: 1, // 当前页
size: 10, // 每页大小
diff --git a/applications/drone-command/src/views/areaManage/precinctInfo/FormDiaLog.vue b/applications/drone-command/src/views/areaManage/precinctInfo/FormDiaLog.vue
index 50e15ee..f698ff7 100644
--- a/applications/drone-command/src/views/areaManage/precinctInfo/FormDiaLog.vue
+++ b/applications/drone-command/src/views/areaManage/precinctInfo/FormDiaLog.vue
@@ -111,7 +111,7 @@
</template>
<script setup>
-import { computed, nextTick, ref } from 'vue'
+import { computed, nextTick, ref, watch } from 'vue'
import { ElMessage } from 'element-plus'
import { fwPoliceStationDetailApi, fwPoliceStationSubmitApi } from './precinctInfoApi'
import { fieldRules } from '@ztzf/utils'
@@ -121,6 +121,7 @@
import { saveOperationLog } from '@ztzf/apis'
import { useRoute } from 'vue-router'
import positionIcon from '@/assets/images/areaManage/positionIcon.png'
+import { MapTooltip } from '@/utils/cesium/shapeTools/Tooltip'
const initForm = () => ({
address: '', // 位置
@@ -185,6 +186,10 @@
let viewer
let redPointEntity
let leftClickBound = false
+let mouseMoveBound = false
+let mapTooltip
+let publicCesium
+const tooltipEventKey = 'precinct-info-point-tip'
const labelParams = {
font: '18px',
fillColor: Cesium.Color.WHITE, // 文字颜色:白色
@@ -271,12 +276,38 @@
await nextTick()
const map = inlineMapRef.value?.getMap()
viewer = map?.viewer || null
+ publicCesium = map?.publicCesium || null
if (viewer && !leftClickBound) {
map.publicCesium?.addLeftClickEvent?.(null, LeftClickEvent)
leftClickBound = true
}
+ if (viewer && !readonly.value) {
+ ensurePointTooltip()
+ }
if (formData.value.longitude != null && formData.value.latitude != null) {
setMapPoint(formData.value.longitude, formData.value.latitude)
+ }
+}
+
+function ensurePointTooltip() {
+ if (!viewer || !publicCesium || mouseMoveBound) return
+ mapTooltip ||= new MapTooltip(viewer, { offset: { x: 16, y: 24 } })
+ publicCesium.addMouseHandler?.(
+ null,
+ movement => {
+ if (!visible.value || readonly.value) return
+ mapTooltip?.show('点击地图选择派出所位置', movement.endPosition)
+ },
+ tooltipEventKey
+ )
+ mouseMoveBound = true
+}
+
+function clearPointTooltip() {
+ mapTooltip?.hide()
+ if (publicCesium && mouseMoveBound) {
+ publicCesium.removeMouseHandler?.(tooltipEventKey)
+ mouseMoveBound = false
}
}
@@ -296,6 +327,7 @@
formData.value = dialogMode.value === 'add' ? initForm() : row
redPointEntity = null
leftClickBound = false
+ clearPointTooltip()
if (dialogMode.value !== 'add') {
await loadDetail()
}
@@ -305,6 +337,15 @@
}, 500)
}
+watch(
+ () => visible.value,
+ val => {
+ if (!val) {
+ clearPointTooltip()
+ }
+ }
+)
+
defineExpose({ open })
</script>
<style scoped lang="scss">
diff --git a/applications/drone-command/src/views/areaManage/sceneManage/FormDiaLog.vue b/applications/drone-command/src/views/areaManage/sceneManage/FormDiaLog.vue
index 7e096b0..da80178 100644
--- a/applications/drone-command/src/views/areaManage/sceneManage/FormDiaLog.vue
+++ b/applications/drone-command/src/views/areaManage/sceneManage/FormDiaLog.vue
@@ -160,6 +160,7 @@
import { buildEllipsePositions } from '@/utils/cesium/shapeTools'
import { cartesian3Convert } from '@/utils/cesium/mapUtil'
import { AREA_TYPE_STYLE_MAP, BUFFER_LEVEL_STYLES, DEFAULT_AREA_STYLE } from '@ztzf/constants'
+import { MapTooltip } from '@/utils/cesium/shapeTools/Tooltip'
// 初始化表单数据
const initForm = () => ({
@@ -198,6 +199,10 @@
let redPointEntity
let areaDisplaySource
let leftClickBound = false
+let mouseMoveBound = false
+let mapTooltip
+let publicCesium
+const tooltipEventKey = 'scene-manage-point-tip'
// 表单验证规则
const rules = {
@@ -555,13 +560,36 @@
// 初始化地图实例
function initMap() {
- if (viewer) return
const map = mapRef.value?.getMap()
if (!map?.viewer) return
- viewer = map.viewer
+ viewer ||= map.viewer
+ publicCesium ||= map.publicCesium
if (!readonly.value && !leftClickBound) {
map.publicCesium?.addLeftClickEvent?.(null, LeftClickEvent)
leftClickBound = true
+ }
+ if (!readonly.value) ensurePointTooltip()
+}
+
+function ensurePointTooltip() {
+ if (!viewer || !publicCesium || mouseMoveBound) return
+ mapTooltip ||= new MapTooltip(viewer, { offset: { x: 28, y: 24 } })
+ publicCesium.addMouseHandler?.(
+ null,
+ movement => {
+ if (!visible.value || readonly.value) return
+ mapTooltip?.show('点击地图选择指挥点位置', movement.endPosition)
+ },
+ tooltipEventKey
+ )
+ mouseMoveBound = true
+}
+
+function clearPointTooltip() {
+ mapTooltip?.hide()
+ if (publicCesium && mouseMoveBound) {
+ publicCesium.removeMouseHandler?.(tooltipEventKey)
+ mouseMoveBound = false
}
}
@@ -626,6 +654,9 @@
redPointEntity = null
await nextTick()
initMap()
+ if (dialogMode.value === 'view') {
+ clearPointTooltip()
+ }
await getSceneConfigList()
if (dialogMode.value === 'add') {
mapRef.value?.zoomToAdminBoundary?.()
@@ -652,7 +683,10 @@
watch(
() => visible.value,
val => {
- if (!val) clearAreaDisplay()
+ if (!val) {
+ clearAreaDisplay()
+ clearPointTooltip()
+ }
}
)
diff --git a/applications/task-work-order/src/views/orderView/flyingHand/FlyingHandDialog.vue b/applications/task-work-order/src/views/orderView/flyingHand/FlyingHandDialog.vue
index 712e13a..a5b9bdb 100644
--- a/applications/task-work-order/src/views/orderView/flyingHand/FlyingHandDialog.vue
+++ b/applications/task-work-order/src/views/orderView/flyingHand/FlyingHandDialog.vue
@@ -37,6 +37,10 @@
<div class="val">{{ formData.projectExperience }}</div>
</el-col>
<el-col :span="12">
+ <div class="label">飞手地址</div>
+ <div class="val">{{ formData.flyerAddress }}</div>
+ </el-col>
+ <el-col :span="24">
<div class="label">飞手证书</div>
<div class="val">
<el-image
@@ -169,18 +173,6 @@
/>
</el-form-item>
</el-col>
- <!-- <el-col :span="24" v-if="dialogType === 'view'">
- <el-form-item label="飞手证书" prop="certification">
- <el-image
- v-for="(item, index) in formData.certification"
- :key="index"
- :src="item"
- :preview-src-list="formData.certification"
- class="gd-image"
- style="width: 100px; height: 100px; margin-right: 10px;"
- />
- </el-form-item>
- </el-col> -->
</el-row>
</el-form>
<template #footer>
diff --git a/applications/task-work-order/src/views/orderView/orderManage/clueEvents/ViewDiaLog.vue b/applications/task-work-order/src/views/orderView/orderManage/clueEvents/ViewDiaLog.vue
index 11c31a3..a06920f 100644
--- a/applications/task-work-order/src/views/orderView/orderManage/clueEvents/ViewDiaLog.vue
+++ b/applications/task-work-order/src/views/orderView/orderManage/clueEvents/ViewDiaLog.vue
@@ -32,7 +32,7 @@
<el-table-column label="操作" class-name="operation-btns" width="140">
<template v-slot="{ row }">
<el-link type="primary" @click="openDistributeDialog(row)" v-if="permission.clueEvents_distribute && (row.distributeStatus === 0 || row.distributeStatus === 2)">
- 转为事件并分发
+ {{ row.distributeStatus === 2 ? '再次分发':'转为事件并分发' }}
</el-link>
<el-button disabled type="text" v-else>转为事件并分发</el-button>
</template>
@@ -76,7 +76,7 @@
const distributeStatusOptions = [
{ label: '未分发', value: 0 },
{ label: '已分发', value: 1 },
- { label: '已退回', value: 2 },
+ { label: '被退回', value: 2 },
{ label: '已确认', value: 3 },
]
--
Gitblit v1.9.3