define(['$', 'template', 'IScroll', 'user', 'product', 'native', 'config', 'address', 'api'], function ($, template, IScroll, user, product, native, config, address, api) { var backHash; var myDate = new Date(); var year = myDate.getFullYear(); var month = myDate.getMonth(); var BalancsView=true; function back (event) { event.preventDefault(); $(document).trigger('spa:navigate', { hash: backHash, pushData: { dontNeedReload: true } }); } function payCharge(a,b,time){ var c=parseInt($(a).text()); if(b){ if(time=='month'){ if(c<12){ c++; } }else { c++; } }else { if(c>1){ c--; } } $(a).text(c) } /* 重置页面时调用,重新生成IScroll */ function fixScroll(pageData,type) { var id; switch (type) { case 1: id='#productDescScroll'; break; case 2: id='#orderContainer'; break; } if (pageData.scroll) { pageData.scroll.destroy(); pageData.scroll = null; } var placeOrderScroll; setTimeout(function () { pageData.scroll = new IScroll(id); }, 100); } function select(pageData,view){ var type = $('.control-item.active').data('order-type'); var startTime = $('.year-span').text()+'-'+$('.month-span').text()+'-01'; var endTime = $('.year-span').text()+'-'+$('.month-span').text()+'-30'; $('.type-container', view).hide(); switch (type) { case 1: $('#descContainer').show(); api.getBalanceLog({ id: user.id, start_time:startTime, end_time:endTime },function(res){ var balanceLog = res.message; // 判断余额使用记录是否为空 var j=0; for(var i in balanceLog) { if (balanceLog[i].amount > 0 && balanceLog[i].memo !== "微信下订单" && balanceLog[i].memo !== "下订单") { j++; } } if(j != 0){ BalancsView=false; } else { BalancsView=true; } if (!cachePageData.massage) { var tpl = template('balanceLog/productDescScroll', { balanceLog: balanceLog, BalancsView:BalancsView, }); $('.pad-b-1', view).html(tpl); setTimeout(function () { pageData.scroll = new IScroll('#productDescScroll'); }, 100); } }); break; case 2: $('#reviewContainer').show(); api.getBalanceLog({ id: user.id, start_time:startTime, end_time:endTime },function(res){ var balanceLog = res.message; // 判断余额使用记录是否为空 var j=0; for(var i in balanceLog){ if(balanceLog[i].memo=="微信下订单" || balanceLog[i].memo=="下订单" || balanceLog[i].amount<0 ){ j++; } } if(j != 0){ BalancsView=false; }else { BalancsView=true; } if (!cachePageData.massage) { var tpl = template('balanceLog/orderContainer', { balanceLog: balanceLog, BalancsView:BalancsView, }); $('.list-content', view).html(tpl); setTimeout(function () { pageData.scroll = new IScroll('#orderContainer'); }, 100); } }); break; } } var cachePageData = {}; //page内部的数据传递 return { title: '余额明细', body: '', init: function (pageData, dtd) { /* this是什么? */ 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) { event.preventDefault(); select(pageData,$view); var type = $('.control-item.active').data('order-type'); fixScroll(pageData,type); }, $view); // 切换时间 $.newTouch('.time-year', function (event) { event.preventDefault(); if($('.o2o-modal').css('display')=='none'){ $('.o2o-modal').css('display','block') } $('.modal-box-year').text($('.year-span').text()); $('.modal-box-month').text($('.month-span').text()); }, $view); // 加减 $.newTouch('.btn-year-add',function(event){ event.preventDefault(); payCharge($('.modal-box-year'),true,'year'); },$view); $.newTouch('.btn-year-sub',function(event){ event.preventDefault(); payCharge($('.modal-box-year'),false,'year'); },$view); $.newTouch('.btn-month-add',function(event){ event.preventDefault(); payCharge($('.modal-box-month'),true,'month'); },$view); $.newTouch('.btn-month-sub',function(event){ event.preventDefault(); payCharge($('.modal-box-month'),false,'month'); },$view); // 取消 $.newTouch('.cancel',function(event){ event.preventDefault(); $('.o2o-modal').css('display','none') },$view); // 确定 $.newTouch('.determine',function(event){ event.preventDefault(); $('.o2o-modal').css('display','none') $('.year-span').text($('.modal-box-year').text()); $('.month-span').text($('.modal-box-month').text()); select(pageData,$view); },$view); // 充值 $.newTouch('.btn-recharge',function (event) { event.preventDefault(); $doc.trigger('spa:navigate', { hash: 'recharge', pushData: { needReload: true, backHash: 'balanceLog' } }); },$view); // IScroll $.newTouch('.arrow',function (event){ event.preventDefault(); var type = $('.control-item.active').data('order-type'); // fixScroll(pageData,type); },$view); // 扩展显示 $.newTouch('.recharge-details',function (event) { event.preventDefault(); $(this).children('div.arrow').toggleClass('active'); if($(this).children('div.extended').css('display')=='none'){ $(this).children('div.extended').css('height','4rem').css('display','block'); $(this).siblings().children('div.extended').css('height','0').css('display','none'); $(this).siblings().children('div.arrow').removeClass('active'); }else { $(this).children('div.extended').css('height','0').css('display','none'); $(this).children('div.arrow-block').addClass('arrow') } },$view); dtd.resolve(); }, beforeopen: function (pageData, dtd) { /*获取上一页跳转的路由名称*/ var pushData = pageData.pushData; backHash = pushData.backHash ? pushData.backHash : ''; var $view = this; var $doc = $(document); var startTime = year+'-'+(month+1)+'-01'; var endTime = year+'-'+(month+1)+'-30'; // 获取余额明细 api.getBalanceLog({ id: user.id, start_time:startTime, end_time:endTime }, function (res) { if (res.success) { var balanceLog = res.message; // 判断余额使用记录是否为空 var j = 0; for(var i in balanceLog){ if(balanceLog[i].amount>0 && balanceLog[i].memo!=="微信下订单" && balanceLog[i].memo!=="下订单"){ j++; } } if(j != 0){ BalancsView=false; } else { BalancsView=true; } if (!cachePageData.massage) { var tpl = template('balanceLog/index', { balanceLog: balanceLog, year: year, BalancsView:BalancsView, month: month, title:'余额明细', userBalance: user.balance, showNavBar: !config.isWX && !config.isChubao, }); $('.spa-page-body', $view).html(tpl); setTimeout(function () { pageData.scroll = new IScroll('#productDescScroll'); }, 100); } } else if (res.error) { console.log('失败!'); } }); dtd.resolve(); }, afteropen: function (pageData, dtd) { var $view = this; var $doc = $(document); dtd.resolve(); }, beforeclose: function (pageData, dtd) { dtd.resolve(); } } })