|
|
@@ -121,26 +121,84 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</main>
|
|
|
+ <el-dialog v-model="DetailDialog" @close="DetailDialog = false" width="60%" title="告警详情">
|
|
|
+ <div class="title">设备信息</div>
|
|
|
+ <el-descriptions :column="2" border>
|
|
|
+ <el-descriptions-item label="设备类型" >
|
|
|
+ {{ DEVICE_TYPE[detail.deviceType]}}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item label="设备名称" >
|
|
|
+ {{ detail.deviceName }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item label="设备编号" >
|
|
|
+ {{ detail.deviceNo }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item label="所属部门" >
|
|
|
+ {{ detail.deptName }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item label="所在位置" >
|
|
|
+ {{ detail.regionName }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ </el-descriptions>
|
|
|
+ <div class="title">告警信息</div>
|
|
|
+ <el-form label-width="150px" :inline="false">
|
|
|
+ <el-form-item label="问题状态:">
|
|
|
+ <el-tag :type="detail.alarmStatus==='solved'?'primary':'warning'">
|
|
|
+ {{ ALARM_STATUS[detail.alarmStatus]}}
|
|
|
+ </el-tag>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="告警时间:">
|
|
|
+ {{detail.firstAlarmTime}}
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="告警次数:">
|
|
|
+ {{detail.alarmCount}}
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="告警内容:">
|
|
|
+ {{detail.alarmContent}}
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <div class="title">处理信息</div>
|
|
|
+ <el-form label-width="150px" :inline="false">
|
|
|
+ <el-form-item label="处理人:">
|
|
|
+ {{ detail.handleUserName}}
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="处理时间:">
|
|
|
+ {{detail.handleTime}}
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="处理状态:">
|
|
|
+ <el-tag :type="detail.handleStatus==='handled'?'primary':'warning'">
|
|
|
+ {{HANDLE_STATUS[detail.handleStatus]}}
|
|
|
+ </el-tag>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="现场描述:">
|
|
|
+ {{detail.handleDesc}}
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <template #footer>
|
|
|
+ <el-button @click="DetailDialog = false">取消</el-button>
|
|
|
+ </template>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts" setup>
|
|
|
import { onMounted, reactive, ref } from 'vue';
|
|
|
- import { ElMessage } from 'element-plus';
|
|
|
+ import { ElMessage, ElTag } from 'element-plus';
|
|
|
import { getAllDepartments } from '@/api/auth/dept';
|
|
|
import { formatDeptTree } from '@/views/disaster/utils/formatDeptTree';
|
|
|
import BasicTable from '@/components/BasicTable.vue';
|
|
|
import useTableConfig from '@/hooks/useTableConfigHook';
|
|
|
import ActionButton from '@/components/ActionButton.vue';
|
|
|
import { TABLE_OPTIONS, SPECIAL_EQUIPMENT_TABLE_COLUMNS } from './configs/tables';
|
|
|
- import { DEVICE_CATEGORY_OPTIONS, Alarm_TYPE_OPTIONS, DEVICE_TYPE, ALARM_TYPE} from './configs/form';
|
|
|
+ import { DEVICE_CATEGORY_OPTIONS, Alarm_TYPE_OPTIONS, DEVICE_TYPE, ALARM_TYPE, type DETAIL_DATA_TYPE, ALARM_STATUS, HANDLE_STATUS} from './configs/form';
|
|
|
import {type QueryParamType, equipmentHighAlertList, deptList, exportTableData} from '@/api/equipment-high-alert-List'
|
|
|
import { downloadByData } from '@/utils/file/download';
|
|
|
|
|
|
import dayjs from 'dayjs';
|
|
|
const loading = ref(false);
|
|
|
const dateRange = ref<[string, string] | null>(null);
|
|
|
-
|
|
|
+ const DetailDialog = ref<boolean>(false)
|
|
|
+ const detail = reactive({}) as DETAIL_DATA_TYPE
|
|
|
|
|
|
// BasicTable
|
|
|
const basicTableRef = ref<InstanceType<typeof BasicTable>>();
|
|
|
@@ -222,7 +280,8 @@
|
|
|
};
|
|
|
|
|
|
const handleView = (row)=>{
|
|
|
- ElMessage.warning('请给跳转地址')
|
|
|
+ DetailDialog.value = true
|
|
|
+ Object.assign(detail, row)
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -350,4 +409,17 @@
|
|
|
.dateRange {
|
|
|
align-items: flex-end;
|
|
|
}
|
|
|
+ .title {
|
|
|
+ margin:10px;
|
|
|
+ position: relative;
|
|
|
+ &::after{
|
|
|
+ content: '';
|
|
|
+ position: absolute;
|
|
|
+ left: -8px;
|
|
|
+ top: 3px;
|
|
|
+ width:4px;
|
|
|
+ height: 14px;
|
|
|
+ background-color: #409eff;
|
|
|
+ }
|
|
|
+ }
|
|
|
</style>
|