placeOrder.js 9.0 KB

1
  1. define(["$","template","order","native","helper","user","api","config","address","IScroll"],function(e,t,n,r,i,s,o,u,a,f){function h(t,n){t.scroll&&(t.scrollHeight||(t.scrollHeight=0),clearInterval(t.scrollCheck),clearTimeout(t.scrollCheckAutoCancel),t.scrollCheck=setInterval(function(){t.scroll.refresh(),e.isFunction(n)&&n()},50),t.scrollCheckAutoCancel=setTimeout(function(){clearInterval(t.scrollCheck)},500))}function p(t){t.preventDefault(),e(document).trigger("spa:navigate",{hash:c,pushData:{dontNeedReload:!0}})}function d(e){e.scroll&&(e.scroll.destroy(),e.scroll=null);var t;setTimeout(function(){e.scroll=new f("#placeOrderScroll")},700)}function v(e){n.payValue=n.cost-n.couponValue,e.text("¥"+n.payValue)}var l,c;return{title:"壹管家上门服务",body:"",init:function(t,r){var o=this,a=e(document);e.newTouch(".back-button",function(e){p.call(this,e)},o),o.on("tapBackButton",function(e){p.call(this,e)}),o.on("swipeRight",function(e){p.call(this,e)}),e.newTouch(".product-pic-o2o",function(e){a.trigger("spa:navigate",{hash:"product",pushData:{produc:l,needReload:!0}})},o),e.newTouch(".btn-main-service",function(t){if(e(this).hasClass("on"))return;e(this).addClass("on"),e(this).parent().siblings().find(".btn").removeClass("on"),n.appendID=e(this).attr("data-extra-type"),n.price=e(this).attr("data-extra-price"),n.cost=n.price*n.productCount,e(".coupon-selected-name",o).html("选择优惠券"),n.couponValue=0,n.couponID="",v(e(".order-cost",o))},o),e.newTouch(".select-address",function(t){t.preventDefault(),!u.isAndroid&&!u.isIOS&&a.trigger("spa:navigate",{hash:"addressList",pushData:{backHash:"placeOrder"},callback:{onSelect:function(t,r){n.set("address",t,!0),n.set("stationID",r,!0);var i="";n.address.address.poi?i=n.address.address.city+n.address.address.area+n.address.address.poi.name+n.address.address.detail:i=n.address.address.province+n.address.address.city+n.address.address.area+n.address.address.detail,e(".order-address",o).html(i),e(".order-username",o).html(n.address.name),e(".order-mobile",o).html(n.address.mobile)}}})},o),e.newTouch(".btn-sub",function(t){if(n.productCount<=1)return;if(n.price==0){a.trigger("spa:openpanel",["simpleAlert",{message:"请选择服务"}]);return}var r=e(".service-count",o).children(".input-num").val();if(isNaN(r))return a.trigger("spa:openpanel",["simpleAlert",{message:"请输入数字"}]),!1;n.productCount=r,n.productCount--,n.cost=n.productCount*n.price,e(".service-count",o).children(".input-num").val(n.productCount),v(e(".order-cost",o))},o),e.newTouch("body",function(t){var r=e(".service-count",o).children(".input-num").val();if(isNaN(r))return a.trigger("spa:openpanel",["simpleAlert",{message:"请输入数字"}]),!1;n.productCount=r,n.cost=n.productCount*n.price,e(".service-count",o).children(".input-num").val(n.productCount)}),e.newTouch(".btn-add",function(t){if(n.productCount>999)return;if(n.price==0){a.trigger("spa:openpanel",["simpleAlert",{message:"请选择服务"}]);return}var r=e(".service-count",o).children(".input-num").val();if(isNaN(r))return a.trigger("spa:openpanel",["simpleAlert",{message:"请输入数字"}]),!1;n.productCount=r,n.productCount++,n.cost=n.productCount*n.price,e(".service-count",o).children(".input-num").val(n.productCount),v(e(".order-cost",o))},o),e.newTouch(".show-time-picker",function(t){t.preventDefault();var r=["周日","周一","周二","周三","周四","周五","周六"],s=["今天"],u={columnDay:[],columnTime:[]},f=(new Date).getHours(),l=0;for(var c=2;c<=9;c++){var h=new Date;h.setDate(h.getDate()+c);var p=h.getMonth()+1,d=h.getDate(),m=p+"月"+d+"日",g=i.getDateStr({date:h,separator:"-"}),y;c<s.length?y=s[c]:y=r[h.getDay()];var b=!1;n.bookingDate&&(b=!0),g==n.bookingDate?l=c:l=-1,u.columnDay.push({text:m,day:y,value:g,selected:b,selectIndex:l})}var w=new Date,E=w.getMonth()+1,S=w.getDate(),f=(new Date).getHours(),x=(new Date).getMinutes(),T=0;for(var c=9;c<=19;c++){var N=c+":00",b=!1;n.bookingTime&&(b=!0),N==n.bookingTime?T=c:T=-1,u.columnTime.push({month:E,day:S,min:x,num:c,now:f,text:N,value:N,selected:b,selectIndex:T})}a.trigger("spa:openpanel",["dataPicker",{columns:u,selected:n.bookingDate,callback:{onSelect:function(t,r,i){e(".coupon-selected-name",o).html("选择优惠券"),n.couponValue=0,n.couponID="",v(e(".order-cost",o)),n.bookingDate=t[0],n.bookingTime=t[1],n.bookingTimeStr=r[0]+" "+r[1],n.precedence=i,e(".booking-time",o).html(n.bookingTimeStr)}}}])},o),e.newTouch(".show-coupon-picker",function(t){if(e(this).hasClass("disabled"))return;t.preventDefault();var r="";if(l.extra&&!n.appendID){a.trigger("spa:openpanel",["simpleAlert",{message:"请选择服务"}]);return}r=JSON.stringify([{type:n.appendID,price:n.price}]);if(!n.bookingDate){a.trigger("spa:openpanel",["simpleAlert",{message:"请选择服务时间"}]);return}a.trigger("spa:navigate",{hash:"picker",pushData:{title:"选择优惠券",backHash:"placeOrder",products:JSON.stringify([{product_id:n.productID,count:n.productCount}]),time:n.bookingDate+" "+n.bookingTime+":00",type:n.productType,extraJson:r},callback:{onSelect:function(t){if(t=="")e(".coupon-selected-name",o).text("不使用"),n.couponValue=0;else for(var r in s.orderCoupons){var i=s.orderCoupons[r];if(i.id==t){e(".coupon-selected-name",o).text(i.coupon.name),n.couponValue=i.coupon.value;break}}n.couponID=t,v(e(".order-cost",o))}}})},o),e.newTouch(".agreement-touch-area",function(t){var n=e(".agreement-checkbox",o);n.prop("checked")?(n.prop("checked",!1),e(".btn-place").addClass("disable")):(n.prop("checked",!0),e(".btn-place").removeClass("disable"))},o),e.newTouch(".agreement",function(e){a.trigger("spa:navigate",{hash:"agreement"})},o),e.newTouch(".btn-place",function(t){t.preventDefault();if(e(this).hasClass("disable"))return!1;if(l.type_str=="擦玻璃"&&n.productCount<10){a.trigger("spa:openpanel",["simpleAlert",{message:"数量不少于10平米"}]);return}if(l.type_str=="新居开荒"&&n.productCount<50){a.trigger("spa:openpanel",["simpleAlert",{message:"数量不少于50平米"}]);return}if(l.extra&&!n.appendID){a.trigger("spa:openpanel",["simpleAlert",{message:"请选择服务"}]);return}if(!n.address){a.trigger("spa:openpanel",["simpleAlert",{message:"请选择地址"}]);return}if(!n.bookingTimeStr&&l.name!=="双11虹口区日常保洁特价体验"){a.trigger("spa:openpanel",["simpleAlert",{message:"请选择上门时间"}]);return}var r="wx_pub";e(".order-memo",o).blur(),n.set("memo",e(".order-memo",o).val()),a.trigger("spa:openloader"),s.balance>=n.payValue?(n.balance=n.payValue,n.payValue=0):(n.balance=s.balance,n.payValue=n.payValue-n.balance),n.addOrder(s.id,r,function(t){a.trigger("spa:closeloader");if(t.success){s.orders[1].data.push(t.data);var r=s.orderCoupons,i=n.couponID,u=[];e.each(r,function(e,t){t.id!==i&&u.push(r[e])}),s.orderCoupons=u;var f=n.id;n.reset(),e(".booking-time",o).html("请选择"),t.data.status==1?a.trigger("spa:navigate",{hash:"paySuccess"}):a.trigger("spa:navigate",{hash:"pay",pushData:{orderID:f,backHash:""}})}else a.trigger("spa:openpanel",["simpleAlert",{message:t.message}])})},o),r.resolve()},beforeopen:function(r,i){setTimeout(function(){e(".booking-time").html()=="选择服务时间"&&n.bookingTimeStr.length>0&&e(".booking-time",f).html(n.bookingTimeStr);var t=a.defaultAddress;s.id.length==0?e(".order-mobile").html("添加服务地址"):s.id.length!=0&&typeof t!="undefined"?o.checkAddress({address_id:t.address_id,user_id:s.id},function(r){r.success?e(".order-username").html()==""&&(n.address=a.defaultAddress,n.stationID=r.data.station,e(".order-username").html(t.name),e(".order-mobile").html(t.mobile),e(".order-address").html(t.address.city+t.address.area+t.address.detail).css("text-align","right")):e(".order-mobile").html("添加服务地址")}):s.id.length!=0&&typeof t=="undefined"&&e(".order-mobile").html("添加服务地址")},500);var f=this,p=r.pushData;c=p.backHash?p.backHash:"";if(p.hasOwnProperty("needReset")&&p.needReset){p.needReset=!1,l=p.product,n.productType=l.type,n.productID=l.id,n.productCount=1,n.couponValue=0;var m={env:u,showNavBar:!u.isWX&&!u.isChubao,imgSrc:l.imgSrc,title:l.name,extra:l.extra,showCoupon:s.orderCoupons.length,balance:s.balance},g=t("placeOrder/index",m);f.find(".spa-page-body").html(g),l.extra?(n.price=0,n.cost=0):(n.price=l.price,n.cost=l.price*n.productCount),v(e(".order-cost",f)),d(r),e(".order-memo",f).focus(function(e){var t=this;h(r,function(){r.scroll&&r.scroll.scrollToElement(t,0)})}),e(".order-memo",f).on("closeKeyboard",function(t){h(r),e(this).blur()}),e(".order-memo",f).blur(function(e){h(r)}),e("#order-form",f).on("submit",function(t){return e(this).blur(),!1})}i.resolve()},afteropen:function(e,t){var n=e.pushData.productType;r.registerEvent(!0),t.resolve(),u.isWX&&wx.ready(function(){wx.onMenuShareTimeline({title:"家政服务"+l.desc[1].content+",首选壹管家",link:"http://www.yiguanjia.me/o2o/web/index",imgUrl:l.desc[0].content}),wx.onMenuShareAppMessage({title:"家政服务"+l.desc[1].content+",首选壹管家",desc:"全程管家,精心每一个细节",link:"http://www.yiguanjia.me/o2o/web/index",imgUrl:l.desc[0].content})})},afterclose:function(e){r.registerEvent(!1)}}});