帖子
帖子
用户
博客
课程
显示全部楼层
143
帖子
2
勋章
4万+
Y币

案例-query和refer动作扩展

[复制链接]
发表于 2024-1-8 15:53:22
本帖最后由 yonyouhmm 于 2024-1-8 15:54 编辑

一、说明
目前查询类动作仅支持查询前扩展,通常用来自定义过滤条件,查询后对查询结果进行修改的扩展,目前还不支持,后续应该会支持。本文介绍如何扩展query、refer动作,实现查询前修改查询条件。
二、query动作:列表查询
1、扩展位置:列表页设计器



2、扩展脚本
commonVOs:对应列表设计器查询区的字段,比较符也使用列表设计器查询区的比较符,字段编码的key固定为:itemName
simpleVOs:和常用的前端函数的扩展一样,比较符自定义,字段编码的key固定为:field
一般选择使用simpleVOs
let AbstractTrigger = require('AbstractTrigger');
class MyTrigger extends AbstractTrigger {
  execute(context, param) {
    this.updateContext.filters = {
      condition: {
        commonVOs: [
          { value1: '1', itemName: 'new1' }
        ],
        simpleVOs: [
          {
            field: 'new1',
            op: 'eq',
            value1: '1'
          },

      }
    }
    return {};
  }
}
exports({ entryPoint: MyTrigger });

二、refer动作:参照查询
生效前提,getRefData请求中必须要有condition参数。

1、扩展位置:详情页或列表设计器

2、扩展脚本
let AbstractTrigger = require('AbstractTrigger');
class MyTrigger extends AbstractTrigger {
  execute(context, param) {
    this.updateContext.filters = {
      condition: {
        //commonVOs: [{ value1: '111', itemName: 'new1' }],
        simpleVOs: [
          {
            field: 'new1',
            op: 'eq',
            value1: '111',
          },
        ],
      }
    }
   
    return {};
  }
}
exports({ entryPoint: MyTrigger });

如果树形参照,入参有treeConition
let AbstractTrigger = require('AbstractTrigger');
class MyTrigger extends AbstractTrigger {
  execute(context, param) {
    this.updateContext.filters = {
      treeCondition: {
        //commonVOs: [{ value1: '111', itemName: 'new1' }],
        simpleVOs: [
          {
            field: 'new1',
            op: 'eq',
            value1: '111',
          },
        ],
      }
    }

    return {};
  }
}
exports({ entryPoint: MyTrigger });

本帖子中包含更多资源,您需要 登录 才可以下载或查看,没有帐号?立即注册

X
7
帖子
0
勋章
57
Y币
query动作中的simplevos的op字段不能是ilike,提示后端的枚举中没有这个值。但是想用到它不区分大小写查询功能,该怎么做?
143
帖子
2
勋章
4万+
Y币
BIP187371 · 2024-3-14 13:34query动作中的simplevos的op字段不能是ilike,提示后端的枚举中没有这个值。但是想用到它不区分大小写查询功能,该怎么做?

前端脚本呢  like   leftlike   rightlike  应该都支持的
您需要登录后才可以回帖 登录

本版积分规则