需求:點擊一個按鈕,彈出一個模態框,這個模態框有兩個tab,tab中是各種報警條件,這些報警條件是從數據庫中動態取出的,數據庫中數據變更后,這個界面也要變更,我們可以查看和編輯這些報警條件。底部“確定”按鈕點擊的時候,會同時將這兩個tab中的內容都保存到數據庫中去,數據錄入要驗證輸入的格式。
對於熟練的人來說,實現其實很簡單,但是對於沒有經驗的人來說,如果按照官網給的那些簡單實例來做,你會發現,出現一些奇怪的問題,諸如,文本框不能編輯內容,表單驗證無效等。感覺elementUI官網的示例太過於粗淺,無法適應實際工作中的許多需求場景。
界面效果如下圖所示:



分析:用到的組件:el-dialog、el-tabs
AlarmSet.vue代碼:
<template>
<div>
<div class="alarm-set" v-loading="winLoading">
<el-tabs v-model="activeName" type="border-card" v-if="alarmTmplData.length>0">
<el-tab-pane label="制冷站" name="coldSet">
<ColdSet
ref="coldSet"
:alarmTmplData="alarmTmplData"
@onSubmit="coldSetSummit"
:showAlarmSetWin.sync="showAlarmSetWin"
></ColdSet>
</el-tab-pane>
<el-tab-pane label="末端" name="endSet">
<EndSet
ref="endSet"
:alarmTmplData="alarmTmplData"
@onSubmit="endSetSummit"
:showAlarmSetWin.sync="showAlarmSetWin"
></EndSet>
</el-tab-pane>
</el-tabs>
</div>
<div slot="footer" class="dialog-footer">
<div style="display: inline-block">
<el-button type="primary" @click="onSubmit" :loading="btnLoading">確 定</el-button>
<el-button @click="isHide">取 消</el-button>
</div>
</div>
</div>
</template>
<script>
import ColdSet from "./ColdSet";
import EndSet from "./EndSet";
import mixinsOption from "@/mixins/mixin-options";
import { alarmService } from "@/services/cold-station-service";
// import { alarmConditionData } from "@/mock/json.js";
export default {
mixins: [mixinsOption],
props: {
showAlarmSetWin: {
type: Boolean,
default: false
},
alarmTmpl: {
type: Object,
default: {}
}
},
components: {
ColdSet,
EndSet
},
data() {
return {
alarmConditionData: [], //報警條件數據
activeName: "coldSet",
alarmTmplData: [],
coldConditionData: [], //冷站報警條件數據
endConditionData: [], //末端報警條件數據
isColdValid: false,
isEndValid: false,
btnLoading: false
};
},
watch: {
showAlarmSetWin: {
handler(val) {
console.log("showAlarmSetWin", val);
if (val) {
this.initData();
}
},
immediate: true
}
},
methods: {
//初始化數據
initData() {
this.$store.commit("base/setWinLoading", true);
console.log("initData");
alarmService
.getConditionList({
groupNumber: this.groupNumber,
projectNumber: this.projectNumber
})
.then(res => {
if (res.code === 200) {
this.alarmConditionData = res.data;
this.createAlarmTmplData(res.data);
}
this.$store.commit("base/setWinLoading", false);
});
},
//構造報警模板數據
createAlarmTmplData(conditionData) {
let res = [];
this.alarmTmplData = this.alarmTmpl.data;
if (this.alarmTmpl) {
this.alarmTmplData.forEach(n => {
// debugger;
n.descr = eval(n.descr);
let item = conditionData.find(m => m.tempId == n.id);
if (item) {
n["alarmLevel"] = item.alarmLevel;
n["suggestion"] = item.suggestion;
n["firstVal"] = item.firstVal;
n["secondVal"] = item.secondVal;
n["fourthVal"] = item.fourthVal;
n["thirdVal"] = item.thirdVal;
n["status"] = item.status;
}
});
}
// console.log("this.alarmTmplData :>> ", this.alarmTmplData);
},
//確定操作
onSubmit() {
this.$refs["coldSet"].onSubmit();
this.$refs["endSet"].onSubmit();
if (this.isColdValid && this.isEndValid) {
this.btnLoading = true;
let list = this.coldConditionData
.concat(this.endConditionData)
.map(m => {
return {
tempId: m.id,
alarmLevel: m.alarmLevel,
firstVal: m.firstVal,
secondVal: m.secondVal,
thirdVal: m.thirdVal,
fourthVal: m.fourthVal,
status: m.status,
suggestion: m.suggestion
};
});
alarmService
.batchEdit({
projectNumber: this.projectNumber,
groupNumber: this.groupNumber,
list: list
})
.then(res => {
if (res.code === 200) {
this.$message({
message: "操作成功!",
type: "success",
duration: this.$baseConfig.messageDuration
});
}
this.btnLoading = false;
})
.catch(() => {
this.btnLoading = false;
});
}
},
coldSetSummit(val, isValid) {
if (isValid) {
this.isColdValid = isValid;
this.coldConditionData = val;
}
},
endSetSummit(val, isValid) {
if (isValid) {
this.isEndValid = isValid;
this.endConditionData = val;
}
},
//取消
isHide() {
this.$emit("update:showAlarmSetWin", false);
}
}
};
</script>
<style lang="scss" scoped>
.alarm-set {
height: 600px;
/deep/ .el-tabs--border-card {
height: 100%;
}
/deep/ .el-tabs__content {
height: calc(100% - 60px);
}
}
</style>
重寫elementUI組件樣式,可以使用/deep/ 進行樣式穿透覆寫。
關於表單驗證:由於是動態生成的表單,所以不能按照官網提供的示例來做。
el-form中不指定驗證規則,而是在el-form-item中指定,如下:
:prop="`list.${rowIndex}.${fieldArr[2*index+index+1]}`" :rules="rules.numberRule"
表單數據ruleForm中要對數據進行初始化,否則會無法自動識別數據變化,建議采用深拷貝的形式
考慮到冷站和末端這兩個組件中的代碼可以復用,抽取公共js文件set-mixin.js,然后通過mixins引入,這個類似於組合,還有一種繼承是通過extends來實現。
分析界面雖然是動態的,但是總共只有幾種類型,分別是:1個文本框,2個文本框,沒有文本框。他們都帶有建議信息這一行,所以可以用幾個v-if來區分。
import { alarmLevelOptions, fieldArr } from '@/enum/alarm-enum.js';
import Regexps from '@/utils/regexp.js';
import mixinsOption from '@/mixins/mixin-options';
export default {
props: {
alarmTmplData: {
type: Array,
default: () => {
return [];
},
},
showAlarmSetWin: {
type: Boolean,
default: false,
},
},
mixins: [mixinsOption],
data() {
return {
levelOptions: alarmLevelOptions(),
ruleForm: {
list: [],
},
rules: {
numberRule: [
{
pattern: Regexps.commonNumber,
message: '僅支持3位數和帶1位小數',
trigger: 'blur',
},
],
suggestion: [
{ max: 10, message: '長度不能超過10個字符', trigger: 'blur' },
],
},
fieldArr,
tmplData: [],
};
},
computed: {
activeNames() {
let activeNames = this.tmplData
.filter((f) => f.descParamType != 0)
.map((n) => {
return n.id;
});
console.log('activeNames :>> ', activeNames);
return activeNames;
},
},
methods: {
initData(type) {
console.log('initData', type);
if (this.alarmTmplData.length > 0) {
this.tmplData = this.alarmTmplData.filter((n) => n.sys == type);
this.ruleForm.list = JSON.parse(JSON.stringify(this.tmplData));
// console.log('條件設置initData :>> ', this.ruleForm.list);
}
},
},
};
ColdSet.vue代碼:
<template>
<div>
<el-form :model="ruleForm" ref="ruleForm">
<el-collapse v-model="activeNames">
<el-collapse-item :name="item.id" v-for="(item,rowIndex) in ruleForm.list" :key="item.id">
<template slot="title">
<div class="header">
<el-checkbox v-model="item.status" :true-label="0" :false-label="1">{{item.name}}</el-checkbox>
<el-select v-model="item.alarmLevel" size="small">
<el-option
v-for="item in levelOptions"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</div>
</template>
<div class="content vertical">
<div class="row one" v-if="item.descParamType==1">
<div class="item" v-for="(subItem,index) in item.descr" :key="index">
<label>{{subItem}}</label>
<el-form-item
label="大於"
:prop="`list.${rowIndex}.${fieldArr[index]}`"
:rules="rules.numberRule"
>
<el-input v-model="item[`${fieldArr[index]}`]" size="small"></el-input>
</el-form-item>
</div>
</div>
<template v-if="item.descParamType==2">
<div class="row two" v-for="(subItem,index) in item.descr" :key="index">
<div class="item">
<label>{{subItem}}</label>
<el-form-item
label="大於"
:prop="`list.${rowIndex}.${fieldArr[2*index+index]}`"
:rules="rules.numberRule"
>
<el-input
v-model="item[`${fieldArr[2*index+index]}`]"
size="small"
></el-input>
</el-form-item>
<el-form-item
label="或小於"
:prop="`list.${rowIndex}.${fieldArr[2*index+index+1]}`"
:rules="rules.numberRule"
>
<el-input
v-model="item[`${fieldArr[2*index+index+1]}`]"
size="small"
></el-input>
</el-form-item>
</div>
</div>
</template>
<div class="row one">
<el-form-item
label="建議信息"
:prop="`list.${rowIndex}.suggestion`"
:rules="rules.suggestion"
>
<el-input
v-model="item.suggestion"
class="max-width"
size="small"
placeholder="請盡快處理"
></el-input>
</el-form-item>
</div>
</div>
</el-collapse-item>
</el-collapse>
</el-form>
</div>
</template>
<script>
import { alarmLevelOptions, fieldArr } from "@/enum/alarm-enum.js";
import Regexps from "@/utils/regexp.js";
import { validateVal } from "@/utils/validate-utils.js";
import { alarmService } from "@/services/cold-station-service";
import setMixin from "./set-mixin";
export default {
mixins: [setMixin],
watch: {
alarmTmplData: {
handler(val) {
console.log("showAlarmSetWin cold :>> ", val);
if (val) {
this.initData(1);
}
},
deep:true, immediate: true } }, methods: { onSubmit() { console.log("冷站確定 :>> "); this.$refs["ruleForm"].validate(valid => { if (valid) { console.log("驗證成功"); this.$emit("onSubmit", this.ruleForm.list, true); } }); } } }; </script> <style lang="scss" scoped> @import "./set.scss"; </style>
EndSet.vue:
<template>
<div>
<el-form :model="ruleForm" ref="ruleForm">
<el-collapse v-model="activeNames">
<el-collapse-item :name="item.id" v-for="(item,rowIndex) in ruleForm.list" :key="item.id">
<template slot="title">
<div class="header">
<el-checkbox v-model="item.status" :true-label="0" :false-label="1">{{item.name}}</el-checkbox>
<el-select v-model="item.alarmLevel" size="small">
<el-option
v-for="item in levelOptions"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</div>
</template>
<div class="content vertical">
<div class="row two" v-if="item.descParamType==1">
<div class="item" v-for="(subItem,index) in item.descr" :key="index">
<label>{{subItem}}</label>
<el-form-item
label="大於"
:prop="`list.${rowIndex}.${fieldArr[index]}`"
:rules="rules.numberRule"
v-if="index==0"
>
<el-input v-model="item[fieldArr[index]]" size="small"></el-input>
</el-form-item>
</div>
</div>
<div class="row two" v-if="item.descParamType==2">
<div class="item" v-for="(subItem,index) in item.descr" :key="index">
<label>{{subItem}}</label>
<el-form-item
label="大於"
:prop="`list.${rowIndex}.${fieldArr[2*index+index]}`"
:rules="rules.numberRule"
>
<el-input v-model="item[fieldArr[2*index+index]]" size="small"></el-input>
</el-form-item>
<el-form-item
label="或小於"
:prop="`list.${rowIndex}.${fieldArr[2*index+index+1]}`"
:rules="rules.numberRule"
>
<el-input v-model="item[fieldArr[2*index+index+1]]" size="small"></el-input>
</el-form-item>
</div>
</div>
<div class="row two" v-if="item.descParamType==3">
<div class="item">
<el-form-item
:label="subItem"
:prop="`list.${rowIndex}.${fieldArr[index]}`"
:rules="rules.numberRule"
v-for="(subItem,index) in item.descr"
:key="index"
>
<el-input v-model="item[fieldArr[index]]" size="small"></el-input>
</el-form-item>
</div>
</div>
<template v-if="item.descParamType==4">
<div class="row one" v-for="(subItem,index) in item.descr" :key="index">
<div class="item">{{subItem}}</div>
<div class="item">
<el-form-item
:label="index==0?'小於':'大於'"
:prop="`list.${rowIndex}.${fieldArr[index]}`"
:rules="rules.numberRule"
>
<el-input v-model="item[fieldArr[index]]" size="small"></el-input>
</el-form-item>
</div>
</div>
</template>
<!-- <div class="row multi-row" v-if="item.descParamType==4">
multi-item
</div>-->
<div class="row one">
<el-form-item
label="建議信息"
:prop="`list.${rowIndex}.suggestion`"
:rules="rules.suggestion"
>
<el-input
v-model="item.suggestion"
class="max-width"
size="small"
placeholder="請盡快處理"
></el-input>
</el-form-item>
</div>
</div>
</el-collapse-item>
</el-collapse>
</el-form>
</div>
</template>
<script>
import setMixin from "./set-mixin";
import { alarmService } from "@/services/cold-station-service";
export default {
mixins: [setMixin],
watch: {
alarmTmplData: {
handler(val) {
console.log("showAlarmSetWin end:>> ", val);
if (val) {
this.initData(2);
}
},
deep:true, immediate: true } }, methods: { onSubmit() { console.log("末端確定 :>> "); this.$refs["ruleForm"].validate(valid => { if (valid) { console.log("驗證成功"); this.$emit("onSubmit", this.ruleForm.list, true); } }); } } }; </script> <style lang="scss" scoped> @import "./set.scss"; </style>
由於要兩個tab中都驗證通過時,才提交表單,所以兩個表單都要驗證,只有都驗證通過時在提交表單,提交表單之前,要合並表單數據再統一提交。父組件調用子組件的方法 this.$refs["coldSet"].onSubmit();
考慮到彈窗組件的性能問題,我們可以通過將顯示標識以 :showAlarmSetWin.sync="showAlarmSetWin"這樣的形式傳遞給子組件,(注意,要加sync關鍵字)子組件監聽showAlarmSetWin,當彈窗顯示時,加載數據並初始化,並設置屬性:immediate: true,讓彈窗第一次執行時也加載數據。
{ "data": [{ "id": 246, "tempId": "1", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 247, "tempId": "2", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 248, "tempId": "3", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 249, "tempId": "4", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 250, "tempId": "5", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 251, "tempId": "6", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 252, "tempId": "7", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 253, "tempId": "8", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 254, "tempId": "9", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 255, "tempId": "10", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 256, "tempId": "11", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 257, "tempId": "12", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 258, "tempId": "13", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 259, "tempId": "14", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 260, "tempId": "15", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 261, "tempId": "16", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 262, "tempId": "50", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 263, "tempId": "51", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 264, "tempId": "52", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 265, "tempId": "53", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 266, "tempId": "54", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 267, "tempId": "55", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 268, "tempId": "56", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 269, "tempId": "57", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 270, "tempId": "58", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 271, "tempId": "59", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 272, "tempId": "60", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 273, "tempId": "61", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 274, "tempId": "62", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 275, "tempId": "63", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 276, "tempId": "64", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 277, "tempId": "65", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 278, "tempId": "66", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 279, "tempId": "67", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 280, "tempId": "68", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 281, "tempId": "69", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 282, "tempId": "101", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 283, "tempId": "102", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": 84.0, "secondVal": 16.0, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 284, "tempId": "103", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": 59.0, "secondVal": 49.0, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 285, "tempId": "104", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": 34.0, "secondVal": 22.0, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 286, "tempId": "105", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": 92.0, "secondVal": 66.0, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 287, "tempId": "106", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": 55.0, "secondVal": 29.0, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 288, "tempId": "107", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": 86.0, "secondVal": 81.0, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 289, "tempId": "108", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": 67.0, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 290, "tempId": "109", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": 85.0, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 291, "tempId": "110", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": 16.0, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 292, "tempId": "111", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": 92.0, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 293, "tempId": "112", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": "請盡快安排人檢查", "firstVal": 10.0, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 294, "tempId": "113", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": 44.0, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 295, "tempId": "114", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": "請盡快安排人檢查", "firstVal": 61.0, "secondVal": 35.0, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 296, "tempId": "115", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": 48.0, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 297, "tempId": "116", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 298, "tempId": "117", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 299, "tempId": "118", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": 76.0, "secondVal": 23.0, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 300, "tempId": "119", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": 64.0, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 301, "tempId": "120", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 302, "tempId": "121", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": 73.0, "secondVal": 15.0, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 303, "tempId": "122", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": 90.0, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 304, "tempId": "201", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 305, "tempId": "202", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 306, "tempId": "203", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 307, "tempId": "204", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": 32.0, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 308, "tempId": "205", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 309, "tempId": "206", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 310, "tempId": "207", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 311, "tempId": "208", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 312, "tempId": "209", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 313, "tempId": "210", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 314, "tempId": "211", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 315, "tempId": "212", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 316, "tempId": "213", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 317, "tempId": "214", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 318, "tempId": "215", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 319, "tempId": "216", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 320, "tempId": "217", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 321, "tempId": "218", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 322, "tempId": "219", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 323, "tempId": "220", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": 36.0, "secondVal": 11.0, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 324, "tempId": "221", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": 66.0, "secondVal": 59.0, "thirdVal": null, "fourthVal": null, "status": 0 }, { "id": 325, "tempId": "222", "projectNumber": "440300A088", "groupNumber": "G1", "alarmLevel": 1, "suggestion": null, "firstVal": null, "secondVal": null, "thirdVal": null, "fourthVal": null, "status": 0 }], "code": 200, "msg": "成功", "errors": null }
模板數據列表格式:
{ "data": [{ "id": "1", "name": "制冷機啟動失敗", "sys": 1, "type": 1, "descr": "[\"制冷機組設備故障\"]", "descParamType": 0, "hasSuge": 1, "runTime": 0 }, { "id": "10", "name": "冷凍泵故障", "sys": 1, "type": 1, "descr": "[\"冷凍水泵設備故障\"]", "descParamType": 0, "hasSuge": 1, "runTime": 0 }, { "id": "101", "name": "冷凍水供水溫度不在合理范圍", "sys": 1, "type": 3, "descr": "[\"冷凍水供水溫度\"]", "descParamType": 0, "hasSuge": 1, "runTime": 0 }, { "id": "102", "name": "冷卻塔出水溫度溫度不在合理范圍", "sys": 1, "type": 3, "descr": "[\"正常運行時段,冷卻水回水溫度-室外濕球溫度(℃)\",\"或當室外濕球溫度<17℃時,冷卻水回水溫度設定值(℃)\"]", "descParamType": 2, "hasSuge": 1, "runTime": 0 }, { "id": "103", "name": "冷凍供回水溫差(壓差)不在合理范圍", "sys": 1, "type": 3, "descr": "[\"正常運行時段,冷凍水溫差(℃)\"]", "descParamType": 2, "hasSuge": 1, "runTime": 0 }, { "id": "104", "name": "冷卻供回水溫差不在合理范圍", "sys": 1, "type": 3, "descr": "[\"正常運行時段,冷卻水溫差(℃)\"]", "descParamType": 2, "hasSuge": 1, "runTime": 0 }, { "id": "105", "name": "電流負載限制", "sys": 1, "type": 3, "descr": "[\"冷水機組電流負載率\"]", "descParamType": 2, "hasSuge": 1, "runTime": 0 }, { "id": "106", "name": "冷凝溫度限制", "sys": 1, "type": 3, "descr": "[\"冷凝器出水溫度(℃)\"]", "descParamType": 2, "hasSuge": 1, "runTime": 0 }, { "id": "107", "name": "蒸發溫度限制", "sys": 1, "type": 3, "descr": "[\"蒸發器出水溫度(℃)\"]", "descParamType": 2, "hasSuge": 1, "runTime": 0 }, { "id": "108", "name": "蒸發器內水壓力超限", "sys": 1, "type": 3, "descr": "[\"蒸發器冷媒壓力(Mpa)\"]", "descParamType": 1, "hasSuge": 1, "runTime": 0 }, { "id": "109", "name": "蒸發器內水流量超限", "sys": 1, "type": 3, "descr": "[\"冷凍水流量/當前制冷機的額定流量*制冷劑運行台數\"]", "descParamType": 1, "hasSuge": 1, "runTime": 0 }, { "id": "11", "name": "冷卻泵啟動失敗", "sys": 1, "type": 1, "descr": "[\"冷卻水泵設備故障\"]", "descParamType": 0, "hasSuge": 1, "runTime": 0 }, { "id": "110", "name": "冷凝器內水壓力超限", "sys": 1, "type": 3, "descr": "[\"冷機冷凝器冷媒壓力(Mpa)\"]", "descParamType": 1, "hasSuge": 1, "runTime": 0 }, { "id": "111", "name": "冷凝器內水流量超限", "sys": 1, "type": 3, "descr": "[\"冷卻水流量/當前制冷機的額定流量*制冷機運行台數\"]", "descParamType": 1, "hasSuge": 1, "runTime": 0 }, { "id": "112", "name": "冷凍水側小溫差過高", "sys": 1, "type": 3, "descr": "[\"正常運行時段,蒸發器出水溫度-冷媒溫度(℃)\"]", "descParamType": 1, "hasSuge": 1, "runTime": 0 }, { "id": "113", "name": "冷卻水側小溫差過高", "sys": 1, "type": 3, "descr": "[\"正常運行時段,冷凝器冷媒溫度-出水溫度(℃)\"]", "descParamType": 1, "hasSuge": 1, "runTime": 0 }, { "id": "114", "name": "冷凍水流量超限", "sys": 1, "type": 3, "descr": "[\"冷凍泵流量/額定流量\"]", "descParamType": 2, "hasSuge": 1, "runTime": 0 }, { "id": "115", "name": "冷凍泵功率超限", "sys": 1, "type": 3, "descr": "[\"冷凍泵功率/額定功率\"]", "descParamType": 1, "hasSuge": 1, "runTime": 0 }, { "id": "116", "name": "冷凍泵頻率超限", "sys": 1, "type": 3, "descr": "[\"冷凍泵運行頻率不在配置的上下限范圍內\"]", "descParamType": 0, "hasSuge": 1, "runTime": 0 }, { "id": "117", "name": "冷凍水溫差超限", "sys": 1, "type": 3, "descr": "[\"正常運行時段,冷凍水溫差在(3,7)范圍內\"]", "descParamType": 0, "hasSuge": 1, "runTime": 0 }, { "id": "118", "name": "冷卻泵流量超限", "sys": 1, "type": 3, "descr": "[\"冷卻泵流量/額定流量\"]", "descParamType": 2, "hasSuge": 1, "runTime": 0 }, { "id": "119", "name": "冷卻泵功率超限", "sys": 1, "type": 3, "descr": "[\"正常運行時段,冷卻泵功率/額定功率\"]", "descParamType": 1, "hasSuge": 1, "runTime": 0 }, { "id": "12", "name": "冷卻泵停止失敗", "sys": 1, "type": 1, "descr": "[\"冷卻水泵設備故障\"]", "descParamType": 0, "hasSuge": 1, "runTime": 0 }, { "id": "120", "name": "冷卻塔頻率超限", "sys": 1, "type": 3, "descr": "[\"正常運行時段,冷卻塔頻率不在配置的上下限范圍\"]", "descParamType": 0, "hasSuge": 1, "runTime": 0 }, { "id": "121", "name": "冷卻回水溫度超限", "sys": 1, "type": 3, "descr": "[\"正常運行時段,冷卻回水溫度\"]", "descParamType": 2, "hasSuge": 1, "runTime": 0 }, { "id": "122", "name": "冷卻塔功率超限", "sys": 1, "type": 3, "descr": "[\"正常運行時段,冷卻塔功率/額定功率\"]", "descParamType": 1, "hasSuge": 1, "runTime": 0 }, { "id": "13", "name": "冷卻泵故障", "sys": 1, "type": 1, "descr": "[\"冷卻水泵設備故障\"]", "descParamType": 0, "hasSuge": 1, "runTime": 0 }, { "id": "14", "name": "冷卻塔啟動失敗", "sys": 1, "type": 1, "descr": "[\"冷卻塔風機故障\"]", "descParamType": 0, "hasSuge": 1, "runTime": 0 }, { "id": "15", "name": "冷卻塔停止失敗", "sys": 1, "type": 1, "descr": "[\"冷卻塔風機故障\"]", "descParamType": 0, "hasSuge": 1, "runTime": 0 }, { "id": "16", "name": "冷卻塔故障", "sys": 1, "type": 1, "descr": "[\"冷卻塔風機故障\"]", "descParamType": 0, "hasSuge": 1, "runTime": 0 }, { "id": "2", "name": "制冷機停止失敗", "sys": 1, "type": 1, "descr": "[\"制冷機組設備故障\"]", "descParamType": 0, "hasSuge": 1, "runTime": 0 }, { "id": "201", "name": "室內溫度傳感器需要校核", "sys": 2, "type": 4, "descr": "[\"每日6點,當前末端溫度反饋值與其他末端溫度反饋值相差2℃以上\"]", "descParamType": 0, "hasSuge": 1, "runTime": 2 }, { "id": "202", "name": "工作時間前過早開啟空調末端", "sys": 2, "type": 2, "descr": "[\"工作時間前過早開啟空調末端\"]", "descParamType": 0, "hasSuge": 1, "runTime": 2 }, { "id": "203", "name": "室外溫度高而新風閥未關閉", "sys": 2, "type": 2, "descr": "[\"室外溫度高而新風閥未關閉\"]", "descParamType": 0, "hasSuge": 1, "runTime": 2 }, { "id": "204", "name": "室外溫度低而新風閥未開啟", "sys": 2, "type": 2, "descr": "[\"非營業時間,風櫃設定溫度-室外濕球溫度(℃)\",\"新風閥未開啟\"]", "descParamType": 1, "hasSuge": 1, "runTime": 3 }, { "id": "205", "name": "空調風機變頻器自動控制未啟用", "sys": 2, "type": 2, "descr": "[\"當前時間<關機時間,室外濕球溫度>24且風櫃溫度人工設定\",\"或室外濕球溫度在[5,24]且風櫃溫度人工設定\",\"或室外濕球溫度<5且風櫃(風盤)溫度人工設定\"]", "descParamType": 4, "hasSuge": 1, "runTime": 2 }, { "id": "206", "name": "室內CO2過高", "sys": 2, "type": 3, "descr": "[\"室內CO2(PPM)\",\"持續時間(min)\"]", "descParamType": 3, "hasSuge": 1, "runTime": 2 }, { "id": "207", "name": "空調末端風機故障", "sys": 2, "type": 1, "descr": "[\"空調末端風機故障\"]", "descParamType": 0, "hasSuge": 1, "runTime": 2 }, { "id": "208", "name": "空調末端新風閥故障", "sys": 2, "type": 1, "descr": "[\"空調末端新風閥故障\"]", "descParamType": 0, "hasSuge": 1, "runTime": 2 }, { "id": "209", "name": "空調末端回風閥故障", "sys": 2, "type": 1, "descr": "[\"空調末端回風閥故障\"]", "descParamType": 0, "hasSuge": 1, "runTime": 2 }, { "id": "210", "name": "空調末端水閥故障", "sys": 2, "type": 1, "descr": "[\"空調末端水閥故障\"]", "descParamType": 0, "hasSuge": 1, "runTime": 2 }, { "id": "211", "name": "風櫃開啟失敗", "sys": 2, "type": 1, "descr": "[\"風櫃開啟失敗\"]", "descParamType": 0, "hasSuge": 1, "runTime": 2 }, { "id": "212", "name": "風櫃停止失敗", "sys": 2, "type": 1, "descr": "[\"風櫃停止失敗\"]", "descParamType": 0, "hasSuge": 1, "runTime": 2 }, { "id": "213", "name": "風盤開啟失敗", "sys": 2, "type": 1, "descr": "[\"風盤開啟失敗\"]", "descParamType": 0, "hasSuge": 1, "runTime": 2 }, { "id": "214", "name": "風盤停止失敗", "sys": 2, "type": 1, "descr": "[\"風盤停止失敗\"]", "descParamType": 0, "hasSuge": 1, "runTime": 2 }, { "id": "215", "name": "時序配置異常", "sys": 2, "type": 2, "descr": "[\"時序配置異常\"]", "descParamType": 0, "hasSuge": 1, "runTime": 2 }, { "id": "216", "name": "末端設備為手動模式", "sys": 2, "type": 2, "descr": "[\"末端設備為手動模式\"]", "descParamType": 0, "hasSuge": 1, "runTime": 2 }, { "id": "217", "name": "風櫃故障報警", "sys": 2, "type": 1, "descr": "[\"風櫃故障報警\"]", "descParamType": 0, "hasSuge": 1, "runTime": 2 }, { "id": "218", "name": "風盤故障報警", "sys": 2, "type": 1, "descr": "[\"風盤故障報警\"]", "descParamType": 0, "hasSuge": 1, "runTime": 2 }, { "id": "219", "name": "風櫃頻率超限", "sys": 2, "type": 3, "descr": "[\"風櫃頻率超限\"]", "descParamType": 0, "hasSuge": 1, "runTime": 2 }, { "id": "220", "name": "室內溫度不在合理范圍", "sys": 2, "type": 3, "descr": "[\"風櫃回風溫度(℃)\"]", "descParamType": 2, "hasSuge": 1, "runTime": 2 }, { "id": "221", "name": "末端水力不平衡", "sys": 2, "type": 2, "descr": "[\"營業時間內,風櫃回風溫度(℃)\"]", "descParamType": 2, "hasSuge": 1, "runTime": 2 }, { "id": "222", "name": "風櫃頻率超限", "sys": 2, "type": 3, "descr": "[\"風櫃頻率CAB_FRQ不在配置的上下限范圍\"]", "descParamType": 0, "hasSuge": 1, "runTime": 2 }, { "id": "3", "name": "制冷機故障", "sys": 1, "type": 1, "descr": "[\"制冷機組設備故障\"]", "descParamType": 0, "hasSuge": 1, "runTime": 0 }, { "id": "4", "name": "制冷機冷凍側閥門啟動失敗", "sys": 1, "type": 1, "descr": "[\"制冷機組設備故障\"]", "descParamType": 0, "hasSuge": 1, "runTime": 0 }, { "id": "5", "name": "制冷機冷凍側閥門停止失敗", "sys": 1, "type": 1, "descr": "[\"制冷機組設備故障\"]", "descParamType": 0, "hasSuge": 1, "runTime": 0 }, { "id": "50", "name": "水力不平衡", "sys": 1, "type": 2, "descr": "[\"觸發冰爽模式\"]", "descParamType": 0, "hasSuge": 1, "runTime": 0 }, { "id": "51", "name": "非變頻自動運行", "sys": 1, "type": 2, "descr": "[\"設備工頻啟停或頻率手動設定\"]", "descParamType": 0, "hasSuge": 1, "runTime": 1 }, { "id": "52", "name": "全自動或一鍵啟動失敗", "sys": 1, "type": 2, "descr": "[\"全自動模式、一鍵啟動模式無法生效\"]", "descParamType": 0, "hasSuge": 1, "runTime": 1 }, { "id": "53", "name": "過早開制冷站設備", "sys": 1, "type": 2, "descr": "[\"營業時間前過早開制冷站設備\"]", "descParamType": 0, "hasSuge": 1, "runTime": 1 }, { "id": "54", "name": "停業后未及時停止制冷站設備", "sys": 1, "type": 2, "descr": "[\"停業后未及時停止制冷站設備\"]", "descParamType": 0, "hasSuge": 1, "runTime": 1 }, { "id": "55", "name": "低溫未啟用全新風策略", "sys": 1, "type": 2, "descr": "[\"天氣溫度低而制冷站運行\"]", "descParamType": 0, "hasSuge": 1, "runTime": 1 }, { "id": "56", "name": "制冷機加減載不合理", "sys": 1, "type": 2, "descr": "[\"手動模式下,執行制冷機的加減載\"]", "descParamType": 0, "hasSuge": 1, "runTime": 1 }, { "id": "57", "name": "制冷機加減載失敗", "sys": 1, "type": 2, "descr": "[\"制冷機加減載失敗\"]", "descParamType": 0, "hasSuge": 1, "runTime": 1 }, { "id": "58", "name": "冷水機組冷凍水旁通", "sys": 1, "type": 2, "descr": "[\"正常運行時段,運行狀態-停止狀態的冷機蒸發器進水溫度<1\"]", "descParamType": 0, "hasSuge": 1, "runTime": 1 }, { "id": "59", "name": "冷水機組冷卻水旁通", "sys": 1, "type": 2, "descr": "[\"正常運行時段,運行狀態-停止狀態的冷機冷凝器進水溫度<1\"]", "descParamType": 0, "hasSuge": 1, "runTime": 0 }, { "id": "6", "name": "制冷機冷卻側閥門啟動失敗", "sys": 1, "type": 1, "descr": "[\"制冷機組設備故障\"]", "descParamType": 0, "hasSuge": 1, "runTime": 0 }, { "id": "60", "name": "制冷機頻繁啟停機", "sys": 1, "type": 2, "descr": "[\"設備啟停記錄中,同一設備的啟動和停止時間間隔<30min\"]", "descParamType": 0, "hasSuge": 1, "runTime": 1 }, { "id": "61", "name": "冷卻泵頻繁啟停機", "sys": 1, "type": 2, "descr": "[\"設備啟停記錄中,同一設備的啟動和停止時間間隔<30min\"]", "descParamType": 0, "hasSuge": 1, "runTime": 1 }, { "id": "62", "name": "冷凍泵頻繁啟停機", "sys": 1, "type": 2, "descr": "[\"設備啟停記錄中,同一設備的啟動和停止時間間隔<30min\"]", "descParamType": 0, "hasSuge": 1, "runTime": 1 }, { "id": "63", "name": "冷卻塔頻繁啟停機", "sys": 1, "type": 2, "descr": "[\"設備啟停記錄中,同一設備的啟動和停止時間間隔<30min\"]", "descParamType": 0, "hasSuge": 1, "runTime": 1 }, { "id": "64", "name": "未啟用控制模式", "sys": 1, "type": 2, "descr": "[\"冷凍泵運行頻率為手動設定或工頻運行\"]", "descParamType": 0, "hasSuge": 1, "runTime": 0 }, { "id": "65", "name": "冷卻塔集水盤溢流", "sys": 1, "type": 2, "descr": "[\"冷卻塔液位COT1_WL>后台配置中的液位上限\"]", "descParamType": 0, "hasSuge": 1, "runTime": 0 }, { "id": "66", "name": "冷卻塔集水盤干涸", "sys": 1, "type": 2, "descr": "[\"冷卻塔液位COT1_WL<后台配置中的液位下限\"]", "descParamType": 0, "hasSuge": 1, "runTime": 0 }, { "id": "67", "name": "冷卻塔啟停機不及時", "sys": 1, "type": 2, "descr": "[\"冷卻塔在主機停機后5min以外關閉\"]", "descParamType": 0, "hasSuge": 1, "runTime": 1 }, { "id": "68", "name": "冷卻塔未啟用控制模式", "sys": 1, "type": 2, "descr": "[\"冷卻塔運行頻率為手動設定或工頻運行\"]", "descParamType": 0, "hasSuge": 1, "runTime": 0 }, { "id": "69", "name": "冷卻泵啟停機不及時", "sys": 1, "type": 2, "descr": "[\"冷卻泵在主機啟動前2min以外啟動,或冷卻泵在主機停機后5min以外關閉\"]", "descParamType": 0, "hasSuge": 1, "runTime": 1 }, { "id": "7", "name": "制冷機冷卻側閥門停止失敗", "sys": 1, "type": 1, "descr": "[\"制冷機組設備故障\"]", "descParamType": 0, "hasSuge": 1, "runTime": 0 }, { "id": "8", "name": "冷凍泵啟動失敗", "sys": 1, "type": 1, "descr": "[\"冷凍水泵設備故障\"]", "descParamType": 0, "hasSuge": 1, "runTime": 0 }, { "id": "9", "name": "冷凍泵停止失敗", "sys": 1, "type": 1, "descr": "[\"冷凍水泵設備故障\"]", "descParamType": 0, "hasSuge": 1, "runTime": 0 }], "code": 200, "msg": "成功", "errors": null }
總共兩個接口,一個加載模板,一個加載數據,模板數據只第一次進入到頁面的時候調用,數據是每次打開彈窗都要調用。
