main
tamguo 7 years ago
parent 2469d924c1
commit a2fdb78610

@ -2,7 +2,14 @@ package com.tamguo.modules.sys.model.condition;
public class SysUserCondition {
private String companyCode;
private String companyName;
private String userName;
private String nickName;
private String name;
private String email;
private String mobile;
private String status;
private Integer pageNo;
private Integer pageSize;
@ -30,6 +37,62 @@ public class SysUserCondition {
public void setUserName(String userName) {
this.userName = userName;
}
public String getCompanyCode() {
return companyCode;
}
public void setCompanyCode(String companyCode) {
this.companyCode = companyCode;
}
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}

@ -8,7 +8,8 @@ import com.baomidou.mybatisplus.enums.IEnum;
*/
public enum SysUserStatusEnum implements IEnum {
NORMAL("normal", "正常"),
LOCKED("locked", "锁定");
LOCKED("locked", "锁定"),
DISABLED("disable" , "禁用");
private String value;
private String desc;

@ -0,0 +1,18 @@
package com.tamguo.modules.sys.web;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class CommonController {
private final String TREE_SELECT_PAGE = "modules/sys/common/treeselect";
@RequestMapping(path="sys/treeselect")
public ModelAndView index(ModelAndView model , String url) {
model.addObject("url" , url);
model.setViewName(TREE_SELECT_PAGE);
return model;
}
}

@ -11,8 +11,7 @@
u.status,
u.nick_name,
u.mobile,
u.email,
u.course_id
u.email
FROM
sys_user u
WHERE
@ -38,8 +37,27 @@
sys_user u
LEFT JOIN sys_company c ON u.company_id = c.uid
<where>
1 = 1
<if test="userName != null and userName != ''">
u.user_name like #{userName}
and u.user_name like #{userName}
</if>
<if test="nickName != null and nickName != ''">
and u.nick_name like #{nickName}
</if>
<if test="name != null and name != ''">
and u.nick_name like #{nickName}
</if>
<if test="companyCode != null and companyCode != ''">
and u.company_id = #{companyCode}
</if>
<if test="email != null and email != ''">
and u.email = #{email}
</if>
<if test="mobile != null and mobile != ''">
and u.mobile = #{mobile}
</if>
<if test="status != null and status != ''">
and u.status = #{status}
</if>
</where>
</select>

@ -0,0 +1,167 @@
<!DOCTYPE html><html><head><meta charset="utf-8"><meta content="webkit" name="renderer"/><meta http-equiv="X-UA-Compatible"
content="IE=edge"><meta name="keywords" content="PoweredByJeeSiteV4.0"/><meta http-equiv="Cache-Control"
content="no-cache, no-store, must-revalidate"/><meta name="description" content="PoweredByJeeSiteV4.0"/><meta
content="no-cache" http-equiv="Pragma"/><meta http-equiv="Expires" content="0"/><meta
content="width=device-width, initial-scale=1, user-scalable=1" name="viewport"/>
<title>选项选择 - JeeSite Demo</title>
<script th:src="${setting.domain + 'global.min.js?ctx=/js'}"></script>
<script th:src="${setting.domain + 'jquery/jquery-1.12.4.min.js'}"></script>
<script th:src="${setting.domain + 'jquery/jquery-migrate-1.4.1.min.js'}"></script>
<!--[if lt IE 9]><script src="/js/static/common/h5fix.min.js"></script><![endif]-->
<link rel="stylesheet" th:href="${setting.domain + 'fonts/font-icons.min.css'}">
<link rel="stylesheet" th:href="${setting.domain + 'bootstrap/css/bootstrap.min.css'}">
<link rel="stylesheet" th:href="${setting.domain + 'select2/4.0/select2.css'}">
<link rel="stylesheet" th:href="${setting.domain + 'icheck/1.0/minimal/grey.css'}">
<link rel="stylesheet" th:href="${setting.domain + 'jquery-ztree/3.5/css/metro/zTreeStyle.css'}">
<link rel="stylesheet" th:href="${setting.domain + 'adminlte/css/AdminLTE.min.css'}">
<link rel="stylesheet" th:href="${setting.domain + 'common/jeesite.css'}">
<link rel="stylesheet" th:href="${setting.domain + 'common/common.css'}">
</head><body class="hold-transition box box-main">
<div class="wrapper"><div class="treeShowHideButton" onclick="search();">
<label id="btnShow" title="显示搜索" style="display:none;"></label>
<label id="btnHide" title="隐藏搜索"></label>
</div>
<div class="treeSearchInput" id="search">
<label for="keyword">关键字:</label><input type="text" class="empty" id="keyword" maxlength="50"/>
<button class="btn" id="btn" onclick="searchNode()"> 搜索 </button>
</div>
<div class="treeExpandCollapse" style="display:none;">
<a href="javascript:" onclick="tree.expandAll(true);">展开</a> /
<a href="javascript:" onclick="tree.expandAll(false);">折叠</a>
</div>
<div id="tree" class="ztree treeselect"></div>
</div>
<a id="scroll-up" href="#" class="btn btn-sm"><i class="fa fa-angle-double-up"></i></a>
<script th:src="${setting.domain + 'bootstrap/js/bootstrap.min.js'}"></script>
<script th:src="${setting.domain + 'select2/4.0/select2.js'}"></script>
<script th:src="${setting.domain + 'select2/4.0/i18n/zh_CN.js'}"></script>
<script th:src="${setting.domain + 'layer/3.1/layer.js'}"></script>
<script th:src="${setting.domain + 'my97/WdatePicker.js'}"></script>
<script th:src="${setting.domain + 'jquery-ztree/3.5/js/jquery.ztree.all-3.5.js'}"></script>
<script th:src="${setting.domain + 'common/jeesite.js'}"></script>
<script th:src="${setting.domain + 'common/i18n/jeesite_zh_CN.js'}"></script>
<script th:src="${setting.domain + 'common/common.js'}"></script>
<script type="text/javascript" th:inline="javascript">
var setting = {
view:{selectedMulti:false,dblClickExpand:false},
check:{enable:"false"=="true",nocheckInherit:true},
data:{simpleData: {enable: true,idKey: "uid",pIdKey: "parentId",rootPId: "",enable:true},key: {url:"nourl"}},callback:{
onClick:function(event, treeId, treeNode){
tree.expandNode(treeNode);
},
onDblClick: function(){
js.layer.$('#' + window.name).closest('.layui-layer')
.find(".layui-layer-btn0").trigger("click");
}
}
}, tree, loadTree = function(){
$.get(ctx + [[${url}]] + new Date().getTime(), function(zNodes){
tree = $.fn.zTree.init($("#tree"), setting, zNodes);//.expandAll(true);
var nodes = tree.getNodesByParam("level", 0);
for(var i=0, l=nodes.length; i<l; i++) {
if (nodes[i].children && nodes[i].children.length > 0){
$('.treeExpandCollapse').show();
break;
}
}
$.fn.zTree.expandNodeByLevel(tree, -1);
if (zNodes && zNodes.length > 0){
var selectCodes = "".split(",");
selectCheckNode(selectCodes);
}
});
};loadTree();
function selectCheckNode(selectCodes){
for(var i=0; i<selectCodes.length; i++) {
var isLoadUser = false;
var node = tree.getNodeByParam('false'=='true'?'value':'id',
(isLoadUser?"u_":"") + selectCodes[i]);
if("false" == "true"){
try{tree.checkNode(node, true, false);}catch(e){}
tree.selectNode(node, false);
}else{
tree.selectNode(node, true);
}
}
}
var lastValue = "", nodeList = [], key = $("#keyword");
key.bind("focus", focusKey).bind("blur", blurKey).bind("change cut input propertychange", searchNode);
key.bind("keydown", function (e){if(e.which == 13){searchNode();}});
function focusKey(e) {
if (key.hasClass("empty")) {
key.removeClass("empty");
}
}
function blurKey(e) {
if (key.get(0).value === "") {
key.addClass("empty");
}
searchNode(e);
}
function searchNode() {
var value = $.trim(key.get(0).value);
var keyType = "name";
if (lastValue === value) {
return;
}
lastValue = value;
var nodes = tree.getNodes();
if (value == "") {
showAllNode(nodes);
return;
}
hideAllNode(nodes);
nodeList = tree.getNodesByParamFuzzy(keyType, value);
updateNodes(nodeList);
}
function hideAllNode(nodes){
nodes = tree.transformToArray(nodes);
for(var i=nodes.length-1; i>=0; i--) {
tree.hideNode(nodes[i]);
}
}
function showAllNode(nodes){
nodes = tree.transformToArray(nodes);
for(var i=nodes.length-1; i>=0; i--) {
if(nodes[i].getParentNode()!=null){
tree.expandNode(nodes[i],false,false,false,false);
}else{
tree.expandNode(nodes[i],true,true,false,false);
}
tree.showNode(nodes[i]);
showAllNode(nodes[i].children);
}
}
function updateNodes(nodeList) {
tree.showNodes(nodeList);
for(var i=0, l=nodeList.length; i<l; i++) {
var treeNode = nodeList[i];
showChildren(treeNode);
showParent(treeNode)
}
}
function showChildren(treeNode){
if (treeNode.isParent){
for(var idx in treeNode.children){
var node = treeNode.children[idx];
tree.showNode(node);
showChildren(node);
}
}
}
function showParent(treeNode){
var parentNode;
while((parentNode = treeNode.getParentNode()) != null){
tree.showNode(parentNode);
tree.expandNode(parentNode, true, false, false);
treeNode = parentNode;
}
}
function search($this) {
$('#search').slideToggle(200);
$('#btnShow').toggle();
$('#btnHide').toggle();
$('#keyword').focus();
}
</script>

@ -43,13 +43,13 @@ content="width=device-width, initial-scale=1, user-scalable=1" name="viewport"/>
<div class="form-group">
<label class="control-label">账号:</label>
<div class="control-inline">
<input type="text" id="loginCode" name="loginCode" value="" maxlength="100" class="form-control width-90"/>
<input type="text" id="userName" name="userName" value="" maxlength="100" class="form-control width-90"/>
</div>
</div>
<div class="form-group">
<label class="control-label">昵称:</label>
<div class="control-inline">
<input type="text" id="userName" name="userName" value="" maxlength="100" class="form-control width-90"/>
<input type="text" id="nickName" name="nickName" value="" maxlength="100" class="form-control width-90"/>
</div>
</div>
<div class="form-group">
@ -68,20 +68,20 @@ content="width=device-width, initial-scale=1, user-scalable=1" name="viewport"/>
<div class="form-group">
<label class="control-label">姓名:</label>
<div class="control-inline">
<input type="text" id="refName" name="refName" value="" maxlength="100" class="form-control width-90"/>
<input type="text" id="name" name="name" value="" maxlength="100" class="form-control width-90"/>
</div>
</div>
<div class="form-group">
<label class="control-label">公司:</label>
<div class="control-inline width-90">
<div class="input-group treeselect" id="companyDiv" data-url="/js/a/sys/company/treeData">
<input id="companyCode" type="hidden" name="employee.company.companyCode" value="" class="isReset"/>
<input id="companyName" type="text" name="employee.company.companyName" value=""
class="form-control " readonly="readonly"
/><span class="input-group-btn"><a id="companyButton" href="javascript:"
class="btn btn-default btn-sm"><i class="fa fa-search"></i></a>
</span>
</div>
<div class="input-group treeselect" id="companyDiv" data-url="sys/company/treeData?">
<input id="companyCode" type="hidden" name="companyCode" value="" class="isReset"/>
<input id="companyName" type="text" name="companyName" value=""
class="form-control " readonly="readonly"
/><span class="input-group-btn"><a id="companyButton" href="javascript:"
class="btn btn-default btn-sm"><i class="fa fa-search"></i></a>
</span>
</div>
<script>
$("#companyButton,#companyName").click(function(){
if ($("#companyButton").hasClass("disabled")){
@ -93,7 +93,7 @@ $("#companyButton,#companyName").click(function(){
shadeClose: true,
title: '公司选择',
area: ['300px', '400px'],
content: '/js/tags/treeselect',
content: ctx + 'sys/treeselect',
contentFormData: {
url: $('#companyDiv').attr('data-url'),
checkbox: 'false',
@ -121,7 +121,7 @@ $("#companyButton,#companyName").click(function(){
js.showMessage("不能选择根节点("+nodes[i].name+")请重新选择。");
return false;
}
var code = nodes[i]['false'=='true'?'value':'id'], name = nodes[i]['name'];
var code = nodes[i]['uid'], name = nodes[i]['name'];
codes.push(code.replace(/^u_/g,''));
names.push(name.replace(/\([0-9]*\)/g,''));
break;
@ -169,7 +169,7 @@ $("#companyButton,#companyName").click(function(){
<div class="control-inline width-90">
<select id="status" name="status" class="form-control">
<option value="">&nbsp;</option><option value="0">正常</option><option value="2">停用</option><option value="3">冻结</option></select> </div>
<option value="">&nbsp;</option><option value="normal">正常</option><option value="disabled">停用</option><option value="locked">锁定</option></select> </div>
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary btn-sm">查询</button>

Loading…
Cancel
Save