Browse Source

添加施工单位响应处理功能

lwx_dev
erdanergou 3 years ago
parent
commit
8fed999612
  1. 92
      src/main/java/com/dreamchaser/depository_manage/controller/CompanyController.java
  2. 17
      src/main/java/com/dreamchaser/depository_manage/controller/PageController.java
  3. 2
      src/main/java/com/dreamchaser/depository_manage/mapper/ConstructionUnitMapper.xml
  4. 107
      src/main/resources/templates/pages/constructionunit/constructionunit_edit.html
  5. 346
      src/main/resources/templates/pages/constructionunit/constructionunit_out.html

92
src/main/java/com/dreamchaser/depository_manage/controller/CompanyController.java

@ -49,7 +49,7 @@ public class CompanyController {
@PostMapping("/allCompanyByParent")
public RestResponse findCompanyByNoParent(@RequestParam Map<String, Object> map, HttpServletRequest request) {
String token = request.getHeader("user-token");
if(token == null){
if (token == null) {
token = (String) request.getSession().getAttribute("userToken");
}
UserByPort userToken = AuthenticationTokenPool.getUserToken(token);
@ -99,7 +99,7 @@ public class CompanyController {
@PostMapping("/companyByCondition")
public RestResponse findcompanyByCondition(@RequestParam Map<String, Object> map, HttpServletRequest request) {
String token = request.getHeader("user-token");
if(token == null){
if (token == null) {
token = (String) request.getSession().getAttribute("userToken");
}
UserByPort userByPort = AuthenticationTokenPool.getUserToken(token);
@ -145,7 +145,7 @@ public class CompanyController {
@PostMapping("/allPostByOrganization")
public RestResponse allPostByParent(@RequestParam Map<String, Object> map, HttpServletRequest request) {
String token = request.getHeader("user-token");
if(token == null){
if (token == null) {
token = (String) request.getSession().getAttribute("userToken");
}
UserByPort userByPort = AuthenticationTokenPool.getUserToken(token);
@ -202,7 +202,7 @@ public class CompanyController {
@PostMapping("/post_role")
public RestResponse addUser(@RequestBody Map<String, Object> map, HttpServletRequest request) {
String token = request.getHeader("user-token");
if(token == null){
if (token == null) {
token = (String) request.getSession().getAttribute("userToken");
}
UserByPort userToken = AuthenticationTokenPool.getUserToken(token);
@ -324,9 +324,9 @@ public class CompanyController {
* @return
*/
@GetMapping("/findPostRole")
public RestResponse findPostRole(@RequestParam Map<String,Object> map, HttpServletRequest request) {
public RestResponse findPostRole(@RequestParam Map<String, Object> map, HttpServletRequest request) {
String token = request.getHeader("user-token");
if(token == null){
if (token == null) {
token = (String) request.getSession().getAttribute("userToken");
}
UserByPort userToken = AuthenticationTokenPool.getUserToken(token);
@ -363,7 +363,7 @@ public class CompanyController {
public RestResponse InitTreeMenus(HttpServletRequest request) {
List<Object> list = new ArrayList<>();
String token = request.getHeader("user-token");
if(token == null){
if (token == null) {
token = (String) request.getSession().getAttribute("userToken");
}
UserByPort userToken = AuthenticationTokenPool.getUserToken(token);
@ -382,20 +382,88 @@ public class CompanyController {
public RestResponse departmentTreeMenus(HttpServletRequest request) {
List<Object> list = new ArrayList<>();
String token = request.getHeader("user-token");
if(token == null){
if (token == null) {
token = (String) request.getSession().getAttribute("userToken");
}
UserByPort userToken = AuthenticationTokenPool.getUserToken(token);
String header = request.getHeader("user-agent");
String crypt = Md5.crypt(header);
list = companyService.BuildQyWxAdministrationTreeMenus(userToken,crypt);
list = companyService.BuildQyWxAdministrationTreeMenus(userToken, crypt);
return new RestResponse(list);
}
/**
* 用于创建施工单位
*
* @param map 创建数据
* @return
*/
@PostMapping("/constructionUnitAdd")
public RestResponse constructionUnitAdd(@RequestBody Map<String,Object> map){
return CrudUtil.insertHandle(constructionUnitService.addConstructionUnit(map),1);
public RestResponse constructionUnitAdd(@RequestBody Map<String, Object> map) {
return CrudUtil.insertHandle(constructionUnitService.addConstructionUnit(map), 1);
}
/**
* 用于根据条件查询施工单位
*
* @param map 查询条件
* @return
*/
@GetMapping("/allConstructionUnit")
public RestResponse allConstructionUnit(@RequestParam Map<String, Object> map) {
List<ConstructionUnit> constructionUnitByCondition = constructionUnitService.findConstructionUnitByCondition(map);
return new RestResponse(constructionUnitByCondition, constructionUnitService.findConstructionUnitCountByCondition(map), 200);
}
/**
* 用于修改施工单位信息
*
* @param map 修改数据
* @return
*/
@PostMapping("/ConstructionUnitEdit")
public RestResponse ConstructionUnitEdit(@RequestBody Map<String, Object> map) {
return CrudUtil.updateHandle(constructionUnitService.updateConstructionUnit(map), 1);
}
/**
* 用于修改施工单位的状态
*
* @param map 修改数据
* @return
*/
@PostMapping("/ConstructionUnitStateEdit")
public RestResponse ConstructionUnitStateEdit(@RequestBody Map<String, Object> map) {
if (!map.containsKey("state")) {
map.put("state", 2);
}
return CrudUtil.updateHandle(constructionUnitService.updateConstructionUnitState(map), 1);
}
@PostMapping("/ConstructionUnitDel")
public RestResponse ConstructionUnitDel(@RequestBody Map<String, Object> map) {
Integer result = 0;
int count = 1;
map.put("state", 3);
if (map.containsKey("id")) {
// 如果是删除一个
result += constructionUnitService.updateConstructionUnitState(map);
} else if (map.containsKey("ids")) {
// 如果删除多个
// 获取要删除的id
List<Object> ids = (List<Object>) map.get("ids");
count = ids.size();
map.remove("ids");
for (Object id : ids
) {
map.put("id", id);
result += constructionUnitService.updateConstructionUnitState(map);
}
}
return CrudUtil.deleteHandle(result, count);
}
}

17
src/main/java/com/dreamchaser/depository_manage/controller/PageController.java

@ -77,6 +77,9 @@ public class PageController {
@Autowired
private SplitUnitService splitUnitService;
@Autowired
private ConstructionUnitService constructionUnitService;
@GetMapping("/")
public ModelAndView Init(HttpServletRequest request) {
@ -2911,4 +2914,18 @@ public class PageController {
return "pages/constructionunit/constructionunit_add";
}
@GetMapping("/constructionUnitOut")
public String constructionUnitOut(){
return "pages/constructionunit/constructionunit_out";
}
@GetMapping("/constructionUnitEdit")
public ModelAndView constructionUnitEdit(Integer id){
ModelAndView mv = new ModelAndView();
mv.setViewName("pages/constructionunit/constructionunit_edit");
ConstructionUnit constructionUnitById = constructionUnitService.findConstructionUnitById(id);
mv.addObject("record",constructionUnitById);
return mv;
}
}

2
src/main/java/com/dreamchaser/depository_manage/mapper/ConstructionUnitMapper.xml

@ -86,7 +86,7 @@
update constructionunit
<set>
<if test="name != null and name != ''">
namd = #{name},
name = #{name},
</if>
<if test="state != null and state != ''">
state = #{state},

107
src/main/resources/templates/pages/constructionunit/constructionunit_edit.html

@ -0,0 +1,107 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<title>layui</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="/static/lib/layui-v2.6.3/css/layui.css" media="all">
<link rel="stylesheet" href="/static/css/public.css" media="all">
</head>
<body>
<div class="layuimini-container">
<div class="layuimini-main">
<fieldset class="table-search-fieldset">
<legend>施工单位创建</legend>
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-card-body" style="padding-top: 40px;">
<div>
<form class="layui-form layui-form-pane"
style="margin: 0 auto;max-width: 700px;padding-top: 100px; padding-bottom: 200px"
lay-filter="form1">
<input th:value="${record.getId()}" name="id" id="id" style="display:none;"/>
<div class="layui-form-item">
<label class="layui-form-label">单位名称:</label>
<div class="layui-input-block">
<input type="text" placeholder="请填写施工单位名称" class="layui-input"
th:value="${record.getName()}"
name="name" lay-verify="required"/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">地址:</label>
<div class="layui-input-block">
<input type="text" placeholder="请填写施工地址" class="layui-input"
th:value="${record.getAddress()}"
name="address"/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">介绍:</label>
<div class="layui-input-block">
<input name="introduce" placeholder="请填写施工单位介绍..."
th:value="${record.getIntroduce()}"
class="layui-input"/>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="formStep">
&emsp;修改&emsp;
</button>
</div>
</div>
</form>
</div>
</div>
<hr>
</div>
</div>
</fieldset>
</div>
</div>
<script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
<script>
var data;
layui.use(['form', 'layer'], function () {
var $ = layui.jquery,
form = layui.form,
layer = layui.layer;
form.on('submit(formStep)', function (data) {
$.ajax({
url: "/company/ConstructionUnitEdit",
type: 'post',
dataType: 'json',
contentType: "application/json;charset=utf-8",
data: JSON.stringify(data.field),
beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
},
success: function (data) {
layer.close(this.layerIndex);
if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情
return;
} else {
layer.msg("修改成功!", {
icon: 6,//成功的表情
time: 1000 //1秒关闭(如果不配置,默认是3秒)
}, function () {
window.location = "/constructionUnitEdit?id="+$("#id").val();
});
}
}
});
return false;
});
});
</script>
</body>
</html>

346
src/main/resources/templates/pages/constructionunit/constructionunit_out.html

@ -0,0 +1,346 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<title>layui</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="/static/lib/layui-v2.6.3/css/layui.css" media="all">
<link rel="stylesheet" href="/static/css/public.css" media="all">
</head>
<body>
<div class="layuimini-container">
<div class="layuimini-main">
<fieldset class="table-search-fieldset">
<legend>搜索信息</legend>
<div style="margin: 10px 10px 10px 10px">
<form class="layui-form layui-form-pane" action="">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">单位名称</label>
<div class="layui-input-block">
<input type="text" placeholder="请填写施工单位名称" class="layui-input"
name="name" />
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">状态</label>
<div class="layui-input-block">
<select name="state">
<option value="">请选择状态</option>
<option value="1">启用</option>
<option value="2">禁用</option>
</select>
</div>
</div>
<div class="layui-inline">
<button type="submit" class="layui-btn layui-btn-primary" lay-submit
lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索
</button>
</div>
</div>
</form>
</div>
</fieldset>
<!-- 状态展示-->
<script type="text/html" id="switchTpl">
<input type="checkbox" name="state" value="{{d.id}}" lay-skin="switch" lay-text="启用|禁用"
lay-filter="changeState" {{ d.state== 1 ? 'checked' : '' }} >
</script>
<script id="CNName" type="text/html">
<a id="{{d.id}}" onclick="showDetail(this)">{{d.name}}</a>
</script>
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" lay-event="add"> 添加
</button>
<button class="layui-btn layui-btn-sm layui-btn-danger data-delete-btn" lay-event="delete"> 删除
</button>
</div>
</script>
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
<script type="text/html" id="currentTableBar">
<a class="layui-btn layui-btn-xs data-count-edit" lay-event="detail">详情</a>
<a class="layui-btn layui-btn-xs layui-btn-danger data-count-delete" lay-event="delete">删除</a>
</script>
</div>
</div>
<script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
<script>
function showDetail() {
}
layui.use(['form', 'table', 'upload'], function () {
var $ = layui.jquery,
form = layui.form,
upload = layui.upload,
table = layui.table;
table.render({
elem: "#currentTableId",
url: '/company/allConstructionUnit',
parseData: function (res) { //res 即为原始返回的数据
return {
"status": res.status, //解析接口状态
"message": res.statusInfo.message, //解析提示文本
"count": res.count, //解析数据长度
"data": res.data //解析数据列表
};
},
height: 'full-255',//固定高度-即固定表头固定第一行首行
request: {
pageName: 'page', //页码的参数名称,默认:page
limitName: 'size' //每页数据量的参数名,默认:limit
},
response: {
statusName: 'status' //规定数据状态的字段名称,默认:code
, statusCode: 200 //规定成功的状态码,默认:0
, msgName: 'message' //规定状态信息的字段名称,默认:msg
, countName: 'count' //规定数据总数的字段名称,默认:count
, dataName: 'data' //规定数据列表的字段名称,默认:data
},
toolbar: '#toolbarDemo',
defaultToolbar: ['filter', 'exports', 'print'],
cols: [
[
{type: "checkbox", width: 50},
{title: '单位名称', width: 120, templet: '#CNName', align: "center"},
{field: 'introduce', width: 200, title: '单位介绍'},
{field: 'address', width: 200, title: '单位地址'},
{title: '状态', width: 100, templet: '#switchTpl', align: "center"},
{field: 'showCreateTime', width: 200, title: '创建时间'},
{title: '操作', minWidth: 200, toolbar: '#currentTableBar', align: "center"}
]
],
limits: [10, 15, 20, 25, 50, 100],
limit: 10,
page: true,
skin: 'line'
});
// 监听搜索操作
form.on('submit(data-search-btn)', function (data) {
var req = {};
data = data.field;
if (data.name !== '') {
req.name = data.name;
}
if (data.state !== '') {
req.state = data.state;
}
//执行搜索重载
table.reload('currentTableId', {
url: '/company/allConstructionUnit',
page: {
curr: 1
},
where: req
}, 'data');
return false;
});
/**
* toolbar监听事件
*/
table.on('toolbar(currentTableFilter)', function (obj) {
if (obj.event === 'add') { // 监听添加操作
var index = layer.open({
title: '创建单位',
type: 2,
shade: 0.2,
maxmin: true,
shadeClose: true,
area: ['100%', '100%'],
content: '/constructionUnitAdd',
});
$(window).on("resize", function () {
layer.full(index);
});
} else if (obj.event === 'delete') { // 监听删除操作
var checkStatus = table.checkStatus('currentTableId')
, data = checkStatus.data;
var req = {};
req.ids = [];
for (i = 0, len = data.length; i < len; i++) {
req.ids[i] = data[i].id;
}
if (req.ids.length > 0) {
layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) {
$.ajax({
url: '/company/ConstructionUnitDel',
dataType: 'json',
type: 'POST',
contentType: "application/json;charset=utf-8",
data: JSON.stringify(req),
beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
},
success: function (data) {
layer.close(this.layerIndex);
if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情
} else {
layer.msg("删除成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
});
//执行搜索重载
table.reload('currentTableId', {
url: '/company/allConstructionUnit',
page: {
curr: 1
}
}, 'data');
return false;
}
}
})
})
} else {
layer.msg("未选中记录,请确认!");
return false;
}
}
});
table.on('tool(currentTableFilter)', function (obj) {
let data = obj.data;
if (obj.event === 'detail') {
let req = {};
var index = layer.open({
title: '施工单位详情',
type: 2,
shade: 0.2,
maxmin: true,
shadeClose: true,
area: ['100%', '100%'],
content: '/constructionUnitEdit?id=' + data.id,
end: function () {
//执行搜索重载
table.reload('currentTableId', {
url: '/company/allConstructionUnit',
page: {
curr: 1
},
where: req
}, 'data');
}
});
$(window).on("resize", function () {
layer.full(index);
});
return false;
}
else if (obj.event === 'delete') {
layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) {
$.ajax({
url: '/company/ConstructionUnitDel',
dataType: 'json',
type: 'POST',
contentType: "application/json;charset=utf-8",
data: JSON.stringify(data),
beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
},
success: function (data) {
layer.close(this.layerIndex);
if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情
} else {
obj.del();
layer.msg("删除成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
});
}
}
})
});
}
});
// 用于查看详情
showDetail = function (obj) {
let req = {};
layer.open({
title: '施工单位详情',
type: 2,
shade: 0.2,
maxmin: true,
shadeClose: true,
area: ['100%', '100%'],
content: '/constructionUnitEdit?id=' + obj.id,
end: function () {
//执行搜索重载
table.reload('currentTableId', {
url: '/company/allConstructionUnit',
page: {
curr: 1
},
where: req
}, 'data');
}
});
}
//监听状态操作
form.on('switch(changeState)', function (obj) {
var req = new Map;
if (obj.elem.checked) {
req["state"] = 1;
}
req["id"] = this.value;
// 如果启用
$.ajax({
url: "/company/ConstructionUnitStateEdit",
type: 'post',
dataType: 'json',
contentType: "application/json;charset=utf-8",
data: JSON.stringify(req),
beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
},
success: function (data) {
layer.close(this.layerIndex);
if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情
} else {
layer.msg("修改成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
}, function () {
// 执行表格重加载
table.reload('currentTableId', {
url: '/company/allConstructionUnit',
page: {
curr: 1
},
});
})
}
}
})
});
});
</script>
</body>
</html>
Loading…
Cancel
Save