define(['$', 'template', 'user', 'config', 'native', 'IScroll'], function ($, template, user, config, native, IScroll) { function back(event) { event.preventDefault(); $(document).trigger('spa:navigate', { hash: '', pushData: { dontNeedReload: true } }); } function reloadData(pageData, type, more) { var $view = this; var $doc = $(document); $doc.trigger('spa:openloader'); user.getOrderList(user.id, type, function (res) { $doc.trigger('spa:closeloader'); if (res.success) { var time = new Date().getTime(); var tpl = template('myOrder/list', { orders: user.orders[type].data, hasMore: user.orders[type].hasMore, type: type, time: parseInt(time / 1000), chubao: config.isChubao }); $('.more-container', $view).find('.btn-more-orders').attr('data-type', type); if (res.current_page >= res.sum_page) { $('.more-container', $view).addClass('hide'); } else { $('.more-container', $view).removeClass('hide'); } // if (more) { // $('.list-content', $view).append(tpl); // } else { // $('.list-content', $view).html(tpl); // } $('.list-content', $view).html(tpl); setTimeout(function() { pageData.scroll = new IScroll('#myOrderScroll'); }, 50); // if (pageData.scroll) { // pageData.scroll.refresh(); // } } else { $doc.trigger('spa:openpanel', ['simpleAlert', { message: res.message }]); } }, more) } var t = 0; return { title: '壹管家上门服务', body: '', init: function (pageData, dtd) { var $view = this; var $doc = $(document); //返回 $view.on('swipeRight', function (event) { back.call(this, event); }); $.newTouch('.back-button', function (event) { back.call(this, event); }, $view); $view.on('tapBackButton', function(event) { back.call(this, event); }); // tab切换 $.newTouch('.order-type-control .control-item', function(event) { var orderType = $(this).data('order-type'); var i = $(this).index(); t = parseFloat(i) + 1; reloadData.call($view, pageData, orderType); }, $view); // 详情 OrderDetail $.newTouch('.btn-order-detail', function(event) { var id = $(this).attr('data-order-id'); var i = $(this).parents('.table-view').index(); $doc.trigger('spa:navigate', { hash: 'OrderDetail/' + id, pushData: { index: i } }); }, $view); // 更多 $.newTouch('.btn-more-orders', function (event) { var orderType = $(this).attr('data-type'); reloadData.call($view, pageData, orderType, true); }, $view); // 去支付 $.newTouch('.order-btn-pay', function(event) { event.preventDefault(); $doc.trigger('spa:navigate', { hash: 'pay', pushData: { animate: 'slideInUp', orderID: $(this).data('order-id'), backHash: 'myOrder/1' } }); }, $view); // 取消 $.newTouch('.order-btn-cancel', function(event) { event.preventDefault(); var orderID = $(this).attr('data-order-id'); $doc.trigger('spa:openloader'); user.cancelOrder(orderID, function(res) { $doc.trigger('spa:closeloader'); if (res.success) { reloadData.call($view, pageData, 1); $doc.trigger('spa:openpanel', ['simpleAlert', { message: '取消订单成功' }]); } else $doc.trigger('spa:openpanel', ['simpleAlert', { message: res.message }]); }) }, $view); // 去评价 $.newTouch('.order-btn-review', function(event) { var obj = $(this); if (obj.hasClass('disable')) { return false; } var orderID = obj.data('order-id'); $doc.trigger('spa:openpanel', ['postReview', { orderID: orderID, didPostReview: function() { obj.addClass('disable').text('已评价'); } }]); }, $view); // 申请退款 $.newTouch('.order-btn-refund', function(event) { var html = '4000328170'; if ($(this).hasClass('btn-alert-info')) { $doc.trigger('spa:openpanel', ['simpleAlert', { message: '预约时间两个小时内申请退款将扣除50%订单金额。确定退款请电话联系客服。', html: config.isWX ? html: '', buttons: [{ text: '取消', class: 'btn-default', callback: function() { } },{ text: '联系客服', class: 'btn-primary', callback: function() { native.call('4000328170'); } }] }]); return; } else { var orderID = $(this).attr('data-order-id'); $doc.trigger('spa:openpanel', ['simpleAlert', { title: '申请退款', message: '退款将退至您的支付账户', html: '(3-10个工作日内到账)', buttons: [{ text: '确定申请', class: 'btn-primary', callback: function() { user.refundOrder(orderID, function(res) { if (res.success) { $('.control-item', $view).eq(2).addClass('active').siblings().removeClass('active'); reloadData.call($view, pageData, 2); } else { $doc.trigger('spa:openpanel', ['simpleAlert', { message: res.message }]); } }); } },{ text: '取消申请', class: 'btn-default', callback: function() { } }] }]); } }, $view); // 追加服务 $.newTouch('.order-btn-append', function(event) { var appendType = $(this).attr('data-type'); var orderID = $(this).attr('data-order-id'); var petName = $(this).attr('data-order-name'); var i = $(this).parents('.table-view').index(); $doc.trigger('spa:navigate', { hash: 'append', pushData: { appendType: appendType, orderID: orderID, petName: petName, index: i } }); }, $view); // 确认完成 $.newTouch('.order-btn-done', function(event) { event.preventDefault(); var orderId = $(this).attr('data-order-id'); $doc.trigger('spa:openpanel', ['simpleAlert', { message: '确认服务已完成?', buttons: [{ text: '确认', class: 'btn-primary', callback: function() { user.finishOrder(orderId, function(res) { if (res.success) { $doc.trigger('spa:navigate', { hash: 'order-done' }); } else { $doc.trigger('spa:openpanel', ['simpleAlert', { message: res.message }]); } }); } },{ text: '取消', class: 'btn-default', callback: function() { } }] }]); }, $view); dtd.resolve(); }, beforeopen: function (pageData, dtd) { var $view = this; var $doc = $(document); var tpl = template('myOrder/index', { showNavBar: !config.isWX && !config.isChubao, type: t == 0 ? pageData.requestData[0]: t }); $('.spa-page-body', $view).html(tpl); if (pageData.scroll) { pageData.scroll.destroy(); pageData.scroll = null; } var orderType = t == 0 ? pageData.requestData[0]: t; // var orderType = parseFloat(pageData.requestData[0]) || 1; var orderArray = [1, 3, 2]; reloadData.call(this, pageData, orderArray[orderType - 1]); dtd.resolve(); }, afteropen: function (pageData, dtd) { var $view = this; dtd.resolve(); if (config.isWX) { wx.ready(function(){ wx.onMenuShareTimeline({ title: '宠物上门服务,首选壹管家APP', link: 'http://www.wozhua.mobi/o2o/web/index', imgUrl: 'http://wozhua-others.qiniudn.com/icon-o2o-home.jpg' }); wx.onMenuShareAppMessage({ title: '宠物上门服务,首选壹管家APP', desc: '足不出户,就能享受专业保洁师为您家爱宠提供的贴心服务!', link: 'http://www.wozhua.mobi/o2o/web/index', imgUrl: 'http://wozhua-others.qiniudn.com/icon-o2o-home.jpg' }); }); } }, afterclose: function(pageData, dtd) { t = 0; } } })