he wei
5 天以前 3c3576d5792bfabcef84979757ee344712e71cd3
src/views/alarm/pwrAlarm.vue
@@ -139,6 +139,8 @@
      rowData: {},
   });
  const indeterminate = reactive({});
  const almIds = ref([]);
  const alarmTypeList = ref([]);
@@ -148,6 +150,9 @@
  function handleCheckAllChange (val) {
    almIds.value = val ? alarmTypeList.value.map(v => v.value) : []
    isIndeterminate.value = false
    Object.keys(indeterminate).forEach(v => {
      indeterminate[v] = false
    });
  }
  function handleCheckedChange (value) {
    const checkedCount = value.length
@@ -171,7 +176,7 @@
  // stationName: "测试机房6",
  function sendMessage() {
    let params = {
      // almIds: [119001],
      almIds: almIds2.value,
      almLevel: alarmLevel.value || undefined,
      provice: provice.value || undefined,
      city: city.value || undefined,
@@ -189,13 +194,24 @@
    });
  }
  const alarmTypeList2 = reactive({});
  // 查询告警类型
  async function getAlarmType() {
    let res = await getPowerAlmIdType();
    let { code, data, data2 } = res;
    let list = [];
    if (code && data) {
      list = Object.keys(data2).map((key) => ({value: key, label: data2[key]}));
      list = Object.keys(data2).map((key, idx) => {
        alarmTypeList2[idx] = Object.keys(data2[key]);
        // ({value: key, label: data2[key]})
        indeterminate[idx] = false;
        return {
          value: idx,
          label: key,
          children: Object.keys(data2[key]),
        };
      });
    }
    alarmTypeList.value = list;
    almIds.value = list.map(v => v.value);
@@ -224,6 +240,19 @@
    }
  );
  const almIds2 = computed(() => {
    return almIds.value.map(v => {
      return indeterminate[v] ? [] : alarmTypeList2[v];
    }).flat();
  });
  watch(
    () => almIds2.value,
    () => {
      sendMessage();
    }
  );
   // 展示数据数量
   function handleSizeChange(val) {
@@ -419,7 +448,7 @@
                    v-model="almIds"
                    @change="handleCheckedChange"
                  >
                    <el-checkbox v-for="(item, idx) in alarmTypeList" :key="'list0_' + idx" :label="item.label" :value="item.value">
                    <el-checkbox v-for="(item, idx) in alarmTypeList" :indeterminate="indeterminate[idx]" :key="'list0_' + idx" :label="item.label" :value="item.value">
                    </el-checkbox>
                  </el-checkbox-group>
                </div>