src/views/left/Simulation.vue
@@ -25,9 +25,11 @@
</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 { SimAPIStore } from "@/store/simAPI";
@@ -44,13 +46,24 @@
// 标签点击事件
const handleClick = (tab) => {
  SimAPIStore.handleClickTab(tab.props.label);
  simStore.handleClickTab(tab.props.label);
};
// 返回上一级
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>