|
@@ -19,7 +19,7 @@
|
|
|
|
|
|
<script lang="ts" setup>
|
|
|
import { ref, reactive, toRefs } from 'vue';
|
|
|
-import { addEvent, editEvent, postEditEvent,registeredEvent } from '@/api/duty/eventing';
|
|
|
+import { addEvent, editEvent, postEditEvent, registeredEvent } from '@/api/duty/eventing';
|
|
|
|
|
|
const proxy = getCurrentInstance()?.proxy;
|
|
|
const { mm_event_title, region } = toRefs<any>(proxy?.useDict('mm_event_title', 'region'));
|
|
@@ -58,6 +58,7 @@ watch(
|
|
|
// 表单初始数据
|
|
|
const initFormData = {
|
|
|
event_title: '', // 事件标题
|
|
|
+ event_id: '',
|
|
|
event_type: '', // 事件类型
|
|
|
event_level: '', // 事件等级
|
|
|
event_status: '0' // 事件状态
|
|
@@ -110,7 +111,7 @@ const fetchEvents = async () => {
|
|
|
try {
|
|
|
const response = await registeredEvent({});
|
|
|
if (response && response.data && Array.isArray(response.data)) {
|
|
|
- events.value = response.data;
|
|
|
+ mm_event_title.value = response.data.map((item) => ({ value: item.id, label: item.title }));
|
|
|
}
|
|
|
} catch (error) {
|
|
|
console.error('Failed to fetch events:', error);
|
|
@@ -120,21 +121,31 @@ const fetchEvents = async () => {
|
|
|
onMounted(fetchEvents);
|
|
|
|
|
|
const closeDialog = () => {
|
|
|
- visible.value = false;
|
|
|
- // 清空表单
|
|
|
+ emits('update:modelValue', false);
|
|
|
if (eventFormRef.value) {
|
|
|
eventFormRef.value.resetFields();
|
|
|
}
|
|
|
+ form.value.event_id = null;
|
|
|
+ form.value.event_title = '';
|
|
|
};
|
|
|
const endProcess = () => {
|
|
|
- // 关闭弹窗
|
|
|
+ // 确保在点击结束指挥时重新显示对话框
|
|
|
+ ensureDialogVisible();
|
|
|
closeDialog();
|
|
|
- // 使用 Vue Router 返回到上一个页面
|
|
|
+ // 根据应用类型返回上一页
|
|
|
+ // 如果是 SPA 应用,可以使用 Vue Router
|
|
|
router.go(-1);
|
|
|
};
|
|
|
+// 确保在点击结束指挥时重新显示对话框
|
|
|
+const ensureDialogVisible = () => {
|
|
|
+ if (!visible.value) {
|
|
|
+ showFormDialog();
|
|
|
+ }
|
|
|
+};
|
|
|
// 显示对话框的方法
|
|
|
const showFormDialog = () => {
|
|
|
visible.value = true;
|
|
|
+ emits('update:modelValue', true);
|
|
|
// 如果没有 event_id,则获取事件列表
|
|
|
if (!props.eventId) {
|
|
|
fetchEvents();
|