Browse Source

添加充值卡列表、充值

jmx 8 năm trước cách đây
mục cha
commit
85a3882255

+ 1 - 0
www/webapp/o2o/build.js

@@ -11,6 +11,7 @@
     include: [
       'ratchet',
       'pageHome',
+      'pageRecharge',
       'pageMine',
       'pageProduct',
       'pagePlaceOrder',

+ 2 - 0
www/webapp/o2o/dist/js/build.txt

@@ -19,6 +19,8 @@ main.js
 build/template.js
 IScroll.js
 page/home.js
+model/recharge.js
+page/rechargee.js
 page/mine.js
 model/cart.js
 model/review.js

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
www/webapp/o2o/dist/js/build/template.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
www/webapp/o2o/dist/js/main.js


+ 1 - 0
www/webapp/o2o/dist/js/model/recharge.js

@@ -0,0 +1 @@
+define(["base","$","native","api","user","config"],function(e,t,n,r,i){var s=function(){if(typeof s.instance=="object")return s.instance;s.instance=this,this.storagePrefix="recharge"};return s.prototype=new e,s.prototype.getRechargeList=function(e){var t=this;r.getRechargeList({},function(t){t.success,typeof e=="function"&&e(t)})},s.prototype.addRechargeorder=function(e,t){var n=this;r.addRechargeorder({user_id:e.user_id,recharge_id:e.recharge_id},function(e){e.success,typeof t=="function"&&t(e)})},new s});

+ 1 - 1
www/webapp/o2o/dist/js/page/mine.js

@@ -1 +1 @@
-define(["$","template","IScroll","user","native","config"],function(e,t,n,r,i,s){function o(t){t.preventDefault(),t.preventDefault(),e(document).trigger("spa:navigate",{hash:"home",pushData:{dontNeedReload:!0}})}return{title:"我的",body:"",init:function(t,n){var i=this,s=e(document);i.on("swipeRight",function(e){o.call(this,e)}),e.newTouch(".back-button",function(e){o.call(this,e)},i),i.on("tapBackButton",function(e){o.call(this,e)}),e.newTouch(".btn-my-order",function(e){e.preventDefault(),s.trigger("spa:navigate",{hash:"myOrder/1",pushData:{needReload:!0}})},i),e.newTouch(".btn-address-list",function(e){e.preventDefault(),s.trigger("spa:navigate",{hash:"recharge",pushData:{needReload:!0}})},i),e.newTouch(".btn-coupon",function(e){e.preventDefault(),r.checkLogin(function(){s.trigger("spa:navigate",{hash:"myCoupon"})})},i),e.newTouch(".btn-helper",function(){event.preventDefault(),s.trigger("spa:navigate",{hash:"help"})},i),e.newTouch(".btn-about",function(){event.preventDefault(),s.trigger("spa:navigate",{hash:"about"})},i),n.resolve()},beforeopen:function(e,t){t.resolve()},afteropen:function(i,o){var u=this,a=e(document),f=t("mine/index",{showNavBar:!s.isWX,userName:r.name==""?"未登录":r.name,userBalance:r.balance});e(".spa-page-body",u).html(f),setTimeout(function(){i.scroll=new n("#mineScroll")},500),o.resolve()},beforeclose:function(e,t){t.resolve()}}});
+define(["$","template","IScroll","user","native","config"],function(e,t,n,r,i,s){function o(t){t.preventDefault(),e(document).trigger("spa:navigate",{hash:"home",pushData:{dontNeedReload:!0}})}return{title:"我的",body:"",init:function(t,n){var i=this,s=e(document);i.on("swipeRight",function(e){o.call(this,e)}),e.newTouch(".back-button",function(e){o.call(this,e)},i),i.on("tapBackButton",function(e){o.call(this,e)}),e.newTouch(".btn-my-order",function(e){e.preventDefault(),s.trigger("spa:navigate",{hash:"myOrder/1",pushData:{needReload:!0}})},i),e.newTouch(".btn-recharge",function(e){e.preventDefault(),s.trigger("spa:navigate",{hash:"recharge",pushData:{needReload:!0}})},i),e.newTouch(".btn-coupon",function(e){e.preventDefault(),r.checkLogin(function(){s.trigger("spa:navigate",{hash:"myCoupon"})})},i),e.newTouch(".btn-helper",function(){event.preventDefault(),s.trigger("spa:navigate",{hash:"help"})},i),e.newTouch(".btn-about",function(){event.preventDefault(),s.trigger("spa:navigate",{hash:"about"})},i),n.resolve()},beforeopen:function(e,t){t.resolve()},afteropen:function(i,o){var u=this,a=e(document),f=t("mine/index",{showNavBar:!s.isWX,userName:r.name==""?"未登录":r.name,userBalance:r.balance});e(".spa-page-body",u).html(f),setTimeout(function(){i.scroll=new n("#mineScroll")},500),o.resolve()},beforeclose:function(e,t){t.resolve()}}});

+ 1 - 0
www/webapp/o2o/dist/js/page/rechargee.js

@@ -0,0 +1 @@
+define(["$","template","IScroll","recharge","native","config","user"],function(e,t,n,r,i,s,o){function u(t){t.preventDefault(),e(document).trigger("spa:navigate",{hash:"",pushData:{dontNeedReload:!0}})}return{title:"充值卡",body:"",init:function(t,n){var i=this,s=e(document);i.on("swipeRight",function(e){u.call(this,e)}),e.newTouch(".back-button",function(e){u.call(this,e)},i),i.on("tapBackButton",function(e){u.call(this,e)}),e.newTouch(".btn-add-recharge",function(t){t.preventDefault(),s.trigger("spa:openloader"),r.addRechargeorder({user_id:o.id,recharge_id:e(this).attr("data-id")},function(e){s.trigger("spa:closeloader"),e.success&&console.log(e)})},i),n.resolve()},beforeopen:function(e,t){t.resolve()},afteropen:function(i,o){var u=this,a=e(document);a.trigger("spa:openloader"),r.getRechargeList(function(r){a.trigger("spa:closeloader");if(r.success){var o=t("recharge/index",{showNavBar:!s.isWX,recharges:r.data});e(".spa-page-body",u).html(o),setTimeout(function(){i.scroll=new n("#rechargeScroll")},500)}}),o.resolve()},beforeclose:function(e,t){t.resolve()}}});

+ 37 - 3
www/webapp/o2o/js/build/template.js

@@ -872,7 +872,7 @@ $out+='"/> ';
 });
 $out+=' </div> </div> </div> </div> </div> <div class="prevent-scroll"> <div class="box my-action">  <div class="width-percent-33"> <div class="title-container-square"> <a class="btn-home-action btn-action-my-order"> <div class="logo logo-my-order"></div> <div class="name">首页</div> </a> </div> </div>  <div class="width-percent-33"> <div class="title-container-square"> <a class="btn-home-action btn-action-logo"> <div class="logo logo-my-logo"></div> </a> </div> </div>  <div class="width-percent-33"> <div class="title-container-square"> <a class="btn-home-action btn-action-coupon"> <div class="logo logo-coupon"></div> <div class="name">我的</div> </a> </div> </div> </div> </div> </div> </div> </div> ';
 return new String($out);
