跳到主要内容

Online表单配置菜单

1、通过复制SQL快速创建菜单

通过online表单右侧的更多里找到配置地址,点击复制SQL,获取插入菜单的SQL

获取到升级sql,到数据库里执行,给角色分配下新菜单权限。

INSERT INTO sys_permission(id, parent_id, name, url, component, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_route, is_leaf, keep_alive, hidden, hide_tab, description, status, del_flag, rule_flag, create_by, create_time, update_by, update_time, internal_or_external) 
VALUES ('35b73edf849e43e1bb75f8f44e886df6', NULL, '客户信息', '/online/cgformList/ece09f31a0134a2bbeceb5587eb18bc6', '1', NULL, NULL, 0, NULL, '1', 0.00, 0, NULL, 0, 1, 0, 0, 0, NULL, '1', 0, 0, 'admin', null, NULL, NULL, 0)

2、手工配置菜单

通过online表单右侧的更多里找到配置地址,点击复制URL,将复制路径粘贴到菜单路径

  • 前端组件 随便定义
  • 是否是路由菜单 改为否

3、其他常见问题

1. sqlserver中字段类型配置成text类型,不支持查询

走查询会报类型不匹配的错:

nested exception is
com.microsoft.sqlserver.jdbc.SQLServerException: The data types ntext and nvarchar are incompatible in the equal to operator.

2. online支持多租户

@date 2022/11/01

和系统原多租户的配置保持一致。

在类MybatisPlusSaasConfig 中添加多租户的表名,在对应的表中添加字段tenant_id类型为int

public class MybatisPlusSaasConfig {
/**
* tenant_id 字段名
*/
public static final String TENANT_FIELD_NAME = "tenant_id";
/**
* 哪些表需要做多租户 表需要添加一个字段 tenant_id
*/
public static final List<String> TENANT_TABLE = new ArrayList<String>();

static {
//添加多租户的表名
TENANT_TABLE.add("demo");
}

3. online表单中使用关联记录后提示无权限访问。

问题现象

当用户操作包含关联记录的在线表单时,系统提示「无权限访问(操作)」。

背景分析

  1. 当前角色未分配【在线表单】功能模块的菜单访问权限
  2. 在线表单通过【关联记录】组件引用了其他业务表(以下简称"关联表"),但角色未获得关联表的访问权限

解决方案

通过配置隐藏路由实现权限隔离,具体操作如下:

步骤说明:

  1. 创建隐藏路由 在菜单管理中创建一个【隐藏路由】
  2. 在角色权限管理界面,为目标角色授予:
  • 主表单的标准访问权限
  • 关联表的隐藏路由访问权限