若依开源 1.1.5发布

This commit is contained in:
RuoYi
2018-05-26 14:27:56 +08:00
parent 548f3c2867
commit 595b0312f5
87 changed files with 466 additions and 1467 deletions

View File

@ -34,8 +34,8 @@
<script src="../static/ajax/libs/bootstrap-table/extensions/export/bootstrap-table-export.js" th:src="@{/ajax/libs/bootstrap-table/extensions/export/bootstrap-table-export.js}"></script>
<script src="../static/ajax/libs/bootstrap-table/extensions/export/tableExport.js" th:src="@{/ajax/libs/bootstrap-table/extensions/export/tableExport.js}"></script>
<script src="../static/ajax/libs/layer/layer.min.js" th:src="@{/ajax/libs/layer/layer.min.js}"></script>
<script src="../static/ruoyi/js/common.js?v=1.1.4" th:src="@{/ruoyi/js/common.js?v=1.1.4}"></script>
<script src="../static/ruoyi/js/ry-ui.js?v=1.1.4" th:src="@{/ruoyi/js/ry-ui.js?v=1.1.4}"></script>
<script src="../static/ruoyi/js/common.js?v=1.1.5" th:src="@{/ruoyi/js/common.js?v=1.1.5}"></script>
<script src="../static/ruoyi/js/ry-ui.js?v=1.1.5" th:src="@{/ruoyi/js/ry-ui.js?v=1.1.5}"></script>
<script th:inline="javascript"> var ctx = [[@{/}]]; </script>
<script src="http://tajs.qq.com/stats?sId=62048022"></script>
</div>

View File

@ -94,13 +94,35 @@
<div class="ibox-content no-padding">
<div class="panel-body">
<div class="panel-group" id="version">
<div class="panel panel-default">
<div class="panel-heading">
<h5 class="panel-title">
<a data-toggle="collapse" data-parent="#version" href="#v15">v1.1.5</a><code class="pull-right">2018.05.28</code>
</h5>
</div>
<div id="v15" class="panel-collapse collapse in">
<div class="panel-body">
<ol>
<li>优化登录失败刷新验证码</li>
<li>新增用户登陆地址时间</li>
<li>修复ajax超时退出问题</li>
<li>新增html调用数据字典(若依首创)</li>
<li>调整系统部分样式</li>
<li>新增用户逻辑删除</li>
<li>新增管理员不允许删除修改</li>
<li>升级bootstrapTable到最新版本1.12.1</li>
<li>升级layer到最新版本3.1.1</li>
</ol>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h5 class="panel-title">
<a data-toggle="collapse" data-parent="#version" href="#v14">v1.1.4</a><code class="pull-right">2018.05.20</code>
</h5>
</div>
<div id="v14" class="panel-collapse collapse in">
<div id="v14" class="panel-collapse collapse">
<div class="panel-body">
<ol>
<li>新增参数管理</li>

View File

@ -37,8 +37,8 @@
</div>
<div class="form-group">
<label class="col-sm-3 control-label">状态:</label>
<div class="col-sm-8" th:with="datas=${@dictService.selectDictData('sys_job_status')}">
<div th:each="dict : ${datas}" th:class="${dict['cssClass']}">
<div class="col-sm-8" th:with="type=${@dictService.selectDictData('sys_job_status')}">
<div th:each="dict : ${type}" th:class="${dict['cssClass']}">
<input type="radio" th:id="${dict['dictCode']}" name="status" th:value="${dict['dictValue']}" th:checked="${dict['isDefault'] == 'Y' ? true : false}">
<label th:for="${dict['dictCode']}" th:text="${dict['dictLabel']}"></label>
</div>

View File

@ -38,8 +38,8 @@
</div>
<div class="form-group">
<label class="col-sm-3 control-label">状态:</label>
<div class="col-sm-8" th:with="datas=${@dictService.selectDictData('sys_job_status')}">
<div th:each="dict : ${datas}" th:class="${dict['cssClass']}">
<div class="col-sm-8" th:with="type=${@dictService.selectDictData('sys_job_status')}">
<div th:each="dict : ${type}" th:class="${dict['cssClass']}">
<input type="radio" th:id="${dict['dictCode']}" name="status" th:value="${dict['dictValue']}" th:field="*{job.status}">
<label th:for="${dict['dictCode']}" th:text="${dict['dictLabel']}"></label>
</div>

