main
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);
|
||||||
|
|
||||||
|
}
|
@ -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>
|
@ -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=""> </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=""> </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> ');
|
||||||
|
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> ');
|
||||||
|
}
|
||||||
|
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> ');
|
||||||
|
}
|
||||||
|
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> ');
|
||||||
|
return actions.join('');
|
||||||
|
}}
|
||||||
|
],
|
||||||
|
// 加载成功后执行事件
|
||||||
|
ajaxSuccess: function(data){
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
Loading…
Reference in new issue