123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- define(['$', 'template', 'product', 'order', 'cart', 'native', 'helper', 'user', 'api', 'config', 'address', 'IScroll'], function ($, template, product, order, cart ,native, helper, user, api, config, address, IScroll) {
- function back(event) {
- event.preventDefault();
- $(document).trigger('spa:navigate', {
- hash: 'myOrder/1',
- pushData: {
- dontNeedReload: true
- }
- });
- }
- var cachePageData = {
- extraCost: 0
- }; //page内部的数据传递
- return {
- title: '壹管家上门服务',
- body: '',
- init: function (pageData, dtd) {
- var $view = this;
- var $doc = $(document);
- //返回
- $.newTouch('.back-button', function (event) {
- back.call(this, event);
- }, $view);
- $view.on('tapBackButton', function (event) {
- back.call(this, event);
- });
- // 选择附加服务
- $.newTouch('.item-checkbox', function (event) {
- event.preventDefault();
- var select = $(this).data('select'),
- id = $(this).data('id'),
- index = $(this).parent().index(),
- price = $(this).data('price');
- if (!$(this).hasClass('checked')) {
- $(this).addClass('checked');
- cachePageData.extraCost += parseFloat(price);
- } else {
- $(this).removeClass('checked');
- cachePageData.extraCost -= parseFloat(price);
- }
- $('.order-cost', $view).html('¥' + cachePageData.extraCost);
- }, $view);
- // 提交订单
- $.newTouch('.btn-place', function (event) {
- event.preventDefault();
- if (!$('.extra-service-list', $view).find('a').hasClass('checked')) {
- $doc.trigger('spa:openpanel', ['simpleAlert', {
- message: '您还没有选择服务'
- }]);
- return;
- }
- $doc.trigger('spa:openloader');
- var extraSeivce = [];
- $('.extra-service-list', $view).find('a').each(function(index, el) {
- if ($(el).hasClass('checked')) {
- var id = $(el).attr('data-id');
- var param = {
- product_id: id,
- count: 1
- }
- extraSeivce.push(param);
- }
- });
- order.appendOrder(
- cachePageData.orderID,
- user.id,
- JSON.stringify(extraSeivce)
- , function(res){
- $doc.trigger('spa:closeloader');
- if (res.success) {
- user.appendOrder = res.data;
- $doc.trigger('spa:navigate', {
- hash: 'append-pay',
- pushData: {
- appendID: res.data.id,
- orderID: cachePageData.orderID
- }
- });
- }
- })
- }, $view);
- dtd.resolve();
- },
- beforeopen: function (pageData, dtd) {
- var $view = this;
- var $doc = $(document);
- var pushData = pageData.pushData;
- var appendType = pushData.appendType;
- var orderID = pushData.orderID;
- var petName = pushData.petName;
- var index = pushData["index"];
- cachePageData.appendType = appendType;
- cachePageData.orderID = orderID;
- cachePageData.petName = petName;
- cachePageData.extraCost = 0;
- var temp = [];
- var temparray = [];
- var appendOrder = user.orders[1].data[index].append_orders; // 追加订单的服务
- var order = user.orders[1].data[index].products; // 下单时的服务
- if (order.length) {
- order.forEach(function(el, index) {
- if (el.is_extra) {
- temp[el.id] = true;
- }
- });
- }
- if (appendOrder.length) {
- appendOrder.forEach(function(el, index) {
- el['products'].forEach(function(e, i) {
- temp[e.id] = true;
- })
- });
- }
- var extraService = product.getExtraServiceList(appendType, petName);
- extraService.forEach(function(e, i) {
- if (!temp[e.id]) {
- temparray.push(e);
- }
- });
- var extraService = product.getExtraServiceList(appendType, petName);
- // 设置订单优惠券
- var tmpData = {
- extraService: temparray,
- showNavBar: !config.isWX && !config.isChubao
- };
- var tpl = template('placeOrder/append', tmpData);
- $view.find('.spa-page-body').html(tpl);
- dtd.resolve();
- },
- afteropen: function(pageData, dtd){
- native.registerEvent(true);
- dtd.resolve();
- },
- afterclose: function(pageData){
- native.registerEvent(false);
- }
- }
- })
|