瀏覽代碼

分页 加载中..

zhangxinlei1996 6 年之前
父節點
當前提交
eb64d54423
共有 2 個文件被更改,包括 145 次插入46 次删除
  1. 61 11
      src/jfw/front/wxMyOrder.go
  2. 84 35
      src/web/templates/weixin/dataExport/dataExport_toMyOrder.html

+ 61 - 11
src/jfw/front/wxMyOrder.go

@@ -18,6 +18,7 @@ type WxMyOrder struct {
 	myMenu          xweb.Mapper `xweb:"/front/wxMyOrder/myMenu"`                //微信我的目录
 	toMyWxOrder     xweb.Mapper `xweb:"/front/wxMyOrder/toMyWxOrder"`           //微信我的订单
 	myOrder         xweb.Mapper `xweb:"/front/wxMyOrder/myOrder"`               //查询订单
+	myOrderPaging   xweb.Mapper `xweb:"/front/wxMyOrder/myOrder/myOrderPaging"` //查询订单--分页
 	wxToOrderDetail xweb.Mapper `xweb:"/front/wxMyOrder/wxToOrderDetail/(.*)"`  //订单详情
 	wxGetOrderCode  xweb.Mapper `xweb:"/front/wxMyOrder/wxGetOrderCode/(\\w+)"` //申请发票获取订单编号
 	wxApplyInvoice  xweb.Mapper `xweb:"/front/wxMyOrder/wxApplyInvoice"`        //申请发票
@@ -28,6 +29,12 @@ func init() {
 	xweb.AddAction(&WxMyOrder{})
 }
 
+var (
+	pagesize_max int  = 10
+	haveNextPage bool = false
+	res          []map[string]interface{}
+)
+
 func (w *WxMyOrder) MyMenu() error {
 	if w.Session().Get("userId") == nil {
 		return w.Redirect("/swordfish/about")
@@ -41,8 +48,6 @@ func (w *WxMyOrder) ToMyWxOrder() error {
 
 func (w *WxMyOrder) MyOrder() error {
 	//每页显示数
-	pagesize_max := 10
-	var haveNextPage bool
 	userId := w.Session().Get("userId")
 	openid := w.Session().Get("s_m_openid")
 	queryM := map[string]interface{}{}
@@ -65,18 +70,15 @@ func (w *WxMyOrder) MyOrder() error {
 		queryM["order_status"] = map[string]interface{}{"ne": orderStatus_deleted}
 	}
 	//
-	res := public.Mysql.Find(tableName_order, queryM, "", "create_time desc", -1, 0)
+	//res := *public.Mysql.Find(tableName_order, queryM, "", "create_time desc", -1, 0)
 	log.Println("res:", res)
 	//总数
-	count := len(*res)
-	if count > pagesize_max {
-		haveNextPage = true
-	} else {
-		haveNextPage = false
-	}
-	log.Println("count:", count)
+	haveNextPage, res, _ = w.Datas(queryM, 1)
+	log.Println(res)
+	count := len(res)
+	log.Println("count:", len(res))
 	if res != nil {
-		for _, v := range *res {
+		for _, v := range res {
 			filter_publishtime := v["filter_publishtime"]
 			if filter_publishtime != nil || filter_publishtime != "" {
 				timeArr := strings.Split(filter_publishtime.(string), "_")
@@ -107,6 +109,38 @@ func (w *WxMyOrder) MyOrder() error {
 	return nil
 }
 
+func (w *WxMyOrder) MyOrderPaging() error {
+	log.Println("@@@")
+	userId := w.Session().Get("userId")
+	openid := w.Session().Get("s_m_openid")
+	queryM := map[string]interface{}{}
+	if userId == nil || openid == nil {
+		return w.Redirect("/swordfish/share/-1")
+	} else {
+		queryM["user_openid"] = openid
+	}
+	// 0全部 1未支付 2已支付
+	typ := w.GetString("type")
+	pageNum, _ := w.GetInteger("pageNum")
+	if typ != "0" && typ != "" {
+		var status string
+		if typ == "1" {
+			status = orderStatus_unPaid
+		} else if typ == "2" {
+			status = orderStatus_paid
+		}
+		queryM["order_status"] = status
+	} else {
+		queryM["order_status"] = map[string]interface{}{"ne": orderStatus_deleted}
+	}
+	res, haveNextPage, _ := w.Datas(queryM, pageNum)
+	w.ServeJson(map[string]interface{}{
+		"haveNextPage": haveNextPage,
+		"res":          res,
+	})
+	return nil
+}
+
 func (w *WxMyOrder) WxToOrderDetail(orderCode string) error {
 	myOpenid := ""
 	if openid := w.GetSession("s_m_openid"); openid != nil {
@@ -245,3 +279,19 @@ func (w *WxMyOrder) WxPaySuccess(order_code string) error {
 	w.T["order_code"] = order_code
 	return w.Render("/weixin/dataExport/dataExport_invoiceSuccess.html", &w.T)
 }
+
+func (w *WxMyOrder) Datas(queryM map[string]interface{}, pageNum int) (haveNextPage bool, result []map[string]interface{}, err error) {
+	res = *public.Mysql.Find(tableName_order, queryM, "", "create_time desc", -1, 0)
+	if len(res) > 0 {
+		start := (pageNum - 1) * pagesize_max
+		end := pageNum * pagesize_max
+		if end > len(res) {
+			end = len(res)
+		}
+		if start < len(res) {
+			result = res[start:end]
+		}
+	}
+	haveNextPage = len(result) >= pagesize_max
+	return
+}

+ 84 - 35
src/web/templates/weixin/dataExport/dataExport_toMyOrder.html

@@ -14,13 +14,21 @@
 		<link rel="stylesheet" href="/wx_dataExport/css/order_list.css">
 	</head>
 	<body>
+		<style>
+			.dropload-noData{
+				border-top: 0.01rem solid #e0e0e0;
+				text-align: center;
+				line-height: 40px;
+				background: #fff;
+			}
+			.dropload-refresh{
+				border-top: 0.01rem solid #e0e0e0;
+				text-align: center;
+				line-height: 40px;
+				background: #fff;
+			}
+		</style>
 		<div id="order_list">
-			<!-- <header class="header">
-				<a href="#" class="return pull-left">
-					<i class="icon iconfont">&#xe640;</i>
-				</a>
-				<h1 class="title">我的订单</h1>
-			</header> -->
 			<main class="main">
 				<div class="buttons-tab">
 					<ul>
@@ -39,7 +47,9 @@
 		</div>
 		<script src="/wx_dataExport/js/zepto.js"></script>
 		<script>
-			var hasNextPage=false;
+			var haveNextPage=false;
+			var pageIndex=1;
+			var wxflag = "";
 			$(function() {
 				//查看全部
 				queryOrder();
@@ -67,11 +77,11 @@
 						data:{
 							"type":typ
 						},
-						async:true,
+						async:false,
 						dataType: 'json',
 						success:function(data){
 							var list=data.res;
-							var hasNextPage=data.hasNextPage;
+						    haveNextPage=data.haveNextPage;
 							if (data.res&&data.res.length>0){
 								structureHtml(data.res);	
 							}else{
@@ -87,34 +97,73 @@
 			                console.log("query err");
 			            }
 					});	
-					console.log(hasNextPage)
-//					if(hasNextPage){
-//						setTimeout(function(){
-//							wxflag = $('.listcontent').dropload({
-//						        scrollArea : window,
-//								loadUpFn : function(me){
-//									//loadDatas(me,-1);
-//				          reloadFirstPage(me);//下拉刷新更新订阅词
-//								},
-//						        loadDownFn : function(me){
-//									loadDatas(me,lasttime);
-//						        }
-//						    });
-//						},1000);
-//					}else{
-//						wxflag = $('.listcontent').dropload({
-//					        scrollArea : window,
-//							loadUpFn : function(me){
-//								loadDatas(me,-1);
-//							},
-//					        loadDownFn : function(me){
-//								loadDatas(me,lasttime);
-//					        }
-//					    });
-//						noMoreData(wxflag);
-//					}
+					console.log(haveNextPage)
+					if(haveNextPage){
+						console.log("!")
+							wxflag = $('.tabs').dropload({
+						        scrollArea : window,
+						        loadDownFn : function(me){
+						        	alert("@@")
+									if(wxflag == null){
+										alert("@")
+										wxflag = me;
+									}
+						            $.ajax({
+						                type: 'post',
+						                url: '/front/wxMyOrder/myOrder/myOrderPaging',
+										data: {"pageNum": pageIndex,"type":typ },
+						                dataType: 'json',
+						                success: function(data){
+											//没有数据
+											if(data.res.length==0){
+												noMoreData(me);
+											}else{
+												pageIndex++;
+												structureHtml(data["res"]);
+												if(data.hasNextPage){
+													// 每次数据插入,必须重置
+													me.resetload();
+												}else{
+													noMoreData(me);
+												}
+											}
+						                },
+						                error: function(xhr, type){
+											noMoreData(me);
+						                }
+						            });
+						        }
+						    });
+						}else{
+							wxflag = $('.tabs').dropload({
+						        scrollArea : window,
+						        loadDownFn : function(me){
+									if(wxflag == null){
+										wxflag = me;
+									}
+									noMoreData(me);
+						        }
+						    });
+							noMoreData(wxflag);
+						}
 				}
 				
+				
+				function noMoreData(me){
+					if(me == null){
+						return;
+					}
+					wxflag = me;
+					hasNextPage = false;
+					// 锁定
+					me.lock();
+					// 无数据
+					me.noData();
+					// 即使加载出错,也得重置
+					me.resetload();
+				}
+				
+				
 				function structureHtml(object){
 					var listhtml='';
 					for(var index in object){