392 lines
18 KiB
HTML
Executable File
392 lines
18 KiB
HTML
Executable File
{extend name="default/base" /}
|
||
{block name="title"}商品详情 - {__block__}{/block}
|
||
{block name="css"}
|
||
<link rel="stylesheet" href="__WECHAT__/css/swiper.min.css">
|
||
<link rel="stylesheet" href="__WECHAT__/css/goods_detail.css?v={$v}">
|
||
{/block}
|
||
{block name="header"}
|
||
{php}$cartNum = WSTCartNum();{/php}
|
||
<header class="ui-header ui-header-positive wst-header" id="goods-header" style="display:none;">
|
||
<i class="ui-icon-return" onclick="history.back()"></i>
|
||
<ul class="ui-tab-nav">
|
||
<li class="switch active" onclick="javascript:pageSwitch(this,1);">商品</li>
|
||
<li class="switch" onclick="javascript:pageSwitch(this,2);">详情</li>
|
||
<li class="switch" id="appr" onclick="javascript:pageSwitch(this,3);">评价</li>
|
||
</ul>
|
||
<a href="{:url('wechat/carts/index')}"><span class="cart" id="cartNum">{if($cartNum>0)}<span>{php} echo $cartNum;{/php}</span>{/if}</span></a>
|
||
<span class="share" onclick="javascript:WST.share();"></span>
|
||
</header>
|
||
{/block}
|
||
{block name="footer"}
|
||
{if($info)}
|
||
<div class="ui-loading-wrap wst-Load" id="Load">
|
||
<i class="ui-loading"></i>
|
||
</div>
|
||
<input type="hidden" name="" value="{$info['goodsId']}" id="goodsId" autocomplete="off">
|
||
<input type="hidden" name="" value="{$info['goodsType']}" id="goodsType" autocomplete="off">
|
||
<footer class="ui-footer wst-footer-btns" style="height:42px; border-top: 1px solid #e8e8e8;" id="footer">
|
||
<div class="wst-toTop" id="toTop">
|
||
<i class="wst-toTopimg"></i>
|
||
</div>
|
||
<div class="ui-row-flex">
|
||
<div class="ui-col ui-col-3 wst-go-icon">
|
||
<div class="ui-row-flex">
|
||
<div class="ui-col ui-col" style="border-right: 1px solid rgba(0,0,0,.05);">
|
||
{if($info['shop']['shopQQ'])!=''}
|
||
<div class="icon"><a href="{:request()->scheme()}://wpa.qq.com/msgrd?v=3&uin={$info['shop']['shopQQ']}&site=qq&menu=yes"><span class="img qq"></span><span class="word">客服</span></a></div>
|
||
{else /}
|
||
<div class="icon"><a href="tel:{$info['shop']['shopTel']}"><span class="img tel"></span><span class="word">客服</span></a></div>
|
||
{/if}
|
||
</div>
|
||
<div class="ui-col ui-col" style="border-right: 1px solid rgba(0,0,0,.05);">
|
||
<div class="icon"><a href="{:url('wechat/shops/home',['shopId'=>$info['shop']['shopId']])}")><span class="img shop"></span><span class="word">店铺</span></a></div>
|
||
</div>
|
||
<div class="ui-col ui-col">
|
||
{if($info['favGood']==0)}
|
||
<button class="but" type="button"><span class="img imgfollow nofollow" onclick="javascript:WST.favorites({$info['goodsId']},0);"></span><span style="bottom: 5px;" class="word">关注</span></button>
|
||
{else}
|
||
<button class="but" type="button"><span class="img imgfollow follow" onclick="javascript:WST.cancelFavorite({$info['favGood']},0);"></span><span style="bottom: 5px;" class="word">关注</span></button>
|
||
{/if}
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="ui-col ui-col-4 wst-goods_buy">
|
||
{if($info['goodsType']==1)}
|
||
<button class="wst-goods_buym" type="button" onclick="javascript:cartShow(1);" {if($info['goodsId']==0)}disabled{/if}>立即购买</button>
|
||
{else}
|
||
<button class="wst-goods_buyl" type="button" onclick="javascript:cartShow(0);" {if($info['goodsId']==0)}disabled{/if}>加入购物车</button>
|
||
<button class="wst-goods_buyr" type="button" onclick="javascript:cartShow(1);" {if($info['goodsId']==0)}disabled{/if}>立即购买</button>
|
||
{/if}
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
{/if}
|
||
{/block}
|
||
{block name="main"}
|
||
{if($info)}
|
||
{/* 商品 */}
|
||
<div class="wst-go-more" id="arrow" style="display: none;"><i class="arrow"></i>
|
||
<ul class="ui-row ui-list-active more">
|
||
<li class="ui-col"><div class="column line"><a href="{:url('wechat/index/index')}"><i class="home"></i><p>首页</p></a></div></li>
|
||
<li class="ui-col"><div class="column line"><a href="{:url('wechat/goodscats/index')}"><i class="category"></i><p>分类</p></a></div></li>
|
||
<li class="ui-col"><div class="column line"><a href="{:url('wechat/carts/index')}"><i class="cart"></i><p>购物车</p></a></div></li>
|
||
<li class="ui-col"><div class="column line"><a href="{:url('wechat/favorites/goods')}"><i class="follow"></i><p>关注</p></a></div></li>
|
||
<li class="ui-col"><div class="column"><a href="{:url('wechat/users/index')}"><i class="user"></i><p>我的</p></a></div></li>
|
||
</ul>
|
||
</div>
|
||
<div class="wst-ca-layer" id="layer" onclick="javascript:inMore();"></div>
|
||
<section class="ui-container" id="goods1" style="border-top: 0px solid transparent;">
|
||
<div class="swiper-container">
|
||
<div class="swiper-wrapper">
|
||
{volist name="info['gallery']" id="ga"}
|
||
<div class="swiper-slide" style="width:100%;">
|
||
<div class="wst-go-img"><a><img src="__ROOT__/{:WSTImg($ga,2)}"></a></div>
|
||
</div>
|
||
{/volist}
|
||
</div>
|
||
{if(count($info['gallery'])>1)}<div class="swiper-pagination"></div>{/if}
|
||
<div class="wst-go-return" onclick="history.back()"><i class="ui-icon-prev"></i></div>
|
||
<div class="wst-go-mores" onclick="javascript:inMore()"><i>···</i></div>
|
||
</div>
|
||
<div class="wst-go-name">{$info['goodsName']}</div>
|
||
<div class="ui-row-flex wst-go-price">
|
||
<div class="ui-col ui-col-2">
|
||
<div class="price"><i>¥ </i>{$info['shopPrice']}<span class="market">¥ {$info['marketPrice']}</span></div>
|
||
<div class="ui-row-flex info">
|
||
<div class="ui-col ui-col" style="text-align: left;">快递: {if $info['isFreeShipping']==1}免运费{else}{php}echo sprintf("%.2f", $info['shop']['freight']);{/php}{/if}</div>
|
||
<div class="ui-col ui-col" style="text-align: center;">销量: {$info['saleNum']}</div>
|
||
<div class="ui-col ui-col" style="text-align: right;">{$info['shop']['areas']['areaName1']}{$info['shop']['areas']['areaName2']}</div>
|
||
</div>
|
||
</div>
|
||
{:hook('wechatDocumentGoodsDetailTips',["goods"=>$info])}
|
||
</div>
|
||
<ul class="ui-list ui-list-text wst-go-ul ui-list-active">
|
||
{if WSTConf('CONF.isOrderScore')==1}
|
||
<li>
|
||
<div class="ui-list-info">
|
||
<h5 class="ui-nowrap"><span class="word">积分</span><span class="line">|</span>购买即可获得{php}echo ceil($info['shopPrice']);{/php}积分</h5>
|
||
</div>
|
||
<span class="icon">···</span>
|
||
</li>
|
||
{/if}
|
||
<li id='j-promotion' style='display:none;'>
|
||
<div class="ui-list-info">
|
||
<h5 class="ui-nowrap">
|
||
<div style="float: left;">
|
||
<span class="word">促销</span>
|
||
<span class="line">|</span>
|
||
</div>
|
||
{:hook('wechatDocumentGoodsPromotionDetail',['goods'=>$info])}
|
||
</h5>
|
||
</div>
|
||
</li>
|
||
{/* 优惠券钩子 */}
|
||
{:hook('wechatDocumentGoodsPropDetail')}
|
||
<li style="display: none;">
|
||
<div class="ui-list-info">
|
||
<h5 class="ui-nowrap"><span class="word">优惠</span><span class="line">|</span></h5>
|
||
</div>
|
||
<span class="icon">···</span>
|
||
</li>
|
||
{if !empty($info['attrs']) }
|
||
<li onclick="javascript:dataShow();">
|
||
<div class="ui-list-info">
|
||
<h5 class="ui-nowrap">产品参数</h5>
|
||
</div>
|
||
<span class="icon">···</span>
|
||
</li>
|
||
{/if}
|
||
|
||
<li onclick="javascript:pageSwitch($('#appr'),3);">
|
||
<div class="ui-list-info">
|
||
<h5 class="ui-nowrap">商品评价( <span class="red">{$info['appraiseNum']}</span> )</h5>
|
||
</div>
|
||
<span class="icon">···</span>
|
||
</li>
|
||
</ul>
|
||
<ul class="ui-list ui-list-one ui-list-link wst-go-shop">
|
||
<div class="info">
|
||
<div class="img"><a><img src="__ROOT__/{:WSTImg($info['shop']['shopImg'],3)}" title="{$info['shop']['shopName']}"></a></div>
|
||
<div class="name"><p class="ui-nowrap-flex name1">{$info['shop']['shopName']}</p><p class="ui-nowrap-flex name2"><span>主营: {$info['shop']['cat']}</span></p></div>
|
||
<div class="wst-clear"></div>
|
||
</div>
|
||
<div class="ui-row-flex score">
|
||
<div class="ui-col ui-col" style="text-align:left;">商品评分: <span class="red">{$info['shop']['goodsScore']}</span></div><span class="line">|</span>
|
||
<div class="ui-col ui-col" style="text-align:center;">时效评分: <span class="red">{$info['shop']['timeScore']}</span></div><span class="line">|</span>
|
||
<div class="ui-col ui-col" style="text-align:right;">服务评分: <span class="red">{$info['shop']['serviceScore']}</span></div>
|
||
</div>
|
||
<div class="ui-row-flex button">
|
||
<div class="ui-col ui-col"><a href="{:url('wechat/shops/shopGoodsList',['shopId'=>$info['shop']['shopId']])}" class="goods">全部商品</a></div>
|
||
<div class="ui-col ui-col"><a href="{:url('wechat/shops/home',['shopId'=>$info['shop']['shopId']])}" class="shop">进入店铺</a></div>
|
||
</div>
|
||
</ul>
|
||
<div class="title gc-title" onclick="goConsult()">
|
||
<span class='gc-tit-icon'></span>
|
||
<span class='gc-tit-icon2'></span>
|
||
购买咨询
|
||
</div>
|
||
<div class="gc-title-list">
|
||
{if($info['consult']['consultContent'])}
|
||
<li>
|
||
<div class="question-box cf">
|
||
<span class="question-pic"></span>
|
||
<div class="question-content">
|
||
<span>{$info['consult']['consultContent']}</span>
|
||
</div>
|
||
<div class="wst-clear"></div>
|
||
</div>
|
||
{if($info['consult']['reply'])}
|
||
<div class="question-box cf">
|
||
<span class="question-pic answer-pic"></span>
|
||
<div class="question-content answer-content">
|
||
<span>{$info['consult']['reply']}</span>
|
||
</div>
|
||
<div class="wst-clear"></div>
|
||
</div>
|
||
{/if}
|
||
</li>
|
||
{else}
|
||
<p class="prompt">暂无商品咨询~</p>
|
||
{/if}
|
||
</div>
|
||
|
||
<div class="wst-shl-ads">
|
||
<div class="title">猜你喜欢</div>
|
||
{wst:goods type='best' cat="$info['shop']['catId']" num='6'}
|
||
<div class="wst-go-goods" onclick="javascript:WST.intoGoods({$vo['goodsId']});">
|
||
<div class="img j-imgAdapt">
|
||
<a href="javascript:void(0);" onclick="javascript:WST.intoGoods({$vo['goodsId']});"><img src="__ROOT__/{:WSTConf('CONF.goodsLogo')}" data-echo="__ROOT__/{:WSTImg($vo['goodsImg'],3)}" title="{$vo['goodsName']}"></a>
|
||
</div>
|
||
<p class="name ui-nowrap-multi">{$vo['goodsName']}</p>
|
||
<div class="info"><span class="ui-nowrap-flex price">¥ {$vo['shopPrice']}</span></div>
|
||
</div>
|
||
{/wst:goods}
|
||
<div class="wst-clear"></div>
|
||
</div>
|
||
</section>
|
||
{/* 详情 */}
|
||
<section class="ui-container" id="goods2" style="display: none;">
|
||
<div class="wst-go-details">{$info['goodsDesc']}</div>
|
||
</section>
|
||
{/* 评价 */}
|
||
<input type="hidden" name="" value="{$info['goodsId']}" id="goodsId" autocomplete="off">
|
||
<input type="hidden" name="" value="" id="evaluateType" autocomplete="off">
|
||
<input type="hidden" name="" value="" id="currPage" autocomplete="off">
|
||
<input type="hidden" name="" value="" id="totalPage" autocomplete="off">
|
||
<section class="ui-container" id="goods3" style="display: none;">
|
||
<div class="ui-row-flex wst-ev-term">
|
||
<div class="ui-col ui-col active" onclick="javascript:evaluateSwitch(this,'');"><p>全部</p><p class="number">{$info['appraises']['sum']}</p></div>
|
||
<div class="ui-col ui-col" onclick="javascript:evaluateSwitch(this,'best');"><p>好评</p><p class="number">{$info['appraises']['best']}</p></div>
|
||
<div class="ui-col ui-col" onclick="javascript:evaluateSwitch(this,'good');"><p>中评</p><p class="number">{$info['appraises']['good']}</p></div>
|
||
<div class="ui-col ui-col" onclick="javascript:evaluateSwitch(this,'bad');"><p>差评</p><p class="number">{$info['appraises']['bad']}</p></div>
|
||
<div class="ui-col ui-col" onclick="javascript:evaluateSwitch(this,'pic');"><p>晒图</p><p class="number">{$info['appraises']['pic']}</p></div>
|
||
</div>
|
||
<div id="evaluate-list" style="margin-top: 10px;"></div>
|
||
</section>
|
||
<script id="list" type="text/html">
|
||
{{# if(d && d.length>0){ }}
|
||
{{# for(var i=0; i<d.length; i++){ }}
|
||
<div class="ui-whitespace wst-go-evaluate">
|
||
<div class="info">
|
||
<p>
|
||
<img src="__ROOT__/{{ d[i].userPhoto }}" class="portrait">
|
||
<span class="name">{{ d[i].loginName }}</span>
|
||
{{# if(d[i].userTotalScore){ }}
|
||
<img src="__ROOT__/{{ d[i].userTotalScore }}" class="ranks">
|
||
{{# } }}
|
||
<span class="time">{{ d[i].createTime }}</span>
|
||
<div class="wst-clear"></div>
|
||
</p>
|
||
</div>
|
||
<div class="content">
|
||
<p>
|
||
{{# var score = (d[i].goodsScore+d[i].serviceScore+d[i].timeScore)/3; }}
|
||
{{# for(var j=1; j<6; j++){ }}
|
||
{{# if(j <= score.toFixed(0)){ }}
|
||
<i class="bright"></i>
|
||
{{# }else{ }}
|
||
<i class="dark"></i>
|
||
{{# } }}
|
||
{{# } }}
|
||
</p>
|
||
<p class="content2">{{ d[i].content }}</p>
|
||
{{# if(d[i].images){ }}
|
||
{{# var img = d[i].images.split(','); }}
|
||
{{# for(var m=0; m<img.length; m++){ }}
|
||
<img src="__ROOT__/{{ img[m] }}">
|
||
{{# } }}
|
||
{{# } }}
|
||
<p class="word">{{ d[i].goodsSpecNames }}</p>
|
||
<div class="wst-clear"></div>
|
||
</div>
|
||
{{# if(d[i].shopReply){ }}
|
||
<div class="reply"><p>卖家回复:{{ d[i].shopReply }}</p></div>
|
||
{{# } }}
|
||
</div>
|
||
{{# } }}
|
||
{{# }else{ }}
|
||
<div class="wst-prompt-icon"><img src="__WECHAT__/img/nothing-evaluate.png"></div>
|
||
<div class="wst-prompt-info">
|
||
<p>对不起,没有相关评论。</p>
|
||
</div>
|
||
{{# } }}
|
||
</script>
|
||
{else}
|
||
<div class="wst-prompt-icon"><img src="__WECHAT__/img/nothing-goods.png"></div>
|
||
<div class="wst-prompt-info">
|
||
<p>对不起,没有找到商品。</p>
|
||
</div>
|
||
{/if}
|
||
{/block}
|
||
{block name="include"}
|
||
{include file="default/dialog" /}<!-- 对话框模板 -->
|
||
{if($info)}
|
||
{/* 遮盖层 */}
|
||
<div class="wst-cover" id="cover"></div>
|
||
{/* 参数框 */}
|
||
{if !empty($info['attrs']) }
|
||
<div class="wst-fr-box" id="frame">
|
||
<div class="title"><span>产品参数</span><i class="ui-icon-close-page" onclick="javascript:dataHide();"></i><div class="wst-clear"></div></div>
|
||
<div class="content" id="content">
|
||
{volist name="$info['attrs']" id="at"}
|
||
{$at['attrName']}:{$at['attrVal']}<br/>
|
||
{/volist}
|
||
</div>
|
||
<div class="determine"><button class="button" onclick="javascript:dataHide();">确定</button></div>
|
||
</div>
|
||
{/if}
|
||
{/*加入购物车框 */}
|
||
<div class="wst-cart-box" id="frame-cart">
|
||
<div class="title">
|
||
<div class="picture"><div class="img"><a href="javascript:void(0);"><img src="__ROOT__/{:WSTImg($info['goodsImg'],3)}" title="{$info['goodsName']}"></a></div></div>
|
||
<i class="ui-icon-close-page" onclick="javascript:cartHide();"></i>
|
||
<p class="ui-nowrap-multi">{$info['goodsName']}</p>
|
||
<p class="ui-nowrap-flex price"><span id="j-shop-price">¥{$info['shopPrice']}</span><span id="j-market-price" class="price2">¥ {$info['marketPrice']}</span></p>
|
||
<div class="wst-clear"></div>
|
||
</div>
|
||
<div class="standard" id="standard">
|
||
{if!empty($info['spec'])}
|
||
{volist name="$info['spec']" id="sp"}
|
||
<div class="spec">
|
||
<p>{$sp['name']}</p>
|
||
{volist name="sp['list']" id="sp2"}
|
||
{if $sp2['itemImg']!=''}
|
||
<img class="j-option img" data-val="{$sp2['itemId']}" src="__ROOT__/{:WSTImg($sp2['itemImg'],3)}" title="{$sp2['itemName']}">
|
||
{else}
|
||
<span class="j-option" data-val="{$sp2['itemId']}">{$sp2['itemName']}</span>
|
||
{/if}
|
||
{/volist}
|
||
<div class="wst-clear"></div>
|
||
</div>
|
||
{/volist}
|
||
{/if}
|
||
<div class="number">
|
||
<p>数量</p>
|
||
<div class="stock">库存:<span id="goods-stock">0</span>{$info['goodsUnit']}</div>
|
||
<div class="wst-buy_l">
|
||
<input class="wst-buy_l1" type="button" value="-" onclick='javascript:WST.changeIptNum(-1,"#buyNum")'><input id="buyNum" class="wst-buy_l2" data-min='1' data-max='' type="number" value="1" autocomplete="off" onkeyup='WST.changeIptNum(0,"#buyNum")'><input class="wst-buy_l3" type="button" value="+" onclick='javascript:WST.changeIptNum(1,"#buyNum")'>
|
||
</div>
|
||
<div class="wst-clear"></div>
|
||
</div>
|
||
</div>
|
||
<div class="determine"><button class="button" onclick="javascript:addCart();">确定</button></div>
|
||
</div>
|
||
{/block}
|
||
|
||
|
||
|
||
{block name="js"}
|
||
{if(!empty($datawx))}
|
||
<script src="{:request()->scheme()}://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
|
||
<script>
|
||
wx.config({
|
||
debug: false,
|
||
appId: '<?php echo WSTConf('CONF.wxAppId'); ?>', //公众号的唯一标识
|
||
timestamp: '<?php echo $datawx['timestamp'];?>', //生成签名的时间戳
|
||
nonceStr: '<?php echo $datawx['noncestr'];?>', //生成签名的随机串
|
||
signature: '<?php echo $datawx['signature'];?>',//签名
|
||
jsApiList: [ //需要使用的JS接口
|
||
'onMenuShareTimeline',
|
||
'onMenuShareAppMessage',
|
||
'onMenuShareQQ',
|
||
'onMenuShareWeibo',
|
||
'onMenuShareQZone'
|
||
]
|
||
});
|
||
|
||
wx.ready(function(){
|
||
var shareData = {
|
||
title: "{$info['goodsName']}",
|
||
desc: "{:WSTConf('CONF.mallName')}",
|
||
link: "{:url('wechat/goods/detail',array('goodsId'=>$info['goodsId']),true,true)}",
|
||
imgUrl: "{:WSTRoot()}/{$info['goodsImg']}"
|
||
};
|
||
wx.onMenuShareAppMessage(shareData);
|
||
wx.onMenuShareTimeline(shareData);
|
||
wx.onMenuShareQQ(shareData);
|
||
wx.onMenuShareWeibo(shareData);
|
||
wx.onMenuShareQZone(shareData);
|
||
});
|
||
</script>
|
||
{:hook('wechatDocumentGoodsDetail',['goods'=>$info,'datawx'=>$datawx,'getParams'=>input()])}
|
||
{/if}
|
||
<script>
|
||
var goodsInfo = {
|
||
id:{$info['goodsId']},
|
||
isSpec:{$info['isSpec']},
|
||
goodsStock:{$info['goodsStock']},
|
||
marketPrice:{$info['marketPrice']},
|
||
goodsPrice:{$info['shopPrice']}
|
||
{if isset($info['saleSpec'])}
|
||
,sku:{:json_encode($info['saleSpec'])}
|
||
{/if}
|
||
}
|
||
function goConsult(){
|
||
location.href=WST.U('wechat/goodsconsult/index',{goodsId:goodsInfo.id})
|
||
}
|
||
</script>
|
||
{/if}
|
||
<script type='text/javascript' src='__WECHAT__/js/swiper.jquery.min.js'></script>
|
||
<script type='text/javascript' src='__WECHAT__/js/jquery.min.js'></script>
|
||
<script type='text/javascript' src='__WECHAT__/js/goods_detail.js?v={$v}'></script>
|
||
{/block} |