删除目录slife-sys/target

This commit is contained in:
felixu
2017-12-08 15:35:14 +08:00
parent a1c68506c3
commit 95c44be0e2
82 changed files with 0 additions and 2757 deletions
@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.slife.dao.SysAreaDao">
<resultMap id="selectAreaInfoMap" type="sysArea">
<id property="id" column="sa_id"></id>
<result property="jkey" column="sa_jkey"></result>
<result property="name" column="sa_name"></result>
</resultMap>
</mapper>
@@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.slife.dao.SysCompanyDao">
<resultMap id="selectCompanyInfo" type="sysCompany">
<id property="id" column="sc_id"></id>
<result property="remark" column="sc_remark"></result>
<result property="delFlag" column="sc_del_flag"></result>
<result property="address" column="sc_address"></result>
<result property="zipCode" column="sc_zip_code"></result>
<result property="master" column="sc_master"></result>
<result property="phone" column="sc_phone"></result>
<result property="fax" column="sc_fax"></result>
<result property="email" column="sc_email"></result>
<result property="copyright" column="sc_copyright"></result>
<result property="name" column="sc_name"></result>
<association property="sysArea" resultMap="com.slife.dao.SysAreaDao.selectAreaInfoMap"></association>
</resultMap>
</mapper>
@@ -1,5 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.slife.dao.SysConfigDao">
</mapper>
@@ -1,5 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.slife.dao.SysDictDao">
</mapper>
@@ -1,49 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.slife.dao.SysMenuDao">
<resultMap id="selectMenuList" type="sysMenu">
<id property="id" column="sm_id" ></id>
<result property="remark" column="sm_remark"></result>
<result property="delFlag" column="sm_del_flag"></result>
<result property="parentId" column="sm_parent_id"></result>
<result property="name" column="sm_name" ></result>
<result property="type" column="sm_type" ></result>
<result property="href" column="sm_href" ></result>
<result property="target" column="sm_target" ></result>
<result property="icon" column="sm_icon" ></result>
<result property="showFlag" column="sm_show_flag" ></result>
<result property="permission" column="sm_permission" ></result>
<result property="path" column="sm_path" ></result>
<result property="sort" column="sm_sort" ></result>
</resultMap>
<select id="selectMenusByUserId" resultMap="selectMenuList">
SELECT DISTINCT
sm.id AS sm_id,sm.remark AS sm_remark, sm.del_flag as sm_del_flag,
sm.parent_id AS sm_parent_id,sm.name AS sm_name,sm.type AS sm_type,
sm.href AS sm_href,sm.target AS sm_target,sm.icon AS sm_icon,sm.show_flag AS sm_show_flag,
sm.permission AS sm_permission,sm.path AS sm_path,sm.sort AS sm_sort
FROM sys_role_sys_menu AS srsm
LEFT JOIN sys_menu AS sm
ON srsm.sys_menu_id=sm.id
WHERE srsm.sys_role_id
IN(
SELECT DISTINCT susr.sys_role_id
FROM sys_user_sys_role AS susr
LEFT JOIN sys_role AS sr
ON sr.id=susr.sys_role_id
WHERE susr.sys_user_id=#{userId}
AND sr.del_flag='Y' AND sr.useable='Y'
)
AND sm.del_flag='Y' AND sm.show_flag='Y'
</select>
</mapper>
@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.slife.dao.SysOfficeDao">
</mapper>
@@ -1,105 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.slife.dao.SysRoleDao">
<resultMap id="roleResult" type="sysRole">
<id property="id" column="id"/>
<result property="name" column="name"/>
<result property="enname" column="enname"/>
<result property="roleType" column="role_type"/>
<result property="dataScope" column="data_scope"/>
<result property="remarks" column="remarks"/>
<result property="useable" column="useable"/>
<result property="fromSys" column="from_sys"/>
<collection property="sysMenuList" ofType="sysMenu">
<id property="id" column="sysMenuList.id"/>
</collection>
<collection property="sysOfficeList" ofType="sysOffice">
<id property="id" column="sysOfficeList.id"/>
</collection>
</resultMap>
<resultMap id="selectRoleList" type="sysRole">
<id property="id" column="sr_id"></id>
<result property="remark" column="sr_remark"></result>
<result property="delFlag" column="sr_del_flag"></result>
<result property="name" column="sr_name"></result>
<result property="code" column="sr_code"></result>
<result property="useable" column="sr_useable"></result>
<result property="dataScope" column="sr_data_scope"></result>
<collection property="sysMenus" resultMap="com.slife.dao.SysMenuDao.selectMenuList">
</collection>
</resultMap>
<sql id="roleColumns">
a.id,
a.office_id AS "office.id",
a.name,
a.enname,
a.role_type AS roleType,
a.data_scope AS dataScope,
a.remarks,
a.create_by AS "createBy.id",
a.create_date,
a.update_by AS "updateBy.id",
a.update_date,
a.del_flag,
o.name AS "office.name",
o.code,
a.useable AS useable,
a.from_sys AS fromSys
</sql>
<select id="getById" parameterType="string" resultType="sysRole">
SELECT * FROM sys_role WHERE id=#{id}
</select>
<select id="findList" resultMap="roleResult">
SELECT <!-- DISTINCT -->
<include refid="roleColumns"/>,
ro.office_id AS "officeList.id"
FROM sys_role a
LEFT JOIN sys_office o ON o.id = a.office_id
LEFT JOIN sys_user_role ur ON ur.role_id = a.id
LEFT JOIN sys_user u ON u.id = ur.user_id
LEFT JOIN sys_role_office ro ON ro.role_id = a.id
WHERE a.del_flag = #{DEL_FLAG_NORMAL} AND a.useable=#{useable}
<if test="sysUser != null and sysUser.id != null and sysUser.id != ''">
AND u.id = #{sysUser.id}
</if>
<if test="sysUser != null and sysUser.loginName != null and sysUser.loginName != ''">
AND u.login_name = #{sysUser.loginName}
</if>
<!-- 数据范围过滤 -->
${sqlMap.dsf}
ORDER BY o.code, a.name
</select>
<select id="selectRoleByUserId" resultMap="selectRoleList" parameterType="long">
SELECT
sr.id AS sr_id, sr.name AS sr_name,sr.code AS sr_code,
sm.id AS sm_id,sm.name AS sm_name,sm.permission AS sm_permission
FROM sys_user_sys_role susr
LEFT JOIN sys_role sr
ON susr.sys_role_id=sr.id
LEFT JOIN sys_role_sys_menu srsm
ON srsm.sys_role_id=sr.id
LEFT JOIN sys_menu sm
ON sm.id=srsm.sys_menu_id
WHERE susr.sys_user_id=#{userId}
</select>
</mapper>
@@ -1,88 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.slife.dao.SysUserDao">
<sql id="base_select">
SELECT * FROM sys_user a
</sql>
<!-- 根据登录名查询用户 -->
<select id="selectByLoginName" resultType="sysUser">
<include refid="base_select"></include> WHERE a.login_name = #{loginName} AND a.del_flag = 'Y'
</select>
<!--根据sysOfficeId获取该office下的所有用户的id,名字和登录名 使用了mybatis的默认二级缓存-->
<select id="selectSysUserBySysOfficeId" resultType="sysUser" useCache="true">
SELECT u.id,u.name,u.login_name
FROM sys_user AS u
WHERE u.del_flag = #{delFlag}
AND u.office_id = #{sysOfficeId}
ORDER BY u.name
</select>
<resultMap id="selectUserAllInfoMap" type="sysUser">
<id property="id" column="su_id"></id>
<result property="remark" column="su_remark"></result>
<result property="delFlag" column="su_del_flag"></result>
<result property="loginName" column="su_login_name"></result>
<result property="no" column="su_no"></result>
<result property="name" column="su_name"></result>
<result property="email" column="su_email"></result>
<result property="phone" column="su_phone"></result>
<result property="mobile" column="su_mobile"></result>
<result property="photo" column="su_photo"></result>
<result property="loginFlag" column="su_login_flag"></result>
<association property="sysCompany" resultMap="com.slife.dao.SysCompanyDao.selectCompanyInfo"></association>
<collection property="sysRoles" resultMap="com.slife.dao.SysRoleDao.selectRoleList"></collection>
</resultMap>
<sql id="selectUserAllInfoSql">
SELECT
su.id AS su_id,su.remark AS us_remark,
su.del_flag as su_del_flag,su.login_name as su_login_name,su.no as
su_no,su.name as su_name,su.email as su_email,su.phone as su_phone,
su.mobile as su_mobile,su.photo as su_photo,su.login_flag as su_login_flag,
sc.id as sc_id,sc.remark as sc_remark,sc.del_flag as sc_del_flag,sc.address as sc_address
,sc.zip_code as sc_zip_code,sc.master as sc_master,sc.phone as sc_phone,sc.fax as sc_fax,sc.email as sc_email,
sc.copyright as as_copyright,sc.name as sc_name,
sa.id as sa_id,sa.name as sa_name,sa.jkey as sa_jkey,
sr.id as sr_id,sr.remark as sr_remark,sr.del_flag sr_del_flag,sr.name as sr_name,
sr.code as sr_code,sr.useable as sr_useable,sr.data_scope as sr_data_scope,
sm.id as sm_id,sm.remark as sm_remark,sm.del_flag as sm_del_flag,sm.parent_id as sm_parent_id,
sm.name as sm_name,sm.type as sm_type,sm.href as sm_href,sm.target as sm_target,sm.icon as sm_icon,
sm.show_flag as sm_show_flag,sm.permission as sm_permission,sm.path as sm_path,sm.sort as sm_sort
</sql>
<select id="selectUserAllInfoById" resultMap="selectUserAllInfoMap">
<include refid="selectUserAllInfoSql"></include>
FROM sys_user AS su
LEFT JOIN sys_company AS sc
ON sc.id=su.sys_company_id
LEFT JOIN sys_area AS sa
ON sa.id=sc.area_id
LEFT JOIN sys_user_sys_role AS susr
ON su.id=susr.sys_user_id
LEFT JOIN sys_role AS sr
ON susr.sys_role_id=sr.id
LEFT JOIN sys_role_sys_menu AS srsm
ON srsm.sys_role_id=sr.id
LEFT JOIN sys_menu AS sm
ON sm.id=srsm.sys_menu_id
WHERE su.id=#{id}
</select>
</mapper>
@@ -1,356 +0,0 @@
<html>
<head>
<title>数据字典管理</title>
<link rel="stylesheet" type="text/css" href="${base}/css/plugins/jsTree/style.min.css"/>
<style>
#dict_edit_table .control-label {
text-align: left !important;
}
#dict_edit_table input ,#dict_edit_table select{
margin-left: -45px;
}
#dict_edit_table .row{
margin-top: 15px!important;
}
</style>
</head>
<body class="gray-bg">
<div class="wrapper wrapper-content animated fadeInRight">
<!--数据列表-->
<div class="row" style="margin-right: 0!important;">
<div class="col-sm-3">
<div class="portlet box green-haze" style="padding: 15px">
<div class="portlet-body" id="dictTree"></div>
</div>
</div>
<div class="col-sm-9">
<div class="row" style="margin-right: 0!important;">
<div class="col-md-12">
<div class="portlet box green-haze" style="padding: 15px">
<div class="portlet-title">
<button class="btn green btn-parent btn-info">
<i class="fa fa-plus"></i>
<span class="hidden-480">新增顶层节点</span>
</button>
<button type="button" class="btn green btn-children btn-primary" disabled="disabled">
<i class="fa fa-plus"></i>
<span class="hidden-480">新增子节点</span>
</button>
<button type="button" class="btn blue btn-edit btn-success" disabled="disabled">
<i class="fa fa-edit"></i>
<span class="hidden-480">编辑此节点</span>
</button>
<button type="button" class="btn red btn-delete btn-danger" disabled="disabled">
<i class="fa fa-trash-o"></i>
<span class="hidden-480">删除此节点</span>
</button>
</div>
<div class="portlet-body form" id="dict_edit_table">
<form class="form-horizontal m-t" action="${base}/sys/dict/insert" method="POST" id="dictForm">
<input type="hidden" name="id"/>
<input type="hidden" name="dicPid" value="0"/>
<input type="hidden" name="path"/>
<div class="form-body">
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label class="col-sm-3 control-label">名称<span class="required">*</span></label>
<div class="col-sm-9">
<input type="text" class="form-control" name="dicValue"
placeholder="请录入数据名称" readonly="true" required="required"/>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label class="col-sm-3 control-label">编码<span class="required">*</span></label>
<div class="col-sm-9">
<input type="text" class="form-control" name="dicKey"
placeholder="请录入数据编码" readonly="true" required="required"/>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3">状态<span class="required">*</span></label>
<div class="col-md-9">
<select name="invalid" class="form-control" disabled="disabled">
<option value="Y">有效</option>
<option value="N">失效</option>
</select>
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3">类型<span class="required">*</span></label>
<div class="col-md-9">
<select id="type" name="type" class="form-control" disabled="disabled"
onchange="typeChange()">
<option value="C">类型</option>
<option value="I">选项</option>
</select>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3">排序</label>
<div class="col-md-9">
<input type="text" class="form-control" name="sort"
placeholder="请录入排序号" readonly="true"/>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-9">
<div class="form-group">
<label class="control-label col-md-2">描述</label>
<div class="col-md-10">
<input type="text" class="form-control" name="desc"
readonly="true"/>
</div>
</div>
</div>
</div>
</div>
<div class="form-actions fluid">
<div class="row">
<div class="col-md-6">
<div class="col-md-offset-3 col-md-9">
<button type="submit" class="btn green" disabled="disabled">保存</button>
<button type="button" class="btn default btn-cancel" disabled="disabled">
取消
</button>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="${base}/js/plugins/jsTree/jstree.min.js" type="text/javascript"></script>
<script src="${base}/js/plugins/validate/jquery.validate.min.js"></script>
<script src="${base}/js/plugins/validate/messages_zh.min.js"></script>
<script src="${base}/js/jquery.form.js"></script>
<script type="text/javascript">
var form = $('#dictForm'), dic_id = 0, pid = 0, text;
$("#dictTree").jstree({
"core": {
"animation": 0,
"themes": {
theme: "classic",
"dots": true,
"icons": true
},
"check_callback": true,
'data':${dictTrees!''}
},
"types": {
"default": {
"valid_children": ["default", "file"]
}
},
"plugins": ["types", "wholerow"]
}).on("select_node.jstree", function (node, selectd) {
dic_id = selectd.node.id;
pid = selectd.node.parent;
text = selectd.node.text;
if (dic_id) {
$.ajax({
url: '${base}/sys/dict/select/' + dic_id,
type: 'GET',
success: function (msg) {
var data = msg.dict;
$('input[name=id]').val(data.id);
$('input[name=dicPid]').val(data.parentId);
$('input[name=dicKey]').val(data.jkey);
$('input[name=dicValue]').val(data.jvalue);
$('input[name=sort]').val(data.sort);
$('input[name=desc]').val(data.remark);
$('input[name=path]').val(data.path);
$("select[name=invalid] option[value='" + data.invalid + "']").attr("selected", "selected");
$("select[name=invalid] option[value!='" + data.invalid + "']").attr("selected", false);
$("select[name=type] option[value='" + data.type + "']").attr("selected", "selected");
$("select[name=type] option[value!='" + data.type + "']").attr("selected", false);
$('#dictForm :input').each(function (a) {
$(this).attr('disabled', "disabled");
$(this).attr("readonly", "true");
});
$('.btn-children').enable();
$('.btn-edit').enable();
$('.btn-delete').enable();
}
});
}
});
var error = $('.alert-danger', form);
form.validate({
errorElement: 'span',
errorClass: 'error',
focusInvalid: false,
rules: {
name: {
minlength: 2,
maxlength: 30,
required: true
},
code: {
required: true
},
orgType: {
required: true
},
active: {
required: true
}
},
invalidHandler:function(event,validator){
error.show();
},
highlight:function(element){
$(element).closest('.form-group').addClass('has-error');
},
unhighlight:function(element){
$(element).closest('.form-group').removeClass('has-error');
},
success:function(label){
label.closest('.form-group').removeClass('has-error');
},
submitHandler:function(form){
error.hide();
form.submit();
}
});
$('.btn-parent').click(function () {
form.resetForm();
$('input[name=id]').val("");
$('input[name=dicPid]').val(0);
$('#dictForm :input').each(function (a) {
$(this).enable();
$(this).attr("readonly", false);
});
$('.btn-edit').attr('disabled', "disabled");
$('.btn-delete').attr('disabled', "disabled");
});
$('.btn-children').click(function () {
form.resetForm();
$('input[name=id]').val("");
$('input[name=dicPid]').val(dic_id);
$('#dictForm :input').each(function (a) {
$(this).enable();
$(this).attr("readonly", false);
});
$('.btn-edit').attr('disabled', "disabled");
$('.btn-delete').attr('disabled', "disabled");
});
$('.btn-edit').click(function () {
$('#dictForm :input').each(function (a) {
$(this).enable();
$(this).attr("readonly", false);
});
});
$('.btn-cancel').click(function () {
form.resetForm();
$('#dictForm :input').each(function (a) {
$(this).attr('disabled', "disabled");
$(this).attr("readonly", "true");
});
});
$('.btn-delete').click(function () {
layer.confirm('是否要删除此数据字典及其下级数?', {
btn: ['是', '否']
},function () {
$.ajax({
url: '${base}/sys/dict/delete/' + dic_id,
type: 'DELETE',
success: function (data) {
if (data.success) {
location.reload();
/* bootbox.alert(data.message);*/
} else {
bootbox.alert(data.message);
}
}
});
});
});
$('.btn-rush').click(function () {
$.ajax({
url: '${base}/sys/dict/rush',
type: 'GET',
success: function (data) {
layer.msg('刷新成功');
}
});
});
/**
* 提示信息显示
* */
jQuery(function ($) {
var message = "${message}";
if (null == message || '' == message) {
$(".alert").alert('close');
} else {
$('#message').addClass('alert-success');
$('#message').removeClass('alert-danger');
setInterval(alertClose, 3 * 1000);
}
});
/**
* 关闭提示信息
* */
function alertClose() {
$(".alert").alert('close');
}
</script>
</body>
</html>
@@ -1,19 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>欢迎页</title>
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<link rel="stylesheet" href="${base}/css/bootstrap.min.css">
</head>
<body>
<div class="panel panel-default">
<div class="panel-heading">了解slife</div>
<div style="padding: 10px 0 20px 10px;">
<h3>&nbsp;&nbsp;&nbsp;项目介绍</h3>
</div>
</div>
</body>
</html>
@@ -1,548 +0,0 @@
<html>
<head>
<title>菜单管理</title>
<link rel="stylesheet" type="text/css" href="${base}/css/plugins/jsTree/style.min.css"/>
<style>
#menu_edit_table .control-label {
text-align: left !important;
}
#menu_edit_table input, #menu_edit_table select {
margin-left: -45px;
}
#menu_edit_table .row {
margin-top: 15px !important;
}
</style>
</head>
<body class="gray-bg">
<div class="wrapper wrapper-content animated fadeInRight">
<div class="row">
<div class="col-md-3">
<div class="portlet box green-haze" style="padding: 15px">
<div class="portlet-body" id="resTree"></div>
</div>
</div>
<div class="col-md-9">
<div class="row" style="margin-right: 0!important;">
<div class="col-md-12">
<div class="portlet box green-haze" style="padding: 15px">
<div class="portlet-title">
<button type="button" class="btn green btn-parent btn-info">
<i class="fa fa-plus-square" aria-hidden="true"></i>
<span class="hidden-480">新增父菜单</span>
</button>
<button type="button" class="btn green btn-children btn-success" disabled="disabled">
<i class="fa fa-plus"></i>
<span class="hidden-480">新增子菜单</span>
</button>
<button type="button" class="btn blue btn-edit btn-primary" disabled="disabled">
<i class="fa fa-edit"></i>
<span class="hidden-480">编辑此菜单</span>
</button>
<button type="button" class="btn red btn-delete btn-danger" disabled="disabled">
<i class="fa fa-trash-o"></i>
<span class="hidden-480">禁用此菜单</span>
</button>
</div>
<div class="portlet-body form" id="menu_edit_table">
<form id="menuForm" action="${base}/sys/menu/insert" class="form-horizontal form-bordered"
method="POST">
<input type="hidden" name="id"/>
<input type="hidden" name="parentId" value="0"/>
<input type="hidden" name="path"/>
<div class="form-body">
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label class="col-md-2 control-label">菜单名称<span
class="required">*</span></label>
<div class="col-md-10">
<input type="text" class="form-control" name="name"
readonly="true"/>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label class="col-md-2 control-label">权限标识<span
class="required">*</span></label>
<div class="col-md-10">
<input type="text" class="form-control" name="permission"
readonly="true"/>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group" style="text-align:left">
<label class="col-md-2 control-label">图标&nbsp;<span
class="required">*</span></label>
<div class="col-md-8">
<input type="text" id="icon" name="icon"
class="form-control mess_text" placeholder="请选择系统图标">
</div>
<span class="input-group-btn">
<button id="icon_add" disabled="disabled" class="btn btn-default"
onclick="showIconModul()" type="button"><i
class="fa fa-check"></i>选择</button>
</span>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label class="col-md-2 control-label">类型&nbsp;<span
class="required">*</span></label>
<div class="col-md-10">
<select name="type" class="form-control" disabled="disabled">
<#list menuTypes as rt>
<option value="${rt}">${rt}</option>
</#list>
</select>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label class="col-md-2 control-label">URL&nbsp;<span
class="required">*</span></label>
<div class="col-md-10">
<input type="text" class="form-control" name="href"
readonly="true"/>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label class="col-md-2 control-label">排序&nbsp;<span
class="required">*</span></label>
<div class="col-md-10">
<div class="input-icon right">
<input type="text" class="form-control" name="sort"
readonly="true"/>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label class="col-md-2 control-label">状态&nbsp;<span class="required">*</span></label>
<div class="col-md-10">
<div class="input-icon right">
<select name="showFlag" class="form-control" disabled="disabled">
<option value="Y">启用</option>
<option value="N">不启用</option>
</select>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="form-actions fluid">
<div class="row">
<div class="col-md-offset-3 col-md-9">
<button type="submit" class="btn green" disabled="disabled">保存</button>
<button type="button" class="btn default btn-cancel" disabled="disabled">取消</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="icon_add_div" class="modal fade" tabindex="-1" aria-hidden="true" style="height: 1000px">
<div class="modal-dialog" style="width:900px;">
<div class="modal-content">
<div class="modal-header" style="border-bottom:none;">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>
</div>
<div class="modal-body">
<div class="row" id="roletableDatas">
<div class="col-md-12">
<div class="portlet">
<div class="portlet-title">
<div class="caption"><i class="fa fa-cogs"></i>图标列表</div>
<div class="actions">
<div class="btn-group">
<select class="form-control input-small select2me" id="_dlgCheckIcon"
onchange="checkIcon()">
<option value="glyphiconsIcons">Glyphicons Icons</option>
<option value="newIcons">10 New Icons in 4.0</option>
<option value="webappIcons">Web Application Icons</option>
<option value="formIcons">Form Control Icons</option>
<option value="currencyIcons">Currency Icons</option>
<option value="textIcons">Text Editor Icons</option>
<option value="directIcons">Directional Icons</option>
<option value="videoIcons">Video Player Icons</option>
<option value="brandIcons">Brand Icons</option>
<option value="medicalIcons">Medical Icons</option>
<option value="simpleLineIcons">Simple Line Icons</option>
</select>
</div>
</div>
</div>
<div class="portlet-body">
<!-- 必须加上row样式,不然高度为1px,不能显示边框 -->
<div id="tab_1_2" class="tab-pane glyphicons-demo active">
<ul id="iconTable" class="bs-glyphicons bs-glyphicons-list">
</ul>
</div>
<div class="row">
<table id="iconPageBar" class="col-md-8"
style="text-align: center; width: 100%;">
<tr>
<td class="form-inline">
<div class="pagination" id="iconPager"
style="font-size: 18px; text-align: center; vertical-align: middle;"></div>
<span style="margin-top: 0px; size: 12px; color: #8a8a8a">跳转到</span>
<input type="text" id="toMPage"
style="font-size: 18px; width: 50px; height: 30px;"
class="input-inline page_input"
onkeyup="if(isNaN(value))execCommand('undo');if(event.keyCode==32)execCommand('undo');"
onafterpaste="if(isNaN(value))execCommand('undo'));if(event.keyCode==32)execCommand('undo');">
<button style="width: 40px; height: 30px;" id="gotoMPage"
class="btn">
GO
</button>
</td>
</tr>
</table>
<div class="col-md-2"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="${base}/js/plugins/jsTree/jstree.min.js" type="text/javascript"></script>
<script src="${base}/js/plugins/validate/jquery.validate.min.js"></script>
<script src="${base}/js/plugins/validate/messages_zh.min.js"></script>
<script src="${base}/js/jquery.form.js"></script>
<script type="text/javascript">
var form = $('#menuForm'), menuid, text;
$("#resTree").jstree({
"core": {
"animation": 0,
"themes": {
theme: "classic",
"dots": true,
"icons": true
},
"check_callback": true,
'data':${menuTree}
},
"types": {
"default": {
"valid_children": ["default", "file"]
}
},
"plugins": ["wholerow"]
}).on("select_node.jstree", function (node, selectd) {
menuid = selectd.node.id;
text = selectd.node.text;
if (menuid) {
$.ajax({
url: '${base}/sys/menu/select/' + menuid,
type: 'GET',
success: function (data) {
data=data.menu;
$('input[name=id]').val(data.id);
$('input[name=parentId]').val(data.parentId);
$('input[name=name]').val(data.name);
$('input[name=permission]').val(data.permission);
$('input[name=icon]').val(data.icon);
$('#iconImg').attr("class", data.icon)
$('input[name=path]').val(data.path);
$("select[name=type] option[value='" + data.type + "']").attr("selected", "selected");
$("select[name=type] option[value!='" + data.type + "']").attr("selected", false);
$('input[name=href]').val(data.href);
$('input[name=sort]').val(data.sort);
$("select[name=showFlag] option[value='" + data.showFlag + "']").attr("selected", "selected");
$("select[name=showFlag] option[value!='" + data.showFlag + "']").attr("selected", false);
$('#menuForm :input').each(function (a) {
$(this).attr('disabled', "disabled");
$(this).attr("readonly", "true");
});
$('.btn-children').enable();
$('.btn-edit').enable();
$('.btn-delete').enable();
}
});
}
});
var error=$('.alert-danger',form);
form.validate({
errorElement: 'span',
errorClass: 'error',
ignore: "",
focusInvalid: false,
rules: {
name: {
minlength: 2,
maxlength: 30,
required: true
},
permission: {
required: true
},
type: {
required: true
},
href: {
required: true
},
sort: {
required: true,
number: true
},
showFlag: {
required: true
},
icon: {
required: true
}
},
invalidHandler:function(event,validator){
error.show();
},
highlight:function(element){
$(element).closest('.form-group').addClass('has-error');
},
unhighlight:function(element){
$(element).closest('.form-group').removeClass('has-error');
},
success:function(label){
label.closest('.form-group').removeClass('has-error');
},
submitHandler:function(form){
error.hide();
form.submit();
}
});
$('.btn-parent').click(function () {
form.resetForm();
$('input[name=id]').val("");
$('input[name=parentId]').val(0);
$('#menuForm :input').each(function (a) {
$(this).enable();
$(this).attr("readonly", false);
});
$('.btn-edit').attr('disabled', "disabled");
$('.btn-delete').attr('disabled', "disabled");
});
$('.btn-children').click(function () {
form.resetForm();
$('input[name=id]').val("");
$('input[name=parentId]').val(menuid);
$('#menuForm :input').each(function (a) {
$(this).enable();
$(this).attr("readonly", false);
});
$('.btn-edit').attr('disabled', "disabled");
$('.btn-delete').attr('disabled', "disabled");
});
$('.btn-edit').click(function () {
$('#menuForm :input').each(function (a) {
$(this).enable();
$(this).attr("readonly", false);
});
});
$('.btn-cancel').click(function () {
$('#menuForm :input').each(function (a) {
$(this).attr('disabled', "disabled");
$(this).attr("readonly", "true");
});
$('div.form-group ').removeClass('has-error');
$('div.alert-danger').css('display', 'none');
});
$('.btn-delete').click(function () {
if (menuid){
layer.confirm('确认要禁用此菜单及其下级所有资源吗?', {
btn: ['确定', '取消']
}, function () {
$.ajax({
url: '${base}/sys/menu/disable/' + menuid,
type: "POST",
success: function (r) {
window.location.reload();
}
});
})
}
});
/**获取所有的功能****/
var currentPage = 1; //第几页
var pageCount = 32; //每页显示多少条记录数据
var totalPages = 0;
//分页查询
var queryByPage = function () {
// start_request_load();
$.ajax({
dataType: "json",
cache: true,
type: "GET",
url: "${base}/js/icon.json",
traditional: true,
success: function (data) {
// stop_request_load();
var checkIcon = $("#_dlgCheckIcon").val();
data = data[checkIcon];
//删除所有子项
$("#iconTable").empty();
var total = 0, str = '';
$.each(data, function (i, n) {
str += '<li onclick="addIconImage(\'' + n + '\');"><span class="' + n + '" style="font-size:24px;margin:5px auto 10px;display:block"></span><span>' + n + ' </span></li>';
total++;
});
if (data == null || data == undefined || total == 0) {
return;
}
if (total <= pageCount) {
$("#iconPageBar").css({visibility: "hidden"});
} else {
$("#iconPageBar").css({visibility: "visible"});
str = '';
var start = (currentPage - 1) * pageCount;
var k = 0;
$.each(data, function (i, n) {
if (i >= start) {
str += '<li onclick="addIconImage(\'' + n + '\');"><span class="' + n + '" style="font-size:24px;margin:5px auto 10px;display:block"></span><span>' + n + ' </span></li>';
k++;
}
if (pageCount == k) {
return false;
}
});
}
$("#iconTable").append(str);
//总页数
if (total % pageCount != 0) {
totalPages = parseInt(total / pageCount) + 1;
} else {
totalPages = total / pageCount;
}
var options = {
currentPage: currentPage,
totalPages: totalPages,
onPageClicked: function (event, originalEvent, type, page) {
currentPage = page;
queryByPage(currentPage, pageCount);
}
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
layer.msg("网络异常,数据不能成功返回");
}
});
}
//初始化列表
queryByPage(currentPage, pageCount);
//翻页
$("#gotoMPage").bind("click", function () {
if ($("#toMPage").val() == null || "" == $("#toMPage").val()) {
layer.msg("请输入跳转页码");
return;
}
var thisPage = parseInt($("#toMPage").val());
if (!( thisPage > 0 && thisPage <= totalPages)) {
layer.msg("请输入正确跳转页码");
return;
}
//$('#iconPager').bootstrapPaginator("show", thisPage);
currentPage = thisPage;
queryByPage(currentPage, pageCount);
});
function showIconModul() {
$('#icon_add_div').modal('show');
}
function checkIcon() {
this.currentPage = 1; //第几页
this.pageCount = 32; //每页显示多少条记录数据
this.totalPages = 0;
$('#toMPage').val('');
queryByPage(1, 32);
}
function addIconImage(data) {
$('#icon').val(data);
$('#icon_add_div').modal('hide');
}
</script>
</body>
</html>
@@ -1,617 +0,0 @@
<html>
<head>
<title>组织管理</title>
<link rel="stylesheet" type="text/css" href="${base}/css/plugins/jsTree/style.min.css"/>
<link href="${base}/css/font-awesome.css?v=4.4.0" rel="stylesheet">
<link href="${base}/css/plugins/bootstrap-table/bootstrap-table.min.css" rel="stylesheet">
<link href="${base}/css/animate.css" rel="stylesheet">
<script>
var url = "/sys/office/user/";
</script>
<style>
#menu_edit_table .control-label {
text-align: left !important;
}
#menu_edit_table input, #menu_edit_table select {
margin-left: -45px;
}
#menu_edit_table .row {
margin-top: 15px !important;
}
</style>
</head>
<body class="gray-bg">
<div class="wrapper wrapper-content animated fadeInRight">
<div class="row">
<div class="col-md-3">
<div class="portlet box green-haze" style="padding: 15px">
<div class="portlet-body" id="resTree"></div>
</div>
</div>
<div class="col-md-9">
<div class="row" style="margin-right: 0!important;">
<div class="col-md-12">
<div class="portlet box green-haze" style="padding: 15px">
<div class="portlet-title">
<button type="button" class="btn green btn-parent btn-info">
<i class="fa fa-plus-square" aria-hidden="true"></i>
<span class="hidden-480">新增父组织</span>
</button>
<button type="button" class="btn green btn-children btn-success" disabled="disabled">
<i class="fa fa-plus"></i>
<span class="hidden-480">新增子组织</span>
</button>
<button type="button" class="btn blue btn-edit btn-primary" disabled="disabled">
<i class="fa fa-edit"></i>
<span class="hidden-480">编辑此组织</span>
</button>
<button type="button" class="btn red btn-delete btn-danger" disabled="disabled">
<i class="fa fa-trash-o"></i>
<span class="hidden-480">禁用此组织</span>
</button>
</div>
<div class="portlet-body form" id="menu_edit_table">
<form id="officeForm" action="${base}/sys/office/insert" class="form-horizontal form-bordered"
method="POST">
<input type="hidden" name="id"/>
<input type="hidden" name="parentId" value="0"/>
<input type="hidden" name="path"/>
<div class="form-body">
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label class="col-md-2 control-label">组织名称<span
class="required">*</span></label>
<div class="col-md-10">
<input type="text" class="form-control" name="name"
readonly="true"/>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label class="col-md-2 control-label">组织编码<span
class="required">*</span></label>
<div class="col-md-10">
<input type="text" class="form-control" name="code"
readonly="true"/>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group" style="text-align:left">
<label class="col-md-2 control-label">图标&nbsp;<span
class="required">*</span></label>
<div class="col-md-8">
<input type="text" id="icon" name="icon"
class="form-control mess_text" placeholder="请选择系统图标">
</div>
<span class="input-group-btn">
<button id="icon_add" disabled="disabled" class="btn btn-default"
onclick="showIconModul()" type="button"><i
class="fa fa-check"></i>选择</button>
</span>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label class="col-md-2 control-label">排序&nbsp;<span
class="required">*</span></label>
<div class="col-md-10">
<div class="input-icon right">
<input type="text" class="form-control" name="sort"
readonly="true"/>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label class="col-md-2 control-label">状态&nbsp;<span class="required">*</span></label>
<div class="col-md-10">
<div class="input-icon right">
<select name="delFlag" class="form-control" disabled="disabled">
<option value="Y">启用</option>
<option value="N">不启用</option>
</select>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="form-actions fluid">
<div class="row">
<div class="col-md-offset-3 col-md-9">
<button type="submit" class="btn green" disabled="disabled">保存</button>
<button type="button" class="btn default btn-cancel" disabled="disabled">取消</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-3"></div>
<div class="col-md-9">
<div id="exampleToolbar">
<input type="text" class="form-filter input-sm _search" hidden="hidden" name="search_eq_sys_office_id">
</div>
<div class="row" >
<div class="col-md-9">
<table id="exampleTable" data-mobile-responsive="true">
</table>
</div>
</div>
</div>
</div>
<div id="icon_add_div" class="modal fade" tabindex="-1" aria-hidden="true" style="height: 1000px">
<div class="modal-dialog" style="width:900px;">
<div class="modal-content">
<div class="modal-header" style="border-bottom:none;">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>
</div>
<div class="modal-body">
<div class="row" id="roletableDatas">
<div class="col-md-12">
<div class="portlet">
<div class="portlet-title">
<div class="caption"><i class="fa fa-cogs"></i>图标列表</div>
<div class="actions">
<div class="btn-group">
<select class="form-control input-small select2me" id="_dlgCheckIcon"
onchange="checkIcon()">
<option value="glyphiconsIcons">Glyphicons Icons</option>
<option value="newIcons">10 New Icons in 4.0</option>
<option value="webappIcons">Web Application Icons</option>
<option value="formIcons">Form Control Icons</option>
<option value="currencyIcons">Currency Icons</option>
<option value="textIcons">Text Editor Icons</option>
<option value="directIcons">Directional Icons</option>
<option value="videoIcons">Video Player Icons</option>
<option value="brandIcons">Brand Icons</option>
<option value="medicalIcons">Medical Icons</option>
<option value="simpleLineIcons">Simple Line Icons</option>
</select>
</div>
</div>
</div>
<div class="portlet-body">
<!-- 必须加上row样式,不然高度为1px,不能显示边框 -->
<div id="tab_1_2" class="tab-pane glyphicons-demo active">
<ul id="iconTable" class="bs-glyphicons bs-glyphicons-list">
</ul>
</div>
<div class="row">
<table id="iconPageBar" class="col-md-8"
style="text-align: center; width: 100%;">
<tr>
<td class="form-inline">
<div class="pagination" id="iconPager"
style="font-size: 18px; text-align: center; vertical-align: middle;"></div>
<span style="margin-top: 0px; size: 12px; color: #8a8a8a">跳转到</span>
<input type="text" id="toMPage"
style="font-size: 18px; width: 50px; height: 30px;"
class="input-inline page_input"
onkeyup="if(isNaN(value))execCommand('undo');if(event.keyCode==32)execCommand('undo');"
onafterpaste="if(isNaN(value))execCommand('undo'));if(event.keyCode==32)execCommand('undo');">
<button style="width: 40px; height: 30px;" id="gotoMPage"
class="btn">
GO
</button>
</td>
</tr>
</table>
<div class="col-md-2"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="${base}/js/plugins/jsTree/jstree.min.js" type="text/javascript"></script>
<script src="${base}/js/plugins/validate/jquery.validate.min.js"></script>
<script src="${base}/js/plugins/validate/messages_zh.min.js"></script>
<script src="${base}/js/jquery.form.js"></script>
<!-- Bootstrap table -->
<script src="${base}/js/plugins/bootstrap-table/bootstrap-table.min.js"></script>
<script src="${base}/js/plugins/bootstrap-table/bootstrap-table-mobile.min.js"></script>
<script src="${base}/js/plugins/bootstrap-table/locale/bootstrap-table-zh-CN.min.js"></script>
<script src="${base}/js/slife/datatable.js"></script>
<script type="text/javascript">
function getcolumns() {
var c = [
{
checkbox: true
},
{
title: '头像',
field: 'photo',
align: 'center',
formatter: function (value, row, index) {
return '<img style="width:30px" src=${base}"'+value+'"/>';
}
},
{
field: 'name',
title: '姓名'
},
{
field: 'email',
title: '邮箱'
},
{
field: 'no',
title: '工号'
},
{
field: 'phone',
title: '电话'
},
{
field: 'mobile',
title: '手机'
},
{
field : 'loginFlag',
title : '状态',
align : 'center',
formatter : function(value, row, index) {
if (value == 'Y') {
return '<span class="label label-primary">正常</span>';
} else if (value == 'N') {
return '<span class="label label-danger">禁用</span>';
}
}
},
{
title: '操作',
field: 'id',
align: 'center',
formatter: function (value, row, index) {
return dt_edit_button(row)+dt_detail_button(row)+dt_delete_button(row);
}
}];
return c;
}
load_data( getcolumns(), null);
function dt_explort_buttont() {
export_data( getcolumns(), null);
}
var form = $('#officeForm'), menuid, text;
$("#resTree").jstree({
"core": {
"animation": 0,
"themes": {
theme: "classic",
"dots": true,
"icons": true
},
"check_callback": true,
'data':${officeTree}
},
"types": {
"default": {
"valid_children": ["default", "file"]
}
},
"plugins": ["wholerow"]
}).on("select_node.jstree", function (node, selectd) {
menuid = selectd.node.id;
text = selectd.node.text;
if (menuid) {
$.ajax({
url: '${base}/sys/office/select/' + menuid,
type: 'GET',
success: function (data) {
data=data.office;
$('input[name=id]').val(data.id);
$('input[name=parentId]').val(data.parentId);
$('input[name=name]').val(data.name);
$('input[name=code]').val(data.code);
$('input[name=icon]').val(data.icon);
$('#iconImg').attr("class", data.icon)
$('input[name=path]').val(data.path);
$('input[name=sort]').val(data.sort);
$("select[name=delFlag] option[value='" + data.delFlag + "']").attr("selected", "selected");
$("select[name=delFlag] option[value!='" + data.delFlag + "']").attr("selected", false);
$('#officeForm :input').each(function (a) {
$(this).attr('disabled', "disabled");
$(this).attr("readonly", "true");
});
$('.btn-children').enable();
$('.btn-edit').enable();
$('.btn-delete').enable();
$('input[name=search_eq_sys_office_id]').val(data.id);
re_load();
}
});
}
});
var error=$('.alert-danger',form);
form.validate({
errorElement: 'span',
errorClass: 'error',
ignore: "",
focusInvalid: false,
rules: {
name: {
minlength: 1,
maxlength: 30,
required: true
},
code: {
required: true
},
sort: {
required: true,
number: true
},
delFlag: {
required: true
},
icon: {
required: true
}
},
invalidHandler:function(event,validator){
error.show();
},
highlight:function(element){
$(element).closest('.form-group').addClass('has-error');
},
unhighlight:function(element){
$(element).closest('.form-group').removeClass('has-error');
},
success:function(label){
label.closest('.form-group').removeClass('has-error');
},
submitHandler:function(form){
error.hide();
form.submit();
}
});
$('.btn-parent').click(function () {
form.resetForm();
$('input[name=id]').val("");
$('input[name=parentId]').val(0);
$('#officeForm :input').each(function (a) {
$(this).enable();
$(this).attr("readonly", false);
});
$('.btn-edit').attr('disabled', "disabled");
$('.btn-delete').attr('disabled', "disabled");
});
$('.btn-children').click(function () {
form.resetForm();
$('input[name=id]').val("");
$('input[name=parentId]').val(menuid);
$('#officeForm :input').each(function (a) {
$(this).enable();
$(this).attr("readonly", false);
});
$('.btn-edit').attr('disabled', "disabled");
$('.btn-delete').attr('disabled', "disabled");
});
$('.btn-edit').click(function () {
$('#officeForm :input').each(function (a) {
$(this).enable();
$(this).attr("readonly", false);
});
});
$('.btn-cancel').click(function () {
$('#officeForm :input').each(function (a) {
$(this).attr('disabled', "disabled");
$(this).attr("readonly", "true");
});
$('div.form-group ').removeClass('has-error');
$('div.alert-danger').css('display', 'none');
});
$('.btn-delete').click(function () {
if (menuid){
layer.confirm('确认要禁用此菜单及其下级所有资源吗?', {
btn: ['确定', '取消']
}, function () {
$.ajax({
url: '${base}/sys/office/disable/' + menuid,
type: "POST",
success: function (r) {
window.location.reload();
}
});
})
}
});
/**获取所有的功能****/
var currentPage = 1; //第几页
var pageCount = 32; //每页显示多少条记录数据
var totalPages = 0;
//分页查询
var queryByPage = function () {
// start_request_load();
$.ajax({
dataType: "json",
cache: true,
type: "GET",
url: "${base}/js/icon.json",
traditional: true,
success: function (data) {
// stop_request_load();
var checkIcon = $("#_dlgCheckIcon").val();
data = data[checkIcon];
//删除所有子项
$("#iconTable").empty();
var total = 0, str = '';
$.each(data, function (i, n) {
str += '<li onclick="addIconImage(\'' + n + '\');"><span class="' + n + '" style="font-size:24px;margin:5px auto 10px;display:block"></span><span>' + n + ' </span></li>';
total++;
});
if (data == null || data == undefined || total == 0) {
return;
}
if (total <= pageCount) {
$("#iconPageBar").css({visibility: "hidden"});
} else {
$("#iconPageBar").css({visibility: "visible"});
str = '';
var start = (currentPage - 1) * pageCount;
var k = 0;
$.each(data, function (i, n) {
if (i >= start) {
str += '<li onclick="addIconImage(\'' + n + '\');"><span class="' + n + '" style="font-size:24px;margin:5px auto 10px;display:block"></span><span>' + n + ' </span></li>';
k++;
}
if (pageCount == k) {
return false;
}
});
}
$("#iconTable").append(str);
//总页数
if (total % pageCount != 0) {
totalPages = parseInt(total / pageCount) + 1;
} else {
totalPages = total / pageCount;
}
var options = {
currentPage: currentPage,
totalPages: totalPages,
onPageClicked: function (event, originalEvent, type, page) {
currentPage = page;
queryByPage(currentPage, pageCount);
}
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
layer.msg("网络异常,数据不能成功返回");
}
});
}
//初始化列表
queryByPage(currentPage, pageCount);
//翻页
$("#gotoMPage").bind("click", function () {
if ($("#toMPage").val() == null || "" == $("#toMPage").val()) {
layer.msg("请输入跳转页码");
return;
}
var thisPage = parseInt($("#toMPage").val());
if (!( thisPage > 0 && thisPage <= totalPages)) {
layer.msg("请输入正确跳转页码");
return;
}
//$('#iconPager').bootstrapPaginator("show", thisPage);
currentPage = thisPage;
queryByPage(currentPage, pageCount);
});
function showIconModul() {
$('#icon_add_div').modal('show');
}
function checkIcon() {
this.currentPage = 1; //第几页
this.pageCount = 32; //每页显示多少条记录数据
this.totalPages = 0;
$('#toMPage').val('');
queryByPage(1, 32);
}
function addIconImage(data) {
$('#icon').val(data);
$('#icon_add_div').modal('hide');
}
</script>
</body>
</html>
@@ -1,174 +0,0 @@
<html>
<head>
<title>系统用户编辑</title>
<link href="${base}/css/bootstrap.min.css?v=3.3.6" rel="stylesheet">
<link href="${base}/css/font-awesome.min.css?v=4.4.0" rel="stylesheet">
<link href="${base}/css/animate.css" rel="stylesheet">
<link href="${base}/css/style.css?v=4.1.0" rel="stylesheet">
<link href="${base}/css/slife.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="${base}/css/plugins/jsTree/style.min.css"/>
<!-- 全局js -->
<script src="${base}/js/jquery.min.js?v=2.1.4"></script>
<script src="${base}/js/bootstrap.min.js?v=3.3.6"></script>
<script src="${base}/js/plugins/validate/jquery.validate.min.js"></script>
<script src="${base}/js/plugins/validate/messages_zh.min.js"></script>
<script src="${base}/js/plugins/layer/layer.min.js"></script>
<script src="${base}/js/jquery.form.js"></script>
<script>
var url = "${url}", action = "${action}";
</script>
<script src="${base}/js/slife/slife.js"></script>
<script src="${base}/js/slife/slifeform.js"></script>
</head>
<body class="gray-bg">
<div class="wrapper wrapper-content animated fadeInRight">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content">
<form class="form-horizontal form-bordered" id="slifeForm">
<input type="hidden" name="id" value="${role.id}"/>
<input type="hidden" name="ids"/>
<div class="form-body">
<div class="form-group">
<label class="col-sm-3 control-label">名称<span class="required">*</span></label>
<div class="col-sm-8">
<input type="text" class="form-control" placeholder="录入权限名称" name="name"
value="${role.name}">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">编码<span class="required">*</span></label>
<div class="col-sm-8">
<input type="text" class="form-control" placeholder="录入角色编码" name="code"
value="${role.code}">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">状态<span class="required">*</span></label>
<div class="col-sm-8">
<select name="useable" class="form-control">
<option value="Y">启用</option>
<option value="N">禁用</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">描述</label>
<div class="col-sm-8">
<textarea name="remark" type="text" class="form-control"
placeholder="请输入角色描述">${role.remark}</textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">菜单树</label>
<div class="col-sm-8">
<div id="menuTree"></div>
</div>
</div>
</div>
<#if action !='detail'>
<div class="form-actions fluid">
<div class="col-md-offset-3 col-md-9">
<button type="submit" class="btn green">保存</button>
</div>
</div>
</#if>
</form>
</div>
</div>
</div>
</div>
</div>
<script src="${base}/js/plugins/jsTree/jstree.js" type="text/javascript"></script>
<script type="text/javascript">
var tree = $("#menuTree").jstree({
"checkbox": {"keep_selected_style": false},
"core": {
"multiple": true,
"animation": 0,
"themes": {
theme: "classic",
"dots": true,
"icons": true
},
"check_callback": true,
'data':${menuTree}
},
"plugins": ["wholerow", "checkbox"],
});
$("select[name=useable] option[value='${role.useable}']").attr("selected", "selected");
/**
* 标志选择了的菜单
*/
function selectMenuId() {
var array = $.jstree.reference('#menuTree').get_selected(true);
var set = new Set();
if (array) {
for (var i = 0; i < array.length; i++) {
var a = array[i]
set.add(a.id);
if (a.parent !== "#") {
set.add(a.parent);
}
}
}
$('input[name=ids]').val(Array.from(set).join(","));
}
function cusFunction() {
selectMenuId();
}
var form = $('#slifeForm');
var error = $('.alert-danger', form);
form.validate({
errorElement: 'span',
errorClass: 'error',
focusInvalid: true,
messages: {
code: {remote: "角色编码已存在"}
},
rules: {
code: {
maxlength: 64,
required: true,
remote: '${base}/sys/role/check/${role.id}'
},
name: {
maxlength: 64,
required: true
},
active: {
required: true
}
}
});
</script>
</body>
</html>
@@ -1,122 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>用户列表</title>
<link href="${base}/css/font-awesome.css?v=4.4.0" rel="stylesheet">
<link href="${base}/css/plugins/bootstrap-table/bootstrap-table.min.css" rel="stylesheet">
<link href="${base}/css/animate.css" rel="stylesheet">
<script>
var url = "${url}";
</script>
</head>
<body class="gray-bg">
<div class="wrapper wrapper-content animated fadeInRight">
<div class="col-sm-12">
<div class="ibox">
<div class="ibox-body">
<div id="exampleToolbar" role="group">
<label style="margin-left: 10px;">
角色名称:
<input type="text" class="form-filter input-sm _search" name="search_like_name">
</label>
<label style="margin-left: 10px;">
角色编码:
<input type="text" class="form-filter input-sm _search" name="search_like_code">
</label>
<label style="margin-left: 10px;">
姓名:
<input type="text" class="form-filter input-sm _search" name="search_eq_useable">
</label>
<label style="margin-left: 10px;">
<button class="btn btn-success" onclick="re_load()">
<i class="fa fa-search" aria-hidden="true"></i>查询
</button>
<button type="button" class="btn btn-primary" onclick="reset()">
<i class="fa fa-circle-thin" aria-hidden="true"></i>重置
</button>
<button type="button" class="btn btn-danger" onclick="batch_remove()">
<i class="fa fa-trash" aria-hidden="true"></i>删除
</button>
<button type="button" class="btn btn-info" onclick="dt_insert()">
<i class="fa fa-plus-square" aria-hidden="true"></i>添加
</button>
</label>
</div>
<table id="exampleTable" data-mobile-responsive="true">
</table>
</div>
</div>
</div>
</div>
<!-- Bootstrap table -->
<script src="${base}/js/plugins/bootstrap-table/bootstrap-table.min.js"></script>
<script src="${base}/js/plugins/bootstrap-table/bootstrap-table-mobile.min.js"></script>
<script src="${base}/js/plugins/bootstrap-table/locale/bootstrap-table-zh-CN.min.js"></script>
<script src="${base}/js/slife/datatable.js"></script>
<script type="text/javascript">
function getcolumns() {
var c = [
{
checkbox: true
},
{
field: 'id', // 列字段名
title: 'id' // 列标题
},
{
field: 'remark',
title: '备注'
},
{
field: 'name',
title: '名称'
},
{
field: 'code',
title: '编码'
},
{
field : 'useable',
title : '状态',
align : 'center',
formatter : function(value, row, index) {
if (value == 'Y') {
return '<span class="label label-primary">正常</span>';
} else if (value == 'N') {
return '<span class="label label-danger">禁用</span>';
}
}
},
{
title: '操作',
field: 'id',
align: 'center',
formatter: function (value, row, index) {
return dt_edit_button(row)+dt_detail_button(row)+dt_delete_button(row);
}
}];
return c;
}
load_data( getcolumns(), {"createDate": "desc"});
</script>
</body>
</html>
@@ -1,156 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<title>登陆页</title>
<meta name="keywords" content="slife管理系统">
<meta name="description" content="slife管理系统">
<link href="${base}/css/bootstrap.min.css" rel="stylesheet">
<link href="${base}/css/font-awesome.css?v=4.4.0" rel="stylesheet">
<link href="${base}/css/animate.css" rel="stylesheet">
<link href="${base}/css/style.css" rel="stylesheet">
<link href="${base}/css/login.css" rel="stylesheet">
<link href="${base}/css/plugins/toastr/toastr.min.css" rel="stylesheet">
<!--[if lt IE 9]>
<meta http-equiv="refresh" content="0;ie.html"/>
<![endif]-->
<script>
if (window.top !== window.self) {
window.top.location = window.location;
}
</script>
</head>
<body class="signin">
<div class="signinpanel">
<div class="row">
<div class="col-sm-5" style="margin: auto;float: none!important;">
<form class="login-form" action="${base}/login" method="post">
<p class="m-t-md">欢迎登录slife后台管理系统</p>
<div class="form-group">
<input type="text" id="username" name="username" class="form-control uname" placeholder="用户名" value="admin"/>
</div>
<div class="form-group">
<input type="password" id="password" name="password" class="form-control pword m-b" placeholder="密码"
value="123456"/>
</div>
<div class="form-actions">
<label class="checkbox"><input type="checkbox" name="rememberMe" id="rememberMe" value="true"/>
下次自动登录 </label>
<button type="submit" class="btn btn-success btn-block">登录 <i
class="m-icon-swapright m-icon-white"></i></button>
</div>
<#--<button class="btn btn-success btn-block">登录</button>-->
</form>
</div>
</div>
<div class="signup-footer">
<div style="text-align: center;">&copy; 2017 All Rights Reserved. slife
</div>
</div>
</div>
<!-- 全局js -->
<script src="${base}/js/jquery.min.js?v=2.1.4"></script>
<script src="${base}/js/bootstrap.min.js?v=3.3.6"></script>
<!-- 自定义js -->
<script src="${base}/js/content.js?v=1.0.0"></script>
<!-- jQuery Validation plugin javascript-->
<script src="${base}/js/plugins/validate/jquery.validate.min.js"></script>
<script src="${base}/js/plugins/validate/messages_zh.min.js"></script>
<script src="${base}/js/plugins/layer/layer.min.js"></script>
<script src="${base}/js/plugins/toastr/toastr.min.js"></script>
<script src="${base}/js/slife/toast.js"></script>
<script>
$(document).ready(function () {
<#if error??>
var msg="";
console.info('${error}');
<#if error?index_of("DisabledAccountException")!=-1>
msg="用户已被屏蔽,请登录其他用户.";
<#elseif error?index_of("UnknownAccountException")!=-1>
msg="用户不存在,请检查后重试!";
<#elseif error?index_of("IncorrectCredentialsException")!=-1>
msg="密码错误,请检查密码!";
<#else>
msg="登录失败,请重试.";
</#if>
toast_error("",msg);
</#if>
});
$('.login-form').validate({
errorElement: 'span',
errorClass: 'help-block',
focusInvalid: false,
rules: {
username: {
required: true
},
password: {
required: true
},
remember: {
required: false
}
},
messages: {
username: {
required: "用户名不能为空."
},
password: {
required: "密码不能为空."
}
},
invalidHandler: function (event, validator) {
toast_error("","用户名或密码不能为空");
/* $('.form-group', $('.login-form')).show();*/
},
highlight: function (element) {
$(element).closest('.form-group').addClass('has-error');
},
success: function (label) {
label.closest('.form-group').removeClass('has-error');
label.remove();
},
errorPlacement: function (error, element) {
error.insertAfter(element.closest('.input-icon'));
},
submitHandler: function (form) {
form.submit();
}
});
$('.login-form input').keypress(function (e) {
if (e.which == 13) {
if ($('.login-form').validate().form()) {
$('.login-form').submit();
}
return false;
}
});
</script>
</body>
</html>
@@ -1 +0,0 @@
sdds随时提防提防
@@ -1,314 +0,0 @@
<html>
<head>
<title>系统用户编辑</title>
<link href="${base}/css/bootstrap.min.css?v=3.3.6" rel="stylesheet">
<link href="${base}/css/font-awesome.min.css?v=4.4.0" rel="stylesheet">
<link href="${base}/css/animate.css" rel="stylesheet">
<link href="${base}/css/style.css?v=4.1.0" rel="stylesheet">
<link href="${base}/css/slife.css" rel="stylesheet">
<link href="${base}/css/plugins/select2/select2.css" rel="stylesheet">
<link href="${base}/css/plugins/dropzone/dropzone.css" rel="stylesheet">
<!-- 全局js -->
<script src="${base}/js/jquery.min.js?v=2.1.4"></script>
<script src="${base}/js/bootstrap.min.js?v=3.3.6"></script>
<script src="${base}/js/plugins/validate/jquery.validate.min.js"></script>
<script src="${base}/js/plugins/validate/messages_zh.min.js"></script>
<script src="${base}/js/plugins/layer/layer.min.js"></script>
<script src="${base}/js/jquery.form.js"></script>
<script src="${base}/js/plugins/select2/select2.min.js"></script>
<script src="${base}/js/plugins/dropzone/dropzone.min.js"></script>
<script>
var url = "${url}", action = "${action}";
</script>
<script src="${base}/js/slife/slife.js"></script>
<script src="${base}/js/slife/slifeform.js"></script>
</head>
<body class="gray-bg">
<div class="wrapper wrapper-content animated fadeInRight">
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-content">
<form class="form-horizontal form-bordered" id="slifeForm">
<input type="hidden" name="id" value="${sysUser.id}"/>
<input type="hidden" name="photo" value="${sysUser.photo}" id="photo"/>
<div class="form-group">
<label class="col-sm-3 control-label">头像</label>
<div class="col-sm-2">
<div id="localImag" style="margin-left:15px;">
<div class="img_box" id="imgBox">
<img id="imgshowdiv" style="width: 60px" src="${sysUser.photo}"
onerror="javascript:errimg()" class="img_file img-rounded"/>
<#-- <div class="img_edit_box">
<a class="img_desr" href="javascript:doDeleteImg()">删除</a>
</div>-->
</div>
</div>
</div>
<#if action !='detail'>
<div class="col-sm-4">
<div id="mydropzone" class="dropzone"></div>
</div>
</#if>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">登录名<span class="required">*</span></label>
<div class="col-sm-8">
<input type="text" class="form-control" name="loginName" placeholder="请输入登录名"
value="${sysUser.loginName}" required aria-required="true"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">用户名<span class="required">*</span></label>
<div class="col-sm-8">
<input type="text" class="form-control" name="name" placeholder="请输入用户名"
value="${sysUser.name}"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">电子邮件<span class="required">*</span></label>
<div class="col-sm-8">
<input name="email" type="email" class="form-control" value="${sysUser.email}"
placeholder="电子邮件地址">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">密码<#if action !='update'><span
class="required">*</span></#if></label>
<div class="col-sm-8">
<div class="input-icon right">
<input name="password" type="password" class="form-control"
placeholder="请输入登录密码">
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">工号<span class="required">*</span></label>
<div class="col-sm-8">
<input name="no" type="text" class="form-control" value="${sysUser.no}"
placeholder="工号">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">电话</label>
<div class="col-sm-3">
<div class="input-group">
<input name="phone" type="text" class="form-control" value="${sysUser.phone}"
placeholder="电话">
</div>
</div>
<label class="col-sm-2 control-label">手机</label>
<div class="col-sm-3">
<input name="mobile" type="text" class="form-control" value="${sysUser.mobile}"
placeholder="手机">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">备注</label>
<div class="col-sm-8">
<input name="remark" type="text" class="form-control" value="${sysUser.remark}"
placeholder="备注">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">状态</label>
<div class="col-sm-8">
<select name="status" class="form-control">
<option value="Y">启用</option>
<option value="N">禁用</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">角色</label>
<div class="col-sm-8">
<select name="ids" multiple="multiple" class="select" style="width: 100%;">
<#list roles as r>
<option value="${r.id}">${r.name}</option>
</#list>
</select>
</div>
</div>
<#if action !='detail'>
<div class="form-actions fluid">
<div class="col-md-offset-3 col-md-9">
<button type="submit" class="btn green">保存</button>
</div>
</div>
</#if>
</form>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
function cusFunction() {
console.info("提交之前,最后执行自定义的函数");
}
/**
* 错误图片的默认处理
*/
function errimg() {
$("#photo").val("/img/log9.png");
$("#imgshowdiv").attr('src', "/img/log9.png");
}
/**
* 删除头像
*/
function doDeleteImg() {
var name = $("#photo").val();
layer.confirm('确定要删除头像吗?', {
btn: ['确定', '取消']
}, function () {
$.ajax({
url: url + "delete/photo",
type: "POST",
data: {
'name': name
},
success: function (r) {
if (r.code == 200) {
errimg();
} else {
layer.msg(r.error);
}
}
});
})
}
var select = $(".select").select2();
<#if action !='insert'>
$("select[name=status] option[value='${sysUser.status}']").attr("selected", "selected");
var data = [];
<#list sysUser.sysRoles as r>
data.push({id:${r.id}, text: '${r.name}'});
</#list>
select.select2("data", data);
</#if>
var form = $('#slifeForm');
var error = $('.alert-danger', form);
form.validate({
errorElement: 'span',
errorClass: 'error',
focusInvalid: true,
messages: {
loginName: {remote: "登陆名已经存在"}
},
rules: {
loginName: {
minlength: 2,
maxlength: 30,
required: true,
remote: '${base}/sys/user/check/${sysUser.id}'
},
name: {
required: true
},
email: {
required: true,
email: true
},
active: {
required: true
},
<#if action !='update'>
password: {
maxlength: 16,
required: true
},
</#if>
no: {
maxlength: 100,
required: true
}
}
});
Dropzone.autoDiscover = false;
var myDropzone = new Dropzone("div#mydropzone", {
url: "/file/upload/avatar",
filesizeBase: 1024,//定义字节算法 默认1000
maxFiles: 2,//最大文件数量
maxFilesize: 100, //MB
fallback: function () {
layer.alert('暂不支持您的浏览器上传!');
},
uploadMultiple: false,
addRemoveLinks: true,
dictFileTooBig: '您的文件超过' + 100 + 'MB!',
dictInvalidInputType: '不支持您上传的类型',
dictMaxFilesExceeded: '您的文件超过1个!',
init: function () {
this.on('queuecomplete', function (files) {
// layer.alert('上传成功');
});
this.on('success', function (uploadimfo, result) {
console.info(result);
$("#photo").val(result.message[0].s_url);
$("#imgshowdiv").attr('src', result.message[0].s_url);
layer.alert('上传成功');
});
this.on('error', function (a, errorMessage, result) {
if (!result) {
layer.alert(result.error || '上传失败');
}
});
this.on('maxfilesreached', function () {
this.removeAllFiles(true);
layer.alert('文件数量超出限制');
});
this.on('removedfile', function () {
$("#photo").val("${sysUser.photo}");
$("#imgshowdiv").attr('src', " {sysUser.photo}");
layer.alert('删除成功');
});
}
});
</script>
</body>
</html>
@@ -1,153 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>用户列表</title>
<link href="${base}/css/font-awesome.css?v=4.4.0" rel="stylesheet">
<link href="${base}/css/plugins/bootstrap-table/bootstrap-table.min.css" rel="stylesheet">
<link href="${base}/css/animate.css" rel="stylesheet">
<script>
var url = "${url}";
</script>
</head>
<body class="gray-bg">
<div class="wrapper wrapper-content animated fadeInRight">
<div class="col-sm-12">
<div class="ibox">
<div class="ibox-body">
<div id="exampleToolbar" role="group">
<label style="margin-left: 10px;">
登录名:
<input type="text" class="form-filter input-sm _search" name="search_eq_login_name">
</label>
<label style="margin-left: 10px;">
工号:
<input type="text" class="form-filter input-sm _search" name="search_eq_no">
</label>
<label style="margin-left: 10px;">
姓名:
<input type="text" class="form-filter input-sm _search" name="search_like_name">
</label>
<label style="margin-left: 10px;">
<button class="btn btn-success" onclick="re_load()">
<i class="fa fa-search" aria-hidden="true"></i>查询
</button>
<button type="button" class="btn btn-primary" onclick="reset()">
<i class="fa fa-circle-thin" aria-hidden="true"></i>重置
</button>
<button type="button" class="btn btn-danger" onclick="batch_remove()">
<i class="fa fa-trash" aria-hidden="true"></i>删除
</button>
<button type="button" class="btn btn-info" onclick="dt_insert()">
<i class="fa fa-plus-square" aria-hidden="true"></i>添加
</button>
<button type="button" class="btn btn-info" onclick="dt_explort_buttont()">
<i class="fa fa-plus-square" aria-hidden="true"></i>导出
</button>
</label>
</div>
<table id="exampleTable" data-mobile-responsive="true">
</table>
</div>
</div>
</div>
</div>
<!-- Bootstrap table -->
<script src="${base}/js/plugins/bootstrap-table/bootstrap-table.min.js"></script>
<script src="${base}/js/plugins/bootstrap-table/bootstrap-table-mobile.min.js"></script>
<script src="${base}/js/plugins/bootstrap-table/locale/bootstrap-table-zh-CN.min.js"></script>
<script src="${base}/js/slife/datatable.js"></script>
<script type="text/javascript">
function getcolumns() {
var c = [
{
checkbox: true
},
{
title: '头像',
field: 'photo',
align: 'center',
formatter: function (value, row, index) {
return '<img style="width:30px" src=${base}"'+value+'"/>';
}
},
{
field: 'id', // 列字段名
title: 'id' // 列标题
},
{
field: 'loginName',
title: '登陆名'
},
{
field: 'name',
title: '姓名'
},
{
field: 'email',
title: '邮箱'
},
{
field: 'no',
title: '工号'
},
{
field: 'phone',
title: '电话'
},
{
field: 'mobile',
title: '手机'
},
{
field: 'remark',
title: '描述'
},
{
field : 'loginFlag',
title : '状态',
align : 'center',
formatter : function(value, row, index) {
if (value == 'Y') {
return '<span class="label label-primary">正常</span>';
} else if (value == 'N') {
return '<span class="label label-danger">禁用</span>';
}
}
},
{
title: '操作',
field: 'id',
align: 'center',
formatter: function (value, row, index) {
return dt_edit_button(row)+dt_detail_button(row)+dt_delete_button(row);
}
}];
return c;
}
load_data( getcolumns(), {"createDate": "desc"});
function dt_explort_buttont() {
export_data( getcolumns(), {"createDate": "desc"});
}
</script>
</body>
</html>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.