View File

@ -5,7 +5,7 @@
<head th:include="include :: header"></head>
<body class="gray-bg">
<div class="wrapper wrapper-content">
<div class="btn-group hidden-xs" id="tableToolbar" role="group">
<div class="btn-group hidden-xs" id="toolbar" role="group">
<button class="btn btn-outline btn-default" onclick="javascript:add()" shiro:hasPermission="monitor:job:add">
<i class="fa fa-plus"></i> 新增
</button>

View File

@ -5,7 +5,7 @@
<head th:include="include :: header"></head>
<body class="gray-bg">
<div class="wrapper wrapper-content">
<div class="btn-group hidden-xs" id="tableToolbar" role="group">
<div class="btn-group hidden-xs" id="toolbar" role="group">
<button class="btn btn-outline btn-default" onclick="javascript:batchRemove()" shiro:hasPermission="monitor:job:batchRemove">
<i class="fa fa-trash-o"></i> 删除
</button>

View File

@ -5,7 +5,7 @@
<head th:include="include :: header"></head>
<body class="gray-bg">
<div class="wrapper wrapper-content">
<div class="btn-group hidden-xs" id="tableToolbar" role="group">
<div class="btn-group hidden-xs" id="toolbar" role="group">
<button class="btn btn-outline btn-default" onclick="javascript:batchRemove()" shiro:hasPermission="monitor:logininfor:batchRemove">
<i class="fa fa-trash-o"></i> 删除
</button>

View File

@ -5,7 +5,7 @@
<head th:include="include :: header"></head>
<body class="gray-bg">
<div class="wrapper wrapper-content">
<div class="btn-group hidden-xs" id="tableToolbar" role="group">
<div class="btn-group hidden-xs" id="toolbar" role="group">
<button class="btn btn-outline btn-default" onclick="javascript:batchForceLogout()" shiro:hasPermission="monitor:online:batchForceLogout">
<i class="fa fa-trash-o"></i> 删除
</button>

View File

@ -5,7 +5,7 @@
<head th:include="include :: header"></head>
<body class="gray-bg">
<div class="wrapper wrapper-content">
<div class="btn-group hidden-xs" id="tableToolbar" role="group">
<div class="btn-group hidden-xs" id="toolbar" role="group">
<button class="btn btn-outline btn-default" onclick="javascript:batchRemove()" shiro:hasPermission="monitor:operlog:batchRemove">
<i class="fa fa-trash-o"></i> 删除
</button>

View File

@ -25,8 +25,8 @@
</div>
<div class="form-group">
<label class="col-sm-3 control-label">系统内置:</label>
<div class="col-sm-8" th:with="datas=${@dictService.selectDictData('sys_yes_no')}">
<div th:each="dict : ${datas}" th:class="${dict['cssClass']}">
<div class="col-sm-8" th:with="type=${@dictService.selectDictData('sys_yes_no')}">
<div th:each="dict : ${type}" th:class="${dict['cssClass']}">
<input type="radio" th:id="${dict['dictCode']}" name="configType" th:value="${dict['dictValue']}" th:checked="${dict['isDefault'] == 'Y' ? true : false}">
<label th:for="${dict['dictCode']}" th:text="${dict['dictLabel']}"></label>
</div>

View File

@ -4,7 +4,7 @@
<head th:include="include :: header"></head>
<body class="gray-bg">
<div class="wrapper wrapper-content">
<div class="btn-group hidden-xs" id="tableToolbar" role="group">
<div class="btn-group hidden-xs" id="toolbar" role="group">
<button class="btn btn-outline btn-default" onclick="javascript:add()" shiro:hasPermission="system:config:add">
<i class="fa fa-plus"></i> 新增
</button>

View File

@ -26,8 +26,8 @@
</div>
<div class="form-group">
<label class="col-sm-3 control-label">系统内置:</label>
<div class="col-sm-8" th:with="datas=${@dictService.selectDictData('sys_yes_no')}">
<div th:each="dict : ${datas}" th:class="${dict['cssClass']}">
<div class="col-sm-8" th:with="type=${@dictService.selectDictData('sys_yes_no')}">
<div th:each="dict : ${type}" th:class="${dict['cssClass']}">
<input type="radio" th:id="${dict['dictCode']}" name="configType" th:value="${dict['dictValue']}" th:field="*{config.configType}">
<label th:for="${dict['dictCode']}" th:text="${dict['dictLabel']}"></label>
</div>

