跳到主要内容

控件类型

积木报表填报功能提供20种控件类型,可满足用户基本使用

1. 单选框、多选框、下拉选择

效果展示

选项设置方式

  • 设置选项有三种方式:静态数据源、数据字典、Api

  • 静态数据源:可直接添加选项

  • 数据字典:选择数据字典,可选择系统维护的数据字典

数据字典维护参考

  • Api:填写Api地址

例:http://api.jeecg.com/mock/26/option_api Api 返回格式:

[{
    "text": "群众",
    "value": 0
},{
    "text": "团员",
    "value": 1
},{
    "text": "党员",
    "value": 2
}]

2. 下拉树

效果展示

选项设置方式

  • 下拉树选项支持api方式,支持多选

例:http://api.jeecg.com/mock/26/tree_api

  • api返回格式
{
"data": [
{
"izLeaf": 0,
"id": "1",
"parentId": "",
"departName": "积木报表团队"
}
],
"total":null
}

3. 组织角色

效果展示

选项设置方式

方式一:api方式获取选项数据**
  • 组织角色选项支持api方式,支持多选

例:http://api.jeecg.com/mock/26/role_api

  • api返回格式
{
    "total": 11,
    "data": [
        {
            "roleName": "CEO0",
            "id": 0
        },
        {
            "roleName": "CEO1",
            "id": 1
        },
        {
            "roleName": "CEO2",
            "id": 2
        },
        {
            "roleName": "CEO3",
            "id": 3
        },
        {
            "roleName": "CEO4",
            "id": 4
        },
        {
            "roleName": "CEO5",
            "id": 5
        },
        {
            "roleName": "CEO6",
            "id": 6
        },
        {
            "roleName": "CEO7",
            "id": 7
        },
        {
            "roleName": "CEO8",
            "id": 8
        },
        {
            "roleName": "CEO9",
            "id": 9
        }
    ]
}
方式二:java增强方式获取选项数据

支持版本:v1.8.2+ | 2024-09-12

可以编写自定义的java实现,来确保在不填写api地址时,仍然能获取到正确的角色数据。

编写java类,实现JmFormOptionsServiceI接口,并且重写getRoleList方法,在getRoleList方法中编写具体的角色查询的代码,返回OptionsResult<RoleOptionsVO> 格式的数据

代码示例:

package com.jeecg.modules.jmreport.submit;


import org.jeecg.modules.jmreport.api.JmFormOptionsServiceI;
import org.jeecg.modules.jmreport.api.vo.OptionsResult;
import org.jeecg.modules.jmreport.api.vo.RoleOptionsVO;


import java.util.ArrayList;
import java.util.List;


/**
* 自定义选项数据获取实现类
* @Author: chenrui
* @Date: 2024/9/12 19:33
*/
@Service("jmFormOptionsService")
public class CustomFormOpsGetServiceImpl implements JmFormOptionsServiceI {


/**
* 获取角色选项列表
*
* @param roleName 角色名称
* @param pageNo 页码
* @param pageSize 每页数量
* @param ids 通过id集合查询
* @param queryAll 是否查询全部
* @return
*/
@Override
public OptionsResult<RoleOptionsVO> getRoleList(String roleName, Integer pageNo, Integer pageSize, String ids, Boolean queryAll) {
// TODO author: chenrui for:获取角色的具体实现代码 date:2024/9/12
/* 以下仅为示例代码,请自行编写自己的业务实现! */
List<RoleOptionsVO> list = new ArrayList<>();
for (int i = 0; i < 12; i++) {
RoleOptionsVO role = new RoleOptionsVO();
role.setId(i+"");
role.setRoleName("CEO" + i);
list.add(role);
}
OptionsResult<RoleOptionsVO> resp = new OptionsResult<>();
resp.setData(list);
resp.setTotal(11);
return resp;
}
}

4. 部门组件

效果展示

选项设置方式

方式一:api方式获取选项数据
  • 部门组件选项支持api方式,支持多选

例:http://api.jeecg.com/mock/26/dept_api

  • api返回格式
{
    "data": [
        {
            "izLeaf": 0,
            "id": "1",
            "parentId": "",
            "departName": "积木报表团队"
        }
    ]
}
方式二:java增强方式获取选项数据

支持版本:v1.8.2+ | 2024-09-12

可以编写自定义的java实现,来确保在不填写api地址时,仍然能获取到正确的部门数据。

编写java类,实现JmFormOptionsServiceI接口,并且重写getDepartmentList方法,在getDepartmentList方法中编写具体的角色查询的代码,返回OptionsResult<DeptOptionsVO> 格式的数据

代码示例:

package com.jeecg.modules.jmreport.submit;


import org.jeecg.modules.jmreport.api.JmFormOptionsServiceI;
import org.jeecg.modules.jmreport.api.vo.DeptOptionsVO;
import org.jeecg.modules.jmreport.api.vo.OptionsResult;
import org.springframework.stereotype.Service;


import java.util.ArrayList;
import java.util.List;


