123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- define(['$', 'template', 'order', 'config', 'user', 'api'], function ($, template, order, config, user, api) {
- function back(backHash) {
- $(document).trigger('spa:navigate', {
- hash: backHash
- });
- }
- var cachePageData = {};
- 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;
- var pushData = pageData.pushData;
- $doc.trigger('spa:navigate', {
- hash: pushData.backHash
- });
- 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: '请输入有效的兑换码'
- }]);
- return;
- } 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 $view = this;
- var pushData = pageData.pushData;
- if (pushData.needReload) {
- pushData.needReload = false;
- var pickerTemp = pushData.temp ? pushData.temp : 'picker/index';
- var tpl = template(pickerTemp, {
- options: pushData['options'],
- unuseables: pushData['unuseables'],
- title: pushData['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');
- }, 10);
- };
- dtd.resolve();
- }
- }
- })
|