|
@@ -1,12 +1,24 @@
|
|
|
<template>
|
|
|
<div class="draw-layout">
|
|
|
- <canvas ref="drawCanvasRef" class="draw-canvas" />
|
|
|
+ <div class="draw-slide">
|
|
|
+ <div
|
|
|
+ v-for="menu in menus"
|
|
|
+ :key="menu.key"
|
|
|
+ @click="activeMenu = menu.key"
|
|
|
+ :class="{ active: menu.key === activeMenu }"
|
|
|
+ >
|
|
|
+ {{ menu.text }}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="canvas-layout">
|
|
|
+ <canvas ref="drawCanvasRef" class="draw-canvas" />
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts" setup>
|
|
|
-import { onMounted, onUnmounted, ref } from "vue";
|
|
|
-import { setCanvas } from "@/hook/useGraphic";
|
|
|
+import { onMounted, onUnmounted, ref, watchEffect } from "vue";
|
|
|
+import { setCanvas, drawRef } from "@/hook/useGraphic";
|
|
|
|
|
|
const drawCanvasRef = ref<HTMLCanvasElement>();
|
|
|
const setCanvasSize = () => {
|
|
@@ -14,12 +26,22 @@ const setCanvasSize = () => {
|
|
|
drawCanvasRef.value.height = drawCanvasRef.value.offsetHeight;
|
|
|
};
|
|
|
|
|
|
+const menus = ref([
|
|
|
+ { key: "road", text: "道路" },
|
|
|
+ { key: "tag", text: "标注" },
|
|
|
+]);
|
|
|
+const activeMenu = ref<string>(null);
|
|
|
+
|
|
|
// window.addEventListener("resize", setCanvasSize);
|
|
|
|
|
|
onMounted(() => {
|
|
|
- console.log("???");
|
|
|
setCanvasSize();
|
|
|
setCanvas(drawCanvasRef.value);
|
|
|
+
|
|
|
+ watchEffect(() => {
|
|
|
+ drawRef.value.control.currentUI = activeMenu.value as any;
|
|
|
+ drawRef.value.control.updateEventNameForSelectUI();
|
|
|
+ });
|
|
|
});
|
|
|
|
|
|
onUnmounted(() => {
|