+
+ {
+ if (props.mode === 'criteria') {
+ modelValue = {
+ operator: args.value,
+ criteria: modelValue['criteria'],
+ };
+ } else {
+ modelValueObject['operator'] = args.value;
+ modelValueObject['criteria'] = modelValueObject['criteria'];
+ }
+ }
+ "
+ >
+
+
+
+
+
+
+ 删除
+ 删除
+
+
+
{
+ operatorUpdateValue(args, modelValueObject['criteria'][index]['fieldName']);
+ }
+ "
+ >
+
+
+ —
+
+
+
+
+
+
+
+
+ 删除
+ 删除
+
+
{
+ /**
+ * 事件说明:
+ * 无论最外层使用的 sql 还是 criteria 模式,嵌套组件绑定值一定是 criteria 对象值,
+ * 只有 sql 模式下最顶层的模型值需要随着用户的选择被更改,所以要进行判断:
+ * 当模式为 sql 时当前组件一定是顶层组件,更新其模型显示值;
+ * 当模式为 criteria 时当前组件可能是嵌套组件也可能是顶层组件,直接使用 emit 往上抛事件即可。
+ */
+ if (props.mode !== 'criteria') {
+ modelValue = CriteriaUtil.criteriaToSql(modelValueObject);
+ } else {
+ emit('updateParentModelValue');
+ fieldMethodsClass.updateValue(modelValue);
+ }
+ }
+ "
+ >
+
+
+
+
+