167 lines
4.8 KiB
Vue
167 lines
4.8 KiB
Vue
<template>
|
|
<div class="app-container">
|
|
<el-form :inline="true" :model="queryParams" ref="form">
|
|
<el-form-item label="选择部门1" prop="factoryId">
|
|
<dept-tree @deptChange="handleDeptChange" style="width: 150px;" />
|
|
</el-form-item>
|
|
|
|
<el-form-item label="选择设备">
|
|
<device-select v-model="queryParams.sn" :deptId="queryParams.deptId || ''" />
|
|
</el-form-item>
|
|
<el-form-item label="日期" prop="equipmentName">
|
|
<el-date-picker v-model="dateList" type="daterange" range-separator="至" start-placeholder="开始日期"
|
|
end-placeholder="结束日期" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss">
|
|
</el-date-picker>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
|
</el-form-item>
|
|
</el-form>
|
|
|
|
<el-table v-loading="loading" :data="dataList" height="600px">
|
|
<el-table-column prop="deptName" label="安装部门" header-align="center" align="center" />
|
|
|
|
<el-table-column prop="sn" label="设备编号" header-align="center" align="center" />
|
|
<el-table-column prop="reportTime" label="上报时间" header-align="center" align="center" />
|
|
<!-- <el-table-column prop="wd" label="设备温度" header-align="center" align="center"/>-->
|
|
|
|
<!-- <el-table-column prop="zl" label="传感器类型" header-align="center" align="center" /> -->
|
|
<el-table-column prop="lc" label="量程" header-align="center" align="center" />
|
|
<el-table-column prop="ds" label="传感器读数" header-align="center" align="center">
|
|
<template slot-scope="scope">
|
|
<span style="color: red;">
|
|
{{ scope.row.ds }}
|
|
</span>
|
|
<span style="color: #000;">
|
|
{{ scope.row.dw }}
|
|
</span>
|
|
</template>
|
|
</el-table-column>
|
|
|
|
<el-table-column prop="zt" label="报警状态" header-align="center" align="center">
|
|
<template slot-scope="scope">
|
|
<span v-if="scope.row.zt == '一级报警'" style="color: #c00808;">
|
|
{{ scope.row.zt }}
|
|
</span>
|
|
<span v-else-if="scope.row.zt == '二级报警'" style="color: #e23434;">
|
|
{{ scope.row.zt }}
|
|
</span>
|
|
<span v-else>
|
|
{{ scope.row.zt }}
|
|
</span>
|
|
</template>
|
|
</el-table-column>
|
|
|
|
|
|
</el-table>
|
|
|
|
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
|
|
@pagination="getList" />
|
|
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import store from "@/store";
|
|
import DeptTree from "@/components/DeptTree/index.vue";
|
|
import { listAlarmHistory } from "@/api/demostrate/monitor";
|
|
import DeviceSelect from '@/components/DeviceSelect/index.vue';
|
|
export default {
|
|
name: "alarm",
|
|
components: { DeptTree, DeviceSelect },
|
|
dicts: [],
|
|
data() {
|
|
return {
|
|
factorys: [],
|
|
loading: false,
|
|
dateList: [],
|
|
dataList: [],
|
|
total: 0,
|
|
// 查询参数
|
|
queryParams: {
|
|
pageNum: 1,
|
|
pageSize: 10,
|
|
sn: null,
|
|
name: null,
|
|
startTime: null,
|
|
endTime: null,
|
|
deptId: null,
|
|
},
|
|
|
|
};
|
|
},
|
|
created() {
|
|
|
|
},
|
|
mounted() {
|
|
this.init();
|
|
},
|
|
methods: {
|
|
async init() {
|
|
this.emitChange();
|
|
this.getList()
|
|
},
|
|
/**获取企业下拉框 */
|
|
handleDeptChange(value) {
|
|
this.queryParams.deptId = value.deptId;
|
|
this.emitChange();
|
|
},
|
|
emitChange() {
|
|
this.$nextTick(() => {
|
|
this.$emit("queryChange", {
|
|
deptId: this.queryParams.deptId,
|
|
|
|
});
|
|
});
|
|
},
|
|
//发送通知
|
|
handleUpdate(row) {
|
|
this.deviceInfo = row
|
|
this.isOpenMsg = true
|
|
},
|
|
//处理报警
|
|
handleAlarm(row) {
|
|
this.deviceInfo = row
|
|
this.isOpenAlarm = true
|
|
},
|
|
closeMsg() {
|
|
this.isOpenMsg = false
|
|
this.handleQuery()
|
|
},
|
|
closeAlarm() {
|
|
this.isOpenAlarm = false
|
|
this.handleQuery()
|
|
},
|
|
resetQuery() {
|
|
this.queryParams.pageNum = 1
|
|
this.queryParams.sn = null
|
|
this.queryParams.name = null
|
|
this.queryParams.startTime = null
|
|
this.queryParams.endTime = null
|
|
},
|
|
getList() {
|
|
if (this.dateList && this.dateList.length > 0) {
|
|
this.queryParams.startTime = this.dateList[0]
|
|
this.queryParams.endTime = this.dateList[1]
|
|
} else {
|
|
this.queryParams.startTime = null
|
|
this.queryParams.endTime = null
|
|
}
|
|
this.loading = true;
|
|
listAlarmHistory(this.queryParams).then(response => {
|
|
this.dataList = response.rows;
|
|
this.total = response.total;
|
|
this.loading = false;
|
|
});
|
|
},
|
|
handleQuery() {
|
|
this.queryParams.pageNum = 1
|
|
this.getList()
|
|
|
|
},
|
|
}
|
|
|
|
};
|
|
</script>
|