guonan
2025-04-30 742cecf2dd52906ff00a50461839bda83a3cbc6d
src/views/left/CitySim.vue
@@ -80,9 +80,28 @@
            <template #append>mm</template>
          </el-input>
        </el-form-item>
        <el-form-item label="选择时间:">
          <el-date-picker
            v-if="forms.fileList.length !== 0"
            v-model="forms.hours"
            type="datetime"
            placeholder="Select date and time"
          />
          <el-date-picker
            v-if="forms.fileList.length == 0"
            v-model="forms.hours"
            type="datetimerange"
            start-placeholder="开始时间"
            end-placeholder="结束时间"
            format="YYYY-MM-DD HH:mm:ss"
            date-format="YYYY/MM/DD ddd"
            time-format="A hh:mm:ss"
            @change="change"
          />
        </el-form-item>
        <el-form-item label="降雨时长:">
          <el-input
            disabled
            v-model="forms.duration"
            style="max-width: 600px"
            placeholder="Please input"
@@ -120,6 +139,7 @@
import { SimAPIStore } from "@/store/simAPI";
import { getRegionData } from "@/api/trApi";
import { storeToRefs } from "pinia";
import dayjs from "dayjs";
const simStore = SimAPIStore();
const { selectTab } = storeToRefs(simStore);
@@ -173,7 +193,20 @@
  fileList: [],
  type: 3,
  rainFallList: [],
  hours: "",
});
// 计算累计时长
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;
};
const change = (val) => {
  forms.duration = calculateHoursDifference(val);
};
const addSimCheme = async () => {
  await simStore.addSimCheme(forms);
@@ -188,6 +221,7 @@
  forms.intensity = "";
  forms.fileList = [];
  forms.rainFallList = [];
  forms.hours = "";
};
// 计算属性:获取上传文件的名称列表