wangjuncheng
2025-04-21 fcac9ebfb3a0a1a4f6d857b422768d6cbef7944d
src/components/menu/TimeLine.vue
@@ -62,6 +62,7 @@
        </div>
      </div>
    </div>
    <el-button @click="handleBack" style="margin-top: 26px;margin-left: 30px;margin-right: 10px;">结束模拟</el-button>
  </div>
</template>
@@ -74,10 +75,14 @@
  watch,
  defineProps,
  onBeforeUnmount,
  inject,
} from "vue";
import dayjs from "dayjs";
import { createWaterPrimitive, destoryWaterPrimitive } from "@/utils/water";
import { getRainfall } from "@/api/index";
import { EventBus } from "@/eventBus"; // 引入事件总线
import { ElMessage } from 'element-plus'
const props = defineProps({
  waterSimulateParams: {
@@ -145,6 +150,7 @@
  if (!isPlaying.value && currentTime.value >= duration.value) {
    currentTime.value = 0;
    emit("timeUpdate", progressPercentage.value);
    // earthCtrl.environment.disableEffect("rain");
  }
  isPlaying.value = !isPlaying.value;
@@ -162,6 +168,7 @@
};
const startPlayback = () => {
  // earthCtrl.environment.showEffect("rain");
  clearInterval(playInterval);
  playInterval = setInterval(() => {
    currentTime.value += 600 * playbackRate.value;
@@ -183,6 +190,7 @@
};
const stopPlayback = () => {
  // earthCtrl.environment.disableEffect("rain");
  clearInterval(playInterval);
};
@@ -295,6 +303,16 @@
    destoryWaterPrimitive();
  }, delay);
});
const { startSimulate, endSimulate } = inject("simulateActions");
// 返回按钮点击事件
function handleBack() {
  ElMessage({
    message: '模拟进程正在关闭中...',
    type: 'success',
  })
  endSimulate();
  EventBus.emit("hide-schemeInfo");
}
</script>
<style scoped>
@@ -307,7 +325,7 @@
  left: 50%;
  transform: translateX(-50%);
  z-index: 99;
  width: 838px;
  width: 878px;
  height: 108px;
  /* background-color: #1a2634; */
  background: url("@/assets/img/menubar/bar.png");