Skip to content

Commit

Permalink
导游负责线路的报名、线路的分配导游完成
Browse files Browse the repository at this point in the history
  • Loading branch information
Qusijia committed May 6, 2020
1 parent dcfae2e commit 6761dcb
Show file tree
Hide file tree
Showing 7 changed files with 161 additions and 4 deletions.
4 changes: 4 additions & 0 deletions src/main/java/com/example/travel/api/TravelApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,10 @@ public interface TravelApi {
@GetMapping("/travel/guideLineFrom/{id}")
//查询某导游负责线路统计信息 @RequestParam(value = "page", defaultValue = "0") int page, @RequestParam(value = "limit", defaultValue = "10") int limit, @RequestParam(value = "queryType", defaultValue = "") String queryType, @RequestParam(value = "query", defaultValue = "") String query
public Map<String, Object> guideLinePage(@PathVariable int id,@RequestParam int page, @RequestParam int limit, @RequestParam(value = "query", defaultValue = "") String query );

//为线路修改负责导游
@PostMapping("/travel/updateGuide/{id}")
String updateGuide(@PathVariable int id, int gid);
}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,5 +150,29 @@ public Map<String, Object> guideLinePage(int id, int page, int limit, String que
return resultMap;
}

@Override
public String updateGuide(int id, int gid) {
if(travelService.LineNum(id)==0){//线路报名人数为0
if(gid != 0 ){
Guide guide = guideService.findById(gid);
int lev = guide.getLev();//获取导游等级 最多带线 1:2条
List<GuideToTravel> travels =travelService.LineFrom(gid);
if(lev == 1){
if(travels.size()>=2){
return "0";//该导游已达到最大带团数,请选择别的导游
}
}
travelService.delTravelAndGuide(id);
travelService.saveTravelGuid(new Travel_Guide(id,gid));
}

}else{
return "2";//线路正在开展
}


return "1";//成功
}


}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpSession;
Expand Down Expand Up @@ -51,6 +52,10 @@ public String del(int id , HttpSession session) {

@Override
public String add( Travel travel , HttpSession session) {
UT ut = utService.findByUT(session.getAttribute("username").toString(),travel.getId());
if(!StringUtils.isEmpty(ut)){
return "2";//已报名
}
utService.add(session.getAttribute("username").toString(),travel);
return "1";
}
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/example/travel/mapper/UTMapper.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public interface UTMapper {
Integer add(String uname, Travel t);

//通过用户名和tid查找
@Select("SELECT * FROM user_travel WHERE uname= #{name} AND tid= #{tid}")
@Select("SELECT * FROM user_travel WHERE uname= #{uname} AND tid= #{tid}")
UT findByUT(String uname,int tid);

//线路报名排行
Expand Down
6 changes: 4 additions & 2 deletions src/main/resources/templates/guide/guideTravel.html
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,10 @@
var layEvent = obj.event;
if (layEvent === 'sign') {
layer.confirm('是否确认报名?', function(index) {
obj.del(); //删除对应行(tr)的DOM结构
// obj.del(); //删除对应行(tr)的DOM结构
layer.close(index);
$.ajax({
url: '/ut/add',//退选
url: '/ut/add',
data: JSON.stringify(data),
contentType : 'application/json',
type: 'POST',
Expand All @@ -62,6 +62,8 @@
window.location.reload();
}
});
}else if(msg == '2'){
layer.msg("已报名!");
}
}
});
Expand Down
2 changes: 1 addition & 1 deletion src/main/resources/templates/travel/addtravel.html
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@
content += '<option value="' + data.data[i].id+ '">' + data.data[i].name + '</option>';
}

alert(data);
//alert(data);
// layer.msg(content);
$("#service").append(content);
}
Expand Down
122 changes: 122 additions & 0 deletions src/main/resources/templates/travel/travel.html
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,19 @@
</shiro:hasPermission>
<table class="layui-hide" id="ut" lay-filter="ut"></table>
</div>

<form class="layui-form" >

<div class="layui-form-item" id="redio" lay-filter="chapterRender" hidden="hidden">
<label class="layui-form-label">负责导游:</label>
<div class="layui-input-block" id="service">
<!-- <input type="checkbox" name="0" title="写作" checked>-->
<!-- <input type="checkbox" name="like[read]" title="阅读" checked>-->
<!-- <input type="checkbox" name="like[dai]" title="发呆">-->
</div>
</div>
</form>