View File

@ -44,8 +44,8 @@
</div>
<div class="form-group">
<label class="col-sm-3 control-label">部门状态:</label>
<div class="col-sm-8" th:with="datas=${@dictService.selectDictData('sys_post_status')}">
<div th:each="dict : ${datas}" th:class="${dict['cssClass']}">
<div class="col-sm-8" th:with="type=${@dictService.selectDictData('sys_post_status')}">
<div th:each="dict : ${type}" th:class="${dict['cssClass']}">
<input type="radio" th:id="${dict['dictCode']}" name="status" th:value="${dict['dictValue']}" th:checked="${dict['isDefault'] == 'Y' ? true : false}">
<label th:for="${dict['dictCode']}" th:text="${dict['dictLabel']}"></label>
</div>

View File

@ -4,7 +4,7 @@
<head th:include="include :: header"></head>
<body class="gray-bg">
<div class="wrapper wrapper-content">
<div class="btn-group hidden-xs" id="tableToolbar" role="group">
<div class="btn-group hidden-xs" id="toolbar" role="group">
<div class="form-group">
<button type="button" class="btn btn-outline btn-default" onclick="javascript:add(100)" shiro:hasPermission="system:dept:add">
<i class="fa fa-plus"></i> 新增

View File

@ -45,8 +45,8 @@
</div>
<div class="form-group">
<label class="col-sm-3 control-label">部门状态:</label>
<div class="col-sm-8" th:with="datas=${@dictService.selectDictData('sys_post_status')}">
<div th:each="dict : ${datas}" th:class="${dict['cssClass']}">
<div class="col-sm-8" th:with="type=${@dictService.selectDictData('sys_post_status')}">
<div th:each="dict : ${type}" th:class="${dict['cssClass']}">
<input type="radio" th:id="${dict['dictCode']}" name="status" th:value="${dict['dictValue']}" th:field="*{dept.status}">
<label th:for="${dict['dictCode']}" th:text="${dict['dictLabel']}"></label>
</div>

View File

@ -31,8 +31,8 @@
</div>
<div class="form-group">
<label class="col-sm-3 control-label">系统默认:</label>
<div class="col-sm-8" th:with="datas=${@dictService.selectDictData('sys_yes_no')}">
<div th:each="dict : ${datas}" th:class="${dict['cssClass']}">
<div class="col-sm-8" th:with="type=${@dictService.selectDictData('sys_yes_no')}">
<div th:each="dict : ${type}" th:class="${dict['cssClass']}">
<input type="radio" th:id="${dict['dictCode']}" name="isDefault" th:value="${dict['dictValue']}" th:checked="${dict['isDefault'] == 'Y' ? true : false}">
<label th:for="${dict['dictCode']}" th:text="${dict['dictLabel']}"></label>
</div>
@ -46,8 +46,8 @@
</div>
<div class="form-group">
<label class="col-sm-3 control-label">状态:</label>
<div class="col-sm-8" th:with="datas=${@dictService.selectDictData('sys_post_status')}">
<div th:each="dict : ${datas}" th:class="${dict['cssClass']}">
<div class="col-sm-8" th:with="type=${@dictService.selectDictData('sys_post_status')}">
<div th:each="dict : ${type}" th:class="${dict['cssClass']}">
<input type="radio" th:id="${dict['dictCode']}" name="status" th:value="${dict['dictValue']}" th:checked="${dict['isDefault'] == 'Y' ? true : false}">
<label th:for="${dict['dictCode']}" th:text="${dict['dictLabel']}"></label>
</div>

View File

@ -6,7 +6,7 @@
<body class="gray-bg">
<div class="wrapper wrapper-content">
<input name="dictType" id="dictType" type="hidden" th:value="${dict.dictType}" />
<div class="btn-group hidden-xs" id="tableToolbar" role="group">
<div class="btn-group hidden-xs" id="toolbar" role="group">
<button class="btn btn-outline btn-default" onclick="javascript:add()" shiro:hasPermission="system:dict:add">
<i class="fa fa-plus"></i> 新增
</button>

