|
@@ -6,11 +6,6 @@
|
|
|
<el-card class="mt8" shadow="hover">
|
|
|
<el-form :model="Data.Filter" @submit.stop.prevent style="margin-bottom:-20px;">
|
|
|
<el-form-item prop="name" style="width: 100%">
|
|
|
- <!-- <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6" class="mb20">
|
|
|
- <el-form-item label="油机ID">
|
|
|
- <el-input v-model="Data.Filter.fuelld" placeholder="请输入油机ID" clearable></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col> -->
|
|
|
<el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6" class="mb20">
|
|
|
<el-form-item label="加油站">
|
|
|
<el-input v-model="Data.Filter.gasStation" placeholder="请输入加油站" clearable></el-input>
|
|
@@ -56,7 +51,6 @@
|
|
|
<el-row>
|
|
|
<el-button type="primary" icon="ele-Search" @click="onQuery"> 查询 </el-button>
|
|
|
<el-button type="primary" icon="ele-RefreshRight" @click="onReset"> 重置 </el-button>
|
|
|
- <!-- 在现有模板中修改按钮的点击事件 -->
|
|
|
<el-button
|
|
|
v-auth="'api:admin:file:upload-file'"
|
|
|
type="primary"
|
|
@@ -65,32 +59,52 @@
|
|
|
>
|
|
|
执行推送规则
|
|
|
</el-button>
|
|
|
+ </el-row>
|
|
|
</el-row>
|
|
|
- </el-row>
|
|
|
-
|
|
|
</el-card>
|
|
|
</el-col>
|
|
|
<!--表格-->
|
|
|
<el-col :xs="24">
|
|
|
<el-card class="my-fill mt8" shadow="hover">
|
|
|
- <!-- 修改表格引用,添加ref -->
|
|
|
<el-table ref="tableRef" v-loading="Data.loading" stripe :data="Data.tableModel"
|
|
|
style="width: 100%;overflow: hidden;">
|
|
|
- <!-- 多选框 -->
|
|
|
<el-table-column type="selection" width="55" fixed="left"></el-table-column>
|
|
|
- <el-table-column v-for="column in Data.dynamicColumns" :key="column.prop" :prop="column.prop"
|
|
|
- :label="column.label" />
|
|
|
- <el-table-column label="操作" fixed="right" header-align="center" align="center" class="right-operation"
|
|
|
+ <el-table-column
|
|
|
+ v-for="column in Data.dynamicColumns"
|
|
|
+ :key="column.prop"
|
|
|
+ :prop="column.prop"
|
|
|
+ :label="column.label" >
|
|
|
+ <template #default="{ row }">
|
|
|
+ <template v-if="column.prop === 'alarmDescription'">
|
|
|
+ <el-tooltip
|
|
|
+ placement="top"
|
|
|
+ effect="light"
|
|
|
+ :content="row.alarmDescription"
|
|
|
+ :manual="false"
|
|
|
+ >
|
|
|
+ <span class="ellipsis-2line">
|
|
|
+ {{ row.alarmDescription }}
|
|
|
+ </span>
|
|
|
+ </el-tooltip>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ {{ row[column.prop] }}
|
|
|
+ </template>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ <el-table-column label="操作" fixed="right" header-align="center" align="center" class="right-operation"
|
|
|
width="150">
|
|
|
<template #default="{ row }">
|
|
|
- <el-link class="my-el-link mr12 ml12" :href="row.linkUrl" type="primary" icon="ele-Download" size="small"
|
|
|
- :underline="false" target="_blank" @click="toList">报警推送记录</el-link>
|
|
|
- <el-link class="my-el-link mr12 ml12" :href="row.linkUrl" type="primary" icon="ele-Edit" size="small"
|
|
|
- :underline="false" target="_blank" @click="toPage(row)">油机详情</el-link>
|
|
|
- <el-link class="my-el-link mr12 ml12" :href="row.linkUrl" type="primary" icon="ele-InfoFilled" size="small"
|
|
|
- :underline="false" target="_blank">诊断说明</el-link>
|
|
|
+ <el-link class="my-el-link mr12 ml12" :href="row.linkUrl" type="primary" icon="ele-Download" size="small"
|
|
|
+ :underline="false" target="_blank" @click="row.alarmHistoryID && toList(row.alarmHistoryID)">报警推送记录</el-link>
|
|
|
+ <el-link class="my-el-link mr12 ml12" :href="row.linkUrl" type="primary" icon="ele-Edit" size="small"
|
|
|
+ :underline="false" target="_blank" @click="toPage(row)">油机详情</el-link>
|
|
|
+ <el-link class="my-el-link mr12 ml12" :href="row.linkUrl" type="primary" icon="ele-InfoFilled" size="small"
|
|
|
+ :underline="false" target="_blank">诊断说明</el-link>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
+
|
|
|
</el-table>
|
|
|
<div class="my-flex my-flex-end" style="margin-top: 20px">
|
|
|
<el-pagination
|
|
@@ -107,9 +121,7 @@
|
|
|
</el-card>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
-
|
|
|
</div>
|
|
|
-
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts" name="authorize/fuelingsdk">
|
|
@@ -123,46 +135,29 @@ import { PushRulesApi } from "/@/api/admin/reportManagement/alarm/alarmApi";
|
|
|
import { ResultOutputBoolean } from "/@/api/admin/reportManagement/alarm/alarmDto";
|
|
|
|
|
|
const pushRulesApi = new PushRulesApi();
|
|
|
-const tableRef = ref<InstanceType<typeof ElTable>>(); // 添加表格引用
|
|
|
+const tableRef = ref<InstanceType<typeof ElTable>>();
|
|
|
|
|
|
-// 使用组合式函数获取分页状态
|
|
|
const pageState = useDynamicPageSize(10, 15);
|
|
|
|
|
|
/**页面对象 */
|
|
|
const Data = reactive({
|
|
|
time: '',
|
|
|
- /**加载显示 */
|
|
|
loading: false,
|
|
|
- /**条件查询模块 */
|
|
|
Filter: {
|
|
|
- /**油机id */
|
|
|
fuelld: "",
|
|
|
- /**加油站 */
|
|
|
gasStation: "",
|
|
|
- /**油机号*/
|
|
|
name: "",
|
|
|
- /**序列号*/
|
|
|
serialNumber: "",
|
|
|
- /**报警来源 */
|
|
|
alarmSource: "",
|
|
|
- /**报警类型 */
|
|
|
alarmType: "",
|
|
|
- /**报警描述 */
|
|
|
alarmDescription: "",
|
|
|
- /**报警设备 */
|
|
|
alarmDevice: "",
|
|
|
- /** 油枪*/
|
|
|
nozzleControlName: "",
|
|
|
- /**创建开始的时间 */
|
|
|
CreateBeginTime: "",
|
|
|
- /**创建结束的时间 */
|
|
|
CreateEndTime: "",
|
|
|
} as alarmFilterModel_SearchFilter,
|
|
|
- /**表格信息 */
|
|
|
tableModel: [] as Array<alarmFilterModel>,
|
|
|
- /**动态表头 */
|
|
|
dynamicColumns: [
|
|
|
- // { prop: 'fuelld', label: '油机id' },
|
|
|
{ prop: 'gasStation', label: '加油站名称' },
|
|
|
{ prop: 'name', label: '油机号' },
|
|
|
{ prop: 'serialNumber', label: '序列号' },
|
|
@@ -170,19 +165,15 @@ const Data = reactive({
|
|
|
{ prop: 'alarmType', label: '报警类型' },
|
|
|
{ prop: 'alarmDescription', label: '报警描述' },
|
|
|
{ prop: 'alarmDevice', label: '报警设备' },
|
|
|
- { prop: 'nozzleControlName', label: '油枪' },
|
|
|
+ // { prop: 'nozzleControlName', label: '油枪' },
|
|
|
{ prop: 'createdDate', label: '报警时间' },
|
|
|
{ prop: '', label: '诊断说明' },
|
|
|
{ prop: '', label: '是否推送' },
|
|
|
-
|
|
|
- // { prop: 'alarmHistoryID', label: '报警历史ID' },
|
|
|
],
|
|
|
- /**分页标识 */
|
|
|
pageInput: {
|
|
|
currentPage: 1,
|
|
|
pageSize: 15,
|
|
|
} as PageInputAlarmFilterModel,
|
|
|
- /**分页总数 */
|
|
|
total: 0,
|
|
|
})
|
|
|
|
|
@@ -196,13 +187,11 @@ const init = async () => {
|
|
|
}
|
|
|
|
|
|
onMounted(async () => {
|
|
|
- // 初始化分页大小
|
|
|
- Data.pageInput.pageSize = pageState.pageInput.pageSize;
|
|
|
+ Data.pageInput.pageSize = pageState.pageInput.pageSize;
|
|
|
await onQuery()
|
|
|
init()
|
|
|
})
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
* 监听时间变换
|
|
|
*/
|
|
@@ -259,14 +248,20 @@ const onCurrentChange = (val: number) => {
|
|
|
init()
|
|
|
}
|
|
|
|
|
|
-const toPage = (row: {fuelId: any;
|
|
|
-}) => {
|
|
|
+const toPage = (row: {fuelId: any; }) => {
|
|
|
router.push({ path: `/statement/${row.fuelId}` })
|
|
|
}
|
|
|
|
|
|
-const toList = () =>{
|
|
|
- router.push({ path:`/authorize/statement/alarmQuery`})
|
|
|
-}
|
|
|
+const toList = (alarmHistoryID?: string) => {
|
|
|
+ if (alarmHistoryID) {
|
|
|
+ router.push({
|
|
|
+ path: `/authorize/statement/alarmQuery`,
|
|
|
+ query: { alarmHistoryID }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ router.push({ path: `/authorize/statement/alarmQuery` });
|
|
|
+ }
|
|
|
+};
|
|
|
|
|
|
/**
|
|
|
* 执行推送规则
|
|
@@ -307,7 +302,6 @@ const handlePushRules = async () => {
|
|
|
ElMessage.error('报警推送过程中发生异常');
|
|
|
}
|
|
|
};
|
|
|
-
|
|
|
</script>
|
|
|
|
|
|
<style scoped lang="scss">
|
|
@@ -318,7 +312,6 @@ const handlePushRules = async () => {
|
|
|
|
|
|
/* 输入框标签固定四个字符宽度 */
|
|
|
::v-deep .el-form-item__label {
|
|
|
- // 字体大小14,4个字符,12px右间距
|
|
|
width: 14*4px+12px;
|
|
|
justify-content: start;
|
|
|
}
|
|
@@ -327,4 +320,16 @@ const handlePushRules = async () => {
|
|
|
::v-deep .el-table th.el-table__cell {
|
|
|
background-color: #F6F6F6;
|
|
|
}
|
|
|
+
|
|
|
+/* 报警描述文本截断样式 */
|
|
|
+.ellipsis-2line {
|
|
|
+ display: -webkit-box;
|
|
|
+ -webkit-box-orient: vertical;
|
|
|
+ -webkit-line-clamp: 2;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ white-space: normal;
|
|
|
+ line-height: 1.5;
|
|
|
+ min-height: 3em;
|
|
|
+}
|
|
|
</style>
|