|
@@ -142,7 +142,7 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
<script setup lang="ts">
|
|
-import { boardDataChange, queryMode } from "./install";
|
|
|
|
|
|
+import { boardDataChange, noValidPoint, queryMode, validScene } from "./install";
|
|
import {
|
|
import {
|
|
Plus,
|
|
Plus,
|
|
Delete,
|
|
Delete,
|
|
@@ -172,7 +172,7 @@ import { SceneStatus } from "@/store/scene";
|
|
import StateGpsIcon from "@/assets/state_gps.svg";
|
|
import StateGpsIcon from "@/assets/state_gps.svg";
|
|
import PanoramaIcon from "@/assets/panorama.svg";
|
|
import PanoramaIcon from "@/assets/panorama.svg";
|
|
import FrameIcon from "@/assets/frame.svg";
|
|
import FrameIcon from "@/assets/frame.svg";
|
|
-import { alert } from "@/helper/message";
|
|
|
|
|
|
+import { alert, confirm } from "@/helper/message";
|
|
import {
|
|
import {
|
|
PolygonsPointAttrib,
|
|
PolygonsPointAttrib,
|
|
getWholeLineLinesByPointId,
|
|
getWholeLineLinesByPointId,
|
|
@@ -208,12 +208,12 @@ const treeNode = computed(() =>
|
|
id: scene.id,
|
|
id: scene.id,
|
|
type: "scene",
|
|
type: "scene",
|
|
run: scene.calcStatus !== SceneStatus.SUCCESS,
|
|
run: scene.calcStatus !== SceneStatus.SUCCESS,
|
|
- disable: scene.scenePos.every((pos) => !pos.pos || pos.pos.length === 0),
|
|
|
|
|
|
+ disable: !validScene(scene),
|
|
raw: scene,
|
|
raw: scene,
|
|
children: scene.scenePos.map((pos) => ({
|
|
children: scene.scenePos.map((pos) => ({
|
|
label: pos.uuid,
|
|
label: pos.uuid,
|
|
run: scene.calcStatus !== SceneStatus.SUCCESS,
|
|
run: scene.calcStatus !== SceneStatus.SUCCESS,
|
|
- disable: !pos.pos || pos.pos.length === 0,
|
|
|
|
|
|
+ disable: noValidPoint(pos),
|
|
id: pos.id,
|
|
id: pos.id,
|
|
type: "point",
|
|
type: "point",
|
|
raw: { ...pos, name: pos.name, cameraType: scene.cameraType },
|
|
raw: { ...pos, name: pos.name, cameraType: scene.cameraType },
|
|
@@ -236,7 +236,7 @@ watchEffect(() => {
|
|
});
|
|
});
|
|
|
|
|
|
const delScenesBeforeCheck = async (scenes: Scene[]) => {
|
|
const delScenesBeforeCheck = async (scenes: Scene[]) => {
|
|
- if (scenes.length === 0) return true;
|
|
|
|
|
|
+ if (scenes.length === 0 || !(await confirm("确定要删除场景吗?"))) return true;
|
|
for (const scene of scenes) {
|
|
for (const scene of scenes) {
|
|
const que = scene.scenePos.some((pos) => {
|
|
const que = scene.scenePos.some((pos) => {
|
|
const id = pos.id.toString();
|
|
const id = pos.id.toString();
|
|
@@ -256,7 +256,6 @@ const addHandler = async () => {
|
|
scenes: scenes.value,
|
|
scenes: scenes.value,
|
|
selfScenes: scenes.value.filter((scene) => scene.creationMethod === 2),
|
|
selfScenes: scenes.value.filter((scene) => scene.creationMethod === 2),
|
|
submit: async (nScene) => {
|
|
submit: async (nScene) => {
|
|
-
|
|
|
|
const requests: Promise<any>[] = [];
|
|
const requests: Promise<any>[] = [];
|
|
const delScenes = sceneCodes
|
|
const delScenes = sceneCodes
|
|
.filter((sceneCode) => !nScene.some((scene) => scene.sceneCode === sceneCode))
|
|
.filter((sceneCode) => !nScene.some((scene) => scene.sceneCode === sceneCode))
|
|
@@ -362,12 +361,17 @@ onBeforeUnmount(() => {
|
|
display: flex;
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
justify-content: center;
|
|
- width: 100%;
|
|
|
|
|
|
+ width: 90%;
|
|
|
|
+ overflow: hidden;
|
|
flex-wrap: nowrap;
|
|
flex-wrap: nowrap;
|
|
|
|
|
|
.name {
|
|
.name {
|
|
padding-left: 15px;
|
|
padding-left: 15px;
|
|
color: #999;
|
|
color: #999;
|
|
|
|
+ display: block;
|
|
|
|
+ text-overflow: ellipsis; //文本溢出显示省略号
|
|
|
|
+ overflow: hidden;
|
|
|
|
+ white-space: nowrap; //文本不会换行
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|