用于自定义的列表页面,高级查询按钮。 ### 1.使用: ~~~ <super-query :config="superQueryConfig" @search="handleSuperQuery"/> <!-- xxx省略其他代码 --> <script lang="ts"> import SuperQuery from '/@/components/jeecg/super/superquery/SuperQuery.vue' // 高级查询配置 const superQueryConfig = reactive({ name:{ title: "名称", view: "text", type: "string", order: 1 }, sex:{ title: "性别", view: "list", type: "string", enum: [{value: '1', title: '男'}, {value: '2', title: '女'}], order: 6 }, subTable:{ title: "子表", view: "table", fields:{ name:{ title: "名称2", view: "text", type: "string", order: 1 }, } } }) //执行查询 function handleSuperQuery(params) { Object.keys(params).map(k=>{ queryParam[k] = params[k] }); searchQuery(); } //xxx省略其他代码 </script> ~~~ ### 2.说明:superQueryConfig 配置 >语法: 字段名:{字段配置信息} | 属性 |描述 | | --- | --- | | title | 标题 /字段描述 | | view | 字段展示类型| | type | 字段数据类型,日期时间的传string| | order| 字段顺序| 其他配置参考以下示例 ### 3.配置示例: - 文本框: `name:{ title: "名称", view: "text", type: "string", order: 1 }` - 下拉框(只能传enum): `sex:{ title: "性别", view: "list", type: "string", enum: [{value: '1', title: '男'}, {value: '2', title: '女'}], order: 2 },` - 下拉多选框(可以设置数据字典,也可以配置表 ): `sports:{ title: "下拉多选", view: "list_multi", type: "string", dictCode: "sports", order: 3 },` `userSelect:{ title: "下拉多选2", view: "list_multi", type: "string", dictTable: "sys_user", dictCode: "username", dictText: "realname", order: 3 },` - 下拉搜索框(只能配置表): `userSearch:{ title: "下拉搜索", view: "sel_search", type: "string", dictTable: "sys_user", dictCode: "username", dictText: "realname", order: 4 },` - 日期框: `birthday:{ title: "生日", view: "date", type: "string", order: 5 },` - 时间框: `createTime:{ title: "创建时间", view: "datetime", type: "string", order: 6 },` - 数字框: `age:{ title: "年龄", view: "number", type: "number", order: 7 },` - 分类树: `catTree:{ title: "分类树", view: "cat_tree", type: "string", order: 8 },` - 用户选择: `userSelect2:{ title: "选择用户", view: "sel_user", type: "string", order: 9 },` - 部门选择: `departSelect:{ title: "选择部门", view: "sel_depart", type: "string", order: 10 },` - 省市区: `pca:{ title: "省市区", view: "pca", type: "string", order: 12 },` - popup: `popup:{ title: "popup", view: "popup", type: "string", order: 11, code: "report_user", destFields: "popup", orgFields: "realname", popupMulti: true },` ### 4.从表字段配置说明: ``` 从表名:{ title: "表描述", view: "table", fields:{ 字段配置 } } 如: subTable:{ title: "子表", view: "table", fields:{ name:{ title: "名称2", view: "text", type: "string", order: 1 }, } } ``` ### 5.查询触发传值 ![](https://img.kancloud.cn/2c/30/2c30d5c1c33f79d622182fbf88845505_1262x135.png) - 如果是单表:field只传递字段名 - 如果有从表,field会传递`从表名,字段名` - 此处仅前端实现了从表的逻辑,后台默认不处理从表的信息,需要用户自行处理。 >[warning] 如果界面查询无效果,那应该是后端报错了,请检查字段配置是否正确。