视频告警页面完善
Some checks failed
/ Explore-Gitea-Actions (push) Failing after 2m44s

This commit is contained in:
15683799673
2025-08-18 09:06:31 +08:00
parent 69f0d4adb4
commit 79d650adb4
21 changed files with 1009 additions and 1025 deletions

View File

@@ -1,17 +1,12 @@
<script setup lang="ts">
import { ref, shallowRef } from 'vue';
import { useVbenModal } from '@vben/common-ui';
import {
Descriptions,
DescriptionsItem,
Image,
Tag,
Timeline,
TimelineItem,
} from 'ant-design-vue';
import { Descriptions, DescriptionsItem, Image, Tag } from 'ant-design-vue';
import { queryAlarmEventAttachmentsList } from '#/api/sis/alarmEventAttachments';
import type { AlarmEventAttachmentsVO } from '#/api/sis/alarmEventAttachments/model';
import { fallImg } from './data';
import { alarmEventProcessList } from '#/api/sis/alarmEventProcess';
import type { AlarmEventProcessVO } from '#/api/sis/alarmEventProcess/model';
const [BasicModal, modalApi] = useVbenModal({
onOpenChange: handleOpenChange,
@@ -22,23 +17,6 @@ const [BasicModal, modalApi] = useVbenModal({
});
const warningDetail = shallowRef<any>(null);
// 时间线显示条件配置
const timelineConfig = {
已完成: ['已完成'],
处理异常: ['已完成', '处理异常'],
处理中: ['已完成', '处理中', '处理异常'],
};
function showTimelineItem(type: string): boolean {
const currentStatus = warningDetail.value?.processingStatus;
return (
timelineConfig[type as keyof typeof timelineConfig]?.includes(
currentStatus,
) || false
);
}
const currFiles = ref<AlarmEventAttachmentsVO[]>([]);
async function handleOpenChange(open: boolean) {
@@ -50,15 +28,31 @@ async function handleOpenChange(open: boolean) {
id: number | string;
data: any[];
};
// 从传递的数据中查找对应的记录
if (data) {
warningDetail.value = data;
}
// 加载事件附件信息
currFiles.value = await queryAlarmEventAttachmentsList(id);
// 加载处理流程
loadProcessList();
modalApi.modalLoading(false);
}
const process = ref<AlarmEventProcessVO[]>([]);
function loadProcessList() {
const data = modalApi.getData();
const params = {
pageNum: 1,
pageSize: 50,
alarmId: data.id,
};
alarmEventProcessList(params).then((res) => {
const { rows = [] } = res;
process.value = rows;
});
}
</script>
<template>
@@ -146,41 +140,6 @@ async function handleOpenChange(open: boolean) {
<DescriptionsItem :span="1" label="报警视频"></DescriptionsItem>
</Descriptions>
<Timeline>
<TimelineItem v-if="warningDetail.processingStatus === '已完成'">
<p style="display: flex">类型已完成</p>
<p>时间2025-06-01 11:07:59</p>
<p>处理人张三</p>
</TimelineItem>
<TimelineItem
v-if="
warningDetail.processingStatus === '已完成' ||
warningDetail.processingStatus === '处理异常'
"
>
<p style="display: flex">类型:处理异常</p>
<p>时间2025-06-01 11:07:59</p>
<p>处理人:张三</p>
<p>异常原因:时长不够</p>
</TimelineItem>
<TimelineItem
v-if="
warningDetail.processingStatus === '已完成' ||
warningDetail.processingStatus === '处理中' ||
warningDetail.processingStatus === '处理异常'
"
>
<p style="display: flex">类型:处理中</p>
<p>时间2025-06-01 11:07:59</p>
<p>处理人:张三</p>
</TimelineItem>
<TimelineItem>
<p style="display: flex">类型:创建预警</p>
<p>时间2025-06-01 11:07:59</p>
<p>处理人:张三</p>
</TimelineItem>
</Timeline>
</BasicModal>
</template>