123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- define(['$', 'template', 'native', 'config', 'address', 'user', 'api', 'order'], function ($, template, native, config, address, user, api, order) {
- /* 返回上一级 */
- function back(event, backHash) {
- event.preventDefault();
- $(document).trigger('spa:navigate', {
- hash: backHash
- });
- }
- var hash;
- var cachePageData = {}; //page内部的数据传递
- return {
- title: '壹管家上门服务',
- body: '',
- init: function (pageData, dtd) {
- var $view = this;
- var $doc = $(document);
- /* 三个返回操作 */
- $.newTouch('.back-button', function (event) {
- back.call(this, event, hash);
- }, $view);
- $view.on('tapBackButton', function (event) {
- back.call(this, event, hash);
- });
- $view.on('swipeRight', function (event) {
- back.call(this, event, hash);
- });
- /* 点击一条地址 */
- $.newTouch('.address-item', function (event) {
- var addressID = $(this).data('id'),
- addressIndex = $(this).data('index');
- /* 检查用户的地址是否在服务站内 */
- api.checkAddress({
- address_id: addressID,
- user_id: user.id
- }, function (res) {
- if (res.success) {
- /* 如果在,应该返回placeOrder页面,把数据更新的回调写在placeOrder */
- $view.trigger('tapBackButton');
- if (pageData.callback && $.isFunction(pageData.callback.onSelect)) {
- pageData.callback.onSelect(address.list[addressIndex], res.data.station);
- }
- } else {
- /* 如果不在,弹出一个对话框。 */
- $doc.trigger('spa:openpanel', ['simpleAlert', {
- message: res.message
- }]);
- }
- });
- }, $view);
- // 新增地址
- $.newTouch('.btn-add', function (event) {
- $doc.trigger('spa:navigate', {
- hash: 'addressAdd',
- pushData: {
- needReload: true
- },
- callback: cachePageData.callback
- });
- }, $view);
- // 修改地址
- $.newTouch('.btn-edit', function (event) {
- var $addressItem = $(this),
- addressID = $(this).data('id'),
- addressIndex = $(this).data('index');
- $doc.trigger('spa:navigate', {
- hash: 'addressDetail',
- pushData: {
- addressIndex: addressIndex,
- addressID: addressID,
- needReload: true
- },
- callback: {
- onSelect: function (addressID) {
- }
- }
- });
- }, $view);
- dtd.resolve();
- },
- beforeopen: function (pageData, dtd) {
- var $view = this;
- var $doc = $(document);
- var pushData = pageData.pushData;
- hash = pushData.backHash;
- if (hash !== 'mine') {
- hash = 'placeOrder';
- }
- cachePageData.needReload = pushData.hasOwnProperty('needReload') ? pushData.needReload : false;
- // if (cachePageData.needReload) {
- cachePageData.callback = pageData.callback;
- address.getList({
- request_from: 'weixin',
- user_id: user.id
- }, function (res) {
- if (res.success) {
- var tpl = template('address/list/index', {
- showNavBar: !config.isWX && !config.isChubao,
- addText: '添加地址',
- addresses: address.list
- });
- $('.spa-page-body', $view).html(tpl);
- if (cachePageData.scroll) {
- cachePageData.scroll.destroy();
- cachePageData.scroll = null;
- }
- setTimeout(function () {
- cachePageData.scroll = new IScroll('#addressListScroll');
- }, 10);
- }
- ;
- });
- // }
- dtd.resolve();
- },
- afteropen: function (pageData, dtd) {
- dtd.resolve();
- }
- };
- })
|