业务流程图
用户在线索明细页面,点击某一个"解除关联"按钮,弹出确认解除的窗口;
用户点击"确定"按钮,完成解除线索关联市场活动的功能.
*解除成功之后,刷新已经关联的市场活动列表
*解除失败,提示信息,列表也不刷新
1.用户点击解除关联按钮
2.弹出确认接触的对话框
3.用户点击确定
获取activityId 和clueId 每个解除关联的a标签都有 一个自定义的标签activityId 保存市场活动的id 获取自定义的标签 $(this).attr("activityId");
4.解除请求(异步请求)activityId clueId两个参数
5.controller 获取参数 封装成实体类对象 (ClueActivityRealtion)
6.编写ClueActivityRealtionService层 和mapper层
根据id 删除线索市场活动关联关系
7.根据处理结果 生成相应信息
线索页面的市场活动 通过查询的activityList 通过作用域获取出参数 遍历展示出列表
<div style="position: relative;top: 0px;"> <table class="table table-hover" style="width: 900px;"> <thead> <tr style="color: #B3B3B3;"> <td>名称</td> <td>开始日期</td> <td>结束日期</td> <td>所有者</td> <td></td> </tr> </thead> <tbody id="relationedTBody"> <c:forEach items="${activityList}" var="act"> <tr id="tr_${act.id}"> <td>${act.name}</td> <td>${act.startDate}</td> <td>${act.endDate}</td> <td>${act.owner}</td> <td><a href="javascript:void(0);" activityId="${act.id}" style="text-decoration: none;"><span class="glyphicon glyphicon-remove"></span>解除关联</a></td> </tr> </c:forEach> <%--<tr> <td>发传单</td> <td>2020-10-10</td> <td>2020-10-20</td> <td>zhangsan</td> <td><a href="javascript:void(0);" style="text-decoration: none;"><span class="glyphicon glyphicon-remove"></span>解除关联</a></td> </tr> --%> </tbody> </table> </div>
给解除按钮添加单击事件
点击解除按钮 获取元素的参数 把参数发送给后台 ajax请求
$("#relationedTBody").on("click","a",function () { //收集参数 var activityId=$(this).attr("activityId"); var clueId="${clue.id}"; if(window.confirm("确定删除吗?")){ //发送请求 $.ajax({ url:'workbench/clue/saveUnbund.do', data:{ activityId:activityId, clueId:clueId }, type:'post', dataType:'json', success:function (data) { if(data.code=="1"){ //刷新已经关联的市场活动列表 $("#tr_"+activityId).remove(); }else{ //提示信息 alert(data.message); } } }); } });
ClueController
@RequestMapping("/workbench/clue/saveUnbund.do") @ResponseBody public Object saveUnbund(ClueActivityRelation relation){ ReturnObject returnObject=new ReturnObject(); //调用service层方法 删除线索和市场活动关联关系 try{ int ret = clueActivityRelationService.deleteClueActivityRealtionByClueIdActivityId(relation); if (ret>0){ returnObject.setCode("1"); }else{ returnObject.setCode("0"); returnObject.setMessage("删除线索市场活动失败"); } }catch (Exception e){ returnObject.setCode("0"); returnObject.setMessage("删除线索市场活动失败"); e.printStackTrace(); } return returnObject; }