View File

@ -32,8 +32,8 @@
</div>
<div class="form-group">
<label class="col-sm-3 control-label">系统默认:</label>
<div class="col-sm-8" th:with="datas=${@dictService.selectDictData('sys_yes_no')}">
<div th:each="dict : ${datas}" th:class="${dict['cssClass']}">
<div class="col-sm-8" th:with="type=${@dictService.selectDictData('sys_yes_no')}">
<div th:each="dict : ${type}" th:class="${dict['cssClass']}">
<input type="radio" th:id="${dict['dictCode']}" name="isDefault" th:value="${dict['dictValue']}" th:field="*{dict.isDefault}">
<label th:for="${dict['dictCode']}" th:text="${dict['dictLabel']}"></label>
</div>
@ -47,8 +47,8 @@
</div>
<div class="form-group">
<label class="col-sm-3 control-label">状态:</label>
<div class="col-sm-8" th:with="datas=${@dictService.selectDictData('sys_dict_status')}">
<div th:each="dict : ${datas}" th:class="${dict['cssClass']}">
<div class="col-sm-8" th:with="type=${@dictService.selectDictData('sys_dict_status')}">
<div th:each="dict : ${type}" th:class="${dict['cssClass']}">
<input type="radio" th:id="${dict['dictCode']}" name="status" th:value="${dict['dictValue']}" th:field="*{dict.status}">
<label th:for="${dict['dictCode']}" th:text="${dict['dictLabel']}"></label>
</div>

View File

@ -19,8 +19,8 @@
</div>
<div class="form-group">
<label class="col-sm-3 control-label">状态:</label>
<div class="col-sm-8" th:with="datas=${@dictService.selectDictData('sys_dict_status')}">
<div th:each="dict : ${datas}" th:class="${dict['cssClass']}">
<div class="col-sm-8" th:with="type=${@dictService.selectDictData('sys_dict_status')}">
<div th:each="dict : ${type}" th:class="${dict['cssClass']}">
<input type="radio" th:id="${dict['dictCode']}" name="status" th:value="${dict['dictValue']}" th:checked="${dict['isDefault'] == 'Y' ? true : false}">
<label th:for="${dict['dictCode']}" th:text="${dict['dictLabel']}"></label>
</div>

View File

@ -20,8 +20,8 @@
</div>
<div class="form-group">
<label class="col-sm-3 control-label">状态:</label>
<div class="col-sm-8" th:with="datas=${@dictService.selectDictData('sys_dict_status')}">
<div th:each="dict : ${datas}" th:class="${dict['cssClass']}">
<div class="col-sm-8" th:with="type=${@dictService.selectDictData('sys_dict_status')}">
<div th:each="dict : ${type}" th:class="${dict['cssClass']}">
<input type="radio" th:id="${dict['dictCode']}" name="status" th:value="${dict['dictValue']}" th:field="*{dict.status}">
<label th:for="${dict['dictCode']}" th:text="${dict['dictLabel']}"></label>
</div>

View File

@ -5,8 +5,8 @@
<head th:include="include :: header"></head>
<body class="gray-bg">
<div class="wrapper wrapper-content">
<div class="btn-group hidden-xs" id="tableToolbar" role="group">
<button class="btn btn-outline btn-default" nclick="javascript:add()" shiro:hasPermission="system:dict:add">
<div class="btn-group hidden-xs" id="toolbar" role="group">
<button class="btn btn-outline btn-default" onclick="javascript:add()" shiro:hasPermission="system:dict:add">
<i class="fa fa-plus"></i> 新增
</button>
<button class="btn btn-outline btn-default" onclick="javascript:batchRemove()" shiro:hasPermission="system:dict:batchRemove">

View File

@ -58,8 +58,8 @@
</div>
<div class="form-group">
<label class="col-sm-3 control-label">菜单状态:</label>
<div class="col-sm-8" th:with="datas=${@dictService.selectDictData('sys_menu_visible')}">
<div th:each="dict : ${datas}" th:class="${dict['cssClass']}">
<div class="col-sm-8" th:with="type=${@dictService.selectDictData('sys_menu_visible')}">
<div th:each="dict : ${type}" th:class="${dict['cssClass']}">
<input type="radio" th:id="${dict['dictCode']}" name="visible" th:value="${dict['dictValue']}" th:checked="${dict['isDefault'] == 'Y' ? true : false}">
<label th:for="${dict['dictCode']}" th:text="${dict['dictLabel']}"></label>
</div>