<script type="text/html" id="barDemo">
<shiro:hasPermission name="retrieve">
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail" >查看</a>
Expand All @@ -50,6 +63,16 @@
</script>

<script src="../layui/layui.js"></script>
<!--头工具栏-->
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container">
<shiro:hasPermission name="update-travel">
<button class="layui-btn layui-btn-sm " lay-event="role">分配导游</button>
</shiro:hasPermission>
<!-- <button class="layui-btn layui-btn-sm" lay-event="delete">删除</button>-->
<!-- <button class="layui-btn layui-btn-sm" lay-event="update">编辑</button>-->
</div>
</script>
<!--行工具栏-->
<script type="text/html" id="toolbar">
<a class="layui-btn layui-btn-xs" lay-event="sign">报名</a>
Expand All @@ -65,14 +88,17 @@
layui.use(['table', 'jquery', 'layer', "form"], function () {
var table = layui.table;
var $ = layui.jquery;
var form=layui.form;
//渲染数据表格
table.render({
elem: '#ut' // elem: document.getElementById('selectlist')
, cellMinWidth: 80
, url: '/travel/findAllPage' //数据接口
, page: true //开启分页
, id: 'ut'
,toolbar: '#toolbarDemo'
, cols: [[ //表头
{type: 'checkbox', fixed: 'left'},
{field: 'id', title: 'ID', sort: true, fixed: 'left'},
{field: 'name', title: '线路名称'},
{field: 'line', title: '具体线路'},
Expand All @@ -81,6 +107,76 @@
{fixed: 'right',title: '操作', align: 'center', toolbar: '#toolbar'}
]]
});

var lists;
//监听头工具栏事件
table.on('toolbar(ut)', function(obj){
var checkStatus = table.checkStatus(obj.config.id)
,data = checkStatus.data; //获取选中的数据
lists=data;
switch(obj.event){
case 'role':
if(data.length === 0){
layer.msg('请选择一行');
} else {
//页面层-自定义
layer.open({
type: 1,
content: $("#redio"),
area: 'auto'
,btn: ['确定', '退出']
,yes: function(index, layero) {
// alert( $("input[name='role']:checked").val());
var arr = new Array();
$("input:checkbox[name='guide']:checked").each(function(i) {
arr[i] = $(this).val();
});
// alert(arr);
// var _data='role='+ $("input[name='role']:checked").val();
for(var i=0;i<data.length;i++) {
var id = data[i].id;
for(var j = 0,len=arr.length; j < len; j++) {
var _data='gid='+ arr[i];
$.ajax({
type: "post",
data: _data,
url: 'travel/updateGuide/' + id,
success: function (msg) {
layer.close(index);
if (msg == '1') {
layer.msg("修改成功");
window.location.reload();
}else if(msg == '0'){
layer.msg("该导游已达到最大带团数,请选择别的导游");
}else if (msg == '2'){
layer.msg("线路正在开展");
}
}

});
}
}


}
,btn2: function(index, layero){
//按钮【按钮二】的回调

//return false 开启该代码可禁止点击该按钮关闭
}
,cancel: function(){
//右上角关闭回调

//return false 开启该代码可禁止点击该按钮关闭
}

});
}

break;
};
});

//行工具栏进行监听
table.on('tool(ut)', function (obj) {
var $ = layui.jquery;
Expand Down Expand Up @@ -140,6 +236,32 @@
}
});

$.ajax({
url: '/guide/findSelect',
// dataType: 'json',
type: 'get',
success: function(data) {
if (data !== null) {
$("#service").empty();
var content = ' <input type="checkbox" name="guide" title="请选择" value="0" >';
var content;
for(var i=0;i<data.data.length;i++)
{
content += '<input type="checkbox" name="guide" value="' + data.data[i].id+ '"title="' + data.data[i].name + '">';
}

// alert(data);
// layer.msg(content);
$("#service").append(content);
}

form.render('checkbox');

}


});

//搜索提交监听
$('#search').on('click', function () {
var query = $("#query").val();
Expand Down

0 comments on commit 6761dcb

Please sign in to comment.