Authored by htoooth

fix bug

... ... @@ -166,7 +166,7 @@ const indexComment = (req, res, next) => {
DEFAULT_AVATAR_ICO,
userName: _.get(item, 'userInfo.nickName', ''),
date: moment(item.createTime, 'X').format('YYYY-MM-DD HH:mm:ss'),
color: _.get(item, 'goods.color_name', ''),
color: _.get(item, 'goods.factory_goods_name', ''),
size: _.get(item, 'goods.size_name', ''),
comment: item.content,
total: pageResponse.totalCount,
... ...
... ... @@ -305,8 +305,8 @@ const _getSkuDataByProductBaseInfo = (data) => {
// 商品列表
goodsGroup.productSkc = cur.product_skc;
goodsGroup.src = helpers.image(cur.color_image, 40, 40);
goodsGroup.title = `${_.trim(data.product_name)} ${cur.color_name}`;
goodsGroup.name = cur.color_name;
goodsGroup.title = `${_.trim(data.product_name)} ${cur.factory_goods_name}`;
goodsGroup.name = cur.factory_goods_name;
goodsGroup.focus = false;
goodsGroup.total = 0;
goodsGroup.thumbs = [];
... ... @@ -511,7 +511,6 @@ const saveRecentGoodInCookies = (oldSkns, res, addSkns) => {
});
};
/**
* 获取商品的舒适度
*/
... ... @@ -1520,7 +1519,8 @@ const showMainAsync = (data) => {
result.headerData = navigatorHeader.headerData;
// 咨询和评论
result.detail.consultComment = true;
result.detail.comment = true;
result.detail.consult = true;
// 最近浏览,最多5条记录
result.detail.latestWalk = 5;
... ...
... ... @@ -36,453 +36,485 @@
</div>
{{/if}}
<!--<div class="share-row"><span class="title pull-left">分享商品:</span> {{> common/share }} </div>-->
{{!-- 因接口原因,暂存size的title的值 --}}
<div id="size-title-json" style="display:none;">{{sizeTitleJson}}</div>
<div class="total-content">
<div id="package" class="package-box clearfix"></div>
<div class="other-infos">
<div class="description-material info-block getnav" id="goodsMessage" data-id="0">
<p class="block-title" id="block-title-head">
<span class="title-head">
<span class="title cur">商品信息</span>
</span>
</p>
<div class="description-content">
{{# description}}
<ul class="basic clearfix">
{{# basic}}
<li><em class="justpostion">
{{#if dColor}}
{{{escapeType key}}}: <span id="desc-color" class="valueSpace">{{value}}</span>
{{^}}
{{{escapeType key}}}: <span class="valueSpace">{{value}}</span>
{{/if}}
</em>
</li>
{{/ basic}}
</ul>
{{#if comfort}}
<ul class="comfort clearfix">
{{# comfort}}
<li class="pull-left">
<span class="comfort-title">{{name}}</span>
<span class="min-des">{{minDes}}</span>
{{# blocks}}
<span class="comfort-block {{#if cur}}cur{{/if}}"></span>
{{/ blocks}}
<span class="max-des">{{maxDes}}</span>
</li>
{{/ comfort}}
</ul>
{{/if}}
{{/ description}}
</div>
</div>
<div class="description-material info-block">
<p class="block-title">
<span class="title-head">
<span class="title cur">材质洗涤</span>
</span>
</p>
<div id="package" class="package-box clearfix"></div>
<div class="material-content">
{{# material}}
{{#if materialDetail}}
<ul class="material-detail">
{{# materialDetail}}
<li class="clearfix">
<img src="{{img}}">
<p class="name">{{name}}<br>{{enName}}</p>
<p class="text">{{text}}</p>
</li>
{{/ materialDetail}}
</ul>
{{/if}}
<div class="other-infos">
<div class="description-material info-block getnav" id="goodsMessage" data-id="0">
<p class="block-title" id="block-title-head">
<span class="title-head"> <span class="title cur">商品信息</span> </span>
</p>
{{#if wash}}
<ul class="wash">
{{# wash}}
{{#if description}}
<div class="description-content">
{{# description}}
<ul class="basic clearfix">
{{# basic}}
<li>
<img class="wash-icon" src="{{img}}">
<p class="wash-name">{{name}}</p>
<em class="justpostion">
{{#if dColor}}
{{{escapeType key}}}: <span id="desc-color"
class="valueSpace">{{value}}</span>
{{^}}
{{{escapeType key}}}: <span class="valueSpace">{{value}}</span>
{{/if}}
</em>
</li>
{{/ wash}}
{{/ basic}}
</ul>
{{/if}}
{{/ material}}
</div>
</div>
<div class="description-material-tab info-block getnav" id="sizeMessage" data-id="1">
<p class="block-title">
<span class="title-head">
<span class="title cur">尺码信息</span>
</span>
</p>
<div class="size-content">
{{#if goodsInfo.virtualGoods}}
<!---虚拟商品-尺码信息没有--->
{{else}}
<div class="size-info info-block">
{{# size}}
<table class="size-table">
<thead>
<tr>
{{# thead}}
<th>{{name}}</th>
{{/ thead}}
</tr>
</thead>
<tbody>
{{# tbody}}
<tr>
{{#each .}}
<td>{{.}}</td>
{{/each}}
</tr>
{{/ tbody}}
</tbody>
</table>
<p class="size-tip">
※ 以上尺寸为实物人工测量,因测量方式不同会有1-2CM误差,相关数据仅作参考,以收到实物为准。 单位:CM
</p>
<p class="size-tip">
※ 参考尺码因衣服版型、剪裁不同会有误差,仅供参考
</p>
{{#if sizeImg}}
<img class="size-img" src="{{sizeImg}}">
{{/if}}
{{/ size}}
</div>
{{#if comfort}}
<ul class="comfort clearfix">
{{# comfort}}
<li class="pull-left">
<span class="comfort-title">{{name}}</span>
<span class="min-des">{{minDes}}</span>
{{# blocks}}
<span class="comfort-block {{#if cur}}cur{{/if}}"></span>
{{/ blocks}}
<span class="max-des">{{maxDes}}</span>
</li>
{{/ comfort}}
</ul>
{{/if}}
{{/ description}}
</div>
{{/if}}
</div>
</div>
{{#if reference}}<div class="description-material-tab info-block">
<p class="block-title">
<span class="title-head">
<span class="title cur">试穿参考</span>
</span>
</p>
<div class="description-material info-block">
<p class="block-title">
<span class="title-head"> <span class="title cur">材质洗涤</span> </span>
</p>
<div class="material-content">
{{# material}}
{{#if materialDetail}}
<ul class="material-detail">
{{# materialDetail}}
<li class="clearfix">
<img src="{{img}}">
<p class="name">{{name}}<br>{{enName}}</p>
<p class="text">{{text}}</p>
</li>
{{/ materialDetail}}
</ul>
{{/if}}
{{#if wash}}
<ul class="wash">
{{# wash}}
<li>
<img class="wash-icon" src="{{img}}">
<p class="wash-name">{{name}}</p>
</li>
{{/ wash}}
</ul>
{{/if}}
{{/ material}}
</div>
</div>
<div class="model-content">
<div class="reference info-block">
{{# reference}}
<table class="reference-table">
<thead>
<tr>
{{# thead}}
<th class="{{#if @first}}avatar-col{{/if}}{{#if modelCol}}model-col{{/if}}{{#if remarkCol}}remark-col{{/if}}">{{name}}</th>
{{/ thead}}
</tr>
</thead>
<tbody>
{{# tbody}}
<div class="description-material-tab info-block getnav" id="sizeMessage" data-id="1">
<p class="block-title">
<span class="title-head"> <span class="title cur">尺码信息</span> </span>
</p>
<div class="size-content">
{{#if goodsInfo.virtualGoods}}
<!---虚拟商品-尺码信息没有--->
{{else}}
<div class="size-info info-block">
{{# size}}
<table class="size-table">
<thead>
<tr>
{{#each .}}
<td>
{{#if @first}}
<img class="avatar" src="{{.}}">
{{^}}
{{.}}
{{/if}}
</td>
{{/each}}
{{# thead}}
<th>{{name}}</th>
{{/ thead}}
</tr>
{{/ tbody}}
</tbody>
</table>
{{/ reference}}
<p class="size-tip">
※ 模特试穿中身高单位:CM,体重单位:KG,三围单位:CM
</p>
</div>
</thead>
</div>
</div>{{/if}}
{{#if modelCards}}<div class="description-material-tab info-block">
<p class="block-title">
<span class="title-head">
<span class="title cur">模特信息</span>
</span>
</p>
<tbody>
{{# tbody}}
<tr>
{{#each .}}
<td>{{.}}</td>
{{/each}}
</tr>
{{/ tbody}}
</tbody>
</table>
<p class="size-tip">
※ 以上尺寸为实物人工测量,因测量方式不同会有1-2CM误差,相关数据仅作参考,以收到实物为准。 单位:CM
</p>
<div class="model-content">
<p class="size-tip">
※ 参考尺码因衣服版型、剪裁不同会有误差,仅供参考
</p>
<div class="ref-model info-block">
<div class="ref-model">
{{# modelCards}}
<div class="model" style="background: url({{url}}) no-repeat">
<span>试穿尺码: <em>{{size}}</em></span>
</div>
{{/ modelCards}}
{{#if sizeImg}}
<img class="size-img" src="{{sizeImg}}">
{{/if}}
{{/ size}}
</div>
</div>
{{/if}}
</div>
</div>
{{#if reference}}
<div class="description-material-tab info-block">
<p class="block-title">
<span class="title-head"> <span class="title cur">试穿参考</span> </span>
</p>
{{#if fittingReport}}
<div class="fitting-report info-block">
<p class="block-title">
<span class="title cur">试穿报告 FITTING REPORT</span>
</p>
{{# fittingReport}}
{{#if frImg}}
<div class="fr-img-wrap">
<img src="{{frImg}}">
</div>
{{^}}
<table class="fitting-report-table">
<div class="model-content">
<div class="reference info-block">
{{# reference}}
<table class="reference-table">
<thead>
<tr>
{{# thead}}
<th>{{.}}</th>
<th class="{{#if @first}}avatar-col{{/if}}{{#if modelCol}}model-col{{/if}}{{#if remarkCol}}remark-col{{/if}}">{{name}}</th>
{{/ thead}}
</tr>
</thead>
<tbody>
{{# tbody}}
<tr>
{{#each .}}
<td>{{.}}</td>
<td>
{{#if @first}}
<img class="avatar" src="{{.}}">
{{^}}
{{.}}
{{/if}}
</td>
{{/each}}
</tr>
{{/ tbody}}
</tbody>
</table>
{{/if}}
{{/ fittingReport}}
{{/ reference}}
<p class="size-tip">
※ 模特试穿中身高单位:CM,体重单位:KG,三围单位:CM
</p>
</div>
</div>
{{/if}}
</div>
{{/if}}
{{#if modelCards}}
</div>
</div>{{/if}}
<div class="details info-block getnav" id="goodsInside" data-id="2">
<p class="block-title">
<span class="title-head">
<span class="title cur">商品详情</span>
</span>
</p>
<div id="details-html" class="details-html">
<div class="lazy-load-object">
<div class="description-material-tab info-block">
<p class="block-title">
<span class="title-head"> <span class="title cur">模特信息</span> </span>
</p>
<div class="model-content">
<div class="ref-model info-block">
<div class="ref-model">
{{# modelCards}}
<div class="model" style="background: url({{url}}) no-repeat">
<span>试穿尺码: <em>{{size}}</em></span>
</div>
{{/ modelCards}}
</div>
</div>
{{#if fittingReport}}
<div class="fitting-report info-block">
<p class="block-title">
<span class="title cur">试穿报告 FITTING REPORT</span>
</p>
{{# fittingReport}}
{{#if frImg}}
<div class="fr-img-wrap">
<img src="{{frImg}}">
</div>
{{^}}
<table class="fitting-report-table">
<thead>
<tr>
{{# thead}}
<th>{{.}}</th>
{{/ thead}}
</tr>
</thead>
<tbody>
{{# tbody}}
<tr>
{{#each .}}
<td>{{.}}</td>
{{/each}}
</tr>
{{/ tbody}}
</tbody>
</table>
{{/if}}
{{/ fittingReport}}
</div>
{{/if}}
</div>
</div>
{{/if}}
<div class="details info-block getnav" id="goodsInside" data-id="2">
<p class="block-title">
<span class="title-head"> <span class="title cur">商品详情</span> </span>
</p>
<div id="details-html" class="details-html">
<div class="lazy-load-object">
<textarea class="datalazyload" style="visibility: hidden;">
<script>
fetchHotArea();
</script>
</textarea>
</div>
{{{details}}}
{{#if goodsInfo.imageBanner}}
</div>
{{{details}}}
{{#if goodsInfo.imageBanner}}
<a class="img-link" href="{{goodsInfo.imageBanner.url}}">
<img src="{{goodsInfo.imageBanner.activityImg}}">
</a>
{{/if}}
{{/if}}
</div>
</div>
</div>
{{# consultComment}}
<div class="lazy-load-object">
{{#if comment}}
<div class="lazy-load-object">
<textarea class="datalazyload" style="visibility: hidden;">
<script>
fetchComment();
fetchReturn();
loadRecommend();
</script>
</textarea>
</div>
</div>
<div class="consult-comment info-block getnav" id="judge" data-id="3">
<div class="consult-comment info-block getnav" id="judge" data-id="3">
<p class="block-title">
<span class="title-head">
<span class="title cur">商品评价</span>
</span>
</p>
<div class="comments cc-content">
<div class="comment-tabs clearfix">
<h2 class="active" data-comment-type="7"> 全部(<em class="comment-num all-comment-num">0</em></h2>
<h2 data-comment-type="6"> 有图(<em class="comment-num img-comment-num">0</em></h2>
</div>
<div class="judge-content">
<div data-comment-list="7">
<ul><div class="img-4"></div></ul>
<p class="block-title">
<span class="title-head"> <span class="title cur">商品评价</span> </span>
</p>
<div class="comments cc-content">
<div class="comment-tabs clearfix">
<h2 class="active" data-comment-type="7"> 全部(<em
class="comment-num all-comment-num">0</em></h2>
<h2 data-comment-type="6"> 有图(<em class="comment-num img-comment-num">0</em></h2>
</div>
<div class="judge-content">
<div data-comment-list="7">
<ul>
<div class="img-4"></div>
</ul>
</div>
<div data-comment-list="6" class="m-hide">
<ul>
<div class="img-4"></div>
</ul>
</div>
<p class="btn-wrap">
<a class="btn" href="//www.yohobuy.com/home/comment" target="_blank">
<i class="iconfont">&#xe61e;</i> 我要评论
</a>
</p>
</div>
</div>
<div data-comment-list="6" class="m-hide">
<ul><div class="img-4"></div></ul>
</div>
{{/if}}
{{#if consult}}
<div class="consult-comment info-block getnav" id="goodsAsk" data-id="4">
<div class="lazy-load-object">
<textarea class="datalazyload" style="visibility: hidden;">
<script>
fetchConsult();
</script>
</textarea>
</div>
<p class="btn-wrap">
<a class="btn" href="//www.yohobuy.com/home/comment" target="_blank">
<i class="iconfont">&#xe61e;</i>
我要评论
</a>
<p class="block-title">
<span class="title-head"> <span class="title cur">常见咨询</span> </span>
</p>
</div>
</div>
</div>
<div class="consult-comment info-block getnav" id="goodsAsk" data-id="4">
<p class="block-title">
<span class="title-head">
<span class="title cur">常见咨询</span>
</span>
</p>
<div class="commom-consults">
<div class="common-question">
<p>
<span class="top-question"><i class="iconfont">&#xe695;</i>商品都是正品吗?</span>
<span><i class="iconfont">&#xe696;</i>有货www.yohobuy.com所售的商品均经品牌授权,
<div class="common-consults">
<div class="common-question">
<p>
<span class="top-question"><i class="iconfont">&#xe695;</i>商品都是正品吗?</span>
<span><i class="iconfont">&#xe696;</i>有货www.yohobuy.com所售的商品均经品牌授权,
正品保障,支持专柜验货,与您亲临商场选购的商品一样享受相同的质量保证,
请您放心购买</span>
</p>
</div>
<div class="common-question">
<p>
<span class="top-question"><i class="iconfont">&#xe695;</i>尺码表上的尺码标准吗?</span>
<span><i class="iconfont">&#xe696;</i>有货所售商品尺寸均为人工实物测量,
</p>
</div>
<div class="common-question">
<p>
<span class="top-question"><i class="iconfont">&#xe695;</i>尺码表上的尺码标准吗?</span>
<span><i class="iconfont">&#xe696;</i>有货所售商品尺寸均为人工实物测量,
可能会存在1-2cm的正常误差范围。</span>
</p>
</div>
<div class="common-question">
<p>
<span class="top-question"><i class="iconfont">&#xe695;</i>图片颜色和实物颜色相同吗?</span>
<span><i class="iconfont">&#xe696;</i>有货所有商品均采用实物专业拍摄,但由于个人显示器不同,
</p>
</div>
<div class="common-question">
<p>
<span class="top-question"><i class="iconfont">&#xe695;</i>图片颜色和实物颜色相同吗?</span>
<span><i class="iconfont">&#xe696;</i>有货所有商品均采用实物专业拍摄,但由于个人显示器不同,
可能导致实物与图片存在色差,最终颜色以实物为准。</span>
</p>
</div>
<div class="common-question">
<p>
<span class="top-question"><i class="iconfont">&#xe695;</i>发货及配送</span>
<span><i class="iconfont">&#xe696;</i>当天下午3点前订单当天发,之后的订单隔天发,
</p>
</div>
<div class="common-question">
<p>
<span class="top-question"><i class="iconfont">&#xe695;</i>发货及配送</span>
<span><i class="iconfont">&#xe696;</i>当天下午3点前订单当天发,之后的订单隔天发,
合作快递有:韵达、EMS、顺丰、申通、圆通、宅急送,普通快递3-5天左右送达,顺丰速运1-2天送达。</span>
</p>
</div>
<div class="common-question">
<p>
<span class="top-question"><i class="iconfont">&#xe695;</i>退货or换货</span>
<span><i class="iconfont">&#xe696;</i>签收商品未经穿着不影响二次销售的情况下,7日内退货,15日内换货;
退回商品保证吊牌、标签、包装完整,详情点击
<a href="http://www.yohobuy.com/help/?category_id=69">>>退换货政策</a></span>
</p>
</div>
<div class="common-question ">
<p><span class="common-advice"><a href="#textbox"><i class="iconfont advice">&#xe602;</i>
我要咨询&nbsp;&gt;</a></span></p>
</div>
<div class="buy-consults">
<p class="block-title">
<span class="title-head">
<span class="title cur">购买咨询(<em class="consult-num">0</em>)</span>
</span>
</p>
</div>
<div id="consults-ul"></div>
<div class="common-question">
</div>
<div class="consults-devide">
</div>
<div class="common-question">
<textarea id="textbox" placeholder="请输入您的问题"></textarea>
<span id="submit-consult" class="btn">提交咨询</span>
</div>
</p>
</div>
</div>
<div class="common-question">
<p>
<span class="top-question"><i class="iconfont">&#xe695;</i>退货or换货</span>
<span><i class="iconfont">&#xe696;</i>签收商品未经穿着不影响二次销售的情况下,7日内退货,15日内换货;
退回商品保证吊牌、标签、包装完整,详情点击 <a href="http://www.yohobuy.com/help/?category_id=69">>>退换货政策</a></span>
</p>
</div>
</div>
{{/ consultComment}}
<div class="common-question ">
<p>
<span class="common-advice">
<a href="#textbox">
<i class="iconfont advice"> &#xe602;</i>
我要咨询&nbsp;&gt;
</a>
</span>
</p>
</div>
<div class="buy-consults">
<p class="block-title">
<span class="title-head">
<span class="title cur">购买咨询(<em class="consult-num">0</em>)</span>
</span>
</p>
</div>
</div>
<div class="shoppingCar">
<div class="shoppingCar-btn">
<i class="iconfont">&#xe61b;</i> 添加到购物车
<div id="consults-ul"></div>
<div class="common-question"></div>
<div class="consults-pager"></div>
<div class="common-question">
<textarea id="textbox" placeholder="请输入您的问题"></textarea>
<span id="submit-consult" class="btn">提交咨询</span>
</div>
</div>
</div>
{{/if}}
</div>
<div class="shoppingCar-nav">
<ul>
<li><a href="#goodsMessage" class="fixed option">&nbsp;&nbsp;商品信息</a></li>
<li><a href="#sizeMessage" class="option">&nbsp;&nbsp;尺码信息</a></li>
<li><a href="#goodsInside" class="option">&nbsp;&nbsp;商品详情</a></li>
<li><a href="#judge" class="option">&nbsp;&nbsp;商品评价</a></li>
<li><a href="#goodsAsk" class="option">&nbsp;&nbsp;常见咨询</a></li>
</ul>
<div class="shoppingCar">
<div class="shoppingCar-btn">
<i class="iconfont">&#xe61b;</i> 添加到购物车
</div>
<div class="shoppingCar-nav">
<ul>
<li><a href="#goodsMessage" class="fixed option">&nbsp;&nbsp;商品信息</a></li>
<li><a href="#sizeMessage" class="option">&nbsp;&nbsp;尺码信息</a></li>
<li><a href="#goodsInside" class="option">&nbsp;&nbsp;商品详情</a></li>
<li><a href="#judge" class="option">&nbsp;&nbsp;商品评价</a></li>
<li><a href="#goodsAsk" class="option">&nbsp;&nbsp;常见咨询</a></li>
</ul>
</div>
</div>
<div style="clear:both"></div>
</div>
<div style="clear:both"></div>
</div>
<div class="after-service">
<div class="lazy-load-object">
<textarea class="datalazyload" style="visibility: hidden;">
<script>
fetchReturn();
</script>
</textarea>
</div>
<p id="after-service-switch" class="after-service-switch">
<span class="iconfont">&#xe620;</span>
售后服务
<span class="iconfont triangle">&#xe610;</span>
</p>
<div class="after-service-content info-block">
<div class="block-title">
<span class="title-head">
<span class="title cur">退换货流程</span>
</span>
</span>
</div>
<div class="img-3"></div>
<div class="info-block">
<div class="block-title">
<span class="title-head">
<span class="title cur">有货承诺</span>
</span>
</div>
<div class="block-title">
<span class="title-head">
<span class="title cur">有货承诺</span>
</span>
</div>
</div>
<div id="saleReturn" class="support-saleReturned-service"></div>
</div>
</div>
</div>
<div class="service"></div>
{{#unless @root.pc.product.removeRecentView}}
<div class="bottom-tab">
<p>
<span class="bottom-title bottom-cur">店铺推荐</span>
<span class="bottom-title">最近浏览</span>
<span class="bottom-title change">换一批
<span class="iconfont change-icon">&#xe639;</span>
</span>
</p>
</div>
<div class="individual-comment info-block info-bootom">
{{#if latestWalk}}
<div class="latest-walk">
<input id="latest-walk-count" type="hidden" value="{{latestWalk}}">
<div id="latest-walk-goods" class="goods clearfix"></div>
{{> product/latest-walk-tpl}}
<div class="lazy-load-object">
<textarea class="datalazyload" style="visibility: hidden;">
<script>
fetchLatestWalk();
fetchRecommend();
</script>
</textarea>
</div>
<div class="bottom-tab">
<p>
<span class="bottom-title bottom-cur">店铺推荐</span>
<span class="bottom-title">最近浏览</span>
<span class="bottom-title change">换一批
<span class="iconfont change-icon">&#xe639;</span>
</span>
</p>
</div>
<div class="individual-comment info-block info-bottom">
{{#if latestWalk}}
<div class="latest-walk">
<input id="latest-walk-count" type="hidden" value="{{latestWalk}}">
<div id="latest-walk-goods" class="goods clearfix"></div>
{{> product/latest-walk-tpl}}
</div>
{{/if}}
<div id="recommend-shop" class="hide">
<div class="recommend-content clearfix">
<div class="recommend-slider">
<ul class=" img-list" id="recommend-content"></ul>
<div class="img-brand-switch">
<a class="prev iconfont" href="javascript:;">&#xe609;</a>
<a class="next iconfont" href="javascript:;">&#xe608;</a>
</div>
</div>
</div>
</div>
{{/if}}
<div id="recommend-shop" class="hide">
<div class="recommend-content clearfix">
<div class="recommend-slider">
<ul class=" img-list" id="recommend-content"></ul>
<div class="img-brand-switch">
<a class="prev iconfont" href="javascript:;">&#xe609;</a>
<a class="next iconfont" href="javascript:;">&#xe608;</a>
</div>
</div>
</div>
</div>
</div>
{{/unless}}
</div>
... ...
... ... @@ -543,7 +543,6 @@ bindEvent.add(function() {
var dialog = new Dialog(opt); // eslint-disable-line
var FAV = { //eslint-disable-line
checked: '&#xe613;',
unchecked: '&#xe612;'
... ... @@ -953,11 +952,9 @@ function fetchComment() {
cNumReady = false; // 只第一次请求后更新数量
var commentsTpl = require('hbs/product/comment-item.hbs'),
consultsTpl = require('hbs/product/consult-item.hbs'),
$consultsUl = $('#consults-ul'),
$consultNum = $('.consult-num'),
loadingComments,
loadingConsults;
loadingComments;
function loadComments(type, nowPage) {
if (loadingComments) {
... ... @@ -1020,13 +1017,13 @@ function fetchComment() {
}));
baseUrl = '/product/detail/comment?productId=' + id + '&filterId=7';
$ul.append(setPager({baseUrl: baseUrl,
totalRecords: totalnum,
page: nowPage,
type: 'ellipsis',
theme: 'msg-pager'
})
);
$ul.append(setPager({
baseUrl: baseUrl,
totalRecords: totalnum,
page: nowPage,
type: 'ellipsis',
theme: 'msg-pager'
}));
}
}).always(function() {
... ... @@ -1047,6 +1044,81 @@ function fetchComment() {
});
// 评论类型的切换
$('.comments').on('click', '.comment-tabs h2[data-comment-type]', function() {
var $t = $(this),
$tabs = $t.closest('.comment-tabs'),
type = $t.attr('data-comment-type');
currentType = type;
$tabs.find('h2[data-comment-type]').removeClass('active');
$t.addClass('active');
$('.comments').find('[data-comment-list]').hide();
$('.comments').find('[data-comment-list=' + type + ']').show();
if (!commentPage[type]) { // 首次切换自动加载
loadAllComments(type);
}
});
loadAllComments(currentType);
}
// 购买评价的相关事件
$('.comments').on('click', '.img-preview .img-thumb', function() {
var $t = $(this);
var $d = $t.closest('.img-preview').find('.img-detail');
$d.toggle();
if ($d.is(':visible')) {
$t.addClass('active');
} else {
$t.removeClass('active');
}
});
$('.comments').on('click', '.img-preview [data-role="preview-close"]', function() {
var $img = $(this).closest('.img-preview').find('.img-wrap img'),
rotate = 0;
$(this).closest('.img-detail').hide();
$img.data('rotate', rotate);
$img.css('transform', 'rotate(' + rotate + 'deg)');
});
$('.comments').on('click', '.img-preview [data-role="preview-left"]', function() {
var $img = $(this).closest('.img-preview').find('.img-wrap img'),
rotate = ($img.data('rotate') || 0) * 1;
rotate -= 90;
$img.data('rotate', rotate);
$img.css('transform', 'rotate(' + rotate + 'deg)');
});
$('.comments').on('click', '.img-preview [data-role="preview-right"]', function() {
var $img = $(this).closest('.img-preview').find('.img-wrap img'),
rotate = ($img.data('rotate') || 0) * 1;
rotate -= 90;
$img.data('rotate', rotate);
$img.css('transform', 'rotate(' + rotate + 'deg)');
});
window.fetchComment = fetchComment;
function fetchConsult() {
var consultsTpl = require('hbs/product/consult-item.hbs'),
$consultsUl = $('#consults-ul'),
$consultNum = $('.consult-num'),
loadingConsults = false;
// 顾客咨询
function loadConsults(nowPage) {
if (loadingConsults) {
... ... @@ -1065,7 +1137,7 @@ function fetchComment() {
}).then(function(data) {
var res;
var totalNum;
var baseUrl = '/product/detail/consult?productId=' + id + '&filterId=7';
var baseUrl = '/product/detail/consult?productId=' + id;
if (data.code === 200) {
res = data.data;
... ... @@ -1083,7 +1155,6 @@ function fetchComment() {
consults: res
}));
$('#consults-ul .zan-content').on('click', '.cuslike', function() {
var $this = $(this);
var cid = $this.data('id');
... ... @@ -1100,13 +1171,12 @@ function fetchComment() {
if (result && result.code === 200) {
$this.addClass('getzan');
$('.zan-content .icon-border[data-id=' + cid + '] .likeNum')
.replaceWith('<em class="likeNum">' + (like + 1) + '</em>');
.replaceWith('<em class="likeNum">' + (like + 1) + '</em>');
}
});
});
$('#consults-ul .zan-content').on('click', '.cususeful', function() {
var $this = $(this);
var cid = $this.data('id');
... ... @@ -1130,10 +1200,11 @@ function fetchComment() {
});
});
baseUrl = '/product/detail/consult?productId=' + id + '&filterId=7';
baseUrl = '/product/detail/consult?productId=' + id;
$('.consults-devide').empty().append(
setPager({baseUrl: baseUrl,
$('.consults-pager').empty().append(
setPager({
baseUrl: baseUrl,
totalRecords: totalNum,
page: nowPage,
type: 'ellipsis',
... ... @@ -1146,7 +1217,7 @@ function fetchComment() {
});
}
$('.consults-devide').on('click', 'a', function() {
$('.consults-pager').on('click', 'a', function() {
var $this = $(this);
var href = $this.data('page');
var data = href.split('?')[1].split('&');
... ... @@ -1154,22 +1225,11 @@ function fetchComment() {
return i.split('=')[1];
});
loadConsults(result[2]);
});
$('.consult-comment').on('click', '.load-more', function() {
var $this = $(this);
if ($this.hasClass('load-more-comments')) {
loadAllComments(currentType);
} else {
loadConsults();
}
loadConsults(result);
});
// 我要咨询
$('#consults-btn').click(function() {
// TODO:点击我要资讯的时候更新验证码显示
$('.new-consult').removeClass('hide');
$('.consult-success').addClass('hide');
... ... @@ -1177,18 +1237,19 @@ function fetchComment() {
// 提交咨询
$('#submit-consult').click(function() {
var $textarea = $('#textbox'),
content = $.trim($textarea.val());
var consultdata = {
var $textArea = $('#textbox'),
content = $.trim($textArea.val());
var consultData = {
msg: '发表成功,等待客服回复',
download: '扫我下载app',
learn: '及时了解回复内容'
};
var pass = true;
if (content === '') {
$textarea.attr('placeholder', '请输入咨询内容');
$textarea.addClass('err');
$textArea.attr('placeholder', '请输入咨询内容');
$textArea.addClass('err');
pass = false;
}
if (pass === false) {
... ... @@ -1206,9 +1267,9 @@ function fetchComment() {
var code = data.code;
if (code === 200) {
$textarea.removeClass('err');
$textArea.removeClass('err');
new Dialog({
content: consultSuccessTpl({success: consultdata}),
content: consultSuccessTpl({success: consultData}),
className: 'consult-alert',
btns: [
{
... ... @@ -1219,85 +1280,19 @@ function fetchComment() {
]
}).show();
// 清空输入
$textarea.val('');
// 清空输入
$textArea.val('');
} else if (code === 400) {
// 跳转登录页
// 跳转登录页
location.href = data.data.refer;
}
});
});
// 评论类型的切换
$('.comments').on('click', '.comment-tabs h2[data-comment-type]', function() {
var $t = $(this),
$tabs = $t.closest('.comment-tabs'),
type = $t.attr('data-comment-type');
currentType = type;
$tabs.find('h2[data-comment-type]').removeClass('active');
$t.addClass('active');
$('.comments').find('[data-comment-list]').hide();
$('.comments').find('[data-comment-list=' + type + ']').show();
if (!commentPage[type]) { // 首次切换自动加载
loadAllComments(type);
}
});
loadAllComments(currentType);
loadConsults();
loadConsults(1);
}
window.fetchComment = fetchComment;
// 购买评价的相关事件
$('.comments').on('click', '.img-preview .img-thumb', function() {
var $t = $(this);
var $d = $t.closest('.img-preview').find('.img-detail');
$d.toggle();
if ($d.is(':visible')) {
$t.addClass('active');
} else {
$t.removeClass('active');
}
});
$('.comments').on('click', '.img-preview [data-role="preview-close"]', function() {
var $img = $(this).closest('.img-preview').find('.img-wrap img'),
rotate = 0;
$(this).closest('.img-detail').hide();
$img.data('rotate', rotate);
$img.css('transform', 'rotate(' + rotate + 'deg)');
});
$('.comments').on('click', '.img-preview [data-role="preview-left"]', function() {
var $img = $(this).closest('.img-preview').find('.img-wrap img'),
rotate = ($img.data('rotate') || 0) * 1;
rotate -= 90;
$img.data('rotate', rotate);
$img.css('transform', 'rotate(' + rotate + 'deg)');
});
$('.comments').on('click', '.img-preview [data-role="preview-right"]', function() {
var $img = $(this).closest('.img-preview').find('.img-wrap img'),
rotate = ($img.data('rotate') || 0) * 1;
rotate -= 90;
$img.data('rotate', rotate);
$img.css('transform', 'rotate(' + rotate + 'deg)');
});
window.fetchConsult = fetchConsult;
function randomString(len) {
var $chars = 'ABCDEFGHJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890-';
... ... @@ -1332,7 +1327,7 @@ function initPageYas() {
}
// 店铺推荐
function loadRecommend() {
function fetchRecommend() {
$.ajax({
type: 'GET',
url: '/product/detail/recommend',
... ... @@ -1346,20 +1341,8 @@ function loadRecommend() {
var recommendTpl = require('hbs/product/recommend.hbs');
var html = recommendTpl(data.data);
if (data.code === 200) {
if (pro.length === 0) {
$('#recommend-shop').detach();
fetchLatestWalk(); // eslint-disable-line
return;
}
$('.individual-comment').find('.block-title .title').eq(0).removeClass('hide').addClass('cur');
$('.individual-comment').find('.block-title .title').eq(1).removeClass('cur');
$('.individual-comment').find('.block-title').find('.sep').removeClass('hide');
if (data.code === 200 && pro.length !== 0) {
$('#recommend-shop').removeClass('hide');
$('#recommend-content').append(html);
$('.recommend-slider').slider2({
shownum: 5,
... ... @@ -1370,9 +1353,13 @@ function loadRecommend() {
$goodsIdArr.push($(this).html());
});
} else {
$('.individual-comment').find('.block-title .title:first-child').addClass('hide');
$('.individual-comment').find('.block-title').find('.title').addClass('cur').prev('.sep').addClass('hide');
$('#recommend-shop').detach();
$('.bottom-title').eq(0).removeClass('bottom-cur').addClass('hide');
$('.bottom-title').eq(1).addClass('bottom-cur');
$('.bottom-title').filter('.change').addClass('hide');
$('#recommend-shop').remove();
$('.individual-comment .latest-walk').show();
fetchLatestWalk(); // eslint-disable-line
}
// 页面加载完,埋点
... ... @@ -1400,7 +1387,7 @@ $('.recommend-slider').on('click', '.img-item', function() {
yas.givePoint('YB_CHOOSE_FOR_YOU_Y', loadYas);
});
window.loadRecommend = loadRecommend;
window.fetchRecommend = fetchRecommend;
// 加载套餐默认信息
$(function() {
... ... @@ -1488,6 +1475,10 @@ $('.package-box').on('click', '#buy-detail', function() {
// 立即购买跳转
$('#pay-pkg').on('click', function() {
if (!window.getUid()) {
return window.jumpUrl(window.signinUrl());
}
var bundleId = $('#package-pro').data('bundleid'),
$selectedPkgSizes = $('.pkg-sizes .size:not(.hide)'),
flag = true,
... ... @@ -1535,19 +1526,18 @@ $('.bottom-tab').on('click', '.bottom-title', function() {
$recommendComment.slideDown(SLIDETIME);
$latestWalk.slideUp(SLIDETIME);
$('.change').css('display', 'inline-block');
$('.change').removeClass('hide');
} else {
// 最近游览
fetchLatestWalk(); // eslint-disable-line
$recommendComment.slideUp(SLIDETIME);
$latestWalk.slideDown(SLIDETIME);
$('.change').css('display', 'none');
$('.change').addClass('hide');
}
});
$('.recommend-content').find('.iconfont').mouseenter(function() {
$(this).addClass('focus');
}).mouseleave(function() {
... ... @@ -1648,10 +1638,10 @@ $('.shoppingCar').on('click', '.option', function(e) {
$this.addClass('fixed');
});
$('.shoppingCar-btn').on('click', function() {
var $addToCart = $('#add-to-cart');
var sc = $(document);
if (maxStock === -1) {
sc.scrollTop(200);
} else {
... ... @@ -1668,11 +1658,13 @@ $(function() {
$(function() {
var font = $('.description-content .basic li');
var fontwidth = $('.description-content ul li:nth-child(4) .valueSpace').width();
$('.description-content ul li:nth-child(8) .valueSpace').css({
display: 'inline-block',
'text-align': 'right',
width: fontwidth
});
font.each(function(i, ele) {
if ((i + 1) % 4 === 0) {
... ... @@ -1687,6 +1679,5 @@ $(function() {
});
});
// 数据懒加载
dataLazyLoad.init({cls: '.datalazyload', threshold: 500});
dataLazyLoad.init({cls: '.datalazyload', threshold: 0});
... ...
... ... @@ -1016,7 +1016,7 @@
}
}
.info-bootom {
.info-bottom {
margin: 0px;
}
... ... @@ -1307,6 +1307,7 @@
li {
border-top: 1px solid #eaeceb;
padding: 20px 0;
min-height: 150px;
}
.user-info {
... ... @@ -1989,7 +1990,7 @@
margin: 20px auto;
}
}
.commom-consults{
.common-consults{
margin: 10px auto;
... ... @@ -2414,14 +2415,14 @@
}
}
.consults-devide{
.msg-pager{
.consults-pager {
.msg-pager {
text-align: center;
margin: 0 auto;
}
}
.notify-goods-wrapper {
.notify-goods-wrapper {
.ring {
color: #d42838;
font-size: 32px;
... ...