View File

@ -59,8 +59,8 @@
</div>
<div class="form-group">
<label class="col-sm-3 control-label">菜单状态:</label>
<div class="col-sm-8" th:with="datas=${@dictService.selectDictData('sys_menu_visible')}">
<div th:each="dict : ${datas}" th:class="${dict['cssClass']}">
<div class="col-sm-8" th:with="type=${@dictService.selectDictData('sys_menu_visible')}">
<div th:each="dict : ${type}" th:class="${dict['cssClass']}">
<input type="radio" th:id="${dict['dictCode']}" name="visible" th:value="${dict['dictValue']}" th:field="*{menu.visible}">
<label th:for="${dict['dictCode']}" th:text="${dict['dictLabel']}"></label>
</div>

View File

@ -4,7 +4,7 @@
<head th:include="include :: header"></head>
<body class="gray-bg">
<div class="wrapper wrapper-content">
<div class="btn-group hidden-xs" id="tableToolbar" role="group">
<div class="btn-group hidden-xs" id="toolbar" role="group">
<div class="form-group">
<button type="button" class="btn btn-outline btn-default" onclick="javascript:add(0)" shiro:hasPermission="system:menu:add">
<i class="fa fa-plus"></i> 新增

View File

@ -25,8 +25,8 @@
</div>
<div class="form-group">
<label class="col-sm-3 control-label">岗位状态:</label>
<div class="col-sm-8" th:with="datas=${@dictService.selectDictData('sys_post_status')}">
<div th:each="dict : ${datas}" th:class="${dict['cssClass']}">
<div class="col-sm-8" th:with="type=${@dictService.selectDictData('sys_post_status')}">
<div th:each="dict : ${type}" th:class="${dict['cssClass']}">
<input type="radio" th:id="${dict['dictCode']}" name="status" th:value="${dict['dictValue']}" th:checked="${dict['isDefault'] == 'Y' ? true : false}">
<label th:for="${dict['dictCode']}" th:text="${dict['dictLabel']}"></label>
</div>

View File

@ -26,8 +26,8 @@
</div>
<div class="form-group">
<label class="col-sm-3 control-label">岗位状态:</label>
<div class="col-sm-8" th:with="datas=${@dictService.selectDictData('sys_post_status')}">
<div th:each="dict : ${datas}" th:class="${dict['cssClass']}">
<div class="col-sm-8" th:with="type=${@dictService.selectDictData('sys_post_status')}">
<div th:each="dict : ${type}" th:class="${dict['cssClass']}">
<input type="radio" th:id="${dict['dictCode']}" name="status" th:value="${dict['dictValue']}" th:field="*{post.status}">
<label th:for="${dict['dictCode']}" th:text="${dict['dictLabel']}"></label>
</div>

View File

@ -5,7 +5,7 @@
<head th:include="include :: header"></head>
<body class="gray-bg">
<div class="wrapper wrapper-content">
<div class="btn-group hidden-xs" id="tableToolbar" role="group">
<div class="btn-group hidden-xs" id="toolbar" role="group">
<button class="btn btn-outline btn-default" onclick="javascript:add()" shiro:hasPermission="system:post:add">
<i class="fa fa-plus"></i> 新增
</button>

View File

@ -5,7 +5,7 @@
<head th:include="include :: header"></head>
<body class="gray-bg">
<div class="wrapper wrapper-content">
<div class="btn-group hidden-xs" id="tableToolbar" role="group">
<div class="btn-group hidden-xs" id="toolbar" role="group">
<button class="btn btn-outline btn-default" onclick="javascript:add()" shiro:hasPermission="system:role:add">
<i class="fa fa-plus"></i> 新增
</button>

View File

