JFinal-layui极速开发企业应用管理系统

JFinal-layui极速开发企业应用管理系统,是以JFinal+layui为核心的企业应用项目架构,利用JFinal的特性与layui完美结合,达到快速启动项目的目的。让开发更简单高效,即使你不会layui,也能轻松掌握使用。该项目的核心功能有:登录、功能管理、角色管理(包含了权限管理)、用户管理、部门管理、系统日志、业务字典,报表管理、代码生成器、通用的附件上传、下载、导入、导出,echart图表统计,缓存,druid的sql监控,基本满足企业应用管理系统的需求,简化了前段代码,后台公用接口都封装完善,你只需要开发业务功能即可。从后端架构到前端开发,从开发到部署,充分展现了JFinal极速开发的魅力。

核心架构:JFinal,JFinal-undertow,layui,mysql,ehcach,rsa加密算法 ;系统权限:通过“用户-角色-功能”三者关系来实现系统的权限控制,操作简单明了,代码实现极其简单,这都是得益于JFinal架构的巧妙设计。

 JFinal-layui下载地址https://gitee.com/QinHaiSenLin/Jfinal-layui

 在线演示系统JFinal-layui极速开发企业应用系统    账号:admin/123456

 使用样例说明:

1、controller控制类:

//用户管理控制类
@ControllerBind(path="/portal/core/sysUser")
public class SysUserController extends BaseController {
	@Inject
	SysUserService service;
	@Inject
	SysOrgService sysOrgService;
	@Inject
	SysUserRoleService sysUserRoleService;

	public void index() {
		setAttr("orgList", service.queryOrgIdAndNameRecord());
		render("index.html");
	}


	public void list() {
        //条件查询
	Record record = new Record();
	record.set("userName", getPara("userName"));
	record.set("orgId", getPara("orgId"));
	record.set("sex", getPara("sex"));
        //通用查询接口
	renderJson(service.page(getParaToInt("pageNumber", 1), getParaToInt("pageSize", 10), record));
	}
 }

2. service服务类:只需要继承BaseService接口,实现getDao()就能拥有对数据库持久层的所有方法接口。

 public class SysUserService extends BaseService {

	private SysUser dao = new SysUser().dao();

	@Override
	public Model<?> getDao(){
		return dao;
	}
  }

3. 前端页面,封装了layui常用代码,添加修改页面使用函数#@colStart和#@colEnd即可,#@colStart和#@colEnd必须成对出现

<div class="layui-row layui-col-space1 task-row">
  #@colStart('用户编号',6)		
  <input type="text" class="layui-input" name="sysUser.userCode" value=""  
  lay-verType='tips'lay-verify="required|" maxlength="50" placeHolder="必填"/>
 #@colEnd()
		
 #@colStart('密码',6)
<input type="password" class="layui-input" name="sysUser.passwd" value=""
   lay-verType='tips'lay-verify=""  maxlength="50" placeHolder="密码"/>
 #@colEnd()
</div>
	
<div class="layui-row layui-col-space1 task-row">	
  #@colStart('用户名称',6)
  <input type="text" class="layui-input" name="sysUser.userName" value=""  
  lay-verType='tips'lay-verify="required|" maxlength="50" placeHolder="必填"/>		
  #@colEnd()
		
  #@colStart('部门',6)
     <select name="sysUser.orgId" class="layui-input" lay-search>
        <option value="">---请选择---</option>
	#for(data:orgList)
       	<option value="#(data.value??)">#(data.text??)</option>
       	#end
     </select>
 #@colEnd()
</div>

4、业务字典快速引用函数 #@getSelect(code,name,text) ; #@getRadio(code,name,text) ;#@getCheckbox(code,name,text)code:字典编号,name:元素name属性,text:选项名称 ,如:系统日志类型引用:

#@queryStart('日志类型')
    #@getSelect('logType','remark','日志类型')
#@queryEnd()
#@queryStart('日志类型')
    #set(value='数据日志')
    #@getRadio('logType','remark','日志类型')	
#@queryEnd()
#@queryStart('日志类型')  
    #set(value='操作日志,数据日志,登录日志')
    #@getCheckbox('logType','remark','日志类型')
#@queryEnd()

190356_a4e5ac71_1692092.png

系统截图

1、登录界面,第一次不显示验证码,输错一次密码,则需要验证码

215235_6a995c90_1692092.png

2、功能管理image.png

3、角色管理image.png

4、用户管理image.png

5、部门管理image.png6、业务字典image.png7、系统日志image.png

8、附件上传image.png

9、附件下载image.png

10、echart图表统计image.png11、弹窗填写表单image.png

12、报表设计器

    image.png

13、报表预览

image.png

14、代码生成器

image.png

15、可编辑列表

image.png

16、联级多选image.png

评论区(10)

天行者 5年前

好好跟大佬学习这个项目

琴海森林 作者 5年前

@天行者 这个项目拿来学习还真不错的

3589097858 5年前

和jfinal-club项目有啥优势?

琴海森林 作者 5年前

@3589097858 jfinal-club是非常优秀的项目,侧重点不一样,如果是对后台管理和权限管理,用jfinal-layui会更方便些

kiver 5年前

大神没有Oracle版本的吗?

琴海森林 作者 5年前

@kiver 代码是支持多数据库兼容的,你只需要弄一套数据库,配置数据源就行

kiver 5年前

JFinal-4.3 action report -------- 2019-07-29 16:13:21 -------------------------- Url : GET /portal/core/sysLog/list Controller : com.qinhailin.portal.core.ctrl.SysLogController.(SysLogController.java:1) Method : list Interceptor : com.jfinal.ext.interceptor.SessionInViewInterceptor.(SessionInViewInterceptor.java:1) com.qinhailin.common.intercepor.SessionInterceptor.(SessionInterceptor.java:1) com.qinhailin.common.intercepor.ExceptionInterceptor.(ExceptionInterceptor.java:1) com.qinhailin.common.intercepor.LoggerInterceptor.(LoggerInterceptor.java:1) Parameter : pageNumber=1 createTime= methodName= pageSize=20 remark=数据日志 userCode=

kiver 5年前

点菜单就会出现这个错

琴海森林 作者 5年前

@kiver 这个不是错误,是jfinal的action日志,你不知道jfinal?

雪天利箭 4年前

很好用,感谢。 有个问题, 在线生成器生成了控制层、业务层代码和页面代码,那实体代码是怎样生成的? 我目前的方法是把jFinal的Genernator类搬过来,然后在数据库中建表、写注释,然后生成实体类,再到网页生成器去生成其他代码。 感觉应当有更方便的方式吧,但我没找到。 请指教,谢谢。

顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友
扫描二维码加琴海森林为好友