一、今日完成任務
退票
改簽
二、核心源碼:
(1)退票:
未支付、已退票、已改簽不能點擊退票
<c:forEach items="${list}" var="car"> <input type="hidden" value="${car.start_date}" id="s_date"/> <input type="hidden" value="${car.start_time}" id="s_time"/> <tr> <td>${car.odate}</td> <td>${car.urealname}</td> <td>二代身份證</td> <td>${car.ucard}</td> <td>${car.tnum} ${car.start_date} ${car.start_time}開<br/> ${car.begin_sta}-${car.end_sta} </td> <td>${car.seatnum}</td> <td>${car.oprice}</td> <td><c:if test="${car.state==0}">未支付</c:if> <c:if test="${car.state==1}">已支付</c:if> <c:if test="${car.state==2}">已退票</c:if> <c:if test="${car.state==3}">已改簽</c:if> </td> <td><c:if test="${car.state==0||car.state==2||car.state==3}">無操作</c:if> <c:if test="${car.state==1}"><a class='yd' href="javascript:tp('refund/${car.oid}')">退票</a><a href="change/${car.oid}" class="yd" onclick="">改簽</a> </c:if> </td> </tr> </c:forEach>
發車前兩小時內以及超過發車時間,不能退票
function tp(str){ var layer; layui.use('layer', function(){ layer = layui.layer; }); //查看是否已經超過發車時間 超過不予退票 var mydate = new Date(); var s_date=$("#s_date").val(); var s_time=$("#s_time").val(); var date2=new Date(s_date); if(date2.getTime()<mydate.getTime()){ layer.alert("發車前兩小時內以及超過發車時間,不能退票", {icon: 1,offset:['400px','900px']}); } }
//退票頁面 @RequestMapping("/refund/{oid}") public String refund(@PathVariable("oid")int oid,HttpServletRequest request){ CarTrainOrder selectFkOrder = carSerivce.selectFkOrder(oid); request.setAttribute("car", selectFkOrder); return "../refund.jsp"; }
//退票 //刪除車票信息 //更新座位數carinfo中seatnum //更新訂單表中state=2 @Delete("delete from ticketinfo where oid=#{oid}") public int deleteTicket(int oid); @Update("update carinfo set snum=snum+1 where cid=#{cid}") public int updateCarinfo(int cid); @Update("update orderinfo set state=2 where oid=#{oid}") public int updateOrder(int oid);
//退票 @RequestMapping("/confirmRefund") @ResponseBody public String confirmRefund(int oid,int cid){ //刪除車票信息 //更新座位數carinfo中seatnum //更新訂單表中state=2 int confirmRefund = carSerivce.confirmRefund(oid, cid); if(confirmRefund>0){ return "true"; } return "false"; }
頁面展示
(2)改簽
1.改簽車票時,不能變更出發地、目的地、票種和身份信息
//點擊圖標顯示地址 $(function(){ var layer; layui.use('layer', function(){ layer = layui.layer; }); //給文本框賦值 $("#begin").val("${car.begin_sta}"); $("#cf").val("${car.end_sta}"); //文本框設為只讀 $("#begin").attr("readonly",true); $("#cf").attr("readonly",true); $('#cf').removeAttr('onclick'); }); //點擊日期圖標彈出日期框 layui.use('laydate', function(){ var laydate = layui.laydate; //常規用法 laydate.render({ elem: '#time', eventElem:"#rq", trigger: 'click', min:minDate() }); }); function minDate() { var now = new Date(); return now.getFullYear() + "-" + (now.getMonth() + 1) + "-" + now.getDate(); }
三、遇到的問題:
1)業務流程不熟悉,花費時間較多
四、解決的方法:
1)瀏覽售票網站,參考功能設計
五、項目燃盡圖更新: