Commit 72878d04 authored by liuyangyang's avatar liuyangyang

告警页面联调

parent 43ee4ecc
......@@ -13,7 +13,7 @@
</el-form-item>
<el-form-item label="发生位置">
<el-input
v-model="formInline.position"
v-model="formInline.name"
placeholder="请输入发生位置"
style="width: 200px"
clearable
......@@ -21,19 +21,19 @@
</el-form-item>
<el-form-item label="除尘器名称">
<el-input
v-model="formInline.deviceName"
v-model="formInline.dusterName"
placeholder="请输入除尘器名称"
style="width: 200px"
clearable
/>
</el-form-item>
<el-form-item label="设备类型">
<el-select v-model="formInline.type" style="width: 200px">
<el-select v-model="formInline.deviceType" style="width: 200px">
<el-option
v-for="i in dustList.list"
v-for="i in typeList.list"
:key="i"
:label="`${i.deviceName}`"
:value="i.deviceNo"
:label="`${i.desc}`"
:value="i.code"
/>
</el-select>
</el-form-item>
......@@ -48,7 +48,7 @@
/>
</el-form-item>
<el-form-item>
<el-button type="default" class="default-btn" @click="onSubmit"
<el-button type="default" class="default-btn" @click="onReset"
>重置</el-button
>
<el-button type="primary" class="search-btn" @click="onSubmit"
......@@ -64,10 +64,10 @@
</el-form-item>
<br />
<el-form-item>
<el-radio-group v-model="formInline.warnType">
<el-radio-group v-model="formInline.suspendFlag" @change="onSubmit">
<el-radio value="1">挂起期间告警</el-radio>
<el-radio value="2">非挂起期间告警</el-radio>
<el-radio value="3">全部告警</el-radio>
<el-radio value="0">非挂起期间告警</el-radio>
<el-radio value="2">全部告警</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
......@@ -76,7 +76,7 @@
<common-table
:data="tableData.list"
:columns="tableColumns"
:default-page-size="10"
:default-page-size="pageSize"
@pagination-change="handlePaginationChange"
:pagination-texts="{
total: '共',
......@@ -89,18 +89,55 @@
<template #index="{ $index }">
{{ getIndex($index) }}
</template>
<!-- <template #deviceName="{ row }">
<span class="health-score" @dblclick="openDialog(row.deviceName)">{{
row.deviceName
}}</span>
</template> -->
<template #operation="{ row }">
<span class="view-btn" @click="handleView(row)">详情</span>
<span class="edit-btn" @click="handleEdit(row)">编辑</span>
<template #operate="{ row }">
<span class="health-score" @click="openDialog(row)">暂挂起</span>
</template>
</common-table>
</div>
</div>
<!-- 设备挂起 -->
<el-dialog
class="equWarnDialog"
v-model="equDialog"
title=""
width="500px"
:close-on-click-modal="false"
:close-on-press-escape="false"
>
<div class="equd_body">
<span
>是否要对<span class="bold">{{ clickItem.name }}</span
>不再告警:</span
>
<el-form-item>
<el-radio-group v-model="equSubmitInfo.noAlarm" @change="onSubmit">
<el-radio value="1"></el-radio>
<el-radio value="0"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="开始时间">
<el-date-picker
v-model="equSubmitInfo.startTime"
type="datetime"
placeholder="选择开始时间"
/>
</el-form-item>
<el-form-item label="结束时间">
<el-date-picker
v-model="equSubmitInfo.endTime"
type="datetime"
placeholder="选择结束时间"
/>
</el-form-item>
</div>
<template #footer>
<span class="dialog-footer">
<el-button @click="equDialog = false">取消</el-button>
<el-button type="primary" @click="equPending"> 确认 </el-button>
</span>
</template>
</el-dialog>
</div>
</template>
......@@ -109,19 +146,21 @@ import { ref, onMounted, onBeforeUnmount, computed, reactive } from "vue";
import CommonTable from "@/components/commonTable/index.vue";
import { useRoute, useRouter } from "vue-router";
import { getDataFun, postDataJSON } from "@/request/method.js";
import moment from "moment";
const router = useRouter();
const formInline = ref({
eventName: "",
deviceName: "",
position: "",
type: "",
name: "",
dusterName: "",
deviceType: "",
suspendFlag: "2",
date: "",
warnType: "3",
});
const currentPage = ref(1);
const pageSize = ref(10);
const pageSize = ref(20);
const equDialog = ref(false);
const tableColumns = ref([
{
......@@ -130,42 +169,42 @@ const tableColumns = ref([
width: "5%",
},
{
prop: "deviceName",
prop: "eventName",
label: "事件名称",
width: "9%",
},
{
prop: "compart",
prop: "name",
label: "发生位置",
width: "9%",
},
{
prop: "position",
prop: "deviceType",
label: "设备类型",
width: "9%",
},
{
prop: "changeDateRemind",
prop: "alarmIndicators",
label: "告警指标",
width: "9%",
},
{
prop: "changeDate",
prop: "value",
label: "监测值",
width: "9%",
},
{
prop: "changePeo",
prop: "eventTime",
label: "告警时间",
width: "9%",
},
{
prop: "ownerdeviceName",
prop: "isSuspendAlarm",
label: "是否挂起期间告警",
width: "9%",
},
{
prop: "lastAlarmTime",
prop: "operate",
label: "操作",
width: "10%",
},
......@@ -183,30 +222,22 @@ const tableData = reactive({
ownerdeviceName: "xx",
lastAlarmTime: "xx",
changeRound: "xx",
operate: "挂起",
},
],
});
const dustList = reactive({
const typeList = reactive({
list: [],
});
const getDustList = () => {
dustList.list = [
{
deviceName: "1#除尘器",
deviceNo: "11111",
},
{
deviceName: "2#除尘器",
deviceNo: "22222",
},
{
deviceName: "3#除尘器",
deviceNo: "333333",
},
];
const getTypeList = () => {
const url = "/alarm/getDeviceType";
return getDataFun(url, "").then((res) => {
if (res && res.data) {
typeList.list = res.data || [];
}
});
};
getDustList();
const getIndex = (index) => {
return (currentPage.value - 1) * pageSize.value + index + 1;
......@@ -215,34 +246,93 @@ const getIndex = (index) => {
const handlePaginationChange = (pagination) => {
currentPage.value = pagination.currentPage;
pageSize.value = pagination.pageSize;
console.log("分页变化", pagination);
getAlarmList();
};
const onSubmit = () => {
console.log("submit!", formInline.value);
getAlarmList();
};
const onReset = () => {
formInline.value = {
eventName: "",
name: "",
dusterName: "",
deviceType: "",
suspendFlag: "2",
date: [],
};
currentPage.value = 1;
pageSize.value = 20;
getAlarmList();
};
const openRound = () => {
router.push({ path: "/management/suspend-management" });
};
const clickItem = ref({});
const openDialog = (item) => {
clickItem.value = item;
equDialog.value = true;
};
const getAlarmList = () => {
const url = "/alarm/getAlarmListPage";
console.log(formInline.value.date);
const params = {
eventName: formInline.value.eventName,
name: formInline.value.name,
dusterName: formInline.value.dusterName,
deviceType: formInline.value.deviceType,
suspendFlag: formInline.value.suspendFlag,
startTime: formInline.value.date[0] || "",
endTime: formInline.value.date[1] || "",
startTime: formInline.value.date[0]
? moment(new Date(formInline.value.date[0]).getTime()).format(
"YYYY-MM-DD HH:mm:ss"
)
: "",
endTime: formInline.value.date[1]
? moment(new Date(formInline.value.date[1]).getTime()).format(
"YYYY-MM-DD HH:mm:ss"
)
: "",
pageNo: currentPage.value,
pageSize: pageSize.value,
};
return getDataFun(url, params).then((res) => {
if (res && res.data) {
tableData.list = res.data.records || [];
tableData.list = res.data.list || [];
} else {
return [];
}
});
};
const equSubmitInfo = ref({
noAlarm: "0",
startTime: "",
endTime: "",
});
const equPending = () => {
const url = "/alarm/suspendDevice";
const params = {
id: clickItem.value.id,
noAlarm: equSubmitInfo.value.noAlarm,
startTime: equSubmitInfo.value.startTime
? moment(new Date(equSubmitInfo.value.startTime).getTime()).format(
"YYYY-MM-DD HH:mm:ss"
)
: "",
endTime: equSubmitInfo.value.endTime
? moment(new Date(equSubmitInfo.value.endTime).getTime()).format(
"YYYY-MM-DD HH:mm:ss"
)
: "",
};
return getDataFun(url, params).then((res) => {
if (res && res.data) {
tableData.list = res.data.list || [];
} else {
return [];
}
......@@ -250,6 +340,7 @@ const getAlarmList = () => {
};
onMounted(async () => {
getTypeList();
getAlarmList();
});
......@@ -453,5 +544,16 @@ onBeforeUnmount(() => {});
background-color: #fef0f0;
}
}
.equWarnDialog {
.equd_body {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
.bold {
font-weight: bold;
}
}
}
}
</style>
......@@ -30,7 +30,7 @@
/>
</el-form-item>
<el-form-item>
<el-button type="default" class="default-btn" @click="onRest"
<el-button type="default" class="default-btn" @click="onReset"
>重置</el-button
>
<el-button type="primary" class="search-btn" @click="onSubmit"
......@@ -121,6 +121,7 @@ import CommonTable from "@/components/commonTable/index.vue";
import { getToken, removeToken, setToken } from "@/utils/auth";
import chartLine from "./components/chart-line.vue";
import { getDataFun, postDataJSON } from "@/request/method.js";
import moment from "moment";
const formInline = ref({
compart: "",
......@@ -202,11 +203,19 @@ const getAllDustList = () => {
const params = {
compart: formInline.value.compart,
dusterName: formInline.value.dusterName,
startTime: formInline.value.date[0] || "",
endTime: formInline.value.date[1] || "",
startTime: formInline.value.date[0]
? moment(new Date(formInline.value.date[0]).getTime()).format(
"YYYY-MM-DD HH:mm:ss"
)
: "",
endTime: formInline.value.date[1]
? moment(new Date(formInline.value.date[1]).getTime()).format(
"YYYY-MM-DD HH:mm:ss"
)
: "",
pageNo: currentPage.value,
pageSize: pageSize.value,
customerId: getToken('customerId'),
customerId: getToken("customerId"),
};
return getDataFun(url, params).then((res) => {
if (res && res.data) {
......@@ -237,7 +246,7 @@ const onSubmit = () => {
getAllDustList();
};
const onRest = () => {
const onReset = () => {
formInline.value = {
compart: "",
dusterName: "",
......
......@@ -35,7 +35,7 @@
</el-form-item>
<el-form-item>
<el-button type="default" class="default-btn" @click="onRest"
<el-button type="default" class="default-btn" @click="onReset"
>重置</el-button
>
<el-button type="primary" class="search-btn" @click="onSubmit"
......@@ -231,7 +231,7 @@ const onSubmit = () => {
getManagementList();
};
const onRest = () => {
const onReset = () => {
formInline.value = {
deviceType: "",
reasonCategory: "",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment