| | |
| | | v-if="simStore.selectTab == '行政区划仿真'" |
| | | > |
| | | <el-select |
| | | @change="changeGeom" |
| | | v-model="forms.geom" |
| | | placeholder="Select" |
| | | style="max-width: 600px" |
| | |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | :value="item" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | v-if="simStore.selectTab == '重点区域仿真'" |
| | | > |
| | | <el-select |
| | | @change="changeGeom" |
| | | v-model="forms.geom" |
| | | placeholder="Select" |
| | | style="max-width: 600px" |
| | |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | :value="item" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | <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" |
| | |
| | | import { SimAPIStore } from "@/store/simAPI"; |
| | | import { getRegionData } from "@/api/trApi"; |
| | | import { storeToRefs } from "pinia"; |
| | | import dayjs from "dayjs"; |
| | | import { EventBus } from "@/eventBus"; // 引入事件总线 |
| | | |
| | | const simStore = SimAPIStore(); |
| | | const { selectTab } = storeToRefs(simStore); |
| | |
| | | const forms = reactive({ |
| | | name: "", |
| | | geom: "", |
| | | rainfall: "", |
| | | duration: "", |
| | | intensity: "", |
| | | rainfall: null, |
| | | duration: null, |
| | | intensity: null, |
| | | fileList: [], |
| | | type: 3, |
| | | rainFallList: [], |
| | | hours: null, |
| | | }); |
| | | |
| | | const flyHeight = ref(100000); |
| | | |
| | | // 将选中区域传递给gisView文件,做标红flyTo显示 |
| | | const changeGeom = (val) => { |
| | | if (selectTab.value == "行政区划仿真") { |
| | | flyHeight.value = 100000; |
| | | } else { |
| | | flyHeight.value = 5000; |
| | | } |
| | | EventBus.emit("select-geom", { geom: val.value, flyHeight: flyHeight.value }); |
| | | }; |
| | | |
| | | const { calculateHoursDifference } = inject("calculateHours"); |
| | | |
| | | const change = (val) => { |
| | | forms.duration = calculateHoursDifference(val); |
| | | }; |
| | | |
| | | const addSimCheme = async () => { |
| | | await simStore.addSimCheme(forms); |
| | | resetForm(); |
| | | EventBus.emit("close-selectArea"); |
| | | }; |
| | | |
| | | // 重置表单 |
| | | const resetForm = () => { |
| | | forms.geom = ""; |
| | | forms.eares = "孙胡沟"; |
| | | forms.rainfall = ""; |
| | | forms.duration = ""; |
| | | forms.intensity = ""; |
| | | forms.rainfall = null; |
| | | forms.duration = null; |
| | | forms.intensity = null; |
| | | forms.fileList = []; |
| | | forms.rainFallList = []; |
| | | forms.hours = null; |
| | | }; |
| | | |
| | | // 计算属性:获取上传文件的名称列表 |
| | |
| | | const transformKeys = (data) => { |
| | | return data.map((item) => ({ |
| | | time: item["时间"], // "时间" → "time" |
| | | intensity: item["小时雨强mm/h"], // "小时雨强mm/h" → "intensity" |
| | | total: item["累计雨量"], // "累计雨量" → "total" |
| | | intensity: parseFloat(item["小时雨强mm/h"]), // 转为浮点数 |
| | | total: parseFloat(item["累计雨量"]), // 转为浮点数 |
| | | })); |
| | | }; |
| | | |