riku
2025-06-05 16eb4bd55a4fd61ddd7a171b1a07378c45d1665b
src/components/scene/SceneTable.vue
@@ -49,7 +49,7 @@
  </el-table>
</template>
<script setup>
import { ref, computed, watch } from 'vue';
import { ref, computed, watch, onUnmounted } from 'vue';
import { sceneTypes, sceneIcon } from '@/constant/scene-types';
import MapUtil from '@/utils/map/util';
import marks from '@/utils/map/marks';
@@ -86,14 +86,15 @@
  }
});
onUnmounted(() => {
  removeLayer();
});
watch(showSceneList, (nV, oV) => {
  if (nV && props.showMarks) {
    drawMarks(nV);
  } else {
    if (layer != undefined) {
      MapUtil.removeViews(layer);
      layer = undefined;
    }
    removeLayer();
  }
});
@@ -103,20 +104,21 @@
    if (showSceneList.value && nV) {
      drawMarks(showSceneList.value);
    } else {
      if (layer != undefined) {
        MapUtil.removeViews(layer);
        layer = undefined;
      }
      removeLayer();
    }
  },
  { immediate: true }
);
function drawMarks(sceneList) {
function removeLayer() {
  if (layer != undefined) {
    MapUtil.removeViews(layer);
    layer = undefined;
  }
}
function drawMarks(sceneList) {
  removeLayer();
  if (sceneList.length != 0) {
    const icons = [];
    sceneList.forEach((s) => {