src/views/left/Simulation.vue
@@ -25,13 +25,15 @@
</template>
<script setup>
import { ref, defineEmits } from "vue";
import { ref, defineEmits, provide } from "vue";
import citySim from "./CitySim.vue";
import kgSim from "./KGSim.vue";
import dayjs from "dayjs";
import { EventBus } from "@/eventBus"; // 引入事件总线
import { useSimStore } from "@/store/simulation";
import { SimAPIStore } from "@/store/simAPI";
const simStore = useSimStore();
const simStore = SimAPIStore();
// 定义返回事件
const emits = defineEmits(["back"]);
@@ -50,7 +52,18 @@
// 返回上一级
const goBack = () => {
  emits("back", clickValue.value);
  EventBus.emit("close-selectArea");
};
// 计算累计时长
const calculateHoursDifference = (val) => {
  if (!val || val.length !== 2) return 0;
  const [startDate, endDate] = val;
  const diffInHours = dayjs(endDate).diff(dayjs(startDate), "hour", true); // true 表示返回浮点数
  return diffInHours;
};
provide("calculateHours", { calculateHoursDifference });
</script>
<style lang="less" scoped>