Commit 72878d04 authored by liuyangyang's avatar liuyangyang

告警页面联调

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