Authored by lore-w

收藏、意见反馈

framework @ 119c247f
Subproject commit 75bbc3b075de19f239532f60c5995d06c5f814e2
Subproject commit 119c247f5cf929aa1e059e40609bb16dd6b58f05
... ...
... ... @@ -4,4 +4,5 @@
* @date: 2015/11/10
*/
require('./order');
\ No newline at end of file
require('./order');
require('./fav');
\ No newline at end of file
... ...
/**
* 个人中心--收藏
* @author: chenglong<chenglong.wang@yoho.cn>
* @date: 2015/11/12
*/
var $ = require('jquery'),
Hammer = require('yoho.hammer'),
lazyLoad = require('yoho.lazyload');
var $navLi = $('#fav-tab > li'),
$favContainer = $('.fav-content');
var $curContainer = $favContainer.children('.fav-type').first();//保存当前显示的$favContainer
var favTabHammer;
//lazyLoad();
favTabHammer = new Hammer(document.getElementById('fav-tab'));
favTabHammer.on('tap', function(e) {
console.log(1);
var $cur = $(e.target).closest('li'),
index;
if ($cur.length === 0 || $cur.hasClass('active')) {
return;
}
index = $cur.index();
$navLi.filter('.active').removeClass('active');
$cur.addClass('active');
$curContainer.addClass('hide');
$curContainer = $favContainer.children(':eq(' + index + ')').removeClass('hide');
});
... ...
/**
* 个人中心--意见反馈
* @author: chenglong<chenglong.wang@yoho.cn>
* @date: 2015/11/12
*/
var $ = require('jquery'),
Hammer = require('yoho.hammer'),
lazyLoad = require('yoho.lazyload');
var $navLi = $('#fav-tab > li'),
$favContainer = $('.fav-content');
var $curContainer = $favContainer.children('.fav-type').first();//保存当前显示的$favContainer
var favTabHammer;
//lazyLoad();
favTabHammer = new Hammer(document.getElementById('fav-tab'));
favTabHammer.on('tap', function(e) {
console.log(1);
var $cur = $(e.target).closest('li'),
index;
if ($cur.length === 0 || $cur.hasClass('active')) {
return;
}
index = $cur.index();
$navLi.filter('.active').removeClass('active');
$cur.addClass('active');
$curContainer.addClass('hide');
$curContainer = $favContainer.children(':eq(' + index + ')').removeClass('hide');
});
... ...
@charset "utf-8";
@import "compass", "compass/reset";
$pxConvertRem: 40;
... ... @@ -61,6 +63,9 @@ a {
.hide {
display: none;
}
#show {
display: block;
}
.overflow-hidden {
overflow: hidden;
... ... @@ -122,4 +127,17 @@ a {
background-size: pxToRem(sprite-width($map)) pxToRem(sprite-height($map));
}
@import "layout/header", "layout/footer", "layout/footer_tab", "good", "filter", "loading", "passport/index", "guang/index", "home/index", "category/index", "product/index", "index/index", "shopping-cart/index", "me/index";
@import "layout/header";
@import "layout/footer";
@import "layout/footer_tab";
@import "good";
@import "filter";
@import "loading";
@import "passport/index";
@import "guang/index";
@import "home/index";
@import "category/index";
@import "product/index";
@import "index/index";
@import "shopping-cart/index";
@import "me/index"; //个人中心
... ...
$fav: sprite-map("me/fav/*.png",$spacing: 5px);
.yoho-favorite-page {
width: 100%;
height: auto;
// 选项卡切换
.fav-tab {
width: 100%;
height: pxToRem(88px);
line-height: pxToRem(88px);
border-bottom: 1px solid #e0e0e0;
color: #b0b0b0;
font-size: pxToRem(26px);
li {
width: 50%;
height: 100%;
float: left;
text-align: center;
&.active {
color: #444;
}
&:nth-last-of-type(1) {
float: right;
position: relative;
&:after {
content: '';
display: block;
width: 1px;
height: pxToRem(44px);
position: absolute;
left: 0;
top: pxToRem(22px);
background: #b0b0b0;
}
}
}
}
//收藏主体
.fav-content {
padding: 0 pxToRem(30px);
.fav-null {
font-size: pxToRem(22px);
color: #444;
display: block;
margin-top: pxToRem(100px);
text-align: center;
&:before {
content: '';
display: block;
@include rem-sprite($fav, fav-null);
width: pxToRem(image_width(sprite-file($fav, fav-null)));
height: pxToRem(image_height(sprite-file($fav, fav-null)));
margin: 0 auto pxToRem(45px) auto;
}
}
.go-shopping {
width: pxToRem(472px);
height: pxToRem(88px);
line-height: pxToRem(88px);
margin: pxToRem(125px) auto 0 auto;
background: #444;
text-align: center;
color: #fff;
display: block;
font-size: pxToRem(26px);
}
}
}
\ No newline at end of file
... ...
@import "home", "vip-grade", "order", "personal-details", "yoho-coin", "recommend-for-you";
\ No newline at end of file
@import "home", "vip-grade", "order", "personal-details", "yoho-coin", "recommend-for-you", "fav", "suggest";
\ No newline at end of file
... ...
$suggest: sprite-map("me/suggest/*.png",$spacing: 5px);
.yoho-suggest-page {
width: 100%;
height: auto;
// 意见反馈头部
.suggest-header {
text-align: center;
color: #fff;
font-size: pxToRem(26px);
line-height: pxToRem(46px);
overflow: hidden;
padding-bottom: pxToRem(20px);
@include background-image(linear-gradient(#383838, #505050));
&:before {
content: '';
display: block;
@include rem-sprite($suggest, suggest-logo);
width: pxToRem(image_width(sprite-file($suggest, suggest-logo)));
height: pxToRem(image_height(sprite-file($suggest, suggest-logo)));
margin: pxToRem(10px) auto pxToRem(15px) auto;
}
}
//意见反馈主体
.suggest-content {
border-top: pxToRem(30px) solid #fff;
.suggest-item {
width: 100%;
color: #444;
border-top: 1px solid #e0e0e0;
border-bottom: pxToRem(30px) solid #f0f0f0;
> img {
display: block;
overflow: hidden;
width: 100%;
}
> h2 {
font-size: pxToRem(38px);
margin: pxToRem(30px) 0 pxToRem(42px - 11px) 0;
padding: 0 pxToRem(35px);
}
> p {
font-size: pxToRem(26px);
line-height: pxToRem(48px);
padding: 0 pxToRem(35px);
}
.suggest-type {
margin-top: pxToRem(29px - 11px);
height: pxToRem(88px);
line-height: pxToRem(88px);
border-top: 1px solid #e0e0e0;
border-bottom: 1px solid #e0e0e0;
color: #b0b0b0;
font-size: pxToRem(26px);
display: none;
> div {
width: 50%;
float: left;
text-align: left;
padding-left: pxToRem(128px);
@include box-sizing();
&.active {
color: #444;
> span {
display: inline-block;
height: 100%;
overflow: hidden;
&:nth-of-type(1) {
@include rotate(180deg);
@include transition(transform .5);
}
}
}
&:nth-last-of-type(1) {
padding-left: pxToRem(0);
padding-right: pxToRem(128px);
text-align: right;
float: right;
}
}
&.active {
text-align: center;
color: #444;
}
}
}
}
}
\ No newline at end of file
... ...
{{> layout/header}}
<div class="yoho-favorite-page yoho-page">
{{# favorite}}
<ul id="fav-tab" class="fav-tab">
<li class="active">收藏的商品</li>
<li>收藏的品牌</li>
</ul>
<div class="fav-content">
<div class="fav-type">
{{# hasFavProduct}}
{{/ hasFavProduct}}
{{^ hasFavProduct}}
<span class="fav-null">您暂无收藏任何商品</span>
<a class="go-shopping" href="#">随便逛逛</a>
{{/ hasFavProduct}}
</div>
<div class="fav-type hide">
{{# hasFavBrand}}
{{/ hasFavBrand}}
{{^ hasFavBrand}}
<span class="fav-null">您暂无收藏任何品牌</span>
<a class="go-shopping" href="#">随便逛逛</a>
{{/ hasFavBrand}}
</div>
</div>
{{/ favorite}}
</div>
{{> layout/footer}}
\ No newline at end of file
... ...
{{> layout/header}}
<div class="yoho-suggest-page yoho-page">
{{# suggest}}
<h2 class="suggest-header">
为了更好的改进我们的服务,提升用户体验,<br />
我们希望了解您的意见和建议
</h2>
<div class="suggest-content" id="suggest-content">
{{# suggestContent}}
<div class="suggest-item">
<img src="{{imgUrl}}" alt=""/>
<h2>{{title}}</h2>
<p>{{content}}</p>
<!--bad传true表示点了不靠谱,false表示没有任何动作-->
<!--good传true表示点了靠谱,false表示没有任何动作-->
<div id="{{^ good}}show{{/ good}}" class="suggest-type">
<div>
<span class="iconfont">&#xe601;</span>
<span>靠谱</span>
</div>
<div class="{{# bad}}active{{/ bad}}">
<span class="iconfont">&#xe601;</span>
<span>不靠谱</span>
</div>
</div>
<div id="{{# good}}show{{/ good}}" class="suggest-type active">
<span class="iconfont">&#xe601;</span>
<span>靠谱,谢谢您的反馈</span>
</div>
</div>
{{/ suggestContent}}
</div>
{{/ suggest}}
</div>
{{> layout/footer}}
\ No newline at end of file
... ...
... ... @@ -201,4 +201,11 @@
<script>
seajs.use('js/me/order');
</script>
{{/if}}
{{!-- 个人中心: 商品收藏&品牌收藏 --}}
{{#if favPage}}
<script>
seajs.use('js/me/fav');
</script>
{{/if}}
\ No newline at end of file
... ...
... ... @@ -113,7 +113,20 @@ class HomeController extends AbstractAction
$favProducts = \Index\UserModel::getFavProductData($uid);
print_r($favProducts);
//print_r($favProducts);
$this->_view->display('favorite', array(
'favPage' => true,
'pageHeader' => array(
'navBack' => true,
'navTitle' => '我的收藏',
'navHome' => true
),
'pageFooter' => true,
'favorite' => true,
'hasFavProduct' => false,
'hasFavBrand' => false
));
}
/**
... ... @@ -206,7 +219,37 @@ class HomeController extends AbstractAction
$suggest = \Index\UserModel::getSuggestData($udid, $page, $limit);
print_r($suggest);
//print_r($suggest);
$this->_view->display('suggest', array(
'suggestPage' => true,
'pageHeader' => array(
'navBack' => true,
'navTitle' => '意见反馈'
),
'pageFooter' => true,
'suggest' => true,
'suggestContent' => array(
0 => array(
'imgUrl' => 'http://img11.static.yhbimg.com/yhb-img01/2015/09/12/06/0115bdfeb4a7dca4b4bfdf0e850f82f2a1.jpg?imageView/2/w/640/h/240',
'title' => '为什么手机不能退换货?',
'content' => 'YOHO!有货的退换货承诺:自您签收商品7日内可以退货,15日内可以换货,在商品吊牌、标签、包装完整,不影响二次销售的情况下,YOHO!有货将为您办理退换货服务。',
'good' => true,
'bad' => false),
1 => array(
'imgUrl' => 'http://img11.static.yhbimg.com/yhb-img01/2015/09/12/06/0115bdfeb4a7dca4b4bfdf0e850f82f2a1.jpg?imageView/2/w/640/h/240',
'title' => '为什么手机不能退换货?',
'content' => 'YOHO!有货的退换货承诺:自您签收商品7日内可以退货,15日内可以换货,在商品吊牌、标签、包装完整,不影响二次销售的情况下,YOHO!有货将为您办理退换货服务。',
'good' => false,
'bad' => true),
2 => array(
'imgUrl' => 'http://img11.static.yhbimg.com/yhb-img01/2015/09/12/06/0115bdfeb4a7dca4b4bfdf0e850f82f2a1.jpg?imageView/2/w/640/h/240',
'title' => '为什么手机不能退换货?',
'content' => 'YOHO!有货的退换货承诺:自您签收商品7日内可以退货,15日内可以换货,在商品吊牌、标签、包装完整,不影响二次销售的情况下,YOHO!有货将为您办理退换货服务。',
'good' => false,
'bad' => false)
)
));
}
/**
... ...
... ... @@ -181,7 +181,7 @@ class UserModel
// 调用接口获取地址数据
$suggest = UserData::suggestData($udid, $page, $limit);
print_r($suggest);
//print_r($suggest);
// 处理意见反馈数据
if (isset($suggest['data']) && !empty($suggest['data'])) {
... ...