1
关注
476
浏览

低代码平台前端脚本自定义查询条件有那些

周海涛 超级管理员 用户来自于: 运营商级NAT
2023-08-15 14:31

通过自定义函数查询表格数据,拿到入参里面系统提供的查询参数queryData,在queryData内部values内部添加需要的查询参数,根据需要在key前面添加'eq:'、'in:'等前缀。(更多前缀配置可以参考 业务模型数据查询算子使用说明









算子使用说明


  1. 查询算子格式

values中传入查询条件和条件值,完整的查询条件格式为:

{"[查询算子标识]:字段code|[查询算子标识]:字段2code|...":条件值}

注意:

1.查询算子标识支持eq/ne/gt...等,可选,如果忽略则使用默认根据字段类型选择合适的查询方式;

2.|:表示多个条件的或关系,如:{"dev|llike:dev":"test"}表示的是"dev精确匹配 test 或 dev 模糊匹配 test",等效的sql片段为:dev='test' or dev like '%test%' ;

  1. 默认查询方式

values 中的查询条件中忽略了查询算子标识,系统会自动根据字段类型适配默认的查询方式,具体如下:

1)日期(DATE)/时间(TIME)

范围区间匹配,条件值格式为:{"st":1644997122326,"et":1644997242326},其中st和et分别是起始和结束时间;

2)人员(STAFF),部门(DEPARTMENT),关联选择(RELATION_SELECT)

模糊匹配,等效于sql的“similar to”语法;

3)关联引用(RELATION_REFERENCE),如果是业务模型,则使用精确匹配,传值支持整形或字符串;如果是数据字典,则使用模糊匹配,类似于sql的“like”语法;

4)短文本(SHORT_TEXT),长文本(LONG_TEXT),图片(PICTURE),附件(ATTACHMENT),序列号(SEQ)、时间(TIME)、父节点集合(PARENT_IDS)、子节点(CHILDREN);

模糊匹配,等效于sql的“like”匹配;

5)其他

精确匹配,即SQL的“=”;


查询算子标识

说明

示例

前端调用实例

eq

1.作用:等于,精确匹配;

2.支持的字段:所有;

1.{"eq:name":"设备"}

- 查找名字为设备的记录

table.dispatch('addSearchData',{values:{'in:status':['BUDGET','DELIVERY']}})

ne

1.作用:不等于,精确匹配;

2.支持的字段:所有;

request('budget_review',

'selectList',

{values:{'project_id':row.id,'ne:review_status':'FINISH'}}

)

gt

1.作用:大于;

2.支持的字段和使用注意事项

  • INTEGER
  • NUMBER
  • DATE

传参为时间戳(精确到毫秒)

  • TIME

1.时间搜索条件传参

{"ge:create_date":1644997122326,"le:create_date":1644997242326}

2.["gt:age":20] 表示查询年龄大于20的记录

ge

1.作用:大于等于;

2.支持的字段和使用注意事项,同 gt 用法;

lt

1.作用:小于;

2.支持的字段和使用注意事项,同 gt 用法;

le

1.作用:小于等于;

2.支持的字段和使用注意事项,同 gt 用法;

isNull

1.作用:为空,等效于sql的 is null,精确匹配;

2.支持的字段:所有;

["isNull:name":null] 表示查询name为空的记录

isNotNull

1.作用:不为空,等效于sql的 is not null,精确匹配;

2.支持的字段:所有;

request('budget_review',

'selectList',

{values:{"isNotNull:market_manager":"null"}}

)

isBlank

1.作用:为空字符串,等效于sql的“name IS NULL OR name = ''”

2.支持的字段:短文本和长文本

["isBlank:name":null] 表示查询name为null或空字符串的记录

isNotBlank

和isBlank相反,等效于“name IS NOT NULL AND name <> ''”

like

1.作用:sql的模糊匹配;

2.支持的字段:所有;

notLike

1.作用:sql的模糊匹配,等效于 not like;

2.支持的字段:所有;

ilike

1.作用:sql的模糊匹配,不区分大小写;

2.支持的字段:所有;

in

1.作用:等效于sql的 “in” 查询;

2.支持的字段:所有;

3.注意事项

参数的条件值以为逗号拼接的字符串或数组,如:

1)字符串:{"in:dep":"1,2,3"};

2)数组:{"in:orderType":["device","spare"]}

4.【2022.08.29】补充:人员、部门、关联选择字段慎用该算子,由于这三个字段支持多选,且存储的是关联数据的ID,因此设计为固定格式(如:[78][25]、[DEVICE][SPARE]),如果需要对这三种字段进行模糊匹配,建议使用similarTo算子

notIn

1.作用:等效于sql的 “not in” 查询;

2.支持的字段和使用注意事项,同 in 用法;

similarTo

1.作用:等效于sql的 “similar to” 查询;

2.支持的字段如下:

  • 人员(STAFF)
  • 部门(DEPARTMENT)
  • 关联选择(RELATION_SELECT)

包含关联业务模型和关联数据字典两个场景;

3.注意事项

参数的条件值以为逗号拼接的字符串或数组,如:

1)字符串:{"similarTo:dep":"1,2,3"};

2)数组:{"similarTo:orderType":["device","spare"]}

1.{"similarTo:renyuan": "20,21,22"}

notSimilarTo

1.作用:等效于sql的 “not similar to” 查询;

2.支持的字段和使用注意事项,同 similarTo用法;




关于作者

问题动态

发布时间
2023-08-15 14:27
更新时间
2023-08-15 14:31

相关问题