77 lines
1.9 KiB
Vue
Raw Normal View History

2026-04-07 17:01:46 +08:00
<template>
2026-04-08 16:01:04 +08:00
<PageContainer :title="title" @click-back="handleClickBack" class="page-container">
2026-04-07 17:01:46 +08:00
<!-- 当前站点信息 -->
<CurrentSite />
<!-- 事件类型 -->
2026-04-10 13:39:36 +08:00
<PanelItem title="事件类型" style="margin-bottom: 10px" v-if="!isContinue">
2026-04-15 09:08:41 +08:00
<van-row gutter="10">
<van-col v-for="(item, index) in eventTypeOptions" :span="24 / eventTypeOptions.length" :key="index">
<van-button block plain :type="item.value === eventType ? 'primary' : 'default'" @click="eventType = item.value"> {{ item.label }} </van-button>
</van-col>
</van-row>
2026-04-07 17:01:46 +08:00
</PanelItem>
<!-- 根据事件类型渲染不同表单 -->
2026-04-15 09:08:41 +08:00
<WaterDisaster v-if="eventType === 'water'" />
<IceDisaster v-if="eventType === 'ice'" />
2026-04-07 17:01:46 +08:00
</PageContainer>
</template>
<script setup>
2026-04-08 16:01:04 +08:00
import { ref, onMounted, computed } from 'vue'
import { useRouter, useRoute } from 'vue-router'
2026-04-07 17:01:46 +08:00
import { showToast, showSuccessToast, showFailToast } from 'vant'
import PageContainer from '@/components/PageContainer.vue'
import CurrentSite from '@/components/CurrentSite.vue'
import PanelItem from '@/components/PanelItem.vue'
2026-04-08 09:21:47 +08:00
import WaterDisaster from './WaterDisaster/WaterDisaster.vue'
2026-04-15 09:08:41 +08:00
import IceDisaster from './IceDisaster.vue'
2026-04-10 13:39:36 +08:00
import { request } from '@shared/utils/request'
2026-04-07 17:01:46 +08:00
const router = useRouter()
2026-04-08 16:01:04 +08:00
const route = useRoute()
// 是否为续报
const isContinue = computed(() => route.query.isContinue)
const title = ref(!isContinue ? '灾毁填报' : '灾毁续报')
2026-04-07 17:01:46 +08:00
// 事件类型
const eventType = ref('water')
2026-04-15 09:08:41 +08:00
const eventTypeOptions = [
{
label: '水毁灾害',
value: 'water'
},
{
label: '冰雪灾害',
value: 'ice'
}
]
2026-04-07 17:01:46 +08:00
// 返回上一页
const handleClickBack = () => {
2026-04-18 10:30:07 +08:00
router.go(-1)
2026-04-07 17:01:46 +08:00
}
</script>
<style lang="scss" scoped>
.page-container {
background-color: #f5f7fa;
2026-04-15 09:08:41 +08:00
padding-bottom: 80px;
2026-04-07 17:01:46 +08:00
}
.event-type-group {
display: flex;
gap: 24px;
:deep(.van-radio) {
margin-right: 0;
}
}
.coming-soon {
padding: 40px 20px;
}
2026-04-10 13:39:36 +08:00
</style>