Toggle navigation
Toggle navigation
This project
Loading...
Sign in
fe
/
YOHOBUYPC
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
2
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Plain Diff
Browse Files
Authored by
uedxwg
9 years ago
Commit
d8496d383fac6cdd3191ce47c9d00de7af651d2d
2 parents
1077ee58
f05ba855
Merge branch 'develop' of
http://git.dev.yoho.cn/web/yohobuy
into develop
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
105 additions
and
43 deletions
docs/data-structure.md
static/js/me/order.js
template/m.yohobuy.com/actions/index/home/order.phtml
yohobuy/m.yohobuy.com/application/controllers/Home.php
docs/data-structure.md
View file @
d8496d3
...
...
@@ -939,14 +939,27 @@
### 我的订单
{
order: {
orders:
[
navs:
[
{
name: '',
active: true,
typeId: 1
},
...
],
//没有订单的情况不传orders
walkWayUrl: '' //随便逛逛url
]
}
}
//订单列表
{
orders: [
{
...//订单
}
]
//当无订单时,不传order,返回walkwayUrl
walkWayUrl: ''
}
//订单
{
...
...
static/js/me/order.js
View file @
d8496d3
...
...
@@ -11,36 +11,41 @@ var $ = require('jquery'),
var
$navLi
=
$
(
'#order-nav > li'
),
$orderContainer
=
$
(
'#order-container'
);
var
$curContainer
=
$orderContainer
.
children
(
'.orders
'
).
first
(
);
//保存当前显示的order-container
var
$curContainer
=
$orderContainer
.
children
(
'.orders
:not(.hide)'
);
//保存当前显示的order-container
var
winH
=
$
(
window
).
height
();
var
active
Index
=
0
;
//当前active的项的index
var
active
Type
=
$navLi
.
filter
(
'.active'
).
data
(
'type'
)
;
//当前active的项的index
var
orderPage
=
[
1
,
0
,
0
,
0
]
;
var
orderPage
=
{}
;
var
loading
=
false
;
var
inAjax
=
false
;
var
loading
=
require
(
'../plugin/loading'
);
var
navHammer
,
orderHammer
;
//加载订单
function
getOrders
()
{
var
opt
=
{
type
:
activeIndex
+
1
,
page
:
orderPage
[
activeIndex
]
+
1
},
num
;
type
:
activeType
,
page
:
orderPage
[
activeType
]
?
(
orderPage
[
activeType
]
+
1
)
:
1
};
if
(
loading
)
{
if
(
inAjax
)
{
return
;
}
inAjax
=
true
;
loading
.
show
();
$
.
ajax
({
type
:
'GET'
,
url
:
'/home/getOrders'
,
data
:
opt
,
success
:
function
(
data
)
{
var
num
;
if
(
data
.
code
===
200
)
{
orderPage
[
opt
.
type
]
=
opt
.
page
;
...
...
@@ -55,35 +60,54 @@ function getOrders() {
lazyLoad
(
$curContainer
.
children
(
'.order:gt('
+
(
num
-
1
)
+
') .lazy'
));
}
}
inAjax
=
false
;
loading
.
hide
();
}
});
}
lazyLoad
();
//初始化导航
(
function
()
{
var
liCount
=
$navLi
.
length
;
//默认4个导航项
if
(
liCount
===
4
)
{
return
;
}
$navLi
.
width
(
100
/
liCount
+
'%'
);
}());
loading
.
init
();
//导航切换
navHammer
=
new
Hammer
(
document
.
getElementById
(
'order-nav'
));
navHammer
.
on
(
'tap'
,
function
(
e
)
{
var
$cur
=
$
(
e
.
target
).
closest
(
'li'
);
var
$cur
=
$
(
e
.
target
).
closest
(
'li'
),
index
;
if
(
$cur
.
length
===
0
||
$cur
.
hasClass
(
'active'
))
{
return
;
}
activeIndex
=
+
$cur
.
index
();
index
=
$cur
.
index
();
$navLi
.
filter
(
'.active'
).
removeClass
(
'active'
);
$cur
.
addClass
(
'active'
);
$curContainer
.
addClass
(
'hide'
);
$curContainer
=
$orderContainer
.
children
(
':eq('
+
activeI
ndex
+
')'
).
removeClass
(
'hide'
);
$curContainer
=
$orderContainer
.
children
(
':eq('
+
i
ndex
+
')'
).
removeClass
(
'hide'
);
if
(
orderPage
[
activeIndex
]
>
0
)
{
activeType
=
$cur
.
data
(
'type'
);
if
(
orderPage
[
activeType
])
{
return
;
}
else
{
getOrders
();
}
});
//点击订单区域跳转订单详情页
...
...
@@ -109,6 +133,13 @@ orderHammer.on('tap', function(e) {
url
:
'/home/delOrder'
,
data
:
{
id
:
id
},
success
:
function
(
data
)
{
if
(
data
.
code
===
200
)
{
//删除订单页面刷新
location
.
href
=
location
.
href
;
}
}
});
}
else
if
(
$cur
.
closest
(
'.cancel'
).
length
>
0
)
{
...
...
@@ -119,6 +150,13 @@ orderHammer.on('tap', function(e) {
url
:
'/home/cancelOrder'
,
data
:
{
id
:
id
},
success
:
function
(
data
)
{
if
(
data
.
code
===
200
)
{
//取消订单
alert
(
'order cancel'
);
}
}
});
}
else
{
...
...
@@ -134,4 +172,7 @@ $(window).scroll(function() {
$
(
document
).
height
()
-
0.25
*
$orderContainer
.
height
())
{
getOrders
();
}
});
\ No newline at end of file
});
//初始化请求第一页数据
getOrders
();
\ No newline at end of file
...
...
template/m.yohobuy.com/actions/index/home/order.phtml
View file @
d8496d3
...
...
@@ -2,27 +2,17 @@
<div
class=
"order-page yoho-page"
>
{
{#
order
}
}
<ul
id=
"order-nav"
class=
"order-nav clearfix"
>
<li
class=
"active"
>
全部
</li>
<li>
待付款
</li>
<li>
待发货
</li>
<li>
待收货
</li>
{
{#each
navs
}
}
<li
{
{#if
active
}
}class=
"active"
{
{/if
}
}
data-type=
"{{typeId}}"
>
{
{name
}
}
</li>
{
{/each
}
}
</ul>
<div
id=
"order-container"
class=
"order-container"
>
<div
class=
"all orders"
>
{
{>
me/order/orders
}
}
</div>
<div
class=
"unpaid orders hide"
></div>
<div
class=
"unshipped orders hide"
></div>
<div
class=
"unreceived orders hide"
></div>
{
{#each
navs
}
}
<div
class=
"orders{{#unless active}} hide{{/unless}}"
></div>
{
{/each
}
}
</div>
{
{/
order
}
}
</div>
...
...
yohobuy/m.yohobuy.com/application/controllers/Home.php
View file @
d8496d3
...
...
@@ -534,12 +534,30 @@ class HomeController extends AbstractAction
$data
=
OrderModel
::
getOrder
(
$type
,
$page
,
$limit
,
$gender
,
$yh_channel
,
$uid
);
//如果没有订单数据,就给一个随便逛逛链接
$order
=
array
();
if
(
!
empty
(
$data
))
{
$order
[
'orders'
]
=
$data
;
}
else
{
$order
[
'walkwayUrl'
]
=
'http://www.baidu.com'
;
}
// if (!empty($data)) {
// $order['orders'] = $data;
// } else {
// $order['walkwayUrl'] = 'http://www.baidu.com';
// }
$order
[
'navs'
]
=
array
(
array
(
'name'
=>
'全部'
,
'active'
=>
true
,
'typeId'
=>
'1'
),
array
(
'name'
=>
'待付款'
,
'typeId'
=>
'2'
),
array
(
'name'
=>
'待发货'
,
'typeId'
=>
'3'
),
array
(
'name'
=>
'待收货'
,
'typeId'
=>
'4'
)
);
//渲染模板
$this
->
_view
->
display
(
'order'
,
array
(
'order'
=>
$order
,
...
...
Please
register
or
login
to post a comment