|
@@ -183,19 +183,32 @@
|
|
|
<!-- 文案模块 -->
|
|
|
<article class="articleContainer">
|
|
|
<div class="articleTabBox">
|
|
|
- <div class="articleTabItem active">
|
|
|
+ <div class="articleTabItem active" data-type="description">
|
|
|
<p class="tabTag"></p>
|
|
|
<h2 class="articleTabTitle">Description</h2>
|
|
|
</div>
|
|
|
- <div class="articleTabItem">
|
|
|
+ <div class="articleTabItem" data-type="reviews">
|
|
|
<p class="tabTag"></p>
|
|
|
- <h2 class="articleTabTitle">Reviews (0)</h2>
|
|
|
+ <h2 class="articleTabTitle">Reviews ({$comment_total})</h2>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="articleInfo">
|
|
|
+ <!-- 商品详情容器 -->
|
|
|
+ <div class="articleInfo" id="articleInfo">
|
|
|
<h2 class="articleTitle">Product description</h2>
|
|
|
<div id="richTextContainer"></div>
|
|
|
</div>
|
|
|
+ <!-- 评价内容容器 -->
|
|
|
+ <div id="reviewsInfo">
|
|
|
+ <div id="reviews">
|
|
|
+ </div>
|
|
|
+ <div id="loadingIndicator">loading...</div>
|
|
|
+ <div id="reviewsButtonContainer">
|
|
|
+ <div id="reviewsButtonBox">
|
|
|
+ <div id="prevPage">Prev page</div>
|
|
|
+ <div id="nextPage">Next page</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</article>
|
|
|
|
|
|
<!-- 悬浮底部模块 -->
|
|
@@ -412,6 +425,139 @@
|
|
|
addCart(number)
|
|
|
});
|
|
|
initRichText()
|
|
|
+
|
|
|
+ //页码
|
|
|
+ let page = 1;
|
|
|
+ //总页数
|
|
|
+ let totalPage = {$comment_total}
|
|
|
+ //页数
|
|
|
+ let itemsPerPage = 10;
|
|
|
+ //加载中
|
|
|
+ let isLoading = false;
|
|
|
+
|
|
|
+ //详情 & 评论切换
|
|
|
+ $(".articleTabItem").on(tap, function () {
|
|
|
+ const type = $(this).attr("data-type")
|
|
|
+ $(this).addClass("active").siblings().removeClass("active")
|
|
|
+ // 评论
|
|
|
+ if (type === "reviews") {
|
|
|
+ $("#reviewsInfo").show(0)
|
|
|
+ $("#articleInfo").hide(0)
|
|
|
+ getReviews()
|
|
|
+ page = 1
|
|
|
+ } else {
|
|
|
+ // 详情
|
|
|
+ $("#articleInfo").show(0)
|
|
|
+ $("#reviewsInfo").hide(0)
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+ //上一页
|
|
|
+ $("#prevPage").on(tap, function () {
|
|
|
+ if (page > 1) {
|
|
|
+ page--
|
|
|
+ } else {
|
|
|
+ page = 1
|
|
|
+ }
|
|
|
+ getReviews()
|
|
|
+ });
|
|
|
+
|
|
|
+ //下一页
|
|
|
+ $("#nextPage").on(tap, function () {
|
|
|
+ if (page >= totalPage) {
|
|
|
+ page = totalPage
|
|
|
+ } else {
|
|
|
+ page++
|
|
|
+ }
|
|
|
+ getReviews()
|
|
|
+ });
|
|
|
+
|
|
|
+ // 获取评价列表
|
|
|
+ function getReviews() {
|
|
|
+ if (isLoading) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ isLoading = true;
|
|
|
+ // 显示加载指示器
|
|
|
+ $('#loadingIndicator').show();
|
|
|
+ //调试后记得去除这段代码
|
|
|
+ $.ajax({
|
|
|
+ url: '/index/comment/listPage?goodsId=' + goodsId,
|
|
|
+ type: 'GET',
|
|
|
+ data: {
|
|
|
+ page: page,
|
|
|
+ per_page: itemsPerPage
|
|
|
+ },
|
|
|
+ success: function (response) {
|
|
|
+ console.log(response.data)
|
|
|
+ const data = response.data.list.data
|
|
|
+ // 在页面中添加数据
|
|
|
+ const container = $('#reviews');
|
|
|
+
|
|
|
+ //var html = container.html();
|
|
|
+ var html = '';
|
|
|
+ //container.html("")
|
|
|
+ $.each(data, function (index, item) {
|
|
|
+ const rating = item.score / 10;
|
|
|
+ let starHtml = "";
|
|
|
+ for (let i = 0; i < 5; i++) {
|
|
|
+ if (i < rating) {
|
|
|
+ starHtml += '<img src="/assets/index/asstes/icon/selStar.png" alt="">';
|
|
|
+ } else {
|
|
|
+ starHtml += '<img src="/assets/index/asstes/icon/star.png" alt="">';
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ html += `
|
|
|
+ <div class="reviewItem">
|
|
|
+ <div class="userInfo">
|
|
|
+ <div class="userImg">
|
|
|
+ <img src="https://himg.bdimg.com/sys/portrait/item/tb.1.772a23f6.WIunUru1_286k2Q9BG9SJg" alt="">
|
|
|
+ </div>
|
|
|
+ <p class="userName">${item.user.nick_name}</p>
|
|
|
+ </div>
|
|
|
+ <div class="reInfo">
|
|
|
+ <div class="starBox">${starHtml}
|
|
|
+ </div>
|
|
|
+ <h3 class="reviewValues">${item.content}</h3>
|
|
|
+ </div>
|
|
|
+ </div>`;
|
|
|
+ });
|
|
|
+
|
|
|
+ container.html(html);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ //数据长度大于0显示上下页按钮
|
|
|
+ //$('#reviewsButtonContainer').show();
|
|
|
+ console.log(response.data.list.last_page , page,response.data.list.last_page > page)
|
|
|
+ if (response.data.list.last_page > page){
|
|
|
+ $("#nextPage").show()
|
|
|
+ }else {
|
|
|
+ $("#nextPage").hide()
|
|
|
+ }
|
|
|
+
|
|
|
+ if (page > 1){
|
|
|
+ $("#prevPage").show()
|
|
|
+ }else {
|
|
|
+ $("#prevPage").hide()
|
|
|
+ }
|
|
|
+
|
|
|
+ // 隐藏加载指示器
|
|
|
+ $('#loadingIndicator').hide();
|
|
|
+ isLoading = false;
|
|
|
+ },
|
|
|
+ error: function () {
|
|
|
+ // 处理错误情况
|
|
|
+ console.log('请求数据失败');
|
|
|
+ // 隐藏加载指示器
|
|
|
+ $('#loadingIndicator').hide();
|
|
|
+ isLoading = false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
});
|
|
|
</script>
|
|
|
|