main
tamguo 7 years ago
parent 9cee1e6d8d
commit fa0139c040

@ -0,0 +1,14 @@
package com.tamguo.modules.sys.dao;
import java.util.List;
import com.baomidou.mybatisplus.plugins.pagination.Pagination;
import com.tamguo.config.dao.SuperMapper;
import com.tamguo.modules.sys.model.SysPostEntity;
import com.tamguo.modules.sys.model.condition.SysPostCondition;
public interface SysPostMapper extends SuperMapper<SysPostEntity>{
List<SysPostEntity> listData(SysPostCondition condition , Pagination page);
}

@ -3,6 +3,8 @@ package com.tamguo.modules.sys.model;
import java.io.Serializable;
import java.util.Date;
import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.baomidou.mybatisplus.annotations.TableName;
import com.tamguo.config.dao.SuperEntity;
import com.tamguo.modules.sys.model.enums.SysCompanyStatusEnum;
@ -29,6 +31,8 @@ public class SysCompanyEntity extends SuperEntity<SysCompanyEntity> implements S
private Boolean isLeaf;
private Integer treeLevel;
private Date updateDate;
@JSONField(serialzeFeatures= SerializerFeature.WriteEnumUsingToString)
private SysCompanyStatusEnum status;
public String getName() {

@ -0,0 +1,81 @@
package com.tamguo.modules.sys.model;
import java.io.Serializable;
import java.util.Date;
import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.baomidou.mybatisplus.annotations.TableName;
import com.tamguo.config.dao.SuperEntity;
import com.tamguo.modules.sys.model.enums.SysPostStatusEnum;
import com.tamguo.modules.sys.model.enums.SysPostTypeEnum;
@TableName(value="sys_post")
public class SysPostEntity extends SuperEntity<SysPostEntity> implements Serializable{
private static final long serialVersionUID = 1L;
private String name;
private String code;
private SysPostTypeEnum postType;
private Integer sorts;
private String remarks;
private Date createDate;
private Date updateDate;
@JSONField(serialzeFeatures= SerializerFeature.WriteEnumUsingToString)
private SysPostStatusEnum status;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public SysPostTypeEnum getPostType() {
return postType;
}
public void setPostType(SysPostTypeEnum postType) {
this.postType = postType;
}
public Integer getSorts() {
return sorts;
}
public void setSorts(Integer sorts) {
this.sorts = sorts;
}
public String getRemarks() {
return remarks;
}
public void setRemarks(String remarks) {
this.remarks = remarks;
}
public static long getSerialversionuid() {
return serialVersionUID;
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
public Date getUpdateDate() {
return updateDate;
}
public void setUpdateDate(Date updateDate) {
this.updateDate = updateDate;
}
public SysPostStatusEnum getStatus() {
return status;
}
public void setStatus(SysPostStatusEnum status) {
this.status = status;
}
}

@ -0,0 +1,21 @@
package com.tamguo.modules.sys.model.condition;
public class SysPostCondition {
private Integer pageNo;
private Integer pageSize;
public Integer getPageNo() {
return pageNo;
}
public void setPageNo(Integer pageNo) {
this.pageNo = pageNo;
}
public Integer getPageSize() {
return pageSize;
}
public void setPageSize(Integer pageSize) {
this.pageSize = pageSize;
}
}

@ -0,0 +1,34 @@
package com.tamguo.modules.sys.model.enums;
import java.io.Serializable;
import com.baomidou.mybatisplus.enums.IEnum;
/**
*
*/
public enum SysPostStatusEnum implements IEnum {
NORMAL("normal", "正常"),
LOCKED("locked", "锁定"),
DISABLED("disable" , "禁用");
private String value;
private String desc;
SysPostStatusEnum(final String value, final String desc) {
this.value = value;
this.desc = desc;
}
public Serializable getValue() {
return this.value;
}
public String getDesc(){
return this.desc;
}
@Override
public String toString() {
return this.value;
}
}

@ -0,0 +1,35 @@
package com.tamguo.modules.sys.model.enums;
import java.io.Serializable;
import com.baomidou.mybatisplus.enums.IEnum;
/**
*
*/
public enum SysPostTypeEnum implements IEnum {
GAOGUAN("gaoguan", "高管"),
ZHONGCENG("zhongceng", "中层"),
JICENG("jiceng" , "基层"),
QITA("qita" , "其他");
private String value;
private String desc;
SysPostTypeEnum(final String value, final String desc) {
this.value = value;
this.desc = desc;
}
public Serializable getValue() {
return this.value;
}
public String getDesc(){
return this.desc;
}
@Override
public String toString() {
return this.value;
}
}

@ -0,0 +1,11 @@
package com.tamguo.modules.sys.service;
import com.baomidou.mybatisplus.plugins.Page;
import com.tamguo.modules.sys.model.SysPostEntity;
import com.tamguo.modules.sys.model.condition.SysPostCondition;
public interface IPostService {
Page<SysPostEntity> listData(SysPostCondition condition);
}

@ -0,0 +1,24 @@
package com.tamguo.modules.sys.service.impl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.plugins.Page;
import com.tamguo.modules.sys.dao.SysPostMapper;
import com.tamguo.modules.sys.model.SysPostEntity;
import com.tamguo.modules.sys.model.condition.SysPostCondition;
import com.tamguo.modules.sys.service.IPostService;
@Service
public class PostServiceImpl implements IPostService{
@Autowired
private SysPostMapper sysPostMapper;
@Override
public Page<SysPostEntity> listData(SysPostCondition condition) {
Page<SysPostEntity> page = new Page<>(condition.getPageNo(), condition.getPageSize());
return page.setRecords(sysPostMapper.listData(condition , page));
}
}

@ -0,0 +1,37 @@
package com.tamguo.modules.sys.web;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.baomidou.mybatisplus.plugins.Page;
import com.tamguo.modules.sys.model.SysPostEntity;
import com.tamguo.modules.sys.model.condition.SysPostCondition;
import com.tamguo.modules.sys.service.IPostService;
import com.tamguo.modules.sys.utils.Result;
@Controller
@RequestMapping(path="sys/post")
public class PostController {
private final String POST_INDEX_PAGE = "modules/sys/post/index";
@Autowired
private IPostService iPostService;
@RequestMapping(path="index")
public String index() {
return POST_INDEX_PAGE;
}
@RequestMapping(path="listData",method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> listData(SysPostCondition condition) {
Page<SysPostEntity> page = iPostService.listData(condition);
return Result.jqGridResult(page.getRecords(), page.getTotal(), page.getSize(), page.getCurrent(), page.getPages());
}
}

@ -0,0 +1,20 @@
<?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.tamguo.modules.sys.dao.SysPostMapper">
<select id="listData" resultType="SysPostEntity">
SELECT
p.id,
p. NAME,
p.`code`,
p.post_type,
p.sorts,
p.remarks,
p.create_date,
p.update_date,
p.status
FROM
sys_post p
</select>
</mapper>

@ -22,7 +22,7 @@
<li class="treeview"><a title="用户管理" href="javascript:" data-href="sys/user/index" class="addTabPage"><i class="fa fa-fw icon-user"></i> <span>用户管理</span></a></li>
<li class="treeview"><a title="机构管理" href="javascript:" data-href="sys/office/index" class="addTabPage"><i class="fa fa-fw icon-grid"></i> <span>机构管理</span></a></li>
<li class="treeview"><a title="公司管理" href="javascript:" data-href="sys/company/index" class="addTabPage"><i class="fa fa-fw icon-fire"></i> <span>公司管理</span></a></li>
<li class="treeview"><a title="岗位管理" href="javascript:" data-href="/js/a/sys/post/list" class="addTabPage"><i class="fa fa-fw icon-trophy"></i> <span>岗位管理</span></a></li>
<li class="treeview"><a title="岗位管理" href="javascript:" data-href="sys/post/index" class="addTabPage"><i class="fa fa-fw icon-trophy"></i> <span>岗位管理</span></a></li>
</ul>
</li>
<li class="treeview"><a title="权限管理" href="javascript:" data-href="blank" class="addTabPage"><i class="fa fa-fw icon-social-dropbox"></i> <span>权限管理</span> <span class="pull-right-container"><i class="fa fa-angle-left pull-right"></i></span></a>

@ -0,0 +1,127 @@
<!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'}"></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 + 'jqGrid/4.7/css/ui.jqgrid.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 ">
<div class="wrapper"><div class="main-content">
<div class="box box-main">
<div class="box-header">
<div class="box-title">
<i class="fa icon-trophy"></i> 岗位管理
</div>
<div class="box-tools pull-right">
<a href="#" class="btn btn-default" id="btnSearch" title="查询"><i class="fa fa-filter"></i> 查询</a>
<a href="/js/a/sys/post/form" class="btn btn-default btnTool" title="新增岗位"><i class="fa fa-plus"></i> 新增</a>
</div>
</div>
<div class="box-body">
<form id="searchForm" th:action="${setting.domain + 'sys/post/listData'}" method="post" class="form-inline hide" data-page-no="1" data-page-size="20" data-order-by="">
<div class="form-group">
<label class="control-label">岗位编码:</label>
<div class="control-inline">
<input type="text" id="postCode" name="postCode" value="" maxlength="64" class="form-control width-120"/>
</div>
</div>
<div class="form-group">
<label class="control-label">岗位名称:</label>
<div class="control-inline">
<input type="text" id="postName" name="postName" value="" maxlength="100" class="form-control width-120"/>
</div>
</div>
<div class="form-group">
<label class="control-label">岗位分类:</label>
<div class="control-inline width-90">
<select id="postType" name="postType" class="form-control">
<option value="">&nbsp;</option><option value="1">高管</option><option value="2">中层</option><option value="3">基层</option><option value="4">其它</option></select> </div>
</div>
<div class="form-group">
<label class="control-label">状态:</label>
<div class="control-inline width-60">
<select id="status" name="status" class="form-control">
<option value="">&nbsp;</option><option value="0">正常</option><option value="2">停用</option></select> </div>
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary btn-sm">查询</button>
<button type="reset" class="btn btn-default btn-sm">重置</button>
</div>
</form>
<table id="dataGrid"></table>
<div id="dataGridPage"></div>
</div>
</div>
</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 + 'jqGrid/4.7/js/jquery.jqGrid.js'}"></script>
<script th:src="${setting.domain + 'jqGrid/4.7/js/jquery.jqGrid.extend.js'}"></script>
<script th:src="${setting.domain + 'jqGrid/4.7/js/i18n/zh_CN.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>
// 初始化DataGrid对象
$('#dataGrid').dataGrid({
searchForm: $("#searchForm"),
columnModel: [
{header:'岗位名称', name:'name', index:'a.post_name', width:200, align:"center", frozen:true, formatter: function(val, obj, row, act){
return '<a href="/js/a/sys/post/form?postCode='+row.postCode+'" class="btnList" data-title="编辑岗位">'+(val||row.id)+'</a>';
}},
{header:'岗位编码', name:'code', index:'a.post_code', width:200, align:"center"},
{header:'排序号', name:'sorts', index:'a.post_sort', width:80, align:"center"},
{header:'岗位分类', name:'postType', index:'a.post_type', width:100, align:"center", formatter: function(val, obj, row, act){
return js.getDictLabel([{"id":"1019065447139921920","status":"0","createBy":"system","createDate":"2018-07-17 11:45","updateDate":"2018-07-17 11:45","updateBy":"system","treeLevel":0,"parentCodes":"0,","treeSort":30,"treeSorts":"0000000030,","treeNames":"高管","treeLeaf":"1","isSys":"1","cssClass":"","dictCode":"1019065447139921920","dictLabelOrig":"高管","dictType":"sys_post_type","cssStyle":"","description":"","dictValue":"1","dictLabel":"高管","parentCode":"0","isTreeLeaf":true,"isRoot":true},{"id":"1019065447290916864","status":"0","createBy":"system","createDate":"2018-07-17 11:45","updateDate":"2018-07-17 11:45","updateBy":"system","treeLevel":0,"parentCodes":"0,","treeSort":40,"treeSorts":"0000000040,","treeNames":"中层","treeLeaf":"1","isSys":"1","cssClass":"","dictCode":"1019065447290916864","dictLabelOrig":"中层","dictType":"sys_post_type","cssStyle":"","description":"","dictValue":"2","dictLabel":"中层","parentCode":"0","isTreeLeaf":true,"isRoot":true},{"id":"1019065447429328896","status":"0","createBy":"system","createDate":"2018-07-17 11:45","updateDate":"2018-07-17 11:45","updateBy":"system","treeLevel":0,"parentCodes":"0,","treeSort":50,"treeSorts":"0000000050,","treeNames":"基层","treeLeaf":"1","isSys":"1","cssClass":"","dictCode":"1019065447429328896","dictLabelOrig":"基层","dictType":"sys_post_type","cssStyle":"","description":"","dictValue":"3","dictLabel":"基层","parentCode":"0","isTreeLeaf":true,"isRoot":true},{"id":"1019065447576129536","status":"0","createBy":"system","createDate":"2018-07-17 11:45","updateDate":"2018-07-17 11:45","updateBy":"system","treeLevel":0,"parentCodes":"0,","treeSort":60,"treeSorts":"0000000060,","treeNames":"其它","treeLeaf":"1","isSys":"1","cssClass":"","dictCode":"1019065447576129536","dictLabelOrig":"其它","dictType":"sys_post_type","cssStyle":"","description":"","dictValue":"4","dictLabel":"其它","parentCode":"0","isTreeLeaf":true,"isRoot":true}], val, '未知', true);
}},
{header:'更新时间', name:'updateDate', index:'a.update_date', width:150, align:"center"},
{header:'备注信息', name:'remarks', index:'a.remarks', width:200, align:"left"},
{header:'状态', name:'status', index:'a.status', width:80, align:"center", formatter: function(val, obj, row, act){
if(val == "normal"){
return '<span style="color:red;">正常</span>';
}else if(val == "locked"){
return '锁定';
}else if(val == "disabled"){
return '禁用';
}else{
return '未知';
}
}},
{header:'操作', name:'actions', width:130, sortable:false, title:false, formatter: function(val, obj, row, act){
var actions = [];
actions.push('<a href="/js/a/sys/post/form?postCode='+row.postCode+'" class="btnList" title="编辑岗位"><i class="fa fa-pencil"></i></a>&nbsp;');
if (row.status == "normal"){
actions.push('<a href="/js/a/sys/post/disable?postCode='+row.postCode+'" class="btnList" title="停用岗位" data-confirm="确认要停用该岗位吗?"><i class="glyphicon glyphicon-ban-circle"></i></a>&nbsp;');
}
if (row.status == "disabled"){
actions.push('<a href="/js/a/sys/post/enable?postCode='+row.postCode+'" class="btnList" title="启用岗位" data-confirm="确认要启用该岗位吗?"><i class="glyphicon glyphicon-ok-circle"></i></a>&nbsp;');
}
actions.push('<a href="/js/a/sys/post/delete?postCode='+row.postCode+'" class="btnList" title="删除岗位" data-confirm="确认要删除该岗位吗?"><i class="fa fa-trash-o"></i></a>&nbsp;');
return actions.join('');
}}
],
// 加载成功后执行事件
ajaxSuccess: function(data){
}
});
</script>
Loading…
Cancel
Save