|
@@ -1,7 +1,7 @@
|
|
<template>
|
|
<template>
|
|
<div class="right-layout">
|
|
<div class="right-layout">
|
|
<div class="right-content">
|
|
<div class="right-content">
|
|
- <el-form :inline="false">
|
|
|
|
|
|
+ <el-form :inline="false" v-if="router.currentRoute.value.name === 'map'">
|
|
<el-form-item v-if="relics">
|
|
<el-form-item v-if="relics">
|
|
<el-input v-model="relicsName" :maxlength="50" placeholder="不可移动文物名称">
|
|
<el-input v-model="relicsName" :maxlength="50" placeholder="不可移动文物名称">
|
|
<template #append>
|
|
<template #append>
|
|
@@ -36,20 +36,34 @@
|
|
class="tree-item"
|
|
class="tree-item"
|
|
@click="!data.disable && emit((data.type === 'scene' ? 'flyScene' : 'flyPoint') as any, data.raw)"
|
|
@click="!data.disable && emit((data.type === 'scene' ? 'flyScene' : 'flyPoint') as any, data.raw)"
|
|
>
|
|
>
|
|
- <span :class="{ disable: data.disable }">
|
|
|
|
|
|
+ <el-tooltip
|
|
|
|
+ v-if="data.type === 'scene'"
|
|
|
|
+ class="box-item"
|
|
|
|
+ effect="dark"
|
|
|
|
+ :content="data.raw.sceneName + ' ' + node.label"
|
|
|
|
+ placement="top"
|
|
|
|
+ >
|
|
|
|
+ <span :class="{ disable: data.disable }" class="title">
|
|
|
|
+ <el-icon> <Grid /> </el-icon>
|
|
|
|
+ {{ data.raw.sceneName }}
|
|
|
|
+ <span class="tree-scene-name">{{ node.label }}</span>
|
|
|
|
+ </span>
|
|
|
|
+ </el-tooltip>
|
|
|
|
+ <span :class="{ disable: data.disable }" class="title" v-else>
|
|
<el-icon>
|
|
<el-icon>
|
|
- <Grid v-if="data.type === 'scene'" />
|
|
|
|
- <LocationInformation v-else />
|
|
|
|
|
|
+ <LocationInformation />
|
|
</el-icon>
|
|
</el-icon>
|
|
{{ node.label }}
|
|
{{ node.label }}
|
|
</span>
|
|
</span>
|
|
- <span>
|
|
|
|
- <el-icon color="#409efc" v-if="data.type === 'scene'">
|
|
|
|
- <Delete @click.stop="delScene(data.raw)" />
|
|
|
|
- </el-icon>
|
|
|
|
- <el-icon v-else color="#409efc">
|
|
|
|
- <Edit @click.stop="inputPoint = data.raw" />
|
|
|
|
- </el-icon>
|
|
|
|
|
|
+ <span class="oper">
|
|
|
|
+ <template v-if="router.currentRoute.value.name === 'map'">
|
|
|
|
+ <el-icon color="#409efc" v-if="data.type === 'scene'">
|
|
|
|
+ <Delete @click.stop="delScene(data.raw)" />
|
|
|
|
+ </el-icon>
|
|
|
|
+ <el-icon v-else color="#409efc">
|
|
|
|
+ <Edit @click.stop="inputPoint = data.raw" />
|
|
|
|
+ </el-icon>
|
|
|
|
+ </template>
|
|
<el-icon color="#409efc" style="margin-left: 8px">
|
|
<el-icon color="#409efc" style="margin-left: 8px">
|
|
<Link
|
|
<Link
|
|
@click.stop="
|
|
@click.stop="
|
|
@@ -112,6 +126,7 @@ import {
|
|
import SingleInput from "@/components/single-input.vue";
|
|
import SingleInput from "@/components/single-input.vue";
|
|
import { downloadPointsXLSL } from "@/util/pc4xlsl";
|
|
import { downloadPointsXLSL } from "@/util/pc4xlsl";
|
|
import { ElMessage } from "element-plus";
|
|
import { ElMessage } from "element-plus";
|
|
|
|
+import { router } from "@/router";
|
|
|
|
|
|
const emit = defineEmits<{
|
|
const emit = defineEmits<{
|
|
(e: "flyScene", data: RelicsScene): void;
|
|
(e: "flyScene", data: RelicsScene): void;
|
|
@@ -187,9 +202,19 @@ const exportFile = async () => {
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|
|
.tree-item {
|
|
.tree-item {
|
|
display: flex;
|
|
display: flex;
|
|
- width: 100%;
|
|
|
|
|
|
+ width: calc(100% - 50px);
|
|
align-items: center;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
justify-content: space-between;
|
|
|
|
+
|
|
|
|
+ .title {
|
|
|
|
+ flex: 1;
|
|
|
|
+ overflow: hidden;
|
|
|
|
+ text-overflow: ellipsis; //文本溢出显示省略号
|
|
|
|
+ white-space: nowrap; //文本不会换行
|
|
|
|
+ }
|
|
|
|
+ .oper {
|
|
|
|
+ flex: none;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
.tree-layout {
|
|
.tree-layout {
|
|
@@ -207,4 +232,9 @@ const exportFile = async () => {
|
|
overflow-y: auto;
|
|
overflow-y: auto;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+.tree-layout .tree-scene-name {
|
|
|
|
+ font-size: 10px;
|
|
|
|
+ margin: 0;
|
|
|
|
+ color: #999;
|
|
|
|
+}
|
|
</style>
|
|
</style>
|