Example #1
0
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;

};
Example #2
0
		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);
			}
		}