var cancelCost = function(data){ if(!PFT.Util.isObject(data)) return data; var cancelCost = data.cancel_cost; var extra = data.extra || (data["extra"]={}); var reb = data.reb; var rebType = data.reb_type; var adaptReb = function(val,rebType){ var text = "" if(rebType==1){ //1收取手续费元,0百分比, text += reb/100 + "元"; }else{ text += "结算价的" + reb + "%"; } return text; }; var beginTimePerfix = (function(ptype){ return{ "A" : "游玩日期前", "B" : "游玩日期前", "C" : "入住时间前", "F" : "游玩日期前", "H" : "演出前", "G" : "用餐日期前" }[ptype] })(data.p_type); extra["cancel_cost"] = []; var pr = cancelCost.length==0 ? "" : "最低"; extra.cancel_cost.push(pr+"退票手续费为"+adaptReb(reb,rebType)); if(reb==0){ extra["reb"] = "无"; }else if(cancelCost.length==0){ if(rebType==1){ //1收取手续费元,0百分比, extra["reb"] = reb/100 + "元"; }else{ extra["reb"] = reb + "%"; } }else{ extra["reb"] = "阶梯收费"; } for(var i=0,len=cancelCost.length; i<len; i++){ var item = cancelCost[i]; var time = item.c_days; var type = item.c_type; var cost = item.c_cost; var html = ""; html += beginTimePerfix; html += MinueToDayTime(time)+"内,退票手续费为" + adaptReb(cost,type) extra.cancel_cost.push(html); } return data; };
success : function(res){ res = res || {}; var code = res.code; var data = res.data; var msg = res.msg || PFT.AJAX_ERROR_TEXT; var ptype = data.p_type; var extra = {}; if(code==200){ var validTime = data.validTime; if(validTime==0){ extra["validTime"] = "仅当天有效"; }else{ var pre = data.validType==1 ? "下单后" : "游玩日期后"; if(validTime.indexOf("~")<0){ extra["validTime"] = (pre+validTime+"天内有效"); }else{ extra["validTime"] = (pre+validTime+"内有效"); } } //验证时间(全天都可验时,不显示) //"verifyTime": -1 -1表示不限验证时间, [0,1,3,4,5,6]表示周一周二周四周五周六周日可验, 2016-08-01~2016-08-10表示此时间段可验 var verifyTime = data.verifyTime; var verifyTimeResult = "限"; if(verifyTime==-1){ extra["verifyTime"] = "验证时间不限"; }else if(Object.prototype.toString.call(verifyTime)=="[object Array]"){ for(var i in verifyTime){ var str = { 0 : "周日", 1 : "周一", 2 : "周二", 3 : "周三", 4 : "周四", 5 : "周五", 6 : "周六" }[verifyTime[i]]; verifyTimeResult += (str + " "); } extra["verifyTime"] = (verifyTimeResult + "使用"); }else{ extra["verifyTime"] = "限" + verifyTime + "使用"; } //2不可退,1游玩日期前可退,0有效期前可退 var refund_rule = data.refund_rule; var refund_early_time = MinueToDayTime(data.refund_early_time); if(refund_rule==1){ extra["refund_rule"] = "有效期前"+refund_early_time+"可退"; }else if(refund_rule==0){ if(ptype=="C"){ extra["refund_rule"] = "入住日期前可退"; }else if(ptype=="G"){ extra["refund_rule"] = "用餐日期前可退"; }else if(ptype=="H"){ extra["refund_rule"] = "演出日期前可退"; }else{ extra["refund_rule"] = "游玩日期前可退"; } }else if(refund_rule==2){ extra["refund_rule"] = "不可退"; } //如果是酒店类产品添加默认离店时间 extra["endDate"] = CalendarCore.nextDay(data.startDate); //涉及到钱的,后端都是以分单位返回,前端需要显示成元 var tickets = data.tickets; for(var i=0,len=tickets.length; i<len; i++){ var ticket = tickets[i]; var ext = ticket.extra || (ticket.extra={}); ext["js"] = ticket.js/100; ext["ls"] = ticket.ls/100; ext["ms"] = ticket.ms/100; ext["reb"] = extra["reb"]; ext["p_type"] = data.p_type; } //支付方式里,把返回的钱数除100 var pay = data.fragment.pay; var credit = pay.credit=="unlimit" ? pay.credit : (pay.credit/100); var remain = pay.remain / 100; data.fragment.pay.credit = credit; data.fragment.pay.remain = remain; var batch_check = data.batch_check; var batch_day = data.batch_day; if(batch_check==1 && batch_day!=0){ //开启分批验证 并且不能设置为不限验证数 extra["batch_day"] = "本次提交的订单,每日最多使用" + batch_day + "张"; } data["extra"] = extra; data = cancelCost(data); opt.success(data); }else{ opt.fail(msg,code); } },
success : function(res){ res = res || {}; var code = res.code; var data = res.data; var msg = res.msg || PFT.AJAX_ERROR_TEXT; if(code==200){ var validTime = data.validTime; if(validTime==0){ data["validTime"] = "仅当天有效"; }else{ var pre = data.validType==1 ? "下单后" : "游玩日期(含)"; if(validTime.indexOf("~")<0){ data["validTime"] = (pre+validTime+"天内有效"); }else{ data["validTime"] = (pre+validTime+"内有效"); } } //验证时间(全天都可验时,不显示) //"verifyTime": -1 -1表示不限验证时间, [0,1,3,4,5,6]表示周一周二周四周五周六周日可验, 2016-08-01~2016-08-10表示此时间段可验 var verifyTime = data.verifyTime; var verifyTimeResult = "限"; if(verifyTime==-1){ data["verifyTime"] = ""; }else if(Object.prototype.toString.call(verifyTime)=="[object Array]"){ for(var i in verifyTime){ var str = { 0 : "周日", 1 : "周一", 2 : "周二", 3 : "周三", 4 : "周四", 5 : "周五", 6 : "周六" }[verifyTime[i]]; verifyTimeResult += (str + " "); } data["verifyTime"] = (verifyTimeResult + "使用"); }else{ data["verifyTime"] = "限" + verifyTime + "使用"; } //2不可退,1游玩日期前可退,0有效期前可退 var refund_rule = data.refund_rule; var refund_early_time = MinueToDayTime(data.refund_early_time); if(refund_rule==1){ data["refund_rule_text"] = "有效期前"+refund_early_time+"可退"; }else if(refund_rule==0){ data["refund_rule_text"] = "游玩日期前可退"; }else if(refund_rule==2){ data["refund_rule_text"] = "不可退"; }else if(refund_rule==3){ data["refund_rule_text"] = "随时退"; } data.tickets.forEach(function(item,index){ var buy_up = item.buy_up; //限制最大购买张数(即一次最多只能购买多少张) var buy_low = item.buy_low; //限制最少购买张数(即一次最少需要购买多少张) if(buy_low==0) item["buy_low"] = -1;//后端返回0时,即表示不限 (这里要我吐槽一下坑爹的后端,一会是-1 一会是0) if(buy_up==0) item["buy_up"] = -1; }) var reb = data.reb; var reb_type = data.reb_type; data["reb"] = reb * 1; data["reb_type"] = reb_type * 1; var batch_check = data.batch_check; var batch_day = data.batch_day; if(batch_check==1 && batch_day!=0){ //开启分批验证 并且不能设置为不限验证数 data["batch_day"] = "本次提交的订单,每日最多使用" + batch_day + "张"; } if(!data.startDate) data["startDate"] = CalendarCore.gettoday(); opt.success(data); }else{ opt.fail(msg); } }