通過一個vue+elementUI的小例項來講解一下它們是如何使用的
需求:點選一個按鈕,彈出一個模態框,這個模態框有兩個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: { showAlarmSetWin: { handler(val) { console.log("showAlarmSetWin cold :>> ", val); if (val) { this.initData(1); }else{ this.$refs["ruleForm"].resetFields(); }
}, 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: { showAlarmSetWin: { handler(val) { console.log("showAlarmSetWin end:>> ", val); if (val) { this.initData(2); }else{ this.$refs["ruleForm"].resetFields(); }
}, 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 }View Code
模板資料列表格式:
{ "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 }View Code
總共兩個介面,一個載入模板,一個載入資料,模板資料只第一次進入到頁面的時候呼叫,資料是每次開啟彈窗都要呼叫。