filters是用来配置表格上方的多条件查询,通过它配置数据检索的方式,目前支持模糊查询,分类查询,时间查询等
模糊查询配置
代码语言:javascript复制 filters: {
couponName: {
label: '优惠券名称',
type: 'text',
}
}
filters
里面的属性必须在fields
里面存在,换句话是filters
的键必须从fields
里面。键名就是字段名 label:为提示文字 type:为表单类型
分类查询
本地分类查询
本地分类的意思是分类是写死的并没有纳入系统管理
代码语言:javascript复制 filters: {
person: {
label: '适用人群',
type: 'select',
}
上述配置配置了person.type=select
,那么要确保你的fileds里面的person
是这样配置的
fileds:{
person:{
type:'string',
comment: '适用人群',
meta:{
formType: 'select',
chineseMap: {
1:"男",
0:"女"
}
}
},
}
也就是person必须配置chineseMap属性 此时会在视图生成如下表单
外键分类查询
外键分类查询的意思是,分类项并不是写死,分类项是一张单独的表,或者有单独管理作用 这个时候要想正常使用外键分类查询你需要进行如下配置
以goods模型的person字段为例 首先创建一个分类表,category
模型配置如下
module.exports = {
modelCn: '人群',
modelIcon: 'el-icon-eleme',
fields: {
name: {
type: 'string',
comment: '人群名称',
meta: {
formType: 'input',
isInline: false,
inputType: 'text',
placeholder: '请输入人群名称'
}
},
}
然后在goods模型的person字段作如下配置
代码语言:javascript复制module.exports = {
modelCn: '商品',
modelIcon: 'el-icon-eleme',
fields: {
name: {
type: 'string',
comment: '商品名称',
meta: {
formType: 'input',
isInline: false,
inputType: 'text',
placeholder: '请输入商品名称'
}
},
person:{
type:'string',
comment:'适用人群',
meta:{
formType:'select',
// 注意这里的chineseMap接受一个对象(外键查询)
chineseMap:{
useForeign: 'goods_person' // 这里的值去的foreign的属性即外键名称
}
}
},
filter:{
person: {
label: '适用的人群',
type: 'select'
},
},
foreign: {
// key 表示外键名称
article_category: {
key: 'person', // 当前模型的外键字段
refer: 'id', // 关联表的字段 // 用作表单,表格的取值
referLabel: 'name', // 关联表用于展示的字段,主要用于 table,form的展示
onTable: 'category', // 关联的模型
foreignDesc: '外键描述'
},
}
}
日期时间查询
单日期查询
指定日期字段查询[小于 | 小于等于 | 大于 | 大于等于]的该字段记录
代码语言:javascript复制 fields: {
...
goods_date:{
comment:'创建日期',
type:'date',
meta: {
formType: 'date',
}
}
},
filters: {
goods_date: {
label: '开始月份',
type: 'date',
sign:'gte' // 大于等于
},
}
这里我们设置了sign,生成器会将生成“查询大于等于goods_date的记录” 生成条件筛选代码与视图
根据条件查询结果
sign的取值如下
- gt 大于
- gte大于等于
- lt 小于
- lte 小于等于
- ne 不等于
- eq 等于
默认情况下sign取值为gte
双日期查询 查询两个日期之间的记录
代码语言:javascript复制 fields: {
...
goods_date:{
comment:'创建日期',
type:'date',
meta: {
formType: 'date',
}
}
},
filters: {
goods_date: {
label: '日期范围',
type: 'doubleDate',
},
}
查询 goods_date 在 20226月1日到20226月30日之间的记录