/**
* 自定义选项数据获取实现类
* @Author: chenrui
* @Date: 2024/9/12 19:33
*/
@Service("jmFormOptionsService")
public class CustomFormOpsGetServiceImpl implements JmFormOptionsServiceI {


/**
* 获取部门选项列表
*
* @param departName 部门名称
* @param parentId 父id
* @param ids 部门id集合
* @return
*/
@Override
public OptionsResult<DeptOptionsVO> getDepartmentList(String departName, String parentId, String ids) {
// TODO author: chenrui for:获取角色的具体实现代码 date:2024/9/12
/* 以下仅为示例代码,请自行编写自己的业务实现! */
List<DeptOptionsVO> list = new ArrayList<>();
DeptOptionsVO dept = new DeptOptionsVO();
dept.setId("1");
dept.setDepartName("积木报表团队");
dept.setParentId("");
dept.setIzLeaf(0);
//封装子级
List<DeptOptionsVO> children = new ArrayList<>();
DeptOptionsVO child = new DeptOptionsVO();
child.setId("2");
child.setDepartName("研发部");
child.setParentId("1");
child.setIzLeaf(1);
children.add(child);
//将子级作为一个children给父级
dept.setChildren(children);
list.add(dept);
OptionsResult<DeptOptionsVO> resp = new OptionsResult<>();
resp.setData(list);
return resp;
}
}

5. 用户组件

效果展示

选项设置方式

方式一:api方式获取选项数据
  • 用户组件选项支持api方式,支持多选

例:http://api.jeecg.com/mock/26/user_api

  • api返回格式
{
    "total": 11,
    "data": [
        {
            "avatar": "",
            "id": 0,
            "username": "admin0",
            "realname": "管理员0"
        },
        {
            "avatar": "",
            "id": 1,
            "username": "admin1",
            "realname": "管理员1"
        },
        {
            "avatar": "",
            "id": 2,
            "username": "admin2",
            "realname": "管理员2"
        },
        {
            "avatar": "",
            "id": 3,
            "username": "admin3",
            "realname": "管理员3"
        },
        {
            "avatar": "",
            "id": 4,
            "username": "admin4",
            "realname": "管理员4"
        },
        {
            "avatar": "",
            "id": 5,
            "username": "admin5",
            "realname": "管理员5"
        },
        {
            "avatar": "",
            "id": 6,
            "username": "admin6",
            "realname": "管理员6"
        },
        {
            "avatar": "",
            "id": 7,
            "username": "admin7",
            "realname": "管理员7"
        },
        {
            "avatar": "",
            "id": 8,
            "username": "admin8",
            "realname": "管理员8"
        },
        {
            "avatar": "",
            "id": 9,
            "username": "admin9",
            "realname": "管理员9"
        }
    ]
}
方式二:java增强方式获取选项数据

支持版本:v1.8.2+ | 2024-09-12

可以编写自定义的java实现,来确保在不填写api地址时,仍然能获取到正确的用户数据。

编写java类,实现JmFormOptionsServiceI接口,并且重写getUserList方法,在getUserList方法中编写具体的角色查询的代码,返回OptionsResult<UserOptionsVO> 格式的数据。

代码示例:

package com.jeecg.modules.jmreport.submit;


import org.jeecg.modules.jmreport.api.JmFormOptionsServiceI;
import org.jeecg.modules.jmreport.api.vo.OptionsResult;
import org.jeecg.modules.jmreport.api.vo.UserOptionsVO;
import org.springframework.stereotype.Service;


import java.util.ArrayList;
import java.util.List;


/**
* 自定义选项数据获取实现类
* @Author: chenrui
* @Date: 2024/9/12 19:33
*/
@Service("jmFormOptionsService")
public class CustomFormOpsGetServiceImpl implements JmFormOptionsServiceI {


/**
* 获取用户选项列表
*
* @param username 用户名
* @param realname 真实姓名
* @param pageNo 页码
* @param pageSize 每页数量
* @param ids 通过id集合查询
* @param queryAll 是否查询全部
* @return
*/
@Override
public OptionsResult<UserOptionsVO> getUserList(String username, String realname, Integer pageNo, Integer pageSize, String ids, Boolean queryAll) {
// TODO author: chenrui for:获取角色的具体实现代码 date:2024/9/12
/* 以下仅为示例代码,请自行编写自己的业务实现! */
List<UserOptionsVO> list = new ArrayList<>();
for (int i = 0; i < 12; i++) {
UserOptionsVO user = new UserOptionsVO();
user.setUsername("admin" + i);
user.setAvatar("");
user.setRealname("管理员" + i);
user.setId(i+"");
list.add(user);
}
OptionsResult<UserOptionsVO> mapList = new OptionsResult<UserOptionsVO>();
mapList.setData(list);
mapList.setTotal(11);
return mapList;
}
}

6. 日期、日期时间

6.1 效果展示

6.2 日期配置

点击图标,切换至输入模式,输入#{sysDate}即可

  • ② 格式:支持yyyy-MM-dd、yyyy-MM、yyyy
  • ③ 显示类型:支持年、年-月、年-月-日

6.3 日期时间配置

默认值:支持选择某一天作为默认值,或默认系统变量 点击查看系统变量 点击图标,切换至输入模式,输入#{sysDateTime}即可。

7. 文本默认值

单行文本、多行文本可在默认值中填写系统变量#{sysUserCode}获取当前登录人账号 点击查看系统变量