#' 将子项菜单由数据库变成对象
#'
#' @param conn 连接
#' @param app_id 程序ID
#' @param permission 角色
#' @param FparentId 系统ID
#'
#' @return 返回值
#' @export
#'
#' @examples
#' menu_getSubItemData()
menu_getSubItemData <- function(conn=conn_rds('rdbe'),app_id='appTpl',permission='admin',FparentId ='A'){
sql <-paste0("select Fshow,Fname,Fid,Ficon from t_md_objectRight
where Ftype ='module' and FappId ='",app_id,"' and Fpermissions ='",permission,"' and FparentId ='",FparentId,"'
and Fshow =1 order by Findex")
data <- tsda::sql_select(conn,sql)
data$Fshow <- as.logical(as.integer(data$Fshow))
data2 = config_formatter(data)
data3 = lapply(data2, function(subItem){
if(subItem$Fshow){
res = menuSubItem(subItem$Fname,tabName = subItem$Fid,icon = icon(subItem$Ficon))
}else{
res = NULL
}
return(res)
})
class(data3) <-c("shiny.tag.list", "list")
return(data3)
}
#' 将子项菜单与系统菜单相结果
#'
#' @param txt 名称
#' @param tabName 标签名
#' @param icon 图标
#' @param conn 连接
#' @param app_id 程序
#' @param permission 角色
#'
#' @return 返回值
#' @export
#'
#' @examples
#' menu_getMenuItemSubset()
menu_getMenuItemSubset <- function(txt='系统A',tabName='A',icon='clock',conn=conn_rds('rdbe'),app_id='appTpl',permission='admin'){
subItemList =menu_getSubItemData(conn =conn,app_id = app_id,permission = permission, FparentId = tabName)
res = menuItem(txt,tabName = tabName,icon=icon(icon), subItemList)
return(res)
}
#' 设置系统菜单
#'
#' @param conn 连接
#' @param app_id 程序
#' @param permission 角色
#'
#' @return 角色
#' @export
#'
#' @examples
#' menu_getItemData()
menu_getItemData <- function(conn=conn_rds('rdbe'),app_id='appTpl',permission='admin'){
sql <-paste0("select Fshow,Fname,Fid,Ficon from t_md_objectRight
where Ftype ='system' and FappId ='",app_id,"' and Fpermissions ='",permission,"' and Fshow =1 order by Findex ")
data <- tsda::sql_select(conn,sql)
data$Fshow <- as.logical(as.integer(data$Fshow))
data2 = config_formatter(data)
data3 = lapply(data2, function(Item){
if(Item$Fshow){
res = menu_getMenuItemSubset(txt = Item$Fname,tabName = Item$Fid,icon = icon(Item$Ficon),conn = conn,app_id = app_id,permission = permission)
}else{
res = NULL
}
return(res)
})
class(data3) <-c("shiny.tag.list", "list")
res = sidebarMenu(.list = data3)
return(res)
}
#' 加载UI文件
#'
#' @param sytem_id 文件名
#' @param module_id 模块名
#'
#' @return 返回值
#' @export
#'
#' @examples
#' load_ui()
load_ui <- function(sytem_id='A',module_id='A01'){
file_name = paste0("modules/",sytem_id,"/",module_id,"/",module_id,"_ui.R")
res = source(file = file_name,encoding = 'utf-8')$value
return(res)
}
#' 加载UI文件
#'
#' @param module_id 模块名
#'
#' @return 返回值
#' @export
#'
#' @examples
#' load_ui()
load_ui0 <- function(module_id='A01'){
file_name = paste0("modules/",module_id,"/",module_id,"_ui.R")
print(file_name)
res = source(file = file_name,encoding = 'utf-8')$value
return(res)
}
#' 加载服务器逻辑文件
#'
#' @param input 输入
#' @param output 输出
#' @param session 会话
#' @param system_id 系统代码
#' @param module_id 模块代码
#'
#' @return 返回回
#' @export
#'
#' @examples
#' load_server()
load_server <- function(input,output,session,system_id='A',module_id='A01') {
file_name = paste0("modules/",system_id,"/",module_id,"/",module_id,"_server.R")
source(file_name,encoding = 'utf-8',local = TRUE)
}
#' 加载服务器逻辑文件
#'
#' @param input 输入
#' @param output 输出
#' @param session 会话
#' @param module_id 模块代码
#' @param conn 连接
#' @param app_id 用户ID
#'
#' @return 返回回
#' @export
#'
#' @examples
#' load_server()
load_server0 <- function(input,output,session,conn,app_id,module_id='A01') {
file_name = paste0("modules/",module_id,"/",module_id,"_server.R")
source(file_name,encoding = 'utf-8',local = TRUE)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.