1. 程式人生 > >通過一個vue+elementUI的小例項來講解一下它們是如何使用的

通過一個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,讓彈窗第一次執行時也載入資料。

當窗體隱藏時,重置表單: this.$refs["ruleForm"].resetFields(); 為了防止同一時間多次點選操作按鈕“確定”,可以給按鈕加上loading 資料列表格式:
{
    "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

總共兩個介面,一個載入模板,一個載入資料,模板資料只第一次進入到頁面的時候呼叫,資料是每次開啟彈窗都要呼叫。