define(['$', 'template', 'order', 'config', 'user', 'api'], function ($, template, order, config, user, api) { function back(backHash) { $(document).trigger('spa:navigate', { hash: backHash }); } return { title: '壹管家上门服务', body: '', init: function (pageData, dtd) { var $view = this; var $doc = $(document); //返回 $.newTouch('.back-button', function (event) { event.preventDefault(); var pushData = pageData.pushData; back.call(this, pushData['backHash']); }, $view); $view.on('tapBackButton', function (event) { event.preventDefault(); var pushData = pageData.pushData; back.call(this, pushData['backHash']); }); $.newTouch('.picker-option', function () { event.preventDefault(); if ($(this).hasClass('unable')) return; $view.trigger('tapBackButton'); if (pageData.callback && $.isFunction(pageData.callback.onSelect)) { pageData.callback.onSelect($(this).data('value')); } }, $view); // 兑换 $.newTouch('.btn-coupon', function (event) { event.preventDefault(); var pushData = pageData.pushData; var val = $('#coupon-code', $view).val(); if (val.length < 8) { $doc.trigger('spa:openpanel', ['simpleAlert', { message: '请输入有效的兑换码' }]); } else { $(this).val(''); user.exchangeCoupon(val, function (res) { $doc.trigger('spa:openloader'); if (res.success) { api.getCouponList({ products: pushData.products, type: pushData.type, user_id: user.id }, function (res) { $doc.trigger('spa:closeloader'); $doc.trigger('spa:openpanel', ['simpleAlert', { message: res.message }]); if (res.success) { user.orderCoupons = res.data; var tpl = template('picker/cell', { options: res.data }); $view.find('.card-list').html(tpl); } }) } else { $doc.trigger('spa:closeloader'); $doc.trigger('spa:openpanel', ['simpleAlert', { message: res.message }]); } }) } }, $view); dtd.resolve(); }, beforeopen: function (pageData, dtd) { var $doc = $(document); var $view = this; var pushData = pageData.pushData; $doc.trigger('spa:openloader'); user.getCouponList(); api.getCouponList({ products: pushData.products, //产品 booking_time: pushData.time, //预订时间 user_id: user.id, //用户id type: pushData.type, //资源 extra: pushData.extraJson }, function (res) { var tpl = template('picker/coupon', { options: res.data, unuseables: res.unuseable_coupons, title: '选择代金券', showNavBar: !config.isWX && !config.isChubao }); $view.find('.spa-page-body').html(tpl); if (pageData.scroll) { pageData.scroll.destroy(); pageData.scroll = null; } setTimeout(function () { pageData.scroll = new IScroll('#pickerScroll'); }, 500); dtd.resolve(); $doc.trigger('spa:closeloader'); }); } } });