mirror of
https://gitee.com/jamen/slife.git
synced 2026-10-30 05:53:38 +00:00
删除目录slife-sys/target
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -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> 项目介绍</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">图标 <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">类型 <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 <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">排序 <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">状态 <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">图标 <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">排序 <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">状态 <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;">© 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.
Reference in New Issue
Block a user