zhangzengfei
2021-02-05 19dfc10826aa399b7b1f0609528a655220edb5d1
修复 事件推送中选项值为全部、空的处理
1个文件已修改
59 ■■■■■ 已修改文件
src/pages/datapush/index/RightEvent.vue 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/datapush/index/RightEvent.vue
@@ -277,7 +277,6 @@
        rule_values: [],
        topic_arg: "",
        topic_type: "",
        topicTypeOptions: {},
        topicArgOptions: {},
        operatorOptions: {},
@@ -480,7 +479,13 @@
          str += ' = ';
        }
        str += i.rule_value === "all*all" ? "全部" : i.rule_value;
        if (i.rule_value === "all*all") {
          str += "全部"
        } else if (i.rule_value === "null*null") {
          str += "空"
        } else {
          str += i.rule_value
        }
        if (str.length > 0) {
          ruleDesc.push(str)
@@ -619,6 +624,19 @@
      if (rule.operator_type === "option") {
        rule.ruleValueOptions = this.dictionary[rule.topic_type] ? this.dictionary[rule.topic_type] : []
        rule.rule_values = rule.rule_value.split(",")
        // 处理 全部/空
        for (let i = 0; i < rule.rule_values.length; i++) {
          if (rule.rule_values[i] === "all*all") {
            rule.rule_values[i] = "全部"
          }
          if (rule.rule_values[i] === "null*null") {
            rule.rule_values[i] = "空"
          }
        }
        this.setOptionsDisable(rule);
      }
      if (resetNext) {
@@ -627,8 +645,45 @@
      }
    },
    selectValue (rule, val) {
      if (rule.operator_type === "option") {
        this.setOptionsDisable(rule);
        if (val.indexOf("全部") >= 0) {
          rule.rule_value = "all*all";
          return;
        }
        if (val.indexOf("空") >= 0) {
          rule.rule_value = "null*null";
          return;
        }
      }
      rule.rule_value = val.join(",")
    },
    setOptionsDisable(rule) {
      let isAllSelect = (rule.rule_values.indexOf("全部") >= 0);
      let isNullSelect = (rule.rule_values.indexOf("空") >= 0);
      rule.ruleValueOptions.forEach(opt => {
        if (!rule.rule_values.length) {
          opt.disabled = false;
          return
        }
        if (opt.name === "全部") {
          opt.disabled = !isAllSelect;
          return
        }
        if (opt.name === "空") {
          opt.disabled = !isNullSelect;
          return
        }
        opt.disabled = (isAllSelect || isNullSelect);
      })
    },
    // 根据value返回对应的name
    getNameByValue (arr, value) {
      let s = arr.find(item => {