|
|
@@ -1,19 +1,15 @@
|
|
|
<template>
|
|
|
- <!-- 1. 传送到 body → 全屏显示 -->
|
|
|
<Teleport to="body">
|
|
|
- <!-- 2. 全屏遮罩 + 居中 -->
|
|
|
<div v-if="modelValue" class="modal-overlay" @click.self="close">
|
|
|
- <!-- 3. 弹窗容器(带标题、关闭、样式) -->
|
|
|
<div class="modal-container">
|
|
|
<div class="dialog-header">
|
|
|
- <h3>应急控制</h3>
|
|
|
+ <h3>历史分析记录</h3>
|
|
|
</div>
|
|
|
<div class="close-btn" @click="close">
|
|
|
<img src="@/assets/images/beltFire/fireMonitor/close.svg" alt="" />
|
|
|
</div>
|
|
|
- <!-- 4. 你原来的表格组件(直接放这里) -->
|
|
|
<div class="table-box">
|
|
|
- <BasicTable ref="handlerHistory" @register="registerTable" />
|
|
|
+ <BasicTable ref="handlerHistory" @register="registerTable"> </BasicTable>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -35,7 +31,12 @@ const list = (params) =>
|
|
|
url: '/ventanaly-device/safety/deviceVehiclePass/getByDeviceAndTime',
|
|
|
params,
|
|
|
});
|
|
|
-
|
|
|
+const vehicleList = (params) => {
|
|
|
+ defHttp.get({
|
|
|
+ url: '/ventanaly-device/safety/deviceVehiclePass/list',
|
|
|
+ params,
|
|
|
+ });
|
|
|
+};
|
|
|
// 接收 v-model
|
|
|
const props = defineProps({
|
|
|
modelValue: {
|
|
|
@@ -74,6 +75,30 @@ watch(
|
|
|
} else {
|
|
|
columns.value = column;
|
|
|
}
|
|
|
+ columns.value = columns.value.map((col) => {
|
|
|
+ // 是否通过车辆
|
|
|
+ if (col.title === '是否通过车辆') {
|
|
|
+ col.customRender = function ({ record }) {
|
|
|
+ if (record.vehicleId && record.vehicleId !== '') {
|
|
|
+ return record.vehicleId;
|
|
|
+ } else {
|
|
|
+ return '未通过车辆';
|
|
|
+ }
|
|
|
+ };
|
|
|
+ }
|
|
|
+
|
|
|
+ // 预警状态
|
|
|
+ if (col.title === '预警状态') {
|
|
|
+ col.customRender = function ({ record }) {
|
|
|
+ if (record.vehicleId && record.vehicleId !== '') {
|
|
|
+ return record.vehicleId + ' 已排除';
|
|
|
+ } else {
|
|
|
+ return '预警';
|
|
|
+ }
|
|
|
+ };
|
|
|
+ }
|
|
|
+ return col;
|
|
|
+ });
|
|
|
if (handlerHistory.value) reload();
|
|
|
},
|
|
|
{ immediate: true }
|
|
|
@@ -111,7 +136,18 @@ const { tableContext } = useListPage({
|
|
|
},
|
|
|
schemas: [
|
|
|
{
|
|
|
- field: 'createTime_begin',
|
|
|
+ label: '设备名称',
|
|
|
+ field: 'deviceId',
|
|
|
+ component: 'Select',
|
|
|
+ required: true,
|
|
|
+ defaultValue: '1722081013462003713',
|
|
|
+ componentProps: {
|
|
|
+ placeholder: '请选择设备',
|
|
|
+ },
|
|
|
+ colProps: { span: 8 },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ field: 'startTime',
|
|
|
label: '开始时间',
|
|
|
component: 'DatePicker',
|
|
|
defaultValue: dayjs().add(-30, 'day').format('YYYY-MM-DD HH:mm:ss'),
|
|
|
@@ -121,10 +157,10 @@ const { tableContext } = useListPage({
|
|
|
valueFormat: 'YYYY-MM-DD HH:mm:ss',
|
|
|
getPopupContainer: getAutoScrollContainer,
|
|
|
},
|
|
|
- colProps: { span: 7 },
|
|
|
+ colProps: { span: 8 },
|
|
|
},
|
|
|
{
|
|
|
- field: 'createTime_end',
|
|
|
+ field: 'endTime',
|
|
|
label: '结束时间',
|
|
|
component: 'DatePicker',
|
|
|
defaultValue: dayjs(),
|
|
|
@@ -134,7 +170,7 @@ const { tableContext } = useListPage({
|
|
|
valueFormat: 'YYYY-MM-DD HH:mm:ss',
|
|
|
getPopupContainer: getAutoScrollContainer,
|
|
|
},
|
|
|
- colProps: { span: 7 },
|
|
|
+ colProps: { span: 8 },
|
|
|
},
|
|
|
],
|
|
|
},
|
|
|
@@ -145,8 +181,6 @@ const { tableContext } = useListPage({
|
|
|
pageSizeOptions: ['10', '30', '50', '100'],
|
|
|
},
|
|
|
beforeFetch(params) {
|
|
|
- params.devicetype = props.deviceType + '*';
|
|
|
- if (props.sysId) params.sysId = props.sysId;
|
|
|
if (props.deviceId) params.deviceid = props.deviceId;
|
|
|
},
|
|
|
},
|