| | |
| | | rule_values: [], |
| | | topic_arg: "", |
| | | topic_type: "", |
| | | |
| | | topicTypeOptions: {}, |
| | | topicArgOptions: {}, |
| | | operatorOptions: {}, |
| | |
| | | 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) |
| | |
| | | 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) { |
| | |
| | | } |
| | | }, |
| | | 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 => { |