From f27ca082eb0a839449dd50c49007b58e5ed6946f Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Thu, 19 Jun 2025 19:08:01 +0800
Subject: [PATCH] feat: 服务名修改
---
src/components/waylinetool/event-edit.vue | 99 +++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 94 insertions(+), 5 deletions(-)
diff --git a/src/components/waylinetool/event-edit.vue b/src/components/waylinetool/event-edit.vue
index 2a5c461..4d76d29 100644
--- a/src/components/waylinetool/event-edit.vue
+++ b/src/components/waylinetool/event-edit.vue
@@ -12,9 +12,14 @@
</div>
</div>
<div class="event-edit">
- <template v-if="currentPointEvent.aciton.key === 'takePhoto'">
- 1
- </template>
+ <take-photo
+ v-model:serial="serial"
+ v-if="['takePhoto', 'startRecord'].includes(currentPointEvent.aciton.key)"
+ />
+ <interval-shoot
+ v-model:serial="serial"
+ v-if="['distance'].includes(currentPointEvent.aciton.key)"
+ />
</div>
</div>
<div class="map-box"></div>
@@ -22,10 +27,12 @@
</template>
<script lang="ts" setup>
+import _ from 'lodash'
import { DeleteOutlined } from '@ant-design/icons-vue'
import { useMyStore } from '/@/store'
-import { actionList } from '/@/utils/cesium/use-map-draw'
import { template as xmlTemplate } from '/@/utils/cesium/use-kmz-tsa'
+import takePhoto from './component/take-photo.vue'
+import intervalShoot from './component/interval-shoot.vue'
const store = useMyStore()
// 事件编辑是否显示
@@ -33,18 +40,28 @@
// 当前点事件
const selectedAction = computed(() => store.state.waylineTool.selectedAction)
+// 当前点位
+const serial = reactive<{
+ placemark: number
+ action: number
+}>({
+ placemark: 0,
+ action: 0,
+})
const currentPointEvent = computed(() => {
const placemarks = xmlTemplate.value.Folder.Placemark
const pointIndex = store.state.waylineTool.selectedPoint
if (pointIndex === undefined) return null
const currentPoint = placemarks[pointIndex]
+ serial.placemark = pointIndex
const actions = currentPoint.actionGroup.action
- let actionIndex = 1
+ let actionIndex = 0
if (Array.isArray(actions)) {
actionIndex = actions.findIndex((item: { actionActuatorFunc: { '#text': string } }) => {
return item.actionActuatorFunc['#text'] === selectedAction.value.key
})
}
+ serial.action = actionIndex
return {
aciton: selectedAction.value,
actionIndex: `${pointIndex + 1}-${actionIndex + 1}`,
@@ -104,6 +121,78 @@
height: calc(100% - 50px);
padding: 15px;
overflow: auto;
+ // 单拍
+ .take-photo {
+ .title {
+ display: flex;
+ justify-content: flex-end;
+ span {
+ &:first-child {
+ margin-right: auto;
+ }
+ &:last-child {
+ cursor: pointer;
+ &:hover {
+ color: #409eff;
+ }
+ }
+ }
+ }
+ .title-name-input {
+ margin-top: 5px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ .input {
+ flex: 1;
+ input {
+ background-color: transparent;
+ color: #fff;
+ }
+ }
+ .btn {
+ width: 50px;
+ display: flex;
+ gap: 10px;
+ justify-content: center;
+ align-items: center;
+ span {
+ cursor: pointer;
+ }
+ .check {
+ color: #67d15a;
+ }
+ .close {
+ color: red;
+ }
+ }
+ }
+ }
+
+ .btn-group {
+ margin-top: 20px;
+ display: flex;
+ justify-content: flex-start;
+ button {
+ margin-left: 10px;
+ font-weight: bold;
+ background-color: #409eff;
+ border-radius: 999px;
+ border: 0;
+ padding: 0 10px 0 10px;
+ &:first-child {
+ margin: 0;
+ }
+ &:nth-child(3) {
+ margin-left: auto;
+ }
+ }
+ }
+
+ .cannot-select {
+ background-color: #3c3c3c;
+ border: 0;
+ }
}
}
.map-box {
--
Gitblit v1.9.3