@ -47,11 +47,10 @@
</div>
<div class="form-group">
<label class="col-sm-3 control-label">性别:</label>
<div class="col-sm-8" th:with="datas=${@dictService.selectDictData('sys_user_sex')}">
<div th:each="dict : ${datas}" th:class="${dict['cssClass']}">
<input type="radio" th:id="${dict['dictCode']}" name="sex" th:value="${dict['dictValue']}" th:checked="${dict['isDefault'] == 'Y' ? true : false}">
<label th:for="${dict['dictCode']}" th:text="${dict['dictLabel']}"></label>
</div>
<div class="col-sm-8">
<select id="sex" class="form-control m-b" th:with="type=${@dictService.selectDictData('sys_user_sex')}">
<option th:each="dict : ${type}" th:text="${dict['dictLabel']}" th:value="${dict['dictValue']}"></option>
</select>
</div>
</div>
<div class="form-group">

View File

@ -42,11 +42,10 @@
</div>
<div class="form-group">
<label class="col-sm-3 control-label">性别:</label>
<div class="col-sm-8" th:with="datas=${@dictService.selectDictData('sys_user_sex')}">
<div th:each="dict : ${datas}" th:class="${dict['cssClass']}">
<input type="radio" th:id="${dict['dictCode']}" name="sex" th:value="${dict['dictValue']}" th:field="*{user.sex}">
<label th:for="${dict['dictCode']}" th:text="${dict['dictLabel']}"></label>
</div>
<div class="col-sm-8">
<select id="sex" class="form-control m-b" th:with="type=${@dictService.selectDictData('sys_user_sex')}">
<option th:each="dict : ${type}" th:text="${dict['dictLabel']}" th:value="${dict['dictValue']}" th:field="*{user.sex}"></option>
</select>
</div>
</div>
<div class="form-group">

View File

@ -46,7 +46,7 @@
<p><i class="fa fa-group"></i> [[${user.dept.deptName}]] / [[${#strings.defaultString(postGroup,'无岗位')}]]</p>
<p><i class="fa fa-transgender"></i> [[${user.sex}]]</p>
<p><i class="fa fa-envelope-o"></i> [[${user.email}]]</p>
<p><i class="fa fa-calendar"></i> [[${#dates.format(user.loginDate, 'yyyy-MM-dd HH:mm:ss')}]]</p>
<p><i class="fa fa-calendar"></i> [[${user.createTimeStr}]]</p>
</div>
<div class="clearfix"></div>
</a>

View File

@ -29,7 +29,7 @@
</div>
<div class="wrapper wrapper-content ui-layout-center">
<div class="btn-group hidden-xs" id="tableToolbar" role="group">
<div class="btn-group hidden-xs" id="toolbar" role="group">
<button class="btn btn-outline btn-default" onclick="javascript:add()" shiro:hasPermission="system:user:add">
<i class="fa fa-plus"></i> 新增
</button>

View File

@ -4,7 +4,7 @@
<meta charset="utf-8">
<head th:include="include :: header"></head>
<body class="gray-bg">
<div class="btn-group hidden-xs" id="tableToolbar" role="group">
<div class="btn-group hidden-xs" id="toolbar" role="group">
<button class="btn btn-outline btn-default" onclick="javascript:batchGenCode()" shiro:hasPermission="tool:gen:code">
<i class="fa fa-download"></i> 批量生成
</button>

View File

@ -4,13 +4,13 @@
<head th:include="include :: header"></head>
<body class="gray-bg">
<div class="wrapper wrapper-content">
<div class="btn-group hidden-xs" id="tableToolbar" role="group">
<button type="button" class="btn btn-outline btn-default" th:onclick="'javascript:add()'" shiro:hasPermission="${moduleName}:${classname}:add">
<i class="glyphicon glyphicon-plus"></i>
</button>
<button type="button" class="btn btn-outline btn-default" th:onclick="'javascript:batchRemove()'" shiro:hasPermission="${moduleName}:${classname}:batchRemove">
<i class="glyphicon glyphicon-trash"></i>
</button>
<div class="btn-group hidden-xs" id="toolbar" role="group">
<button type="button" class="btn btn-outline btn-default" onclick="javascript:add()" shiro:hasPermission="${moduleName}:${classname}:add">
<i class="fa fa-plus"></i> 新增
</button>
<button type="button" class="btn btn-outline btn-default" onclick="javascript:batchRemove()" shiro:hasPermission="${moduleName}:${classname}:batchRemove">
<i class="fa fa-trash-o"></i> 删除
</button>
</div>
<table class="bootstrap-table" data-mobile-responsive="true">
</table>