|
@@ -2,8 +2,8 @@
|
|
|
<el-dialog ref="formDialogRef" :model-value="visible" :title="props.title" width="650px" append-to-body @close="closeDialog">
|
|
|
<el-form ref="eventFormRef" :model="form" :rules="rules" label-width="80px">
|
|
|
<el-form-item label="灾害事件" prop="event_title">
|
|
|
- <el-select v-model="form.event_title" placeholder="请选择事件" clearable v-if="!props.eventId">
|
|
|
- <el-option v-for="item in mm_event_type" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
+ <el-select v-if="!props.eventId" v-model="form.event_title" placeholder="请选择事件" clearable>
|
|
|
+ <el-option v-for="item in mm_event_title" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
</el-select>
|
|
|
<span v-else>{{ form.event_title }}</span>
|
|
|
</el-form-item>
|
|
@@ -19,20 +19,14 @@
|
|
|
|
|
|
<script lang="ts" setup>
|
|
|
import { ref, reactive, toRefs } from 'vue';
|
|
|
-import { addEvent, editEvent, postEditEvent } from '@/api/duty/eventing';
|
|
|
+import { addEvent, editEvent, postEditEvent,registeredEvent } from '@/api/duty/eventing';
|
|
|
|
|
|
const proxy = getCurrentInstance()?.proxy;
|
|
|
-const { mm_event_type, mm_event_level, mm_event_state, region } = toRefs<any>(
|
|
|
- proxy?.useDict('mm_event_type', 'mm_event_level', 'mm_event_state', 'region')
|
|
|
-);
|
|
|
+const { mm_event_title, region } = toRefs<any>(proxy?.useDict('mm_event_title', 'region'));
|
|
|
const router = useRouter();
|
|
|
const buttonLoading = ref(false);
|
|
|
const eventFormRef = ref();
|
|
|
const visible = ref(false);
|
|
|
-// 结束
|
|
|
-// const endProcess = () => {
|
|
|
-// router.push('/');
|
|
|
-// };
|
|
|
interface Props {
|
|
|
modelValue: boolean;
|
|
|
eventId: string;
|
|
@@ -111,6 +105,20 @@ const submitForm = () => {
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
+// 获取注册的事件列表
|
|
|
+const fetchEvents = async () => {
|
|
|
+ try {
|
|
|
+ const response = await registeredEvent({});
|
|
|
+ if (response && response.data && Array.isArray(response.data)) {
|
|
|
+ events.value = response.data;
|
|
|
+ }
|
|
|
+ } catch (error) {
|
|
|
+ console.error('Failed to fetch events:', error);
|
|
|
+ }
|
|
|
+};
|
|
|
+// 初始化事件列表
|
|
|
+onMounted(fetchEvents);
|
|
|
+
|
|
|
const closeDialog = () => {
|
|
|
visible.value = false;
|
|
|
// 清空表单
|
|
@@ -127,5 +135,9 @@ const endProcess = () => {
|
|
|
// 显示对话框的方法
|
|
|
const showFormDialog = () => {
|
|
|
visible.value = true;
|
|
|
+ // 如果没有 event_id,则获取事件列表
|
|
|
+ if (!props.eventId) {
|
|
|
+ fetchEvents();
|
|
|
+ }
|
|
|
};
|
|
|
</script>
|