|
|
@@ -1,26 +1,26 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
<DialogCom :title="title" :visible.sync="isShow" width="60%">
|
|
|
- <el-descriptions border :column="2" size="small" style="width: 60%">
|
|
|
- <el-descriptions-item label="规则名称">{{data.ruleName}}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="规则描述">{{data.ruleRemark}}</el-descriptions-item>
|
|
|
+ <el-descriptions border :column="2" size="small" style="width: 60%">
|
|
|
+ <el-descriptions-item label="规则名称">{{ data.ruleName }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="规则描述">{{ data.ruleRemark }}</el-descriptions-item>
|
|
|
</el-descriptions>
|
|
|
- <el-form ref="queryForm" size="small" :inline="true">
|
|
|
- <div >
|
|
|
-<!-- <div class="disDiv">
|
|
|
- <el-form-item label="名称" >{{data.ruleName}}</el-form-item>
|
|
|
- <el-form-item label="描述" prop="taskName" > {{data.ruleRemark}} </el-form-item>
|
|
|
- </div>-->
|
|
|
-<!-- <div class="disDiv">
|
|
|
- <el-form-item label="启动" prop="taskName">
|
|
|
- <el-switch v-model="data.enable"> </el-switch>
|
|
|
- </el-form-item>
|
|
|
- </div>-->
|
|
|
- </div>
|
|
|
+ <el-form ref="queryForm" size="small" :inline="true">
|
|
|
+ <div>
|
|
|
+ <!-- <div class="disDiv">
|
|
|
+ <el-form-item label="名称" >{{data.ruleName}}</el-form-item>
|
|
|
+ <el-form-item label="描述" prop="taskName" > {{data.ruleRemark}} </el-form-item>
|
|
|
+ </div>-->
|
|
|
+ <!-- <div class="disDiv">
|
|
|
+ <el-form-item label="启动" prop="taskName">
|
|
|
+ <el-switch v-model="data.enable"> </el-switch>
|
|
|
+ </el-form-item>
|
|
|
+ </div>-->
|
|
|
+ </div>
|
|
|
<el-tabs type="border-card"
|
|
|
- v-if="data.typeDataList.length > 0"
|
|
|
- class="tabs"
|
|
|
- v-model="selectedTab"
|
|
|
+ v-if="data.typeDataList.length > 0"
|
|
|
+ class="tabs"
|
|
|
+ v-model="selectedTab"
|
|
|
@tab-click="handleTabClick"
|
|
|
>
|
|
|
<el-tab-pane
|
|
|
@@ -31,7 +31,7 @@
|
|
|
:label="entity.typeText"
|
|
|
>
|
|
|
</el-tab-pane>
|
|
|
- <relevanceDialogCom :deviceData="currentTypeData" @updateDeviceData="updateDeviceData" ></relevanceDialogCom>
|
|
|
+ <relevanceDialogCom :deviceData="currentTypeData" @updateDeviceData="updateDeviceData"></relevanceDialogCom>
|
|
|
</el-tabs>
|
|
|
|
|
|
</el-form>
|
|
|
@@ -44,7 +44,8 @@
|
|
|
</template>
|
|
|
<script>
|
|
|
import relevanceDialogCom from "@/views/warnRule/relevanceDialogCom.vue";
|
|
|
-import {alarmDeviceDetail,saveDevice} from "@/api/iot/alarmRule";
|
|
|
+import {alarmDeviceDetail, saveDevice} from "@/api/iot/alarmRule";
|
|
|
+
|
|
|
const defaultDetail = {
|
|
|
ruleId: 0,
|
|
|
ruleName: "",
|
|
|
@@ -68,10 +69,8 @@ export default {
|
|
|
type: -1,
|
|
|
typeText: "",
|
|
|
},
|
|
|
- data:defaultDetail,
|
|
|
- queryParams:{
|
|
|
-
|
|
|
- },
|
|
|
+ data: defaultDetail,
|
|
|
+ queryParams: {},
|
|
|
};
|
|
|
},
|
|
|
mounted() {
|
|
|
@@ -82,16 +81,16 @@ export default {
|
|
|
this.isShow = true;
|
|
|
this.init(ruleId);
|
|
|
},
|
|
|
- init(ruleId){
|
|
|
+ init(ruleId) {
|
|
|
this.queryParams.ruleId = ruleId;
|
|
|
alarmDeviceDetail(this.queryParams)
|
|
|
.then((response) => {
|
|
|
this.data = response.data;
|
|
|
- if(this.data.typeDataList.length > 0){
|
|
|
- setTimeout(()=>{
|
|
|
+ if (this.data.typeDataList.length > 0) {
|
|
|
+ setTimeout(() => {
|
|
|
this.selectedTab = String(this.data.typeDataList[0].type);
|
|
|
this.currentTypeData = this.data.typeDataList[0];
|
|
|
- },200);
|
|
|
+ }, 200);
|
|
|
}
|
|
|
})
|
|
|
.catch(() => {
|
|
|
@@ -103,16 +102,16 @@ export default {
|
|
|
(t) => t.type == this.selectedTab
|
|
|
);
|
|
|
},
|
|
|
- updateDeviceData(rel){
|
|
|
- this.data.typeDataList.forEach((obj,index) => {
|
|
|
- if(obj.type === rel.type){
|
|
|
- obj.deviceTempList = rel.deviceTempList;
|
|
|
- obj.isAllDeviceEnable = rel.isAllDeviceEnable;
|
|
|
- obj.valueType = rel.valueType;
|
|
|
- }
|
|
|
- });
|
|
|
+ updateDeviceData(rel) {
|
|
|
+ this.data.typeDataList.forEach((obj, index) => {
|
|
|
+ if (obj.type === rel.type) {
|
|
|
+ obj.deviceTempList = rel.deviceTempList;
|
|
|
+ obj.isAllDeviceEnable = rel.isAllDeviceEnable;
|
|
|
+ obj.valueType = rel.valueType;
|
|
|
+ }
|
|
|
+ });
|
|
|
},
|
|
|
- submitData(){
|
|
|
+ submitData() {
|
|
|
saveDevice(this.data)
|
|
|
.then((response) => {
|
|
|
this.$message('保存成功!');
|
|
|
@@ -131,15 +130,51 @@ export default {
|
|
|
};
|
|
|
</script>
|
|
|
<style lang="scss" scoped>
|
|
|
-.disDiv{
|
|
|
+.disDiv {
|
|
|
display: flex;
|
|
|
justify-content: space-between;
|
|
|
}
|
|
|
-.dialog-footer{
|
|
|
+
|
|
|
+.dialog-footer {
|
|
|
float: right;
|
|
|
margin-top: 10px;
|
|
|
margin-bottom: 10px;
|
|
|
margin-right: 17px;
|
|
|
}
|
|
|
|
|
|
+/* 鼠标选中时样式 */
|
|
|
+::v-deep .el-tabs__item.is-active {
|
|
|
+ opacity: 1;
|
|
|
+ font-size: 16px;
|
|
|
+ font-weight: bold;
|
|
|
+ color: white !important;
|
|
|
+ font-family: Arial, sans-serif;
|
|
|
+}
|
|
|
+/* 鼠标悬浮时样式 */
|
|
|
+::v-deep .el-tabs__item:hover {
|
|
|
+ cursor: pointer;
|
|
|
+ opacity: 1;
|
|
|
+ font-size: 16px;
|
|
|
+ font-weight: bold;
|
|
|
+ color: white !important;
|
|
|
+ font-family: Arial, sans-serif;
|
|
|
+}
|
|
|
+
|
|
|
+::v-deep .el-tabs__item {
|
|
|
+ color: #dceeee;
|
|
|
+ opacity: 0.9;
|
|
|
+ font-size: 16px;
|
|
|
+ font-weight: bold;
|
|
|
+
|
|
|
+ font-family: Arial, sans-serif;
|
|
|
+}
|
|
|
+
|
|
|
+::v-deep .el-tabs__nav-wrap{
|
|
|
+ background-color: #d7d7d7 !important;
|
|
|
+}
|
|
|
+
|
|
|
+::v-deep .el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{
|
|
|
+ background-color: #3a3b3b;
|
|
|
+}
|
|
|
+
|
|
|
</style>
|