表字典规则说明
JDictSelectTag 、JSearchSelect 和 JTreeSelect 支持配置表字典,直接通过表获取数据。
表字典示例
JDictSelectTag字典示例
从数据库表获取字典数据,dictCode格式说明: 表名,文本字段,取值字段
<JDictSelectTag v-model="username" placeholder="请选择用户" dictCode="sys_user,realname,id"/>
JSearchSelect字典示例
{
field: 'code',
label: '用户名',
component: 'JSearchSelect',
colProps: { span: 6 },
componentProps: {
dict: 'demo where parent_id is null,name,code',
},
},
JTreeSelect字典示例
<JTreeSelect placeholder="请选择分类" v-model:value="formState.zdys"
dict="sys_category,name,id" pidValue="0"/>
表字典配置规则
因为表字典太灵活,存在被攻击的风险,所以从
v_3.5.4
版本起,不支持复杂sql
1、查询字段要求
查询字段只能写数据库对应的字段名不允许使用函数,比如:concat、DATE_FORMAT等函数
查询字段不允许使用别名,比如: a.name,b.age
2、查询表名要求
表名也不允许使用别名,比如: sys_user a
3、条件要求
一、查询条件中的字段与查询字段要求一致。
二、在条件SQL中,只允许使用以下匹配规则符号:
下面没有的就是不支持,比如:BETWEEN、EXISTS、NOT EXISTS等
1. 等于:=
2. 不等于:!= 或 <>
3. 大于:>
4. 小于:<
5. 大于等于:>=
6. 小于等于:<=
7. 模糊匹配:LIKE
8. IN:匹配多个值
9. NOT IN:不匹配多个值
10. IS NULL:为空
11. IS NOT NULL:不为空