-});/*v:38*/
+});/*v:40*/
 template('mine/index',function($data,$filename
 /**/) {
 'use strict';var $utils=this,$helpers=$utils.$helpers,showNavBar=$data.showNavBar,$escape=$utils.$escape,title=$data.title,userName=$data.userName,userBalance=$data.userBalance,$out='';if(showNavBar ){
@@ -1826,8 +1826,42 @@ $out+=' </div> </li> ';
 });
 $out+=' ';
 return new String($out);
-});/*v:3*/
-template('recharge/index','<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> </body> </html>');/*v:1*/
+});/*v:11*/
+template('recharge/cell',function($data,$filename
+/**/) {
+'use strict';var $utils=this,$helpers=$utils.$helpers,$each=$utils.$each,recharges=$data.recharges,recharge=$data.recharge,i=$data.i,$escape=$utils.$escape,$out='';$each(recharges,function(recharge,i){
+$out+=' <li class="table-view-cell media"> <a class="address-item"> <div class="media-body"> <span class="denomination" style="font-size: 18px; color: #59616c">充值';
+$out+=$escape(recharge.denomination);
+$out+='元</span> <p class="detail"> ';
+if(recharge.cash_back ){
+$out+=' 返还';
+$out+=$escape(recharge.cash_back);
+$out+='现金 ';
+}else if(recharge.coupons ){
+$out+=' 赠送价值';
+$out+=$escape(recharge.coupons);
+$out+='元的优惠券 ';
+}
+$out+=' </p> </div> </a> <button class="btn btn-add-recharge" data-id="';
+$out+=$escape(recharge.id);
+$out+='" data-index="';
+$out+=$escape(i);
+$out+='">立即充值</button> </li> ';
+});
+return new String($out);
+});/*v:7*/
+template('recharge/index',function($data,$filename
+/**/) {
+'use strict';var $utils=this,$helpers=$utils.$helpers,showNavBar=$data.showNavBar,$escape=$utils.$escape,title=$data.title,include=function(filename,data){data=data||$data;var text=$utils.$include(filename,data,$filename);$out+=text;return $out;},$out='';if(showNavBar ){
+$out+=' <header class="bar bar-nav"> <a class="left-button back-button"> <div class="icon icon-left-nav"></div> </a> <h1 class="title">';
+$out+=$escape(title);
+$out+='</h1> </header> ';
+}
+$out+=' <div class="content"> <div class="box-container box box-vertical"> <div id="rechargeScroll" class="scroll-container box-flex-1"> <ul class="table-view list-content"> ';
+include('./cell');
+$out+=' </ul> </div> </div> </div>';
+return new String($out);
+});/*v:1*/
 template('review/post',function($data,$filename
 /**/) {
 'use strict';var $utils=this,$helpers=$utils.$helpers,include=function(filename,data){data=data||$data;var text=$utils.$include(filename,data,$filename);$out+=text;return $out;},showUpload=$data.showUpload,showInput=$data.showInput,$escape=$utils.$escape,cacheReview=$data.cacheReview,$out='';$out+='<div class="box box-container box-align-end"> <div class="review-container"> <div class="review-star-container"> <span>满意度评分:</span> ';

+ 16 - 1
www/webapp/o2o/js/main.js

@@ -26,8 +26,10 @@ require.config({
     order: './model/order',
     review: './model/review',
     address: './model/address',
+    recharge: './model/recharge',
     //page
     pageHome: './page/home',
+    pageRecharge: './page/rechargee',
     pageProduct: './page/product',
     pageProductInfo: './page/productInfo',
     pageDesc: './page/desc',
@@ -106,6 +108,19 @@ require(['$', 'spa', 'native', 'helper', 'ratchet', 'config', 'user'], function
     }
   };
 
+  //充值卡
+  var pageRecharge = {
+    route: 'recharge',
+    classname: 'recharge',
+    animate: 'pushInLeft',
+    view: function () {
+      var $page = this;
+      requirejs(['pageRecharge'], function (viewData) {
+        $doc.trigger('spa:initpage', [$page, viewData])
+      })
+    }
+  };
+
   //个人中心
   var pageMine = {
     route: 'mine',
@@ -428,7 +443,7 @@ require(['$', 'spa', 'native', 'helper', 'ratchet', 'config', 'user'], function
     }
   };
 
-  $doc.trigger('spa:route', [pageHome, pageMine, pageProduct, pageProductInfo, pageDesc, pagePlaceOrder, pagePicker, pagePay, pageAppendPay, pagePaySuccess, pageMyOrder, pageMyOrderDetail, pageMyCoupon, pageAgreement, pageAddressList, pageAddressAdd, pageAddressDetail, pageAddressPoisiton, pageHire, pageComing, pageActivityCat, pageAppend, pageRefund, pageRefundSuccess, pageOrderDone, pageBeautician, pageBeauticianDetail]);
+  $doc.trigger('spa:route', [pageHome, pageRecharge, pageMine, pageProduct, pageProductInfo, pageDesc, pagePlaceOrder, pagePicker, pagePay, pageAppendPay, pagePaySuccess, pageMyOrder, pageMyOrderDetail, pageMyCoupon, pageAgreement, pageAddressList, pageAddressAdd, pageAddressDetail, pageAddressPoisiton, pageHire, pageComing, pageActivityCat, pageAppend, pageRefund, pageRefundSuccess, pageOrderDone, pageBeautician, pageBeauticianDetail]);
 
   var panelAlert = {
     id: 'simpleAlert',

+ 45 - 0
www/webapp/o2o/js/model/recharge.js

@@ -0,0 +1,45 @@
+/**
+ * 充值卡模型
+ */
+define(['base', '$', 'native', 'api', 'user', 'config'], function (base, $, native, api, user) {
+    var Recharge = function () {
+        if (typeof Recharge.instance === 'object') {
+            return Recharge.instance;
+        }
+        Recharge.instance = this;
+        this.storagePrefix = 'recharge';
+    }
+
+    Recharge.prototype = new base();
+
+    //  获取充值卡列表
+    Recharge.prototype.getRechargeList = function (callback) {
+        var that = this;
+        api.getRechargeList({}, function (res) {
+            if (res.success) {
+
+            }
+            if (typeof(callback) == 'function') {
+                callback(res);
+            }
+        });
+    };
+
+    //  充值
+    Recharge.prototype.addRechargeorder = function (data, callback) {
+        var that = this;
+        api.addRechargeorder({
+            user_id: data.user_id,
+            recharge_id: data.recharge_id
+        }, function (res) {
+            if (res.success) {
+               //更新user
+            }
+            if (typeof(callback) == 'function') {
+                callback(res);
+            }
+        });
+    };
+
+    return new Recharge();
+})

+ 1 - 5
www/webapp/o2o/js/page/mine.js

@@ -1,10 +1,6 @@
 define(['$', 'template', 'IScroll', 'user', 'native', 'config'], function ($, template, IScroll, user, native, config) {
 
-    /*
-     * 先定义一些模块内用到的function
-     */
     function back(event) {
-        event.preventDefault();
         event.preventDefault();
         $(document).trigger('spa:navigate', {
             hash: 'home',
@@ -72,7 +68,7 @@ define(['$', 'template', 'IScroll', 'user', 'native', 'config'], function ($, te
             // }, $view);
 
             // 充值卡
-            $.newTouch('.btn-address-list', function (event) {
+            $.newTouch('.btn-recharge', function (event) {
                 event.preventDefault();
                 $doc.trigger('spa:navigate', {
                     hash: 'recharge',

+ 84 - 0
www/webapp/o2o/js/page/rechargee.js

@@ -0,0 +1,84 @@
+define(['$', 'template', 'IScroll', 'recharge', 'native', 'config', 'user'], function ($, template, IScroll, recharge, native, config, user) {
+
+    function back(event) {
+        event.preventDefault();
+        $(document).trigger('spa:navigate', {
+            hash: '',
+            pushData: {
+                dontNeedReload: true
+            }
+        });
+    }
+
+    return {
+        title: '充值卡',
+        body: '',
+        init: function (pageData, dtd) {
+            /* this是什么? */
+            var $view = this;
+            var $doc = $(document);
+
+            /* 定义按钮事件。
+             * 为什么不是$(selector).onclick(function)呢?
+             */
+
+            // 返回
+            $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);
+            });
+
+            // 点击充值
+            $.newTouch('.btn-add-recharge', function (event) {
+                event.preventDefault();
+                $doc.trigger('spa:openloader');
+                recharge.addRechargeorder({
+                    user_id: user.id,
+                    recharge_id: $(this).attr('data-id')
+                }, function (res) {
+                    $doc.trigger('spa:closeloader');
+                    if (res.success) {
+                        console.log(res);
+                    }
+                });
+            }, $view);
+
+            dtd.resolve();
+        },
+        beforeopen: function (pageData, dtd) {
+            dtd.resolve();
+        },
+        afteropen: function (pageData, dtd) {
+            var $view = this;
+            var $doc = $(document);
+
+            $doc.trigger('spa:openloader');
+            recharge.getRechargeList(function (res) {
+                $doc.trigger('spa:closeloader');
+                if (res.success) {
+                    var tpl = template('recharge/index', {
+                        showNavBar: !config.isWX,
+                        recharges: res.data
+                    });
+                    $('.spa-page-body', $view).html(tpl);
+
+                    setTimeout(function () {
+                        pageData.scroll = new IScroll('#rechargeScroll');
+                    }, 500);
+                }
+            });
+
+            dtd.resolve();
+        },
+        beforeclose: function (pageData, dtd) {
+            dtd.resolve();
+        }
+    }
+})

+ 17 - 0
www/webapp/o2o/tpl/recharge/cell.html

@@ -0,0 +1,17 @@
+{{ each recharges as recharge i }}
+<li class="table-view-cell media">
+    <a class="address-item">
+        <div class="media-body">
+			<span class="denomination" style="font-size: 18px; color: #59616c">充值{{ recharge.denomination }}元</span>
+            <p class="detail">
+                {{ if recharge.cash_back }}
+                返还{{ recharge.cash_back }}现金
+                {{ else if recharge.coupons }}
+                赠送价值{{ recharge.coupons }}元的优惠券
+                {{ /if }}
+            </p>
+        </div>
+    </a>
+    <button class="btn btn-add-recharge" data-id="{{ recharge.id }}" data-index="{{ i }}">立即充值</button>
+</li>
+{{ /each }}

+ 17 - 10
www/webapp/o2o/tpl/recharge/index.html

@@ -1,10 +1,17 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="UTF-8">
-    <title>Title</title>
-</head>
-<body>
-
-</body>
-</html>
+{{ if showNavBar }}
+<header class="bar bar-nav">
+    <a class="left-button back-button">
+        <div class="icon icon-left-nav"></div>
+    </a>
+    <h1 class="title">{{title}}</h1>
+</header>
+{{ /if }}
+<div class="content">
+    <div class="box-container box box-vertical">
+        <div id="rechargeScroll" class="scroll-container box-flex-1">
+            <ul class="table-view list-content">
+                {{include './cell'}}
+            </ul>
+        </div>
+    </div>
+</div>

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác